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;