for connected embedded systems
![]() |
![]() |
![]() |
![]() |
About This Guide
This chapter includes:
- What you'll find in this guide
- Typographical conventions
- Technical support
- What's new in QNX Momentics 6.4
- What's new in QNX Momentics 6.3
- What's new in QNX Momentics 6.2
- What's new in QNX Momentics 6.1
What you'll find in this guide
The Audio Developer's Guide is intended for developers who wish to write audio applications using the QNX Sound Architecture (QSA) drivers and library.
This table may help you find what you need in this guide:
| To find out about: | Go to: |
|---|---|
| The structure of an audio application | Audio Architecture |
| Playing and recording sound | Playing and Capturing Audio Data |
| The structure of a mixer | Mixer Architecture |
| Audio library functions | Audio Library |
| How to code a .wav player in C | wave.c example |
| How to code a .wav recorder in C | waverec.c example |
| How to code a mix_ctl in C | mix_ctl.c example |
| Why libasound.a isn't offered | LGPL License Agreement |
| Terms used in this guide | Glossary |
![]() |
You should have already installed QNX Neutrino and become familiar with its architecture. For a detailed overview, see the System Architecture guide. |
The key components of the QNX Audio driver architecture include:
- io-audio
- Audio system manager.
- deva-ctrl-*.so drivers
- Audio drivers. For example, the audio driver for the Ensoniq Audio PCI cards is deva-ctrl-audiopci.so. For more information, see the entries for the deva-* audio drivers in the QNX Neutrino Utilities Reference.
- libasound.so
- Programmer interface library.
- <asound.h>, <asoundlib.h>
- Header files in /usr/include/sys/.
Typographical conventions
Throughout this manual, we use certain typographical conventions to distinguish technical terms. In general, the conventions we use conform to those found in IEEE POSIX publications. The following table summarizes our conventions:
| Reference | Example |
|---|---|
| Code examples | if( stream == NULL ) |
| Command options | -lR |
| Commands | make |
| Environment variables | PATH |
| File and pathnames | /dev/null |
| Function names | exit() |
| Keyboard chords | Ctrl-Alt-Delete |
| Keyboard input | something you type |
| Keyboard keys | Enter |
| Program output | login: |
| Programming constants | NULL |
| Programming data types | unsigned short |
| Programming literals | 0xFF, "message string" |
| Variable names | stdin |
| User-interface components | Cancel |
We use an arrow (-->) in directions for accessing menu items, like this:
You'll find the Other... menu item under .
We use notes, cautions, and warnings to highlight important messages:
![]() |
Notes point out something important or useful. |
![]() |
Cautions tell you about commands or procedures that may have unwanted or undesirable side effects. |
![]() |
Warnings tell you about commands or procedures that could be dangerous to your files, your hardware, or even yourself. |
Note to Windows users
In our documentation, we use a forward slash (/) as a delimiter in all pathnames, including those pointing to Windows files.
We also generally follow POSIX/UNIX filesystem conventions.
Navigation buttons
At the top and bottom of our HTML docs, you'll see some or all of these buttons:
| Use this button: | To move: |
|---|---|
|
To the previous part of the document. |
|
"Up" in the document:
|
|
To the keyword index. |
|
To the next part of the document. |
Technical support
To obtain technical support for any QNX product, visit the Support + Services area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.
What's new in QNX Momentics 6.4
- snd_mixer_open_name()
- Create a connection and handle to a mixer device specified by name
- snd_pcm_open_name()
- Create a handle and open a connection to an audio interface specified by name
What's new in QNX Momentics 6.3
- snd_ctl_mixer_switch_list()
- Get the number and names of control switches for the mixer
- snd_ctl_mixer_switch_read()
- Get a mixer switch setting
- snd_ctl_mixer_switch_write()
- Adjust a mixer switch setting
- snd_switch_t
- Information about a mixer's switch
- mix_ctl.c
- A sample application that captures the groups and switches in the mixer
What's new in QNX Momentics 6.2
The QNX Sound Architecture has evolved away from ALSA. You should reread this entire guide.
What's new in QNX Momentics 6.1
Changed content
- snd_pcm_channel_info()
- Removed the SND_PCM_CHNINFO_BATCH flag because it was deprecated in the source code.
Copyright © 2000-2008, QNX Software Systems GmbH & Co. KG. All rights reserved.
![]() |
![]() |
![]() |
![]() |

![[Previous]](prev.gif)
![[Contents]](contents.gif)
![[Index]](keyword_index.gif)
![[Next]](next.gif)


