This structure holds all of the information needed to for the plugin framework to send MIDI information into the engine, and receive rendered audio samples that result.
More...
#include <synthbase.h>
|
std::vector< midiEvent > | midiEventQueue |
| queue More...
|
|
float ** | inputBuffer = nullptr |
| array of input buffer pointers
|
|
float ** | outputBuffer = nullptr |
| array of output buffer pointers
|
|
uint32_t | numInputChannels = 1 |
|
uint32_t | numOutputChannels = 1 |
|
uint32_t | blockSize = 64 |
| the maximum block size
|
|
uint32_t | samplesInBlock = 64 |
| the number of samples to process in the block (in case of partial blocks)
|
|
|
void | destroyInputBuffers () |
| Destroy dynamically allocated input buffer; done at destruct time, or if client want to re-size buffers.
|
|
void | destroyOutputBuffers () |
| Destroy dynamically allocated output buffer; done at destruct time, or if client want to re-size buffers.
|
|
This structure holds all of the information needed to for the plugin framework to send MIDI information into the engine, and receive rendered audio samples that result.
- derived from AudioBuffer and inherits its input and outout audio buffers directly from the base class
- many function calls to this object will be to the AudioBuffer below
- adds functions and storage for MIDI events
- includes special aux data from the DAW such as BPM
- Author
- Will Pirkle http://www.willpirkle.com
- Version
- Revision : 1.0
- Date
- Date : 2021 / 04 / 26
◆ SynthProcessInfo()
SynthLab::SynthProcessInfo::SynthProcessInfo |
( |
uint32_t |
_numInputChannels, |
|
|
uint32_t |
_numOutputChannels, |
|
|
uint32_t |
_blockSize |
|
) |
| |
The normal constructor for the SynthProcessInfo object.
- the arguments setup the underlying AudioBuffer
- nothing else to do
- Parameters
-
_numInputChannels | number of input channels, OK to be 0 (for synths) |
_numOutputChannels | number of outout channels, must not be 0 |
_blockSize | the maximum block size for rendering the synth audio |
◆ clearMidiEvents()
void SynthLab::SynthProcessInfo::clearMidiEvents |
( |
| ) |
|
Clear the queue.
- called after the messages are decoded and used.
◆ getMidiEvent()
midiEvent * SynthLab::SynthProcessInfo::getMidiEvent |
( |
uint32_t |
index | ) |
|
gets a MIDI event within the event queue
- Parameters
-
index | location within the vector of the event |
- Returns
- a pointer to the event, or nullptr if not found
◆ getMidiEventCount()
uint64_t SynthLab::SynthProcessInfo::getMidiEventCount |
( |
| ) |
|
- Returns
- the count of events in the queue; used by voice for iterating over messages
◆ pushMidiEvent()
void SynthLab::SynthProcessInfo::pushMidiEvent |
( |
midiEvent |
event | ) |
|
Add a MIDI event to the queue.
MIDI events and functions
- call this once per MIDI event per audio buffer, at the top of the block render cycle
- these will be decoded and transmitted by the voice object prior to rendering data from the components
- Parameters
-
event | MIDI event to push onto the stack |
◆ absoluteBufferTime_Sec
double SynthLab::SynthProcessInfo::absoluteBufferTime_Sec = 0.0 |
the time in seconds of the sample index at top of buffer
Aux information from the DAW
◆ midiEventQueue
std::vector<midiEvent> SynthLab::SynthProcessInfo::midiEventQueue |
|
protected |
queue
set of MIDI events for this audio processing block
The documentation for this class was generated from the following files: