The following modules are included in the standard distribution and can be loaded at run-time with mod.load() in Fluid or LoadModule() in C/C++.
Use the navigation bar on the right to peruse the available functionality of the selected module.
Beginners should start with the Core module, which includes the bulk of Parasol's functionality.
Continue playing a stopped channel.
Parameter | Description |
---|---|
Audio | The target Audio object. |
Handle | The target channel. |
This function will continue playback on a channel that has previously been stopped.
Okay | Operation successful. |
---|---|
NullArgs | Function call missing argument value(s) |
Ends the buffering of mix commands.
Parameter | Description |
---|---|
Audio | The target Audio object. |
Handle | The target channel. |
Use this function to end a buffered command sequence that was started by MixStartSequence().
Okay | Operation successful. |
---|---|
NullArgs | Function call missing argument value(s) |
Sets a channel's playback rate.
Parameter | Description |
---|---|
Audio | The target Audio object. |
Handle | The target channel. |
Frequency | The desired frequency. |
Use this function to set the playback rate of a mixer channel.
Okay | Operation successful. |
---|---|
NullArgs | Function call missing argument value(s) |
Mutes the audio of a channel.
Parameter | Description |
---|---|
Audio | The target Audio object. |
Handle | The target channel. |
Mute | Set to true to mute the channel. A value of 0 will undo the mute setting. |
Use this function to mute the audio of a mixer channel.
Okay | Operation successful. |
---|---|
NullArgs | Function call missing argument value(s) |
Sets a channel's panning value.
Parameter | Description |
---|---|
Audio | The target Audio object. |
Handle | The target channel. |
Pan | The desired pan value between -1.0 and 1.0. |
Use this function to set a mixer channel's panning value. Accepted values are between -1.0 (left) and 1.0 (right).
Okay | Operation successful. |
---|---|
NullArgs | Function call missing argument value(s) |
Commences channel playback at a set frequency..
Parameter | Description |
---|---|
Audio | The target Audio object. |
Handle | The target channel. |
Position | The new playing position, measured in bytes. |
This function will start playback of the sound sample associated with the target mixer channel. If the channel is already in playback mode, it will be stopped to facilitate the new playback request.
Okay | Operation successful. |
---|---|
NullArgs | Function call missing argument value(s) |
Sets a new update rate for a channel.
Parameter | Description |
---|---|
Audio | The target Audio object. |
Handle | The channel set allocated from OpenChannels(). |
Rate | The new update rate in milliseconds. |
This function will set a new update rate for all channels, measured in milliseconds. The default update rate is 125, which is equivalent to 5000Hz.
Okay | Operation successful. |
---|---|
NullArgs | Function call missing argument value(s) |
Associate a sound sample with a mixer channel.
Parameter | Description |
---|---|
Audio | The target Audio object. |
Handle | The target channel. |
Sample | A sample handle allocated from Audio.AddSample() or Audio.AddStream(). |
This function will associate a sound sample with the channel identified by Handle. The client should follow this by setting configuration details (e.g. volume and pan values).
The referenced Sample must have been added to the audio server via the Audio.AddSample() or Audio.AddStream() methods.
Okay | Operation successful. |
---|---|
NullArgs | Function call missing argument value(s) |
Initiates buffering of mix commands.
Parameter | Description |
---|---|
Audio | The target Audio object. |
Handle | The target channel. |
Use this function to initiate the buffering of mix commands, up until a call to MixEndSequence() is made. The buffering of mix commands makes it possible to create batches of commands that are executed at timed intervals as determined by MixRate().
This feature can be used to implement complex sound mixes and digital music players.
Okay | Operation successful. |
---|---|
NullArgs | Function call missing argument value(s) |
Stops all playback on a channel.
Parameter | Description |
---|---|
Audio | The target Audio object. |
Handle | The target channel. |
This function will stop a channel that is currently playing.
Okay | Operation successful. |
---|---|
NullArgs | Function call missing argument value(s) |
Cancels any playback loop configured for a channel.
Parameter | Description |
---|---|
Audio | The target Audio object. |
Handle | The target channel. |
This function will cancel the loop that is associated with the channel identified by Handle if in playback mode. The existing loop configuration will remain intact if playback is restarted.
Okay | Operation successful. |
---|---|
NullArgs | Function call missing argument value(s) |
Changes the volume of a channel.
Parameter | Description |
---|---|
Audio | The target Audio object. |
Handle | The target channel. |
Volume | The new volume for the channel. |
This function will change the volume of the mixer channel identified by Handle. Valid values are from 0 (silent) to 1.0 (maximum).
Okay | Operation successful. |
---|---|
NullArgs | Function call missing argument value(s) |
Optional flags for the Audio object.
Name | Description |
---|---|
ADF::AUTO_SAVE | Save configuration information on exit. |
ADF::FILTER_HIGH | Enable a high level of output filtering to minimise distortion. |
ADF::FILTER_LOW | Enable a low level of output filtering to minimise distortion. |
ADF::OVER_SAMPLING | Enables oversampling for higher quality audio at the cost of slower mixing. |
ADF::STEREO | Enable stereo output (set by default if the platform supports stereo). If not set, output is in mono. |
ADF::SYSTEM_WIDE | Mixer changes should be applied system-wide. |
ADF::VOL_RAMPING | Enable volume ramping for softer playback when a sample is played multiple times (enabled by default). |
Optional flags for the AudioChannel structure.
Name | Description |
---|---|
CHF::BACKWARD | Play channel backwards. |
CHF::CHANGED | Sample change |
CHF::MUTE | Channel is muted. |
CHF::VOL_RAMP | Volume ramping is enabled. |
Channel status types for the AudioChannel structure.
Name | Description |
---|---|
CHS::FADE_OUT | Playback is fading out. |
CHS::FINISHED | Playback concluded by reaching the sample end. |
CHS::PLAYING | Sample playing and not released. |
CHS::RELEASED | Sample playing and note has been released. |
CHS::STOPPED | Playing was stopped by the client. |
Loop modes for the AudioLoop structure.
Name | Description |
---|---|
LOOP::AMIGA | Single loop: Amiga style. |
LOOP::AMIGA_NONE | Amiga loop: Do nothing. |
LOOP::DOUBLE | Double loop: When the note is released, playing shifts to the second loop. |
LOOP::SINGLE | Single loop: Releasing will end the note. |
LOOP::SINGLE_RELEASE | Single loop: Sample data after the loop will be played when the note is released. |
Loop types for the AudioLoop structure.
Name | Description |
---|---|
LTYPE::BIDIRECTIONAL | The sample will play in reverse whenever it hits the end marker, then forwards when it hits the start marker. |
LTYPE::UNIDIRECTIONAL | The sample playback position returns to the byte position specified in the Loop1Start field. |
Definitions for the Note field. An 'S' indicates a sharp note.
Name | Description |
---|---|
NOTE::A | |
NOTE::AS | |
NOTE::B | |
NOTE::C | |
NOTE::CS | |
NOTE::D | |
NOTE::DS | |
NOTE::E | |
NOTE::F | |
NOTE::FS | |
NOTE::G | |
NOTE::GS | |
NOTE::OCTAVE |
Sound flags
Name | Description |
---|---|
SDF::LOOP | Enables sample looping. The LoopStart and LoopEnd fields determine where the looping area lies within the sample data. |
SDF::NEW | Create the sample from scratch (e.g. for audio recording purposes). |
SDF::RESTRICT_PLAY | Restricts playback so that the sound can never play on more than one channel at any given time. |
SDF::STEREO | Indicates that the sound has multiple audio channels. |
SDF::STREAM | Read-Only. Indicates that streaming is enabled. |
These audio bit formats are supported by AddSample and AddStream.
Name | Description |
---|---|
SFM::F_BIG_ENDIAN | Combine this flag with any audio format to declare it as big endian. |
SFM::S16_BIT_MONO | 16-bit mono signed sample. |
SFM::S16_BIT_STEREO | 16-bit stereo signed sample. |
SFM::U8_BIT_MONO | 8-bit mono unsigned sample. |
SFM::U8_BIT_STEREO | 8-bit stereo unsigned sample. |
Streaming options
Name | Description |
---|---|
STREAM::ALWAYS | Stream if the sample length exceeds 64k. |
STREAM::NEVER | No streaming - load all data into memory. |
STREAM::SMART | Smart streaming is the default. If the sample appears to be relatively small with respect to available system RAM, it will be loaded into memory. Otherwise it will be streamed. |
Flags for the SetVolume() method.
Name | Description |
---|---|
SVF::CAPTURE | Set input, not output. |
SVF::MUTE | Mute the audio for this channel. |
SVF::UNMUTE | Unmute the audio for this channel. |
Volume control flags
Name | Description |
---|---|
VCF::CAPTURE | The mixer supports audio input. |
VCF::JOINED | The mixer channels are joined (e.g. left and right speakers cannot be adjusted separately). |
VCF::MONO | The mixer is restricted to mono input/output. |
VCF::MUTE | The mixer is muted. |
VCF::PLAYBACK | The mixer supports audio output. |
VCF::SYNC | The mixer is synchronised. |
Loop settings for the AddSample() method.
Field | Type | Description |
---|---|---|
LoopMode | LOOP | Loop mode (single, double) |
Loop1Type | LTYPE | First loop type (unidirectional, bidirectional) |
Loop2Type | LTYPE | Second loop type (unidirectional, bidirectional) |
Loop1Start | LONG | Start of the first loop |
Loop1End | LONG | End of the first loop |
Loop2Start | LONG | Start of the second loop |
Loop2End | LONG | End of the second loop |