| @@ -620,22 +620,22 @@ public: | |||
| // Run plugin | |||
| if (sampleCount != 0) | |||
| { | |||
| #ifdef DISTRHO_PLUGIN_LICENSED_FOR_MOD | |||
| #ifdef DISTRHO_PLUGIN_LICENSED_FOR_MOD | |||
| fRunCount = mod_license_run_begin(fRunCount, sampleCount); | |||
| #endif | |||
| #endif | |||
| #if DISTRHO_PLUGIN_WANT_MIDI_INPUT | |||
| #if DISTRHO_PLUGIN_WANT_MIDI_INPUT | |||
| fPlugin.run(fPortAudioIns, fPortAudioOuts, sampleCount, fMidiEvents, midiEventCount); | |||
| #else | |||
| #else | |||
| fPlugin.run(fPortAudioIns, fPortAudioOuts, sampleCount); | |||
| #endif | |||
| #endif | |||
| #ifdef DISTRHO_PLUGIN_LICENSED_FOR_MOD | |||
| #ifdef DISTRHO_PLUGIN_LICENSED_FOR_MOD | |||
| for (uint32_t i=0; i<DISTRHO_PLUGIN_NUM_OUTPUTS; ++i) | |||
| mod_license_run_silence(fRunCount, fPortAudioOuts[i], sampleCount, i); | |||
| #endif | |||
| #endif | |||
| #if DISTRHO_PLUGIN_WANT_TIMEPOS | |||
| #if DISTRHO_PLUGIN_WANT_TIMEPOS | |||
| // update timePos for next callback | |||
| if (d_isNotZero(fLastPositionData.speed)) | |||
| { | |||
| @@ -691,12 +691,12 @@ public: | |||
| fPlugin.setTimePosition(fTimePosition); | |||
| } | |||
| #endif | |||
| #endif | |||
| } | |||
| updateParameterOutputsAndTriggers(); | |||
| #if DISTRHO_PLUGIN_WANT_STATE | |||
| #if DISTRHO_PLUGIN_WANT_STATE | |||
| fEventsOutData.initIfNeeded(fURIDs.atomSequence); | |||
| LV2_Atom_Event* aev; | |||
| @@ -797,11 +797,11 @@ public: | |||
| break; | |||
| } | |||
| } | |||
| #endif | |||
| #endif | |||
| #if DISTRHO_LV2_USE_EVENTS_OUT | |||
| #if DISTRHO_LV2_USE_EVENTS_OUT | |||
| fEventsOutData.endRun(); | |||
| #endif | |||
| #endif | |||
| } | |||
| // ------------------------------------------------------------------- | |||
| @@ -860,7 +860,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| #if DISTRHO_PLUGIN_WANT_PROGRAMS | |||
| #if DISTRHO_PLUGIN_WANT_PROGRAMS | |||
| const LV2_Program_Descriptor* lv2_get_program(const uint32_t index) | |||
| { | |||
| if (index >= fPlugin.getProgramCount()) | |||
| @@ -895,30 +895,30 @@ public: | |||
| setPortControlValue(i, fLastControlValues[i]); | |||
| } | |||
| # if DISTRHO_PLUGIN_WANT_FULL_STATE | |||
| #if DISTRHO_PLUGIN_WANT_FULL_STATE | |||
| // Update state | |||
| for (StringToStringMap::const_iterator cit=fStateMap.begin(), cite=fStateMap.end(); cit != cite; ++cit) | |||
| { | |||
| const String& key = cit->first; | |||
| fStateMap[key] = fPlugin.getStateValue(key); | |||
| } | |||
| # endif | |||
| #endif | |||
| } | |||
| #endif | |||
| #endif | |||
| // ------------------------------------------------------------------- | |||
| #if DISTRHO_PLUGIN_WANT_STATE | |||
| #if DISTRHO_PLUGIN_WANT_STATE | |||
| LV2_State_Status lv2_save(const LV2_State_Store_Function store, const LV2_State_Handle handle) | |||
| { | |||
| # if DISTRHO_PLUGIN_WANT_FULL_STATE | |||
| #if DISTRHO_PLUGIN_WANT_FULL_STATE | |||
| // Update current state | |||
| for (StringToStringMap::const_iterator cit=fStateMap.begin(), cite=fStateMap.end(); cit != cite; ++cit) | |||
| { | |||
| const String& key = cit->first; | |||
| fStateMap[key] = fPlugin.getStateValue(key); | |||
| } | |||
| # endif | |||
| #endif | |||
| String lv2key; | |||
| LV2_URID urid; | |||
| @@ -1021,11 +1021,11 @@ public: | |||
| setState(key, value); | |||
| #if DISTRHO_PLUGIN_WANT_STATE | |||
| #if DISTRHO_PLUGIN_WANT_STATE | |||
| // signal msg needed for UI | |||
| if ((hints & kStateIsOnlyForDSP) == 0x0) | |||
| fNeededUiSends[i] = true; | |||
| #endif | |||
| #endif | |||
| } | |||
| return LV2_STATE_SUCCESS; | |||
| @@ -1090,16 +1090,16 @@ public: | |||
| { | |||
| return LV2_WORKER_SUCCESS; | |||
| } | |||
| #endif | |||
| #endif | |||
| // ------------------------------------------------------------------- | |||
| #if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS | |||
| #if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS | |||
| void* lv2_get_instance_pointer() | |||
| { | |||
| return fPlugin.getInstancePointer(); | |||
| } | |||
| #endif | |||
| #endif | |||
| // ------------------------------------------------------------------- | |||
| @@ -1107,36 +1107,36 @@ private: | |||
| PluginExporter fPlugin; | |||
| const bool fUsingNominal; // if false use maxBlockLength | |||
| #ifdef DISTRHO_PLUGIN_LICENSED_FOR_MOD | |||
| #ifdef DISTRHO_PLUGIN_LICENSED_FOR_MOD | |||
| uint32_t fRunCount; | |||
| #endif | |||
| #endif | |||
| // LV2 ports | |||
| #if DISTRHO_PLUGIN_NUM_INPUTS > 0 | |||
| #if DISTRHO_PLUGIN_NUM_INPUTS > 0 | |||
| const float* fPortAudioIns[DISTRHO_PLUGIN_NUM_INPUTS]; | |||
| #else | |||
| #else | |||
| const float** fPortAudioIns; | |||
| #endif | |||
| #if DISTRHO_PLUGIN_NUM_OUTPUTS > 0 | |||
| #endif | |||
| #if DISTRHO_PLUGIN_NUM_OUTPUTS > 0 | |||
| float* fPortAudioOuts[DISTRHO_PLUGIN_NUM_OUTPUTS]; | |||
| #else | |||
| #else | |||
| float** fPortAudioOuts; | |||
| #endif | |||
| #endif | |||
| float** fPortControls; | |||
| #if DISTRHO_LV2_USE_EVENTS_IN | |||
| #if DISTRHO_LV2_USE_EVENTS_IN | |||
| LV2_Atom_Sequence* fPortEventsIn; | |||
| #endif | |||
| #if DISTRHO_PLUGIN_WANT_LATENCY | |||
| #endif | |||
| #if DISTRHO_PLUGIN_WANT_LATENCY | |||
| float* fPortLatency; | |||
| #endif | |||
| #endif | |||
| // Temporary data | |||
| float* fLastControlValues; | |||
| double fSampleRate; | |||
| #if DISTRHO_PLUGIN_WANT_MIDI_INPUT | |||
| #if DISTRHO_PLUGIN_WANT_MIDI_INPUT | |||
| MidiEvent fMidiEvents[kMaxMidiEvents]; | |||
| #endif | |||
| #if DISTRHO_PLUGIN_WANT_TIMEPOS | |||
| #endif | |||
| #if DISTRHO_PLUGIN_WANT_TIMEPOS | |||
| TimePosition fTimePosition; | |||
| struct Lv2PositionData { | |||
| @@ -1160,9 +1160,9 @@ private: | |||
| ticksPerBeat(-1.0) {} | |||
| } fLastPositionData; | |||
| #endif | |||
| #endif | |||
| #if DISTRHO_LV2_USE_EVENTS_OUT | |||
| #if DISTRHO_LV2_USE_EVENTS_OUT | |||
| struct Lv2EventsOutData { | |||
| uint32_t capacity, offset; | |||
| LV2_Atom_Sequence* port; | |||
| @@ -1198,7 +1198,7 @@ private: | |||
| } | |||
| } fEventsOutData; | |||
| #endif | |||
| #endif | |||
| // LV2 URIDs | |||
| struct URIDs { | |||
| @@ -1262,13 +1262,13 @@ private: | |||
| } fURIDs; | |||
| // LV2 features | |||
| #if DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST | |||
| #if DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST | |||
| const LV2_ControlInputPort_Change_Request* const fCtrlInPortChangeReq; | |||
| #endif | |||
| #endif | |||
| const LV2_URID_Map* const fUridMap; | |||
| const LV2_Worker_Schedule* const fWorker; | |||
| #if DISTRHO_PLUGIN_WANT_STATE | |||
| #if DISTRHO_PLUGIN_WANT_STATE | |||
| LV2_Atom_Forge fAtomForge; | |||
| StringToStringMap fStateMap; | |||
| UridToStringMap fUridStateMap; | |||
| @@ -1321,7 +1321,7 @@ private: | |||
| d_stderr("Failed to find plugin state with key \"%s\"", key); | |||
| return false; | |||
| } | |||
| #endif | |||
| #endif | |||
| void updateParameterOutputsAndTriggers() | |||
| { | |||
| @@ -1341,13 +1341,13 @@ private: | |||
| } | |||
| } | |||
| #if DISTRHO_PLUGIN_WANT_LATENCY | |||
| #if DISTRHO_PLUGIN_WANT_LATENCY | |||
| if (fPortLatency != nullptr) | |||
| *fPortLatency = fPlugin.getLatency(); | |||
| #endif | |||
| #endif | |||
| } | |||
| #if DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST | |||
| #if DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST | |||
| bool requestParameterValueChange(const uint32_t index, const float value) | |||
| { | |||
| if (fCtrlInPortChangeReq == nullptr) | |||
| @@ -1359,16 +1359,16 @@ private: | |||
| { | |||
| return (((PluginLv2*)ptr)->requestParameterValueChange(index, value) == 0); | |||
| } | |||
| #endif | |||
| #endif | |||
| #if DISTRHO_PLUGIN_WANT_STATE | |||
| #if DISTRHO_PLUGIN_WANT_STATE | |||
| static bool updateStateValueCallback(void* const ptr, const char* const key, const char* const value) | |||
| { | |||
| return ((PluginLv2*)ptr)->updateState(key, value); | |||
| } | |||
| #endif | |||
| #endif | |||
| #if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT | |||
| #if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT | |||
| bool writeMidi(const MidiEvent& midiEvent) | |||
| { | |||
| DISTRHO_SAFE_ASSERT_RETURN(fEventsOutData.port != nullptr, false); | |||
| @@ -1398,7 +1398,7 @@ private: | |||
| { | |||
| return ((PluginLv2*)ptr)->writeMidi(midiEvent); | |||
| } | |||
| #endif | |||
| #endif | |||
| }; | |||
| // ----------------------------------------------------------------------- | |||