mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-16 00:34:19 +00:00
Deprecated theAudioProcessor::silenceInProducesSilenceOut method, which is no longer actually used by any of the plugin wrappers
This commit is contained in:
parent
3ca13481eb
commit
82c4938ebe
29 changed files with 57 additions and 93 deletions
|
|
@ -10,7 +10,7 @@
|
|||
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<application android:label="@string/app_name" android:hardwareAccelerated="false">
|
||||
<activity android:name="MidiTest" android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"
|
||||
<activity android:name="MidiTest" android:label="@string/app_name" android:configChanges="keyboardHidden|orientation|screenSize"
|
||||
android:screenOrientation="unspecified">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
|
|
|
|||
|
|
@ -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); }
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -44,11 +44,6 @@ bool FILTERCLASSNAME::producesMidi() const
|
|||
#endif
|
||||
}
|
||||
|
||||
bool FILTERCLASSNAME::silenceInProducesSilenceOut() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
double FILTERCLASSNAME::getTailLengthSeconds() const
|
||||
{
|
||||
return 0.0;
|
||||
|
|
|
|||
|
|
@ -39,7 +39,6 @@ public:
|
|||
|
||||
bool acceptsMidi() const override;
|
||||
bool producesMidi() const override;
|
||||
bool silenceInProducesSilenceOut() const override;
|
||||
double getTailLengthSeconds() const override;
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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..");
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1460,7 +1460,6 @@ void AudioProcessorGraph::processAudio (AudioBuffer<FloatType>& 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<doubl
|
|||
processAudio (buffer, midiMessages);
|
||||
}
|
||||
|
||||
bool AudioProcessorGraph::AudioGraphIOProcessor::silenceInProducesSilenceOut() const
|
||||
{
|
||||
return isOutput();
|
||||
}
|
||||
|
||||
double AudioProcessorGraph::AudioGraphIOProcessor::getTailLengthSeconds() const
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -311,7 +311,6 @@ public:
|
|||
void processBlock (AudioBuffer<double>&, 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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue