audio
[Interface specifications]
Collaboration diagram for audio:
Detailed Description
Interface to an audio system.
The audio
interface is used to control sound hardware.
The inteface provides four sets of functionality:
- raw wav playback and recording
- sample playback (and loading)
- sequencer support (tone playback and recording)
- mixer interface (control of sound levels)
#define | PLAYER_AUDIO_DATA_WAV_REC 1 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_DATA_SEQ 2 |
Data subtype: seq_data, recorded sequence of notes. | |
#define | PLAYER_AUDIO_DATA_MIXER_CHANNEL 3 |
Data subtype: mixer_channel_data, audio channel levels. | |
#define | PLAYER_AUDIO_DATA_STATE 4 |
Data subtype: state_data, driver state data (eg playing, stopped, . | |
#define | PLAYER_AUDIO_CMD_WAV_PLAY 1 |
Command subtype: wav_play_cmd, play a raw data block, in structure player_audio_wav_t. | |
#define | PLAYER_AUDIO_CMD_WAV_STREAM_REC 2 |
Command subtype: wav_stream_rec_cmd, start/stop recording, data will be returned as data blocks. | |
#define | PLAYER_AUDIO_CMD_SAMPLE_PLAY 3 |
Command subtype: sample_play_cmd, play a pre stored audio sample. | |
#define | PLAYER_AUDIO_CMD_SEQ_PLAY 4 |
Command subtype: seq_play_cmd, play a sequence of tones. | |
#define | PLAYER_AUDIO_CMD_MIXER_CHANNEL 5 |
Command subtype: mixer_channel_cmd, audio channel levels. | |
#define | PLAYER_AUDIO_REQ_WAV_REC 1 |
Request subtype: wav_rec_req, record a fixed size data block, in structure player_audio_wav_t. | |
#define | PLAYER_AUDIO_REQ_SAMPLE_LOAD 2 |
Request subtype: sample_load_req, store a sample. | |
#define | PLAYER_AUDIO_REQ_SAMPLE_RETRIEVE 3 |
Request subtype: sample_retrieve_req, retrieve a stored sample. | |
#define | PLAYER_AUDIO_REQ_SAMPLE_REC 4 |
Request subtype: sample_rec_req, record a new sample. | |
#define | PLAYER_AUDIO_REQ_MIXER_CHANNEL_LIST 5 |
Request subtype: mixer_channel_list_req, request the list of channels. | |
#define | PLAYER_AUDIO_REQ_MIXER_CHANNEL_LEVEL 6 |
Request subtype: mixer_channel_level_req, request the channel levels. | |
#define | PLAYER_AUDIO_STATE_STOPPED 0x00 |
Driver states. | |
#define | PLAYER_AUDIO_STATE_PLAYING 0x01 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_STATE_RECORDING 0x02 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_DESCRIPTION_BITS 0xFF |
Raw Audio bit flags. | |
#define | PLAYER_AUDIO_BITS 0x03 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_8BIT 0 |
8 bit | |
#define | PLAYER_AUDIO_16BIT 1 |
16 bit | |
#define | PLAYER_AUDIO_24BIT 2 |
24 bit | |
#define | PLAYER_AUDIO_MONO 0 |
Mono. | |
#define | PLAYER_AUDIO_STEREO 4 |
Stereo. | |
#define | PLAYER_AUDIO_FREQ 0x18 |
Frequency. | |
#define | PLAYER_AUDIO_FREQ_44k 0 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_FREQ_11k 8 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_FREQ_22k 16 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_FREQ_48k 24 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_FORMAT_BITS 0xFF00 |
AUDIO format. | |
#define | PLAYER_AUDIO_FORMAT_NULL 0x0000 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_FORMAT_RAW 0x0100 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_FORMAT_MP3 0x0200 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_FORMAT_OGG 0x0300 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_FORMAT_FLAC 0x0400 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_FORMAT_AAC 0x0500 |
Data subtype: wav_rec_data, recorded data block. | |
#define | PLAYER_AUDIO_MIXER_CHANNEL_TYPE_INPUT 1 |
Input audio channel. | |
#define | PLAYER_AUDIO_MIXER_CHANNEL_TYPE_OUTPUT 2 |
Output audio channel. | |
#define | PLAYER_AUDIO_MIXER_CHANNEL_TYPE_SPECIAL 4 |
Special audio channel. | |
typedef player_audio_wav | player_audio_wav_t |
Data: Raw audio data. | |
typedef player_audio_seq_item | player_audio_seq_item_t |
Player audio sequence item. | |
typedef player_audio_seq | player_audio_seq_t |
Player audio sequence. | |
typedef player_audio_mixer_channel | player_audio_mixer_channel_t |
Player mixer channel. | |
typedef player_audio_mixer_channel_list | player_audio_mixer_channel_list_t |
Player mixer channels. | |
typedef player_audio_mixer_channel_detail | player_audio_mixer_channel_detail_t |
Player mixer channel detail. | |
typedef player_audio_mixer_channel_list_detail | player_audio_mixer_channel_list_detail_t |
Player mixer channels. | |
typedef player_audio_sample | player_audio_sample_t |
Player audio sample. | |
typedef player_audio_sample_item | player_audio_sample_item_t |
Player audio sample selection. | |
typedef player_audio_sample_rec_req | player_audio_sample_rec_req_t |
Player audio sample record request. | |
typedef player_audio_state | player_audio_state_t |
Player audio driver state. |
Define Documentation
#define PLAYER_AUDIO_BITS 0x03 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 2081 of file player_interfaces.h.
Referenced by AudioSample::FromPlayer().
#define PLAYER_AUDIO_CMD_MIXER_CHANNEL 5 |
Command subtype: mixer_channel_cmd, audio channel levels.
data is a player_audio_mixer_channel_list_t structure
Definition at line 2037 of file player_interfaces.h.
Referenced by Alsa::ProcessMessage().
#define PLAYER_AUDIO_CMD_SAMPLE_PLAY 3 |
Command subtype: sample_play_cmd, play a pre stored audio sample.
data is a player_audio_sample_item_t structure
Definition at line 2027 of file player_interfaces.h.
Referenced by P2OS::HandleCommand(), and Alsa::ProcessMessage().
#define PLAYER_AUDIO_CMD_SEQ_PLAY 4 |
Command subtype: seq_play_cmd, play a sequence of tones.
data is a player_audio_seq_t structure
Definition at line 2032 of file player_interfaces.h.
#define PLAYER_AUDIO_CMD_WAV_PLAY 1 |
Command subtype: wav_play_cmd, play a raw data block, in structure player_audio_wav_t.
data is a player_audio_wav_t structure
Definition at line 2017 of file player_interfaces.h.
Referenced by Alsa::ProcessMessage().
#define PLAYER_AUDIO_CMD_WAV_STREAM_REC 2 |
Command subtype: wav_stream_rec_cmd, start/stop recording, data will be returned as data blocks.
data is a player_bool_t
Definition at line 2022 of file player_interfaces.h.
Referenced by Alsa::ProcessMessage().
#define PLAYER_AUDIO_DATA_MIXER_CHANNEL 3 |
Data subtype: mixer_channel_data, audio channel levels.
data is a player_audio_mixer_channel_list_t structure
Definition at line 2007 of file player_interfaces.h.
Referenced by Alsa::PublishMixerData().
#define PLAYER_AUDIO_DATA_SEQ 2 |
Data subtype: seq_data, recorded sequence of notes.
data is a player_audio_seq_t structure
Definition at line 2002 of file player_interfaces.h.
#define PLAYER_AUDIO_DATA_STATE 4 |
Data subtype: state_data, driver state data (eg playing, stopped, .
..)
data is a player_audio_state_t structure
Definition at line 2012 of file player_interfaces.h.
Referenced by Alsa::SendStateMessage().
#define PLAYER_AUDIO_DATA_WAV_REC 1 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 1997 of file player_interfaces.h.
Referenced by Alsa::PublishRecordedData().
#define PLAYER_AUDIO_FORMAT_AAC 0x0500 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 2107 of file player_interfaces.h.
#define PLAYER_AUDIO_FORMAT_FLAC 0x0400 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 2106 of file player_interfaces.h.
#define PLAYER_AUDIO_FORMAT_MP3 0x0200 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 2104 of file player_interfaces.h.
#define PLAYER_AUDIO_FORMAT_NULL 0x0000 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 2102 of file player_interfaces.h.
#define PLAYER_AUDIO_FORMAT_OGG 0x0300 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 2105 of file player_interfaces.h.
#define PLAYER_AUDIO_FORMAT_RAW 0x0100 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 2103 of file player_interfaces.h.
Referenced by AudioSample::FromPlayer(), Alsa::PublishRecordedData(), and AudioSample::ToPlayer().
#define PLAYER_AUDIO_FREQ_11k 8 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 2095 of file player_interfaces.h.
Referenced by AudioSample::FromPlayer(), Alsa::PublishRecordedData(), and AudioSample::ToPlayer().
#define PLAYER_AUDIO_FREQ_22k 16 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 2096 of file player_interfaces.h.
Referenced by AudioSample::FromPlayer(), Alsa::PublishRecordedData(), and AudioSample::ToPlayer().
#define PLAYER_AUDIO_FREQ_44k 0 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 2094 of file player_interfaces.h.
Referenced by AudioSample::FromPlayer(), Alsa::PublishRecordedData(), and AudioSample::ToPlayer().
#define PLAYER_AUDIO_FREQ_48k 24 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 2097 of file player_interfaces.h.
Referenced by AudioSample::FromPlayer(), Alsa::PublishRecordedData(), and AudioSample::ToPlayer().
#define PLAYER_AUDIO_REQ_MIXER_CHANNEL_LEVEL 6 |
Request subtype: mixer_channel_level_req, request the channel levels.
data is a player_audio_mixer_channel_list_t structure
Definition at line 2067 of file player_interfaces.h.
Referenced by Alsa::HandleMixerChannelLevelReq(), and Alsa::ProcessMessage().
#define PLAYER_AUDIO_REQ_MIXER_CHANNEL_LIST 5 |
Request subtype: mixer_channel_list_req, request the list of channels.
data is a player_audio_mixer_channel_list_detail_t structure
Definition at line 2062 of file player_interfaces.h.
Referenced by Alsa::HandleMixerChannelListReq(), and Alsa::ProcessMessage().
#define PLAYER_AUDIO_REQ_SAMPLE_LOAD 2 |
Request subtype: sample_load_req, store a sample.
data is a player_audio_sample_t structure
Definition at line 2047 of file player_interfaces.h.
Referenced by Alsa::HandleSampleLoadReq(), and Alsa::ProcessMessage().
#define PLAYER_AUDIO_REQ_SAMPLE_REC 4 |
Request subtype: sample_rec_req, record a new sample.
data is a player_audio_sample_item_t structure
Definition at line 2057 of file player_interfaces.h.
Referenced by Alsa::HandleSampleRecordReq(), and Alsa::ProcessMessage().
#define PLAYER_AUDIO_REQ_SAMPLE_RETRIEVE 3 |
Request subtype: sample_retrieve_req, retrieve a stored sample.
data is a player_audio_sample_t structure
Definition at line 2052 of file player_interfaces.h.
Referenced by Alsa::HandleSampleRetrieveReq(), and Alsa::ProcessMessage().
#define PLAYER_AUDIO_REQ_WAV_REC 1 |
Request subtype: wav_rec_req, record a fixed size data block, in structure player_audio_wav_t.
data is a player_audio_wav_t structure
Definition at line 2042 of file player_interfaces.h.
#define PLAYER_AUDIO_STATE_PLAYING 0x01 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 2074 of file player_interfaces.h.
Referenced by Alsa::SendStateMessage().
#define PLAYER_AUDIO_STATE_RECORDING 0x02 |
Data subtype: wav_rec_data, recorded data block.
data is a player_audio_wav_t structure
Definition at line 2075 of file player_interfaces.h.
Referenced by Alsa::SendStateMessage().
Typedef Documentation
Player mixer channel detail.
Describes the state of a mixer channel
Player mixer channels.
Describes the state of a set of mixer channels details
typedef struct player_audio_mixer_channel_list player_audio_mixer_channel_list_t |
Player mixer channels.
Describes the state of a set of mixer channels
typedef struct player_audio_mixer_channel player_audio_mixer_channel_t |
Player mixer channel.
Describes the state of a mixer channel
typedef struct player_audio_sample_item player_audio_sample_item_t |
Player audio sample selection.
Describes a pre-stored audio sample index
typedef struct player_audio_sample_rec_req player_audio_sample_rec_req_t |
Player audio sample record request.
Request to record a sample and store it locally.
typedef struct player_audio_sample player_audio_sample_t |
Player audio sample.
Describes an audio sample, if the index is set to -1 the next available slot is used and the index is returned in the response.
typedef struct player_audio_seq_item player_audio_seq_item_t |
Player audio sequence item.
This describes a single sequence element, the link field is used for chord type playback when a series of notes are to be played together. Set link to true for all but the last notes to be player together.
typedef struct player_audio_seq player_audio_seq_t |
Player audio sequence.
Describes a sequence of notes to be played or which have been recieved
typedef struct player_audio_state player_audio_state_t |
Player audio driver state.
Describes the current state of the audio driver. Usually only sent when state changes.
typedef struct player_audio_wav player_audio_wav_t |
Data: Raw audio data.
This data is used in the PLAYER_AUDIO_CMD_WAV_PLAY, and returned as PLAYER_AUDIO_DATA_WAV_REC when stream recording is enabled