This document describes 3Dxp, an API created by the Interactive Audio Special Interest Group to extend Microsoft's DirectSound 3.0 API and enable 3D audio hardware acceleration. 3Dxp provides a standardized way for software developers to pass 3D audio positioning parameters to third-party hardware and software solutions in a way that is compatible with DirectSound3D. The document outlines how 3Dxp works, the parameters it supports, guidelines for game/application developers, and a reference code implementation to detect and interface with 3Dxp compliant audio drivers.
O documento fornece uma receita de Pastel de Belém, um doce tradicional português, com instruções detalhadas para a massa e recheio. A massa é feita com farinha, manteiga e gema e o recheio é um creme de leite, gemas e açúcar com baunilha e casca de limão. Os pasteis são assados até ficarem secos.
Este documento discute a instalação e distribuição de energia para residências, abordando a potência total instalada e a divisão da carga por circuitos para itens como iluminação, chuveiros, tomadas e motores.
This document provides information and instructions for new players of the online game Soul of the Ultimate Nation (S.U.N). It explains how to register an account, download and install the game client, and provides tips for getting started. Key details include registering at Webzen.com, validating your email, downloading the client through torrent or mirror sites, installing required software like DirectX, and selecting a world to play based on your location. Character classes like Berserker are also briefly described.
API provides building blocks and routines for developing software applications consistently across operating systems. Direct3D and OpenGL are 3D graphics APIs that make it easier for developers to create 3D graphics. The graphics pipeline is the stages required to transform 3D images into 2D for display, processing vertex properties like position and color through stages like assembly, lighting and rendering for output.
DirectX is a collection of application programming interfaces (APIs) for Microsoft Windows that allows hardware-accelerated multimedia capabilities such as 3D graphics, audio, and video. It provides low-level access to graphics and sound hardware, enabling high-performance multimedia applications. DirectX includes APIs such as Direct3D for 3D graphics, DirectDraw for 2D graphics, DirectSound for audio, DirectInput for game controllers and devices, DirectPlay for multiplayer gaming, and DirectShow for audio and video format playback.
This document discusses the use of Robot Operating System 2 (ROS 2) and Data Distribution Service (DDS) for smart manufacturing. ROS 2 is an open-source robotics middleware that has gained popularity for use in mobile robots, industrial robots, and autonomous vehicles. It allows for distributed, decentralized control through the use of DDS as its underlying middleware for data distribution. The document outlines the history and releases of ROS 2, its advantages over a centralized ROS 1 architecture, and examples of its use in industrial applications such as multiple autonomous guided vehicles (AGVs) and 5G factory networks.
O documento fornece uma receita de Pastel de Belém, um doce tradicional português, com instruções detalhadas para a massa e recheio. A massa é feita com farinha, manteiga e gema e o recheio é um creme de leite, gemas e açúcar com baunilha e casca de limão. Os pasteis são assados até ficarem secos.
Este documento discute a instalação e distribuição de energia para residências, abordando a potência total instalada e a divisão da carga por circuitos para itens como iluminação, chuveiros, tomadas e motores.
This document provides information and instructions for new players of the online game Soul of the Ultimate Nation (S.U.N). It explains how to register an account, download and install the game client, and provides tips for getting started. Key details include registering at Webzen.com, validating your email, downloading the client through torrent or mirror sites, installing required software like DirectX, and selecting a world to play based on your location. Character classes like Berserker are also briefly described.
API provides building blocks and routines for developing software applications consistently across operating systems. Direct3D and OpenGL are 3D graphics APIs that make it easier for developers to create 3D graphics. The graphics pipeline is the stages required to transform 3D images into 2D for display, processing vertex properties like position and color through stages like assembly, lighting and rendering for output.
DirectX is a collection of application programming interfaces (APIs) for Microsoft Windows that allows hardware-accelerated multimedia capabilities such as 3D graphics, audio, and video. It provides low-level access to graphics and sound hardware, enabling high-performance multimedia applications. DirectX includes APIs such as Direct3D for 3D graphics, DirectDraw for 2D graphics, DirectSound for audio, DirectInput for game controllers and devices, DirectPlay for multiplayer gaming, and DirectShow for audio and video format playback.
This document discusses the use of Robot Operating System 2 (ROS 2) and Data Distribution Service (DDS) for smart manufacturing. ROS 2 is an open-source robotics middleware that has gained popularity for use in mobile robots, industrial robots, and autonomous vehicles. It allows for distributed, decentralized control through the use of DDS as its underlying middleware for data distribution. The document outlines the history and releases of ROS 2, its advantages over a centralized ROS 1 architecture, and examples of its use in industrial applications such as multiple autonomous guided vehicles (AGVs) and 5G factory networks.
DirectX is a collection of APIs that provides low-level access to multimedia hardware on Windows systems. It enhances graphics and audio capabilities by taking advantage of capabilities like 3D acceleration and hardware processing. DirectX includes APIs that support 3D graphics through Direct3D, audio playback and mixing through DirectSound, input from devices like controllers through DirectInput, network multiplayer games through DirectPlay, and multimedia playback through DirectShow. By providing standardized access, DirectX allows programs to take advantage of capabilities without needing device-specific code.
Learn about going from 3D scans of core samples and other rock types to visualisation, analysis and model generation with Simpleware. Trials available here: http://www.simpleware.com/software/trial/
This document discusses multimedia capabilities in .NET, including System.Drawing for basic 2D graphics, and Managed DirectX for more advanced multimedia. Managed DirectX provides APIs for 3D graphics (Direct3D), input (DirectInput), audio (DirectSound), and other functionality via a managed code wrapper for DirectX. It discusses using these APIs for tasks like playing audio and video files, capturing input, and 3D graphics rendering. Overall, the document provides an overview of multimedia capabilities in .NET via Managed DirectX.
International Journal of Computational Engineering Research(IJCER)ijceronline
International Journal of Computational Engineering Research(IJCER) is an intentional online Journal in English monthly publishing journal. This Journal publish original research work that contributes significantly to further the scientific knowledge in engineering and Technology
This document discusses surface computing and multi-touch display devices. It describes how multi-touch devices allow direct interaction through multiple simultaneous touches rather than using a keyboard and mouse. It explains the hardware and software components of resistive, capacitive, and optical touchscreen technologies. It also outlines the process of building a basic multi-touch table using an infrared camera and laser projection plane, and developing applications using the CCV and TUIO protocols.
This document describes Easy EDD software, which was created to analyze and visualize synchrotron electron diffraction data (EDD) obtained from tomographic imaging electron diffraction (TEDDI) experiments. The software allows for processing large quantities of EDD data with a graphical user interface and includes capabilities for reading data files, corrections, visualization, fitting, and refinement. Current functionality includes reading SRS data files, mapping data to a color-coded grid, 2D plotting of voxel intensities, and fitting curves. Future development may include 3D mapping and visualization, additional corrections and analysis, and other refinement techniques.
Exploration and 3D GIS Software - MapInfo Professional Discover3D 2015Prakher Hajela Saxena
Pitney Bowes Software provides natural resource management solutions including GIS software for mineral exploration, mining, oil and gas, and forestry industries. Their solutions help users discover, evaluate, develop and manage natural assets. Their portfolio includes MapInfo Pro, Discover3D, and Engage3D Pro which provide spatial analysis, 3D modeling, and visualization capabilities for evaluating natural resource assets.
The document appears to be notes from a presentation on the 3DEXPERIENCE platform modules. It discusses several modules including 3DSwym for social collaboration, 3DSearch for searching content, 6WTags for tagging and filtering searches, 3DCompass as a dashboard for accessing apps, and 3DDashboard for creating business dashboards. It also covers the 3DPassport single sign-on system and Platform Management for administering users and roles.
This presentation as made as a tutorial at NCVPRIPG (http://www.iitj.ac.in/ncvpripg/) at IIT Jodhpur on 18-Dec-2013.
Kinect is a multimedia sensor from Microsoft. It is shipped as the touch-free console for Xbox 360 video gaming platform. Kinect comprises an RGB Camera, a Depth Sensor (IR Emitter and Camera) and a Microphone Array. It produces a multi-stream video containing RGB, depth, skeleton, and audio streams.
Compared to common depth cameras (laser or Time-of-Flight), the cost of a Kinect is quite low as it uses a novel structured light diffraction and triangulation technology to estimate the depth. In addition, Kinect is equipped with special software to detect human figures and to produce its 20-joints skeletons.
Though Kinect was built for touch-free gaming, its cost effectiveness and human tracking features have proved useful in many indoor applications beyond gaming like robot navigation, surveillance, medical assistance and animation.
We have developed technology that allows a wide range of graphical interfaces to be streamed efficiently over wide area networks. This is an enabling technology that enables remote graphics akin to the way MPEG compression enables video streaming.
DirectX is a multimedia API that provides a standard interface to interact with graphics and sound hardware. It abstracts code from specific hardware and translates it to common instructions for hardware. DirectX contains integration with managed code, combining advantages of managed and unmanaged code. Managed DirectX allows using any CLR language like C# with DirectX. It has components for 3D graphics, input, sound, and media playback. Direct3D provides 3D graphics hardware acceleration. DirectInput allows direct communication with input devices. DirectSound provides capturing and playback of digital audio samples.
The document discusses Microsoft's DirectShow multimedia streaming architecture. DirectShow allows for software reusability and common interfaces between components (filters) that process audio, video, and text streams. It evolved from earlier architectures like Video for Windows (VFW) and ActiveMovie to become a filter-based architecture with filters that can be connected in a graph to process media streams. Key components of DirectShow include filters, pins, media types, and a graph builder that connects filters to create processing graphs.
This document contains a glossary of terms related to video game design. It provides definitions for terms like alpha, beta, demo, gold (in reference to game versions), debugging, automation, collision detection, and others. Each term definition includes a short explanation and link to an online source. For some terms, the document also describes how the term relates to the author's own game production practice, such as releasing different versions to test for bugs.
This document provides an overview of an internship report submitted by Vishal Garg about embedded system development using an Arduino Uno. It includes chapters on introducing the project aims and methodology, a literature review on embedded systems, details about the Arduino Uno board and its programming, examples of programming projects completed, and conclusions from the internship. Tables of contents and figures are provided listing the different chapters, figures, tables, and photographs included in the report.
The document discusses Kinect and 3D motion sensing technology. It introduces the Kinect sensor device, the PrimeSense technology behind it, and the OpenNI and NITE libraries for developing applications using depth sensor data. It provides details on the Kinect sensor components and how it measures depth, and describes the various software options for Kinect development including OpenNI, OpenKinect, and Microsoft's Kinect SDK. It also summarizes the PrimeSense technology, OpenNI architecture and nodes, and NITE middleware for gesture and skeleton tracking.
The document defines key computer hardware and software terms. It explains that the CPU is the most important computer component, and defines other elements like the keyboard, hard drive, RAM memory, operating system, antivirus programs, web browsers, and common software like Microsoft Office, Photoshop, iTunes, file sharing programs, and multimedia programs.
The document defines key computer hardware and software terms. It explains that the CPU is the most important computer component, and defines other elements like the keyboard, hard drive, RAM memory, operating system, antivirus programs, web browsers, and common software like Microsoft Office, Photoshop, iTunes, file sharing programs, and multimedia programs.
This document discusses the development of an SDK for an ARM-based platform to provide access to peripherals like a printer, VFD display, and barcode reader. It describes setting up the SDK environment, sample applications that were created for each peripheral, and results from testing the applications and measuring network performance. The SDK includes tools for cross-compilation, libraries for the peripherals, and demo apps to interface with the printer, display text on the VFD, and scan barcodes. The document concludes the SDK helps develop new products for ARM platforms and acquire practical applications.
The document discusses MPEG's work on 3D graphics standards. It provides an overview of MPEG's past and current 3D graphics standards including MPEG-4 Part 16 and Part 25. It outlines the various 3D graphics tools that have been standardized, such as 3D mesh compression and animation tools. It also discusses MPEG's work integrating real and virtual worlds through standards like MPEG-V for sensors and actuators and MPEG's work on 3D video and augmented reality. Finally, it provides an example of a reconfigurable graphics coding network using functional units from the MPEG 3D graphics toolbox.
This document contains Brandon McNamara's research definitions for various terms related to video game testing and production. It includes 12 terms such as alpha testing, beta testing, demos, debugging, collision detection, and lighting. For each term it provides a Wikipedia summary and Brandon's description of how the term relates to his own video game production practice. There are also example images included to illustrate several of the terms.
Apostila de como fazer e usar certas técnicas de criptografia utilizando dos preceitos e teorias mais conhecidos no mercado. Vários capítulos descrevem e demonstrar como fazer toda a parte criptográfica desde os simples métodos até os mais complicados. Não cobre tudo, mas ajudo muito.
O documento fornece um guia rápido sobre o que é o Dropbox e como usá-lo. O Dropbox permite armazenar e acessar arquivos de qualquer dispositivo de forma sincronizada através da nuvem. Os usuários podem adicionar arquivos arrastando-os para a pasta do Dropbox e compartilhar arquivos e pastas com outros através de links.
DirectX is a collection of APIs that provides low-level access to multimedia hardware on Windows systems. It enhances graphics and audio capabilities by taking advantage of capabilities like 3D acceleration and hardware processing. DirectX includes APIs that support 3D graphics through Direct3D, audio playback and mixing through DirectSound, input from devices like controllers through DirectInput, network multiplayer games through DirectPlay, and multimedia playback through DirectShow. By providing standardized access, DirectX allows programs to take advantage of capabilities without needing device-specific code.
Learn about going from 3D scans of core samples and other rock types to visualisation, analysis and model generation with Simpleware. Trials available here: http://www.simpleware.com/software/trial/
This document discusses multimedia capabilities in .NET, including System.Drawing for basic 2D graphics, and Managed DirectX for more advanced multimedia. Managed DirectX provides APIs for 3D graphics (Direct3D), input (DirectInput), audio (DirectSound), and other functionality via a managed code wrapper for DirectX. It discusses using these APIs for tasks like playing audio and video files, capturing input, and 3D graphics rendering. Overall, the document provides an overview of multimedia capabilities in .NET via Managed DirectX.
International Journal of Computational Engineering Research(IJCER)ijceronline
International Journal of Computational Engineering Research(IJCER) is an intentional online Journal in English monthly publishing journal. This Journal publish original research work that contributes significantly to further the scientific knowledge in engineering and Technology
This document discusses surface computing and multi-touch display devices. It describes how multi-touch devices allow direct interaction through multiple simultaneous touches rather than using a keyboard and mouse. It explains the hardware and software components of resistive, capacitive, and optical touchscreen technologies. It also outlines the process of building a basic multi-touch table using an infrared camera and laser projection plane, and developing applications using the CCV and TUIO protocols.
This document describes Easy EDD software, which was created to analyze and visualize synchrotron electron diffraction data (EDD) obtained from tomographic imaging electron diffraction (TEDDI) experiments. The software allows for processing large quantities of EDD data with a graphical user interface and includes capabilities for reading data files, corrections, visualization, fitting, and refinement. Current functionality includes reading SRS data files, mapping data to a color-coded grid, 2D plotting of voxel intensities, and fitting curves. Future development may include 3D mapping and visualization, additional corrections and analysis, and other refinement techniques.
Exploration and 3D GIS Software - MapInfo Professional Discover3D 2015Prakher Hajela Saxena
Pitney Bowes Software provides natural resource management solutions including GIS software for mineral exploration, mining, oil and gas, and forestry industries. Their solutions help users discover, evaluate, develop and manage natural assets. Their portfolio includes MapInfo Pro, Discover3D, and Engage3D Pro which provide spatial analysis, 3D modeling, and visualization capabilities for evaluating natural resource assets.
The document appears to be notes from a presentation on the 3DEXPERIENCE platform modules. It discusses several modules including 3DSwym for social collaboration, 3DSearch for searching content, 6WTags for tagging and filtering searches, 3DCompass as a dashboard for accessing apps, and 3DDashboard for creating business dashboards. It also covers the 3DPassport single sign-on system and Platform Management for administering users and roles.
This presentation as made as a tutorial at NCVPRIPG (http://www.iitj.ac.in/ncvpripg/) at IIT Jodhpur on 18-Dec-2013.
Kinect is a multimedia sensor from Microsoft. It is shipped as the touch-free console for Xbox 360 video gaming platform. Kinect comprises an RGB Camera, a Depth Sensor (IR Emitter and Camera) and a Microphone Array. It produces a multi-stream video containing RGB, depth, skeleton, and audio streams.
Compared to common depth cameras (laser or Time-of-Flight), the cost of a Kinect is quite low as it uses a novel structured light diffraction and triangulation technology to estimate the depth. In addition, Kinect is equipped with special software to detect human figures and to produce its 20-joints skeletons.
Though Kinect was built for touch-free gaming, its cost effectiveness and human tracking features have proved useful in many indoor applications beyond gaming like robot navigation, surveillance, medical assistance and animation.
We have developed technology that allows a wide range of graphical interfaces to be streamed efficiently over wide area networks. This is an enabling technology that enables remote graphics akin to the way MPEG compression enables video streaming.
DirectX is a multimedia API that provides a standard interface to interact with graphics and sound hardware. It abstracts code from specific hardware and translates it to common instructions for hardware. DirectX contains integration with managed code, combining advantages of managed and unmanaged code. Managed DirectX allows using any CLR language like C# with DirectX. It has components for 3D graphics, input, sound, and media playback. Direct3D provides 3D graphics hardware acceleration. DirectInput allows direct communication with input devices. DirectSound provides capturing and playback of digital audio samples.
The document discusses Microsoft's DirectShow multimedia streaming architecture. DirectShow allows for software reusability and common interfaces between components (filters) that process audio, video, and text streams. It evolved from earlier architectures like Video for Windows (VFW) and ActiveMovie to become a filter-based architecture with filters that can be connected in a graph to process media streams. Key components of DirectShow include filters, pins, media types, and a graph builder that connects filters to create processing graphs.
This document contains a glossary of terms related to video game design. It provides definitions for terms like alpha, beta, demo, gold (in reference to game versions), debugging, automation, collision detection, and others. Each term definition includes a short explanation and link to an online source. For some terms, the document also describes how the term relates to the author's own game production practice, such as releasing different versions to test for bugs.
This document provides an overview of an internship report submitted by Vishal Garg about embedded system development using an Arduino Uno. It includes chapters on introducing the project aims and methodology, a literature review on embedded systems, details about the Arduino Uno board and its programming, examples of programming projects completed, and conclusions from the internship. Tables of contents and figures are provided listing the different chapters, figures, tables, and photographs included in the report.
The document discusses Kinect and 3D motion sensing technology. It introduces the Kinect sensor device, the PrimeSense technology behind it, and the OpenNI and NITE libraries for developing applications using depth sensor data. It provides details on the Kinect sensor components and how it measures depth, and describes the various software options for Kinect development including OpenNI, OpenKinect, and Microsoft's Kinect SDK. It also summarizes the PrimeSense technology, OpenNI architecture and nodes, and NITE middleware for gesture and skeleton tracking.
The document defines key computer hardware and software terms. It explains that the CPU is the most important computer component, and defines other elements like the keyboard, hard drive, RAM memory, operating system, antivirus programs, web browsers, and common software like Microsoft Office, Photoshop, iTunes, file sharing programs, and multimedia programs.
The document defines key computer hardware and software terms. It explains that the CPU is the most important computer component, and defines other elements like the keyboard, hard drive, RAM memory, operating system, antivirus programs, web browsers, and common software like Microsoft Office, Photoshop, iTunes, file sharing programs, and multimedia programs.
This document discusses the development of an SDK for an ARM-based platform to provide access to peripherals like a printer, VFD display, and barcode reader. It describes setting up the SDK environment, sample applications that were created for each peripheral, and results from testing the applications and measuring network performance. The SDK includes tools for cross-compilation, libraries for the peripherals, and demo apps to interface with the printer, display text on the VFD, and scan barcodes. The document concludes the SDK helps develop new products for ARM platforms and acquire practical applications.
The document discusses MPEG's work on 3D graphics standards. It provides an overview of MPEG's past and current 3D graphics standards including MPEG-4 Part 16 and Part 25. It outlines the various 3D graphics tools that have been standardized, such as 3D mesh compression and animation tools. It also discusses MPEG's work integrating real and virtual worlds through standards like MPEG-V for sensors and actuators and MPEG's work on 3D video and augmented reality. Finally, it provides an example of a reconfigurable graphics coding network using functional units from the MPEG 3D graphics toolbox.
This document contains Brandon McNamara's research definitions for various terms related to video game testing and production. It includes 12 terms such as alpha testing, beta testing, demos, debugging, collision detection, and lighting. For each term it provides a Wikipedia summary and Brandon's description of how the term relates to his own video game production practice. There are also example images included to illustrate several of the terms.
Apostila de como fazer e usar certas técnicas de criptografia utilizando dos preceitos e teorias mais conhecidos no mercado. Vários capítulos descrevem e demonstrar como fazer toda a parte criptográfica desde os simples métodos até os mais complicados. Não cobre tudo, mas ajudo muito.
O documento fornece um guia rápido sobre o que é o Dropbox e como usá-lo. O Dropbox permite armazenar e acessar arquivos de qualquer dispositivo de forma sincronizada através da nuvem. Os usuários podem adicionar arquivos arrastando-os para a pasta do Dropbox e compartilhar arquivos e pastas com outros através de links.
This document contains recipes for several Middle Eastern dishes including:
1) Shish Tawook, a chicken dish marinated in a tomato, chili, garlic and yogurt sauce then grilled.
2) Kofta Yaidez, ground lamb meatballs baked with chicken, mushrooms, cheese and white sauce.
3) Arabian Rice, a rice pilaf with mutton, onion, cinnamon, and pine nuts.
4) Several dessert recipes including Aish Al Saraya, a rosewater bread pudding, and Namorra, a coconut milk pudding baked with eggs and semolina.
5) Sheik El Mehshi, stuffed eggplant baked with a
La pandemia de COVID-19 ha tenido un impacto significativo en la economía mundial. Muchos países experimentaron fuertes caídas en el PIB y aumentos en el desempleo debido a los cierres generalizados y las restricciones a los viajes. Aunque las vacunas han permitido la reapertura de muchas economías, los efectos a largo plazo de la pandemia en sectores como el turismo y los viajes aún no están claros.
This document provides an introduction to stored procedures in MySQL. It begins with a definition of stored procedures as subprograms stored in a database that can contain SQL statements. The document then discusses why stored procedures are useful, including that they are fast, portable, reusable components that centralize logic in the database. It also covers how to set up MySQL for stored procedures and demonstrates starting the mysql client.
This document provides a tutorial for creating organic 3D ribbon effects in Flash CS3 or later using ActionScript 3.0. It explains how to generate stunning, colorful ribbon patterns that react to user interaction. The tutorial walks through setting up variables and classes to define ribbon particles and their properties. Methods are described for moving the particles to create flowing ribbons, calculating virtual points around each particle, and drawing ribbon segments between points. Adjusting various parameters allows generating different ribbon effects that could be used for visualizations or animations. The full source code is provided to experiment with and modify to create custom ribbon animations.
This tutorial explains how to create a simple particle system in Flash using ActionScript 3. Key steps include:
1. Creating a symbol to represent individual particles and exporting it for ActionScript.
2. Defining a Particle class with properties like position, velocity, and a constructor to initialize new particles.
3. Installing an ENTER_FRAME listener to call an update method each frame, incrementing the particle's position.
4. Adding random velocity, looping through an array of particles to update them, and removing old particles to maintain a constant number. With just a few lines of code, complex particle effects can be achieved.
The document discusses personal pronouns, demonstrative pronouns, interrogative pronouns, relative pronouns, reciprocal pronouns, reflexive pronouns, indefinite pronouns, and noun cases in Finnish. Personal pronouns refer to people and decline based on person and number. There are also different types of plural forms in Finnish including nominative plural, partitive plural, and inflected plural which is formed with an infix.
Este documento contém formulários e informações sobre o processo de admissão em programas de pós-graduação de uma universidade. Inclui solicitação de inscrição, lista de documentos necessários, normas de inscrição e pagamento. Também inclui formulários para solicitação de bolsa de estudos e autorização de débito em cartão de crédito.
This document provides instructions for connecting to a MySQL database from a Java application using JSP (JavaServer Pages) under Windows and Tomcat web server. It includes steps for installing Java, Tomcat, and the MySQL connector JAR file. It also covers setting up environmental variables and starting/stopping the Tomcat server. The code examples show how to test the MySQL driver, establish a database connection, and execute queries to retrieve data from the database.
This document is a collection of Indian recipes compiled by Somesh Rao. It contains over 100 recipes for breads, snacks, vegetables, lentils, rice, fish, chicken, lamb and desserts. The recipes were collected from various sources over the internet and aim to provide graduate students with access to authentic Indian cooking. The document includes introductions from Somesh Rao and Sanjiv Singh discussing the compilation of the recipes and acknowledging other contributors. It also includes a guide to common Indian ingredients.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms for those who already suffer from conditions like depression and anxiety.
Este documento presenta un mini curso de 7 capítulos sobre el Método Francés de Piano. El curso enseña ejercicios básicos de posición, movimiento y fluidez digital para familiarizarse con el instrumento. Cada capítulo cubre un tema como la postura correcta, relajación, digitación y ejercicios para desarrollar la técnica de los dedos. El objetivo es proporcionar una introducción práctica al método a través de ejercicios sencillos.
This document provides recipes for 18 Indian chicken dishes and 12 other meat and seafood dishes. It includes recipes for popular dishes like Tandoori Chicken, Chicken 65, Ginger Chicken, Chilly Chicken, Pepper Chicken, Szechwan Chicken, Chicken Lollipop, and others. For each recipe, it lists the ingredients and step-by-step method to prepare the dish. The document aims to share recipes for a variety of popular North and South Indian non-vegetarian dishes.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
3dxp_programming
1. 3Dxp ™
DirectSound 3.0 Extension API
Prepared by the
Interactive Audio Special Interest Group
3D Working Group
June 1, 1997
Version 1.0
Recommended by:
Aureal Semiconductor, Creative Labs, Diamond Multimedia, DiamondWare, Gulbransen,
Spatializer Audio Labs, Texas Instruments, VLSI Technology, S3, Q-Sound Labs,
Rockwell Semiconductor
3. 3Dxp DirectSound 3.0 Extension API Version 1.0
Table of Contents
Introduction .................................................................................................................................1
Abstract:..................................................................................................................................1
The Problem: ...........................................................................................................................1
The Solution: ...........................................................................................................................1
Objectives:...............................................................................................................................1
Overview.....................................................................................................................................2
The Parameters to be passed: ...................................................................................................2
Listener and Source..............................................................................................................2
Source only..........................................................................................................................2
3Dxp Operation Description:....................................................................................................2
The Game/Application layer:....................................................................................................3
The 3Dxp extension layer:.......................................................................................................4
3Dxp Reference Code Path:......................................................................................................5
Game/Application Guidelines.......................................................................................................6
The Theory: .............................................................................................................................6
The Details: .............................................................................................................................6
Declarations for 3Dxp:.........................................................................................................6
Querying a 3Dxp Driver:......................................................................................................6
Localizing a Sound:..............................................................................................................7
Reference Code:...........................................................................................................................8
At a Minimum: ........................................................................................................................8
How It Works (briefly):............................................................................................................8
Errata/App Notes:....................................................................................................................8
Bugs: ...................................................................................................................................8
C vs. C++ ............................................................................................................................8
Potential Problems: ..............................................................................................................9
Driver Guidelines.......................................................................................................................10
3Dxp Driver Sample Code: ....................................................................................................10
3Dxp Driver Lock Sequence:..................................................................................................12
3Dxp Driver Unlock Sequence: ..............................................................................................13
i
5. 3Dxp DirectSound 3.0 Extension API Version 1.0
Introduction
Abstract:
The new generation of audio hardware supporting 3D localization can provide startling positional
accuracy. It is now possible for listeners to perceive sounds emanating from above, below and even
behind them, regardless of source (speaker) location.
This document describes a recommended “universal” approach for software (Windows/Intel) to
support multi-vendor solutions and Microsoft DirectSound3D with a single API.
Microsoft has already announced revisions to DirectSound (“DirectX5”) which will also provide
API extensions for hardware acceleration, but for those software developers who desire an
alternative solution, 3Dxp has been created and made available by the IASIG 3DWG.
The Problem:
As an API, Microsoft’s DirectSound3D goes a long way towards addressing the issues of 3D
audio. However, DirectSound3D (version 3.0) does not pass 3D parameters to external hardware
or software, and implements only one version of HRTF processing. This method of coding locks
out third party solutions – many of which could decrease the load on the host CPU and offer far
superior positioning quality. Though Microsoft is aware of this and has promised a solution in a
later release of DirectSound, many IHVs and ISVs may prefer an immediate solution. However, at
the same time, game developers can not justify support for multiple methods of 3D audio.
The Solution:
3Dxp was created as a single API that all 3D hardware/software vendors could use for extending
DirectSound and significantly improving the 3D experience of PC games and multimedia
applications under Windows. 3Dxp is a simple layer added to DirectSound3D and to the
Game/Application which enables parameter passing to external hardware or software. 3Dxp does
not attempt to reinvent the terminology, paradigm, 3D audio model, or data structures of
DirectSound3D. Rather, 3Dxp’s structures and model are 100% backward-compatible with
DirectSound3D.
Objectives:
• Enable DirectSound3D accelerators
• Provide full DirectSound3D functionality
• Keep DirectSound3D parameters and data structures
• Keep it simple
• Allow for future extensibility
• Offer without license or restriction
1
6. 3Dxp DirectSound 3.0 Extension API Version 1.0
Overview
The Parameters to be passed:
DirectSound3D (version 3.0) unmodified parameters:
Listener and Source Source only
• vPosition (x, y, z) • dwInsideConeAngle
• vVelocity • dwOutsideConeAngle
• Listener only • vConeOrientation
• vOrientFront, vOrientTop • lConeOutsideVolume
• flDistanceFactor • flMinDistance
• flRolloffFactor • flMaxDistance
• flDopplerFactor
3Dxp Operation Description:
• Append 3D info to DirectSound buffer
• Sixteen byte ID plus 132 bytes of info (magic string + xyz)
• App determines if driver is compliant
• Create special secondary buffer
• Write magic query String
• Read back confirmation of compliance
X
Audio PCM Data
Y
Z
{
Magic String
2
7. 3Dxp DirectSound 3.0 Extension API Version 1.0
The Game/Application layer:
3Dxp works by adding simple layer to DirectSound3D and to the Game/Application which enables
parameter passing to external hardware or software. 3Dxp is sufficiently similar to DirectSound3D
that it’s easily possible to make a wrapper which goes through 3Dxp or A3D (see note below) if
installed, or otherwise uses DirectSound3D. Such a wrapper is provided as the “3Dxp Reference
Code”, included in the 3Dxp SDK.
• Reference Code Auto Detects device
• 3Dxp, A3D or Standard DirectSound3D is used
DirectSound API
3Dxp Reference Code
(smart triple fork) >
A3D 3Dxp DirectSound
Note: The above represents a common 3Dxp Reference Code which can utilize 3Dxp
applications, A3D applications or fall-back to DirectSound3D on the host.
Note on A3D: A3D is a 3D audio renderer from Aureal Semiconductor that has been
licensed to several multimedia vendors. Please check www.a3d.com for more information
on the A3D features. Please note that A3D is only supported in the 3Dxp guideline when
using the reference wrapper code, not when using the method of appending 3D info
directly to sound buffers.
3
8. 3Dxp DirectSound 3.0 Extension API Version 1.0
The 3Dxp extension layer:
• Adds a simple layer to DirectSound 3D and to the Game/Application
3Dxp Data Flow
Application
(DirectSound
Sound Data 3D info only sees the
sound Buffer,
without the
DirectSound 3D info
appended)
Device Driver
Sound Data 3D info (Device Driver
extracts the
3D info from
the Buffer)
H/W or S/W
Accelerator
H/W or S/W
Mixing
4
9. 3Dxp DirectSound 3.0 Extension API Version 1.0
3Dxp Reference Code Path:
Application
(sound data)
wrap3d_Create()
IWrap3dSoundReal
IDirectSound
CreateSoundBuffer
IWrap3DSoundBufferReal
Lock/Unlock IDirectSoundBuffer Query interface
IWrap3DSoundBuffer3DReal
IDirectSound3DBuffer (set 3D info)
A3D_Create()
IWrap3DSoundListener3DReal
IDirectSound3DListener (set listener)
A3D Driver
SoundData 3D info
3Dxp Driver
Note: The above flow diagram represents the 3Dxp Reference Code (described in a document found on
DiamondWare’s Web site at http://dw.com/3dxp). The 3Dxp Reference Code is provided as C++ source
code, which is included in the 3Dxp package. The above flow diagram depicts the common reference code
and two different driver implementations. One driver method is based on the 3Dxp protocol and has
driver interface hardware independent code included in this guideline. The second is based on Aureal’s
method and works only on A3D licensed hardware.
5
10. 3Dxp DirectSound 3.0 Extension API Version 1.0
Game/Application Guidelines
This document assumes that the reader is knowledgeable about DirectSound, and is at least
familiar with 3D audio concepts, as discussed in the 3D Audio Primer paper which is an
companion document to the 3Dxp Guideline.
The Theory:
DirectSound streams are each kept in their own buffers. They are allocated by DirectSound at the
application’s request, and the buffer size is specified by the application. 3Dxp-aware applications
can allocate a buffer slightly larger (16+132 bytes) than the audio data, storing the 3Dxp-specific
information at the end. This information includes all the DirectSound parameters unmodified.
To determine if the audio device driver is 3Dxp-compliant, the application should allocate a
special-purpose DirectSound buffer, at least large enough to contain the 3Dxp query struct. The
application puts a magic number in the buffer, and then reads the data struct returned by the driver.
This struct will describe driver capabilities and remaining resources.
The Details:
Declarations for 3Dxp:
#define 3dxp_QUERY "DEV3DCompliant?"
#define 3dxp_SIGNATURE "!tnailpmoCD3VED"
#define 3dxp_LOCALIZE "DEV3D Localize!"
typedef struct
{
char szMagicString[16];
DWORD dw3Dxpversion; //hi word is major, lo word is minor
DWORD dwMaxHighQuality3D;
DWORD dwMaxMediumQuality3D;
DWORD dwMaxLowQuality3D;
DWORD dwFreeHighQuality3D;
DWORD dwFreeMediumQuality3D;
DWORD dwFreeLowQuality3D;
DWORD dwReserved[5];
} 3dxp_INFO;
Querying a 3Dxp Driver:
To detect a 3Dxp-compliant driver, the application must:
• Create a DirectSound buffer to contain the 3dxp_INFO struct (at least 64 bytes)
• Call IDirectSoundBuffer::Lock()
• Write a 3dxp_QUERY string to the first 16 bytes of the buffer
• Call IDirectSoundBuffer::UnLock()
• Call IDirectSoundBuffer::Lock()
6
11. 3Dxp DirectSound 3.0 Extension API Version 1.0
If the first 16 bytes match the 3Dxp_SIGNATURE string, the driver is 3Dxp-compliant (magic
string)
The minor version number will be used to differentiate internal details and insignificant
specification changes. The major version number will change if new enhancements to this interface
are provided. All such changes will be backwardly compatible to the specification described in this
document. Currently there is only one version which is supported as part of this guideline.
The next 6 fields require some explanation. Many hardware systems will be able to localize a
limited number of sounds at full quality, degrading to medium for several more voices, and then
finally to low for more voices. Beyond that, the hardware cannot localize sounds at all. So, this
structure tells you the maximum and current totals for each of these 3 quality levels.
The application may make this query at any time. The same DirectSound buffer may be used,
although the program would have to rewrite the 3dxp_QUERY string into it each time.
The application should create a separate IDirectSoundBuffer object for this query which will not
be used for audio. Unlike with localization, the query operation is not really compatible with audio
playback.
Localizing a Sound:
To localize a sound, the application must:
• Allocate a DirectSound buffer 3dxp_EXTRABUF 132 bytes larger than the sound data
• Call IDirectSoundBuffer::Lock()
• Write a 3dxp_LOCALIZE string into extra buffer region (end of buffer)
• Write a DWORD priority (higher numbers are higher priorities)
• Write a filled-in DS3DLISTENER struct
• Write a filled-in DS3DBUFFER struct
• Call IDirectSoundBuffer::UnLock()
The sound data itself is stored at the beginning of the buffer. The last 3dxp_EXTRABUF bytes
are used for communicating the out-of-band localization information.
3dxp_EXTRABUF is declared in 3DXP.H; it’s the total size needed to store the magic string,
priority, DS3DLISTENER, and DS3DBUFFER structs.
If there are more 3D sounds than hardware capacity to localize them, the priority parameter helps
the driver determine which voices get high-quality, medium-quality, low-quality, or no localization.
Since there is only one listener, each change to its parameters affects all sound streams.
The application can reposition the sound at any time, whether or not it also updates the sound data.
The 3Dxp driver scrutinizes all buffer-lock calls which include the last 3dxp_EXTRABUF bytes.
The IDirectSoundBuffer::Lock() call writes the current values of all parameters into the memory
region returned to the application. Besides providing a parameter query mechanism, any
parameters not changed by the application will retain their values.
A value of 0xFFFFFFFF also indicates that a field should remain unchanged. This technique is
useful for the first time a sound is written. Otherwise, without knowing the default values, the
application would have to write the 3dxp_LOCALIZE string, call Unlock() and then Lock() again.
7
12. 3Dxp DirectSound 3.0 Extension API Version 1.0
Reference Code:
The 3Dxp Reference Code was written to show by example how to use 3Dxp in a real-world
program. The Code implements an intelligent wrapper for Microsoft’s DirectSound. It uses 3Dxp
or A3D for 3D localization processing (if available) or otherwise Microsoft’s DirectSound3D.
The wrapper provides an API which is virtually identical to DirectSound. Here’s how to use the
Reference Code in programming application.
At a Minimum:
To use WRAP3D, you must replace all calls to DirectSoundCreate() with wrap3d_Create(). You
should insert the line:
#include "wrap3d.h"
into any source file which makes this function call. Add WRAP3D.CPP to your project. Finally,
add DSOUND.LIB and DXGUID.LIB (both provided with DirectX) to the library list in the
makefile.
That’s it. Your program will now exploit 3Dxp or A3D for 3D audio, if compliant
hardware/software is available.
How It Works (briefly):
Internally, wrap3d.cpp implements C++ classes for each DirectSound object. These are regular
C++ classes, not COM objects. They are allocated with the documented DirectSound function
call, and deallocated via a call to their Release() methods, however, exactly like DirectSound
objects. They are also available to C, through the same mechanism used by DirectSound: a struct
with a member called lpVtbl which contains a function pointer for each method.
Errata/App Notes:
Bugs:
This code has been thoroughly reviewed and tested. However, like all other software, it may
contain bugs. If you should find one, please email keith@dw.com describing the problem. Or,
better yet fix the bug, send a note and a description of both the error and the changes you made to
fix it. Fixes will be made in a subsequent release and you will receive credit at the top of the C++
source file.
C vs. C++
This code will work with C or C++, just like DirectSound itself. Being that it's implemented in
C++, it uses operator new and operator delete. It has been tested in a C DirectSound program,
with no problems. This author is not aware of any difficulties of mixing new/delete with
malloc/free (as long as they're used on different memory blocks), even in C programs.
8
13. 3Dxp DirectSound 3.0 Extension API Version 1.0
Potential Problems:
IDirectSoundBuffer does not have 3D-localization calls. It provides a QueryInterface() call which
returns a pointer to a separate object of type IDirectSound3DBuffer. This object provides the 3D
calls. Although they may appear to be separate, they are surely attached internally to DirectSound.
Calling Release() on the IDirectSoundBuffer object and then trying to use the corresponding
IDirectSound3DBuffer object afterwards could cause unexpected behaviors.
9
14. 3Dxp DirectSound 3.0 Extension API Version 1.0
Driver Guidelines
Only two commands are used - Lock() and Unlock().
3Dxp Driver Sample Code:
HRESULT __stdcall IDsDriverBuffer_Lock(
IN PIDSDRIVERBUFFER pIDsDriverBuffer,
OUT LPLPVOID ppvAudio1,
OUT LPDWORD pdwLen1,
OUT LPLPVOID ppvAudio2,
OUT LPDWORD pdwLen2,
IN DWORD dwWritePosition,
IN DWORD dwWriteLen,
IN DWORD dwFlags)
{
PDSDRIVERBUFFER pBufferObjContext
=(PDSDRIVERBUFFER)pIDsDriverBuffer;
DWORD *ptr;
_Debug_Printf_Service( "IDsDriverBuffer_Lock") ;
if((dwWritePosition + dwWriteLen) <=
pBufferObjContext->dsd_BufferSize)
{
*ppvAudio1 = (DWORD *)(pBufferObjContext->dsd_LinBuffAddr
+
dwWritePosition);
*pdwLen1 = dwWriteLen;
*ppvAudio2 = NULL;
*pdwLen2 = 0;
}
else
{
DWORD firstpart = pBufferObjContext->dsd_BufferSize -
dwWritePosition;
*ppvAudio1 = (DWORD *)(pBufferObjContext->dsd_LinBuffAddr
+
dwWritePosition);
*pdwLen1 = firstpart;
*ppvAudio2 = (DWORD *)(pBufferObjContext-
>dsd_LinBuffAddr);
*pdwLen2 = dwWriteLen - firstpart;
}
// Copy the latest contents of current Buffer, and the
Listener,
// If the buffer is a 3Dxp buffer, and the region of 3D is
what
// is being locked.
if(
10
16. 3Dxp DirectSound 3.0 Extension API Version 1.0
3Dxp Driver Lock Sequence:
Setup normal pointers
N
Is it 3D
Y
N
Locking
the 3D
Area
Y
N
DEV3D
Localize
string
present
Y
Update magic area with current
buffer and listener data (Query)
Return
12
17. 3Dxp DirectSound 3.0 Extension API Version 1.0
3Dxp Driver Unlock Sequence:
Is
DEV3D N
Query
Y
N Unlocking
magic
Write DEV3D information Y
structure to top of sound buffer
DEV3D
N
string
present
Y
Return
First N
set
buffer
Y
Allocate memory for
storing positional data
Read Valid parameters from magic area
Did the
Listener N
move
Y
Did the N
Buffer
move
Update internal variables
for Y
Update internal variables
Did the for this buffer
Buffer N
move
Y
Reposition this sound
buffer
Update internal variables
for this buffer
Reposition the sound for
all buffers currently created
13