LV2 fixes for autiodprocessor
authorFilipe Coelho <falkTX>
Fri, 9 Feb 2018 23:00:00 +0000 (00:00 +0100)
committerIOhannes m zmölnig (Debian/GNU) <umlaeute@debian.org>
Wed, 11 Dec 2019 14:12:06 +0000 (15:12 +0100)
Origin: https://github.com/DISTRHO/juce/tree/9f6cdc3659df13169285464ee1d13ef14357f833
Reviewed-by: IOhannes m zmölnig
Gbp-Pq: Name LV2-audioprocessor.patch

modules/juce_audio_processors/processors/juce_AudioProcessor.h

index 04a11a92328947f0df276e8007bbf540217fe1ef..da26e3ccd9419cc7233413ac1d6e56159597f29d 100644 (file)
@@ -927,6 +927,7 @@ public:
     */\r
     virtual void setNonRealtime (bool isNonRealtime) noexcept;\r
 \r
+   #if ! JUCE_AUDIOPROCESSOR_NO_GUI\r
     //==============================================================================\r
     /** Creates the processor's GUI.\r
 \r
@@ -973,6 +974,7 @@ public:
         This may call createEditor() internally to create the component.\r
     */\r
     AudioProcessorEditor* createEditorIfNeeded();\r
+   #endif\r
 \r
     //==============================================================================\r
     /** Returns the default number of steps for a parameter.\r
@@ -1107,6 +1109,11 @@ public:
     /** This method is called when the layout of the audio processor changes. */\r
     virtual void processorLayoutsChanged();\r
 \r
+    //==============================================================================\r
+    /** LV2 specific calls, saving/restore as string. */\r
+    virtual String getStateInformationString () { return String(); }\r
+    virtual void setStateInformationString (const String&) {}\r
+\r
     //==============================================================================\r
     /** Adds a listener that will be called when an aspect of this processor changes. */\r
     virtual void addListener (AudioProcessorListener* newListener);\r
@@ -1177,9 +1184,11 @@ public:
 \r
     virtual CurveData getResponseCurve (CurveData::Type /*curveType*/) const      { return {}; }\r
 \r
+   #if ! JUCE_AUDIOPROCESSOR_NO_GUI\r
     //==============================================================================\r
     /** Not for public use - this is called before deleting an editor component. */\r
     void editorBeingDeleted (AudioProcessorEditor*) noexcept;\r
+   #endif\r
 \r
     /** Flags to indicate the type of plugin context in which a processor is being used. */\r
     enum WrapperType\r
@@ -1193,6 +1202,7 @@ public:
         wrapperType_AAX,\r
         wrapperType_Standalone,\r
         wrapperType_Unity\r
+        , wrapperType_LV2\r
     };\r
 \r
     /** When loaded by a plugin wrapper, this flag will be set to indicate the type\r
@@ -1453,7 +1463,9 @@ private:
 \r
     //==============================================================================\r
     Array<AudioProcessorListener*> listeners;\r
+   #if ! JUCE_AUDIOPROCESSOR_NO_GUI\r
     Component::SafePointer<AudioProcessorEditor> activeEditor;\r
+   #endif\r
     double currentSampleRate = 0;\r
     int blockSize = 0, latencySamples = 0;\r
     bool suspended = false, nonRealtime = false;\r