The AUMIDIEventQueue interface queues incoming MIDI messages and blasts them out during the buffer processing phase.
More...
#include <aufxplugin.h>
|
PluginCore * | pluginCore = nullptr |
| the core object to send MIDI messages to
|
|
std::queue< midiEvent > | midiEventQueueA |
| queue A
|
|
std::queue< midiEvent > | midiEventQueueB |
| queue B
|
|
std::atomic< bool > | writingQueueA |
| atomic flag for toggling buffers
|
|
The AUMIDIEventQueue interface queues incoming MIDI messages and blasts them out during the buffer processing phase.
NOTES:
- the current version uses a pair of queues and an atomic boolean flag to implement a double-buffer scheme
- this will be updated later to use a lock-free ring buffer but the operation will remain transparemt
- Author
- Will Pirkle http://www.willpirkle.com
- Version
- Revision : 1.0
- Date
- Date : 2018 / 09 / 7
NOTES:
- the current version uses a pair of queues and an atomic boolean flag to implement a double-buffer scheme
- this will be updated later to use a lock-free ring buffer but the operation will remain transparemt
- Author
- Will Pirkle http://www.willpirkle.com
- Version
- Revision : 1.0
- Date
- Date : 2018 / 09 / 7
◆ AUMIDIEventQueue() [1/2]
AUMIDIEventQueue::AUMIDIEventQueue |
( |
PluginCore * |
_pluginCore | ) |
|
|
inline |
consruct with a core pointer
◆ ~AUMIDIEventQueue() [1/2]
virtual AUMIDIEventQueue::~AUMIDIEventQueue |
( |
| ) |
|
|
inlinevirtual |
just clear out the events that may remain
◆ AUMIDIEventQueue() [2/2]
AUMIDIEventQueue::AUMIDIEventQueue |
( |
PluginCore * |
_pluginCore | ) |
|
|
inline |
consruct with a core pointer
◆ ~AUMIDIEventQueue() [2/2]
virtual AUMIDIEventQueue::~AUMIDIEventQueue |
( |
| ) |
|
|
inlinevirtual |
just clear out the events that may remain
◆ addEvent() [1/2]
void AUMIDIEventQueue::addEvent |
( |
midiEvent |
event | ) |
|
|
inline |
add a MIDI event to the currently active writing queue
◆ addEvent() [2/2]
void AUMIDIEventQueue::addEvent |
( |
midiEvent |
event | ) |
|
|
inline |
add a MIDI event to the currently active writing queue
◆ clearEvents() [1/2]
void AUMIDIEventQueue::clearEvents |
( |
| ) |
|
|
inline |
clear both A and B queues
◆ clearEvents() [2/2]
void AUMIDIEventQueue::clearEvents |
( |
| ) |
|
|
inline |
clear both A and B queues
◆ clearQueueAEvents() [1/2]
void AUMIDIEventQueue::clearQueueAEvents |
( |
| ) |
|
|
inline |
◆ clearQueueAEvents() [2/2]
void AUMIDIEventQueue::clearQueueAEvents |
( |
| ) |
|
|
inline |
◆ clearQueueBEvents() [1/2]
void AUMIDIEventQueue::clearQueueBEvents |
( |
| ) |
|
|
inline |
◆ clearQueueBEvents() [2/2]
void AUMIDIEventQueue::clearQueueBEvents |
( |
| ) |
|
|
inline |
◆ fireMidiEvents() [1/2]
virtual bool AUMIDIEventQueue::fireMidiEvents |
( |
unsigned int |
sampleOffset | ) |
|
|
inlinevirtual |
send MIDI event with this sample offset to the core for processing
◆ fireMidiEvents() [2/2]
virtual bool AUMIDIEventQueue::fireMidiEvents |
( |
unsigned int |
sampleOffset | ) |
|
|
inlinevirtual |
send MIDI event with this sample offset to the core for processing
◆ getEventCount() [1/2]
virtual unsigned int AUMIDIEventQueue::getEventCount |
( |
| ) |
|
|
inlinevirtual |
get a MIDI event from the currently active reading queue
Implements IMidiEventQueue.
◆ getEventCount() [2/2]
virtual unsigned int AUMIDIEventQueue::getEventCount |
( |
| ) |
|
|
inlinevirtual |
get a MIDI event from the currently active reading queue
Implements IMidiEventQueue.
◆ toggleQueue() [1/2]
void AUMIDIEventQueue::toggleQueue |
( |
| ) |
|
|
inline |
◆ toggleQueue() [2/2]
void AUMIDIEventQueue::toggleQueue |
( |
| ) |
|
|
inline |
The documentation for this class was generated from the following files:
- C:/RackAFX_v7/ASPIK_Doxygen/PluginTemplate/project_source/source/au_source/aufxplugin.h
- C:/RackAFX_v7/ASPIK_Doxygen/PluginTemplate/project_source/source/au_source/ausynthplugin.h