diff --git a/examples/MidiTest/Builds/Android/AndroidManifest.xml b/examples/MidiTest/Builds/Android/AndroidManifest.xml index da4cd03391..b4a07be084 100644 --- a/examples/MidiTest/Builds/Android/AndroidManifest.xml +++ b/examples/MidiTest/Builds/Android/AndroidManifest.xml @@ -10,7 +10,7 @@ - diff --git a/examples/MidiTest/Builds/Android/src/com/yourcompany/miditest/MidiTest.java b/examples/MidiTest/Builds/Android/src/com/yourcompany/miditest/MidiTest.java index 51daa00a7d..1d95907e5f 100644 --- a/examples/MidiTest/Builds/Android/src/com/yourcompany/miditest/MidiTest.java +++ b/examples/MidiTest/Builds/Android/src/com/yourcompany/miditest/MidiTest.java @@ -970,7 +970,7 @@ public class MidiTest extends Activity super.onCreate (savedInstanceState); isScreenSaverEnabled = true; - getActionBar().hide(); + hideActionBar(); viewHolder = new ViewHolder (this); setContentView (viewHolder); @@ -1013,6 +1013,49 @@ public class MidiTest extends Activity getApplicationInfo().dataDir); } + private void hideActionBar() + { + // get "getActionBar" method + java.lang.reflect.Method getActionBarMethod = null; + try + { + getActionBarMethod = this.getClass().getMethod ("getActionBar"); + } + catch (SecurityException e) { return; } + catch (NoSuchMethodException e) { return; } + if (getActionBarMethod == null) return; + + // invoke "getActionBar" method + Object actionBar = null; + try + { + actionBar = getActionBarMethod.invoke (this); + } + catch (java.lang.IllegalArgumentException e) { return; } + catch (java.lang.IllegalAccessException e) { return; } + catch (java.lang.reflect.InvocationTargetException e) { return; } + if (actionBar == null) return; + + // get "hide" method + java.lang.reflect.Method actionBarHideMethod = null; + try + { + actionBarHideMethod = actionBar.getClass().getMethod ("hide"); + } + catch (SecurityException e) { return; } + catch (NoSuchMethodException e) { return; } + if (actionBarHideMethod == null) return; + + // invoke "hide" method + try + { + actionBarHideMethod.invoke (actionBar); + } + catch (java.lang.IllegalArgumentException e) {} + catch (java.lang.IllegalAccessException e) {} + catch (java.lang.reflect.InvocationTargetException e) {} + } + //============================================================================== private native void launchApp (String appFile, String appDataDir); private native void quitApp(); @@ -1761,7 +1804,7 @@ public class MidiTest extends Activity return Environment.getExternalStoragePublicDirectory (type).getAbsolutePath(); } - public static final String getDocumentsFolder() { return getFileLocation (Environment.DIRECTORY_DOCUMENTS); } + public static final String getDocumentsFolder() { return Environment.getDataDirectory().getAbsolutePath(); } public static final String getPicturesFolder() { return getFileLocation (Environment.DIRECTORY_PICTURES); } public static final String getMusicFolder() { return getFileLocation (Environment.DIRECTORY_MUSIC); } public static final String getMoviesFolder() { return getFileLocation (Environment.DIRECTORY_MOVIES); } diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/AppConfig.h index 52bf3f4bc7..93814d7d13 100644 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/AppConfig.h +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/AppConfig.h @@ -258,9 +258,6 @@ #ifndef JucePlugin_IsMidiEffect #define JucePlugin_IsMidiEffect 1 #endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #define JucePlugin_SilenceInProducesSilenceOut 0 -#endif #ifndef JucePlugin_EditorRequiresKeyboardFocus #define JucePlugin_EditorRequiresKeyboardFocus 0 #endif diff --git a/examples/PlugInSamples/Arpeggiator/Source/Arpeggiator.cpp b/examples/PlugInSamples/Arpeggiator/Source/Arpeggiator.cpp index 14a693a7a3..7c527bf812 100644 --- a/examples/PlugInSamples/Arpeggiator/Source/Arpeggiator.cpp +++ b/examples/PlugInSamples/Arpeggiator/Source/Arpeggiator.cpp @@ -103,7 +103,6 @@ public: bool acceptsMidi() const override { return false; } bool producesMidi() const override { return false; } - bool silenceInProducesSilenceOut() const override { return true; } double getTailLengthSeconds() const override { return 0; } //============================================================================== diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/AppConfig.h index a6eae974fd..8a26f1826b 100644 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/AppConfig.h +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/AppConfig.h @@ -258,9 +258,6 @@ #ifndef JucePlugin_IsMidiEffect #define JucePlugin_IsMidiEffect 0 #endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #define JucePlugin_SilenceInProducesSilenceOut 1 -#endif #ifndef JucePlugin_EditorRequiresKeyboardFocus #define JucePlugin_EditorRequiresKeyboardFocus 0 #endif diff --git a/examples/PlugInSamples/GainPlugIn/Source/GainProcessor.cpp b/examples/PlugInSamples/GainPlugIn/Source/GainProcessor.cpp index 0f41ec7a42..7e0fec0d4b 100644 --- a/examples/PlugInSamples/GainPlugIn/Source/GainProcessor.cpp +++ b/examples/PlugInSamples/GainPlugIn/Source/GainProcessor.cpp @@ -43,7 +43,6 @@ public: const String getName() const override { return "Gain PlugIn"; } bool acceptsMidi() const override { return false; } bool producesMidi() const override { return false; } - bool silenceInProducesSilenceOut() const override { return true; } double getTailLengthSeconds() const override { return 0; } //============================================================================== diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/AppConfig.h index 0a024fab1f..cdf345297a 100644 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/AppConfig.h +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/AppConfig.h @@ -258,9 +258,6 @@ #ifndef JucePlugin_IsMidiEffect #define JucePlugin_IsMidiEffect 0 #endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #define JucePlugin_SilenceInProducesSilenceOut 0 -#endif #ifndef JucePlugin_EditorRequiresKeyboardFocus #define JucePlugin_EditorRequiresKeyboardFocus 0 #endif diff --git a/examples/PlugInSamples/MultiOutSynth/Source/MultiOutSynth.cpp b/examples/PlugInSamples/MultiOutSynth/Source/MultiOutSynth.cpp index 8582459363..30659134b7 100644 --- a/examples/PlugInSamples/MultiOutSynth/Source/MultiOutSynth.cpp +++ b/examples/PlugInSamples/MultiOutSynth/Source/MultiOutSynth.cpp @@ -101,7 +101,6 @@ public: const String getName() const override { return "Gain PlugIn"; } bool acceptsMidi() const override { return false; } bool producesMidi() const override { return false; } - bool silenceInProducesSilenceOut() const override { return true; } double getTailLengthSeconds() const override { return 0; } int getNumPrograms() override { return 1; } int getCurrentProgram() override { return 0; } diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/AppConfig.h index a2739c367d..2d2f88d3f3 100644 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/AppConfig.h +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/AppConfig.h @@ -258,9 +258,6 @@ #ifndef JucePlugin_IsMidiEffect #define JucePlugin_IsMidiEffect 0 #endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #define JucePlugin_SilenceInProducesSilenceOut 0 -#endif #ifndef JucePlugin_EditorRequiresKeyboardFocus #define JucePlugin_EditorRequiresKeyboardFocus 0 #endif diff --git a/examples/PlugInSamples/NoiseGate/Source/NoiseGate.cpp b/examples/PlugInSamples/NoiseGate/Source/NoiseGate.cpp index ce5a0bcaec..19f322af07 100644 --- a/examples/PlugInSamples/NoiseGate/Source/NoiseGate.cpp +++ b/examples/PlugInSamples/NoiseGate/Source/NoiseGate.cpp @@ -87,7 +87,6 @@ public: const String getName() const override { return "NoiseGate"; } bool acceptsMidi() const override { return false; } bool producesMidi() const override { return false; } - bool silenceInProducesSilenceOut() const override { return true; } double getTailLengthSeconds() const override { return 0.0; } int getNumPrograms() override { return 1; } int getCurrentProgram() override { return 0; } diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/AppConfig.h index cfbd3a5896..879946071e 100644 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/AppConfig.h +++ b/examples/PlugInSamples/Spatializer/JuceLibraryCode/AppConfig.h @@ -258,9 +258,6 @@ #ifndef JucePlugin_IsMidiEffect #define JucePlugin_IsMidiEffect 0 #endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #define JucePlugin_SilenceInProducesSilenceOut 1 -#endif #ifndef JucePlugin_EditorRequiresKeyboardFocus #define JucePlugin_EditorRequiresKeyboardFocus 0 #endif diff --git a/examples/PlugInSamples/Spatializer/Source/Spatializer.cpp b/examples/PlugInSamples/Spatializer/Source/Spatializer.cpp index 18cd30b2b0..4d69ea61a9 100644 --- a/examples/PlugInSamples/Spatializer/Source/Spatializer.cpp +++ b/examples/PlugInSamples/Spatializer/Source/Spatializer.cpp @@ -112,7 +112,6 @@ public: bool acceptsMidi() const override { return false; } bool producesMidi() const override { return false; } - bool silenceInProducesSilenceOut() const override { return true; } double getTailLengthSeconds() const override { return 0; } //============================================================================== diff --git a/examples/audio plugin demo/JuceLibraryCode/AppConfig.h b/examples/audio plugin demo/JuceLibraryCode/AppConfig.h index c2605ec0dd..4bb196cf26 100644 --- a/examples/audio plugin demo/JuceLibraryCode/AppConfig.h +++ b/examples/audio plugin demo/JuceLibraryCode/AppConfig.h @@ -237,9 +237,6 @@ #ifndef JucePlugin_IsMidiEffect #define JucePlugin_IsMidiEffect 0 #endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #define JucePlugin_SilenceInProducesSilenceOut 0 -#endif #ifndef JucePlugin_EditorRequiresKeyboardFocus #define JucePlugin_EditorRequiresKeyboardFocus 1 #endif diff --git a/examples/audio plugin demo/Source/PluginProcessor.h b/examples/audio plugin demo/Source/PluginProcessor.h index da5cde7203..e363f74e99 100644 --- a/examples/audio plugin demo/Source/PluginProcessor.h +++ b/examples/audio plugin demo/Source/PluginProcessor.h @@ -59,7 +59,6 @@ public: bool acceptsMidi() const override { return true; } bool producesMidi() const override { return true; } - bool silenceInProducesSilenceOut() const override { return false; } double getTailLengthSeconds() const override { return 0.0; } //============================================================================== diff --git a/extras/Introjucer/JuceLibraryCode/BinaryData.cpp b/extras/Introjucer/JuceLibraryCode/BinaryData.cpp index 159c38352b..bde4b6e0cf 100644 --- a/extras/Introjucer/JuceLibraryCode/BinaryData.cpp +++ b/extras/Introjucer/JuceLibraryCode/BinaryData.cpp @@ -325,11 +325,6 @@ static const unsigned char temp_binary_data_4[] = " #endif\r\n" "}\r\n" "\r\n" -"bool FILTERCLASSNAME::silenceInProducesSilenceOut() const\r\n" -"{\r\n" -" return false;\r\n" -"}\r\n" -"\r\n" "double FILTERCLASSNAME::getTailLengthSeconds() const\r\n" "{\r\n" " return 0.0;\r\n" @@ -473,7 +468,6 @@ static const unsigned char temp_binary_data_5[] = "\r\n" " bool acceptsMidi() const override;\r\n" " bool producesMidi() const override;\r\n" -" bool silenceInProducesSilenceOut() const override;\r\n" " double getTailLengthSeconds() const override;\r\n" "\r\n" " //==============================================================================\r\n" @@ -3816,8 +3810,8 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw case 0xafccbd3f: numBytes = 3189; return jucer_AudioComponentTemplate_cpp; case 0x27c5a93a: numBytes = 1180; return jucer_AudioPluginEditorTemplate_cpp; case 0x4d0721bf: numBytes = 1012; return jucer_AudioPluginEditorTemplate_h; - case 0x51b49ac5: numBytes = 4359; return jucer_AudioPluginFilterTemplate_cpp; - case 0x488afa0a: numBytes = 2188; return jucer_AudioPluginFilterTemplate_h; + case 0x51b49ac5: numBytes = 4273; return jucer_AudioPluginFilterTemplate_cpp; + case 0x488afa0a: numBytes = 2132; return jucer_AudioPluginFilterTemplate_h; case 0xabad7041: numBytes = 2161; return jucer_ComponentTemplate_cpp; case 0xfc72fe86: numBytes = 2141; return jucer_ComponentTemplate_h; case 0x0b66646c: numBytes = 886; return jucer_ContentCompTemplate_cpp; diff --git a/extras/Introjucer/JuceLibraryCode/BinaryData.h b/extras/Introjucer/JuceLibraryCode/BinaryData.h index 68eabebc99..8418381ee2 100644 --- a/extras/Introjucer/JuceLibraryCode/BinaryData.h +++ b/extras/Introjucer/JuceLibraryCode/BinaryData.h @@ -22,10 +22,10 @@ namespace BinaryData const int jucer_AudioPluginEditorTemplate_hSize = 1012; extern const char* jucer_AudioPluginFilterTemplate_cpp; - const int jucer_AudioPluginFilterTemplate_cppSize = 4359; + const int jucer_AudioPluginFilterTemplate_cppSize = 4273; extern const char* jucer_AudioPluginFilterTemplate_h; - const int jucer_AudioPluginFilterTemplate_hSize = 2188; + const int jucer_AudioPluginFilterTemplate_hSize = 2132; extern const char* jucer_ComponentTemplate_cpp; const int jucer_ComponentTemplate_cppSize = 2161; diff --git a/extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp b/extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp index 8b4ccffc2f..5d203c6a88 100644 --- a/extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp +++ b/extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp @@ -44,11 +44,6 @@ bool FILTERCLASSNAME::producesMidi() const #endif } -bool FILTERCLASSNAME::silenceInProducesSilenceOut() const -{ - return false; -} - double FILTERCLASSNAME::getTailLengthSeconds() const { return 0.0; diff --git a/extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h b/extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h index bd2c7746b2..547dd5eebd 100644 --- a/extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h +++ b/extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h @@ -39,7 +39,6 @@ public: bool acceptsMidi() const override; bool producesMidi() const override; - bool silenceInProducesSilenceOut() const override; double getTailLengthSeconds() const override; //============================================================================== diff --git a/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h b/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h index 9e97658907..d55ebe8ad8 100644 --- a/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h +++ b/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h @@ -46,7 +46,6 @@ namespace inline Value getPluginWantsMidiInput (Project& project) { return project.getProjectValue ("pluginWantsMidiIn"); } inline Value getPluginProducesMidiOut (Project& project) { return project.getProjectValue ("pluginProducesMidiOut"); } inline Value getPluginIsMidiEffectPlugin (Project& project) { return project.getProjectValue ("pluginIsMidiEffectPlugin"); } - inline Value getPluginSilenceInProducesSilenceOut (Project& project) { return project.getProjectValue ("pluginSilenceInIsSilenceOut"); } inline Value getPluginEditorNeedsKeyFocus (Project& project) { return project.getProjectValue ("pluginEditorRequiresKeys"); } inline Value getPluginVSTCategory (Project& project) { return project.getProjectValue ("pluginVSTCategory"); } inline Value getPluginAUExportPrefix (Project& project) { return project.getProjectValue ("pluginAUExportPrefix"); } @@ -160,7 +159,6 @@ namespace flags.set ("JucePlugin_WantsMidiInput", valueToBool (getPluginWantsMidiInput (project))); flags.set ("JucePlugin_ProducesMidiOutput", valueToBool (getPluginProducesMidiOut (project))); flags.set ("JucePlugin_IsMidiEffect", valueToBool (getPluginIsMidiEffectPlugin (project))); - flags.set ("JucePlugin_SilenceInProducesSilenceOut", valueToBool (getPluginSilenceInProducesSilenceOut (project))); flags.set ("JucePlugin_EditorRequiresKeyboardFocus", valueToBool (getPluginEditorNeedsKeyFocus (project))); flags.set ("JucePlugin_Version", project.getVersionString()); flags.set ("JucePlugin_VersionCode", project.getVersionAsHex()); diff --git a/extras/Introjucer/Source/Project/jucer_ProjectType.cpp b/extras/Introjucer/Source/Project/jucer_ProjectType.cpp index 2b62c84117..6dd1720500 100644 --- a/extras/Introjucer/Source/Project/jucer_ProjectType.cpp +++ b/extras/Introjucer/Source/Project/jucer_ProjectType.cpp @@ -213,7 +213,6 @@ public: setValueIfVoid (getPluginWantsMidiInput (project), false); setValueIfVoid (getPluginProducesMidiOut (project), false); setValueIfVoid (getPluginIsMidiEffectPlugin (project), false); - setValueIfVoid (getPluginSilenceInProducesSilenceOut (project), false); setValueIfVoid (getPluginEditorNeedsKeyFocus (project), false); setValueIfVoid (getPluginAUExportPrefix (project), sanitisedProjectName + "AU"); setValueIfVoid (getPluginRTASCategory (project), String::empty); @@ -265,9 +264,6 @@ public: props.add (new BooleanPropertyComponent (getPluginIsMidiEffectPlugin (project), "Midi Effect Plugin", "Plugin is a midi effect plugin"), "Enable this if your plugin only processes midi and no audio."); - props.add (new BooleanPropertyComponent (getPluginSilenceInProducesSilenceOut (project), "Silence", "Silence in produces silence out"), - "Enable this if your plugin has no tail - i.e. if passing a silent buffer to it will always result in a silent buffer being produced."); - props.add (new BooleanPropertyComponent (getPluginEditorNeedsKeyFocus (project), "Key Focus", "Plugin editor requires keyboard focus"), "Enable this if your plugin needs keyboard input - some hosts can be a bit funny about keyboard focus.."); diff --git a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm index 354d56b13c..72f83ba63c 100644 --- a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm +++ b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm @@ -958,7 +958,7 @@ public: } //============================================================================== - ComponentResult Render (AudioUnitRenderActionFlags &ioActionFlags, + ComponentResult Render (AudioUnitRenderActionFlags& ioActionFlags, const AudioTimeStamp& inTimeStamp, const UInt32 nFrames) override { @@ -970,7 +970,7 @@ public: for (unsigned int i = 0; i < numInputBuses; ++i) { AudioUnitRenderActionFlags flags = ioActionFlags; - AUInputElement* input = GetInput (i); + AUInputElement* input = GetInput (i); OSStatus result = input->PullInput (flags, inTimeStamp, i, nFrames); @@ -1169,12 +1169,6 @@ public: midiEvents.clear(); } - #if ! JucePlugin_SilenceInProducesSilenceOut - ioActionFlags &= (AudioUnitRenderActionFlags) ~kAudioUnitRenderAction_OutputIsSilence; - #else - ignoreUnused (ioActionFlags); - #endif - return noErr; } diff --git a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h index f957d5476b..189f84f36f 100644 --- a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h +++ b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h @@ -60,10 +60,6 @@ #error "JucePlugin_Latency is now deprecated - instead, call the AudioProcessor::setLatencySamples() method if your plugin has a non-zero delay" #endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #error "You need to define the JucePlugin_SilenceInProducesSilenceOut value!" -#endif - #ifndef JucePlugin_EditorRequiresKeyboardFocus #error "You need to define the JucePlugin_EditorRequiresKeyboardFocus value!" #endif diff --git a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm index acba4857cf..62c3bcbcd4 100644 --- a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm +++ b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm @@ -387,11 +387,6 @@ public: void* getPlatformSpecificData() override { return audioUnit; } const String getName() const override { return pluginName; } - bool silenceInProducesSilenceOut() const override - { - return getTailLengthSeconds() <= 0; - } - double getTailLengthSeconds() const override { Float64 tail = 0; diff --git a/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp index 6457de14f6..eaa7e18e36 100644 --- a/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp @@ -252,7 +252,6 @@ public: bool acceptsMidi() const { return false; } bool producesMidi() const { return false; } - bool silenceInProducesSilenceOut() const { return plugin == nullptr; } // ..any way to get a proper answer for these? double getTailLengthSeconds() const { return 0.0; } //============================================================================== diff --git a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp index abfd44d55b..fbd5935b15 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp @@ -1860,14 +1860,6 @@ public: bool producesMidi() const override { return getBusInfo (false, false).channelCount > 0; } //============================================================================== - bool silenceInProducesSilenceOut() const override - { - if (processor != nullptr) - return processor->getTailSamples() == Vst::kNoTail; - - return true; - } - /** May return a negative value as a means of informing us that the plugin has "infinite tail," or 0 for "no tail." */ double getTailLengthSeconds() const override { diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp index 67735cd044..8e46002734 100644 --- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp @@ -890,11 +890,6 @@ public: return uid; } - bool silenceInProducesSilenceOut() const override - { - return effect == nullptr || (effect->flags & effFlagsNoSoundInStop) != 0; - } - double getTailLengthSeconds() const override { if (effect == nullptr) diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.h b/modules/juce_audio_processors/processors/juce_AudioProcessor.h index df69e46926..cf87071410 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessor.h +++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.h @@ -461,9 +461,6 @@ public: */ void setLatencySamples (int newLatency); - /** Returns true if a silent input always produces a silent output. */ - virtual bool silenceInProducesSilenceOut() const = 0; - /** Returns the length of the filter's tail, in seconds. */ virtual double getTailLengthSeconds() const = 0; @@ -918,7 +915,7 @@ public: WrapperType wrapperType; //============================================================================== -#ifndef DOXYGEN + #ifndef DOXYGEN /** Deprecated: use getTotalNumInputChannels instead. */ JUCE_DEPRECATED_WITH_BODY (int getNumInputChannels() const noexcept, { return getTotalNumInputChannels(); }) JUCE_DEPRECATED_WITH_BODY (int getNumOutputChannels() const noexcept, { return getTotalNumOutputChannels(); }) @@ -945,7 +942,7 @@ public: the constructor. */ JUCE_DEPRECATED (virtual bool isInputChannelStereoPair (int index) const); JUCE_DEPRECATED (virtual bool isOutputChannelStereoPair (int index) const); -#endif + #endif //============================================================================== /** Helper function that just converts an xml element into a binary blob. @@ -1002,6 +999,9 @@ private: void disableNonMainBuses (bool isInput); void updateSpeakerFormatStrings(); + // This method is no longer used - you can delete it from your AudioProcessor classes. + JUCE_DEPRECATED_WITH_BODY (virtual bool silenceInProducesSilenceOut() const, { return false; }); + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioProcessor) }; diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp index 5af07bd217..51443e623e 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp @@ -1460,7 +1460,6 @@ void AudioProcessorGraph::processAudio (AudioBuffer& buffer, MidiBuff midiMessages.addEvents (currentMidiOutputBuffer, 0, buffer.getNumSamples(), 0); } -bool AudioProcessorGraph::silenceInProducesSilenceOut() const { return false; } double AudioProcessorGraph::getTailLengthSeconds() const { return 0; } bool AudioProcessorGraph::acceptsMidi() const { return true; } bool AudioProcessorGraph::producesMidi() const { return true; } @@ -1601,11 +1600,6 @@ void AudioProcessorGraph::AudioGraphIOProcessor::processBlock (AudioBuffer&, MidiBuffer&) override; bool supportsDoublePrecisionProcessing() const override; - bool silenceInProducesSilenceOut() const override; double getTailLengthSeconds() const override; bool acceptsMidi() const override; bool producesMidi() const override; @@ -354,7 +353,6 @@ public: void setNonRealtime (bool) noexcept override; void setPlayHead (AudioPlayHead*) override; - bool silenceInProducesSilenceOut() const override; double getTailLengthSeconds() const override; bool acceptsMidi() const override; bool producesMidi() const override;