Loading...
Searching...
No Matches
Classes |
Public Member Functions |
Public Attributes |
Protected Member Functions |
Protected Attributes |
List of all members
vst3::vst_node_base Class Reference
Inheritance diagram for vst3::vst_node_base:
Classes | |
| struct | PluginHandle |
| struct | vst_control |
Public Member Functions | |
| std::size_t | add_control (ossia::value_inlet *inlet, Steinberg::Vst::ParamID id, float v) |
| void | set_control (std::size_t queue_idx, float value) |
| void | setControls () |
| void | dispatchMidi (int64_t tick_start, int64_t samples) |
| void | stashMidi () |
| void | dispatchMidi (ossia::midi_port &port, int index, int64_t tick_start, int64_t samples) |
| void | readbackMidi (int64_t tick_start) |
| auto & | preparePort (ossia::audio_port &port, int numChannels, std::size_t samples) |
| void | setupTimeInfo (const ossia::token_request &tk, ossia::exec_state_facade st) |
Public Attributes | |
| PluginHandle | fx |
| ossia::small_pod_vector< int, 2 > | m_audioInputChannels {} |
| ossia::small_pod_vector< int, 2 > | m_audioOutputChannels {} |
| int | m_totalAudioIns {} |
| int | m_totalAudioOuts {} |
| int | m_totalEventIns {} |
| int | m_totalEventOuts {} |
| ossia::small_vector< vst_control, 16 > | controls |
| Steinberg::Vst::ProcessData | m_vstData |
| ossia::small_vector< Steinberg::Vst::AudioBusBuffers, 1 > | m_vstInput |
| ossia::small_vector< Steinberg::Vst::AudioBusBuffers, 1 > | m_vstOutput |
| Steinberg::Vst::ProcessContext | m_context |
| param_changes | m_inputChanges |
| param_changes | m_outputChanges |
| Steinberg::Vst::EventList | m_inputEvents |
| Steinberg::Vst::EventList | m_outputEvents |
| ossia::small_vector< std::pair< int, libremidi::ump >, 8 > | m_deferred |
Protected Member Functions | |
| vst_node_base (const Plugin &ptr) | |
Protected Attributes | |
| ossia::hash_map< Steinberg::Vst::ParamID, std::size_t > | queue_map |
| ossia::small_vector< std::size_t, 8 > | m_midi_only_queues |
Member Function Documentation
◆ stashMidi()
|
inline |
Keep this tick's events for the next block instead of dropping them. The span covers no whole sample, so every date in the tick maps to the sample the span starts on, which is offset 0 of the next block that does cover one: deferring is exact here, not an approximation.
Member Data Documentation
◆ m_deferred
| ossia::small_vector<std::pair<int, libremidi::ump>, 8> vst3::vst_node_base::m_deferred |
Events from ticks that covered no whole sample, with the bus they came in on, waiting for the next block that does cover one.
◆ m_midi_only_queues
|
protected |
Queues that exist only to carry MIDI controllers. Nothing else clears them - setControls() only touches the ones a control port backs - so dispatchMidi has to, or points accumulate block after block.
The documentation for this class was generated from the following file: