Make sure that the string describes a valid path.
Defines the source of certain modifier values
Per-octave dampening
Defines the type of IIR filter
RIFF header to identify preset data in banks.
Calculates the length of the stepping for each sample. Uses double precision to ensure precision.
Changes the preset of a given channel. ch must be between 0 and 31.
Sets a key-off command on the selected channel with the given note, velocity, and expressive value.
Sets a key-on command on the selected channel with the given note, velocity, and expressive value.
Loads a bank into the synthesizer, also loads samples on the way from the selected sample pool. For the latter, it'll be able to use compression through lzbacon's datapak file format (default path for that is ./audio/samplepool.dpk), otherwise a folder with uncompressed data is used (default path for that is ./audio/samplepool/).
Removes a note from the channel's sequencer. If note not 0, it removes the note from the list if there's an equal of it. If exprVal not 0, it removes the given note.
Programs a note into the channel's sequencer. If exprVal not 0, it sets which note has to be rewritten, otherwise it adds a new note to the sequencer.
Not supported currently
Stores data for a single channel.
Preset data. Does not store the data regarding instrument samples.
Preset data. Stores data on how to handle instrument samples. Important: fromX are always the lower values. Overlapping values are not supported.
Control data. Bitfield: <ul> <li>cSource: Enables input for controlling parameters with key command parameters</li> <li>damping: Sets per-octave dampening of the value</li> <li>invertCS: Inverts Velocity and ExpressiveVal control sources</li> <li>modifyEG: Modifies the output levels of the envelope generators by the control source</li> <li>envGenA: Enables envelope generator A to modify this parameter</li> <li>invertEGA: Inverts the output of the envelope generator A</li> <li>envGenB: Enables envelope generator A to modify this parameter</li> <li>invertEGB: Inverts the output of the envelope generator A</li> <li>fixValue: Toggles the role of the fix value: sets a fix value if true, sets the ratio of the modifiers if false</li> <li>lfo: Toggles the LFO</li> <li>reserved: Unused, might have some role in the future</li> </ul>
Stores data on LFO or FIR for editing and storing purposes.
Stores global settings of the instrument.
Contains IIR related registers in order for use in SSE2 applications
Contains IIR related registers in order for use in SSE2 applications
Stores instrument preset data for editing and storing purposes.
Stores information regarding to samples. IMPORTANT: Always call unloadSample for unloading samples from the memory.
Stores sample preset data for editing and storing purposes.
Specifies the path for the sample pool
Input
Output
Converts a midi note to frequency, can also take fine tuning.
Changes the frequency by the given pitch.
Converts int16 values to single-precision floating-point.
Converts single-precision floating point to int16 values.
Mixes a stream into the target.
Converts an int16 stream into floating point, then adds it to the target.
Sampling synthesizer implementation. Has per channel FIR (1024 stage) and IIR (low-pass) filters, and four stereo outputs.