mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Audio plugin fixes.
This commit is contained in:
parent
d1bdc123a9
commit
2cf131f0a6
4 changed files with 23 additions and 8 deletions
|
|
@ -328,6 +328,7 @@ struct AAXClasses
|
|||
setOpaque (true);
|
||||
addAndMakeVisible (pluginEditor = plugin->createEditorIfNeeded());
|
||||
setBounds (pluginEditor->getLocalBounds());
|
||||
setBroughtToFrontOnMouseClick (true);
|
||||
}
|
||||
|
||||
~ContentWrapperComponent()
|
||||
|
|
|
|||
|
|
@ -392,7 +392,9 @@ public:
|
|||
if (juceFilter->isMetaParameter (index))
|
||||
outParameterInfo.flags |= kAudioUnitParameterFlag_IsGlobalMeta;
|
||||
|
||||
AUBase::FillInParameterName (outParameterInfo, name.toCFString(), false);
|
||||
CFStringRef cfName (name.toCFString());
|
||||
AUBase::FillInParameterName (outParameterInfo, cfName, false);
|
||||
CFRelease (cfName);
|
||||
|
||||
outParameterInfo.minValue = 0.0f;
|
||||
outParameterInfo.maxValue = 1.0f;
|
||||
|
|
@ -868,17 +870,22 @@ protected:
|
|||
if (outData != nullptr)
|
||||
{
|
||||
const int numPrograms = juceFilter->getNumPrograms();
|
||||
presetsArray.ensureSize (sizeof (AUPreset) * numPrograms, true);
|
||||
AUPreset* const presets = (AUPreset*) presetsArray.getData();
|
||||
presetsArray.calloc (numPrograms);
|
||||
|
||||
CFMutableArrayRef presetsArrayRef = CFArrayCreateMutable (0, numPrograms, 0);
|
||||
|
||||
for (int i = 0; i < numPrograms; ++i)
|
||||
{
|
||||
presets[i].presetNumber = i;
|
||||
presets[i].presetName = juceFilter->getProgramName(i).toCFString();
|
||||
String name (juceFilter->getProgramName(i));
|
||||
if (name.isEmpty())
|
||||
name = "Untitled";
|
||||
|
||||
CFArrayAppendValue (presetsArrayRef, presets + i);
|
||||
AUPreset& p = presetsArray[i];
|
||||
p.presetNumber = i;
|
||||
p.presetName = name.toCFString();
|
||||
|
||||
CFArrayAppendValue (presetsArrayRef, &p);
|
||||
CFRelease (p.presetName);
|
||||
}
|
||||
|
||||
*outData = (CFArrayRef) presetsArrayRef;
|
||||
|
|
@ -927,7 +934,7 @@ private:
|
|||
SMPTETime lastSMPTETime;
|
||||
AUChannelInfo channelInfo [numChannelConfigs];
|
||||
AudioUnitEvent auEvent;
|
||||
mutable juce::MemoryBlock presetsArray;
|
||||
mutable HeapBlock<AUPreset> presetsArray;
|
||||
CriticalSection incomingMidiLock;
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE (JuceAU);
|
||||
|
|
|
|||
|
|
@ -830,7 +830,7 @@ public:
|
|||
|
||||
void audioProcessorChanged (AudioProcessor*)
|
||||
{
|
||||
setInitialDelay (processor->getLatencySamples());
|
||||
setInitialDelay (filter->getLatencySamples());
|
||||
ioChanged();
|
||||
updateDisplay();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -227,4 +227,11 @@ bool operator!= (const ScopedPointer<ObjectType>& pointer1, ObjectType* const po
|
|||
return static_cast <ObjectType*> (pointer1) != pointer2;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
#ifndef DOXYGEN
|
||||
// NB: This is just here to prevent any silly attempts to call deleteAndZero() on a ScopedPointer.
|
||||
template <typename Type>
|
||||
void deleteAndZero (ScopedPointer<Type>&) { static_jassert (sizeof (Type) == 12345); }
|
||||
#endif
|
||||
|
||||
#endif // __JUCE_SCOPEDPOINTER_JUCEHEADER__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue