7.0.1 framework update
This commit is contained in:
parent
443fa4cd18
commit
163213bb95
3 changed files with 50 additions and 52 deletions
|
@ -2,15 +2,15 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
This file is part of the JUCE library.
|
This file is part of the JUCE library.
|
||||||
Copyright (c) 2020 - Raw Material Software Limited
|
Copyright (c) 2022 - Raw Material Software Limited
|
||||||
|
|
||||||
JUCE is an open source library subject to commercial or open-source
|
JUCE is an open source library subject to commercial or open-source
|
||||||
licensing.
|
licensing.
|
||||||
|
|
||||||
By using JUCE, you agree to the terms of both the JUCE 6 End-User License
|
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||||
Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).
|
Agreement and JUCE Privacy Policy.
|
||||||
|
|
||||||
End User License Agreement: www.juce.com/juce-6-licence
|
End User License Agreement: www.juce.com/juce-7-licence
|
||||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||||
|
|
||||||
Or: You may also use this code under the terms of the GPL v3 (see
|
Or: You may also use this code under the terms of the GPL v3 (see
|
||||||
|
@ -448,11 +448,12 @@ private:
|
||||||
inner.audioDeviceAboutToStart (device);
|
inner.audioDeviceAboutToStart (device);
|
||||||
}
|
}
|
||||||
|
|
||||||
void audioDeviceIOCallback (const float** inputChannelData,
|
void audioDeviceIOCallbackWithContext (const float** inputChannelData,
|
||||||
int numInputChannels,
|
int numInputChannels,
|
||||||
float** outputChannelData,
|
float** outputChannelData,
|
||||||
int numOutputChannels,
|
int numOutputChannels,
|
||||||
int numSamples) override
|
int numSamples,
|
||||||
|
const AudioIODeviceCallbackContext& context) override
|
||||||
{
|
{
|
||||||
jassertquiet ((int) storedInputChannels.size() == numInputChannels);
|
jassertquiet ((int) storedInputChannels.size() == numInputChannels);
|
||||||
jassertquiet ((int) storedOutputChannels.size() == numOutputChannels);
|
jassertquiet ((int) storedOutputChannels.size() == numOutputChannels);
|
||||||
|
@ -466,11 +467,12 @@ private:
|
||||||
initChannelPointers (inputChannelData, storedInputChannels, position);
|
initChannelPointers (inputChannelData, storedInputChannels, position);
|
||||||
initChannelPointers (outputChannelData, storedOutputChannels, position);
|
initChannelPointers (outputChannelData, storedOutputChannels, position);
|
||||||
|
|
||||||
inner.audioDeviceIOCallback (storedInputChannels.data(),
|
inner.audioDeviceIOCallbackWithContext (storedInputChannels.data(),
|
||||||
(int) storedInputChannels.size(),
|
(int) storedInputChannels.size(),
|
||||||
storedOutputChannels.data(),
|
storedOutputChannels.data(),
|
||||||
(int) storedOutputChannels.size(),
|
(int) storedOutputChannels.size(),
|
||||||
blockLength);
|
blockLength,
|
||||||
|
context);
|
||||||
|
|
||||||
position += blockLength;
|
position += blockLength;
|
||||||
}
|
}
|
||||||
|
@ -598,11 +600,12 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
void audioDeviceIOCallback (const float** inputChannelData,
|
void audioDeviceIOCallbackWithContext (const float** inputChannelData,
|
||||||
int numInputChannels,
|
int numInputChannels,
|
||||||
float** outputChannelData,
|
float** outputChannelData,
|
||||||
int numOutputChannels,
|
int numOutputChannels,
|
||||||
int numSamples) override
|
int numSamples,
|
||||||
|
const AudioIODeviceCallbackContext& context) override
|
||||||
{
|
{
|
||||||
if (muteInput)
|
if (muteInput)
|
||||||
{
|
{
|
||||||
|
@ -610,8 +613,12 @@ private:
|
||||||
inputChannelData = emptyBuffer.getArrayOfReadPointers();
|
inputChannelData = emptyBuffer.getArrayOfReadPointers();
|
||||||
}
|
}
|
||||||
|
|
||||||
player.audioDeviceIOCallback (inputChannelData, numInputChannels,
|
player.audioDeviceIOCallbackWithContext (inputChannelData,
|
||||||
outputChannelData, numOutputChannels, numSamples);
|
numInputChannels,
|
||||||
|
outputChannelData,
|
||||||
|
numOutputChannels,
|
||||||
|
numSamples,
|
||||||
|
context);
|
||||||
}
|
}
|
||||||
|
|
||||||
void audioDeviceAboutToStart (AudioIODevice* device) override
|
void audioDeviceAboutToStart (AudioIODevice* device) override
|
||||||
|
@ -683,7 +690,6 @@ private:
|
||||||
class StandaloneFilterWindow : public DocumentWindow,
|
class StandaloneFilterWindow : public DocumentWindow,
|
||||||
private Button::Listener,
|
private Button::Listener,
|
||||||
public MenuBarModel
|
public MenuBarModel
|
||||||
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
@ -742,7 +748,6 @@ public:
|
||||||
optionsButton.setTriggeredOnMouseDown(true);
|
optionsButton.setTriggeredOnMouseDown(true);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pluginHolder.reset (new StandalonePluginHolder (settingsToUse, takeOwnershipOfSettings,
|
pluginHolder.reset (new StandalonePluginHolder (settingsToUse, takeOwnershipOfSettings,
|
||||||
preferredDefaultDeviceName, preferredSetupOptions,
|
preferredDefaultDeviceName, preferredSetupOptions,
|
||||||
constrainToConfiguration, autoOpenMidiDevices));
|
constrainToConfiguration, autoOpenMidiDevices));
|
||||||
|
@ -797,7 +802,6 @@ public:
|
||||||
#if JUCE_MAC
|
#if JUCE_MAC
|
||||||
MenuBarModel::setMacMainMenu(nullptr);
|
MenuBarModel::setMacMainMenu(nullptr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (! JUCE_IOS) && (! JUCE_ANDROID)
|
#if (! JUCE_IOS) && (! JUCE_ANDROID)
|
||||||
if (auto* props = pluginHolder->settings.get())
|
if (auto* props = pluginHolder->settings.get())
|
||||||
{
|
{
|
||||||
|
@ -840,32 +844,20 @@ public:
|
||||||
|
|
||||||
StringArray getMenuBarNames() override
|
StringArray getMenuBarNames() override
|
||||||
{
|
{
|
||||||
// StringArray menuBarNames;
|
|
||||||
// menuBarNames.add("Options");
|
|
||||||
// return menuBarNames;
|
|
||||||
const char* menuNames[] = { 0 };
|
const char* menuNames[] = { 0 };
|
||||||
|
|
||||||
return StringArray(menuNames);
|
return StringArray(menuNames);
|
||||||
}
|
}
|
||||||
|
|
||||||
PopupMenu getMenuForIndex(int topLevelMenuIndex, const String& menuName) override
|
PopupMenu getMenuForIndex(int topLevelMenuIndex, const String& menuName) override
|
||||||
{
|
{
|
||||||
PopupMenu m;
|
PopupMenu m;
|
||||||
// m.addItem (1, TRANS("Audio Settings..."));
|
|
||||||
// m.addSeparator();
|
|
||||||
|
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
void menuItemSelected(int menuItemID, int topLevelMenuIndex) override
|
void menuItemSelected(int menuItemID, int topLevelMenuIndex) override
|
||||||
{
|
{
|
||||||
handleMenuResult(menuItemID);
|
handleMenuResult(menuItemID);
|
||||||
}
|
}
|
||||||
|
|
||||||
void menuBarActivated(bool isActive) override {};
|
void menuBarActivated(bool isActive) override {};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void handleMenuResult (int result)
|
void handleMenuResult (int result)
|
||||||
{
|
{
|
||||||
switch (result)
|
switch (result)
|
||||||
|
@ -987,11 +979,17 @@ private:
|
||||||
|
|
||||||
BorderSize<int> computeBorder() const
|
BorderSize<int> computeBorder() const
|
||||||
{
|
{
|
||||||
const auto outer = owner.getContentComponentBorder();
|
const auto nativeFrame = [&]() -> BorderSize<int>
|
||||||
return { outer.getTop() + (shouldShowNotification ? NotificationArea::height : 0),
|
{
|
||||||
outer.getLeft(),
|
if (auto* peer = owner.getPeer())
|
||||||
outer.getBottom(),
|
if (const auto frameSize = peer->getFrameSizeIfPresent())
|
||||||
outer.getRight() };
|
return *frameSize;
|
||||||
|
|
||||||
|
return {};
|
||||||
|
}();
|
||||||
|
|
||||||
|
return nativeFrame.addedTo (owner.getContentComponentBorder())
|
||||||
|
.addedTo (BorderSize<int> { shouldShowNotification ? NotificationArea::height : 0, 0, 0, 0 });
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
14
OB-Xd.jucer
14
OB-Xd.jucer
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
<JUCERPROJECT id="mxW328" name="OB-Xd" projectType="audioplug" version="2.8.0"
|
<JUCERPROJECT id="mxW328" name="OB-Xd" projectType="audioplug" version="2.9.0"
|
||||||
bundleIdentifier="com.discoDSP.Obxd" includeBinaryInAppConfig="1"
|
bundleIdentifier="com.discoDSP.Obxd" includeBinaryInAppConfig="1"
|
||||||
pluginName="OB-Xd" pluginDesc="Emulation of famous OB-X, OB-Xa and OB-8 synths"
|
pluginName="OB-Xd" pluginDesc="Emulation of famous OB-X, OB-Xa and OB-8 synths"
|
||||||
pluginManufacturer="discoDSP" pluginManufacturerCode="DDSP" pluginCode="Obxd"
|
pluginManufacturer="discoDSP" pluginManufacturerCode="DDSP" pluginCode="Obxd"
|
||||||
|
@ -9,12 +9,12 @@
|
||||||
pluginAUExportPrefix="" pluginRTASCategory="2048" aaxIdentifier="com.discodsp.obxd"
|
pluginAUExportPrefix="" pluginRTASCategory="2048" aaxIdentifier="com.discodsp.obxd"
|
||||||
companyName="discoDSP" companyWebsite="https://www.discodsp.com/"
|
companyName="discoDSP" companyWebsite="https://www.discodsp.com/"
|
||||||
pluginIsMidiEffectPlugin="0" pluginCharacteristicsValue="pluginIsSynth,pluginWantsMidiIn"
|
pluginIsMidiEffectPlugin="0" pluginCharacteristicsValue="pluginIsSynth,pluginWantsMidiIn"
|
||||||
pluginFormats="buildAU,buildStandalone,buildVST,buildVST3" buildVST="1"
|
pluginFormats="buildAU,buildLV2,buildStandalone,buildVST,buildVST3"
|
||||||
buildVST3="1" buildAU="1" buildAUv3="0" buildRTAS="0" buildAAX="0"
|
buildVST="1" buildVST3="1" buildAU="1" buildAUv3="0" buildRTAS="0"
|
||||||
buildStandalone="1" enableIAA="0" jucerFormatVersion="1" companyCopyright="discoDSP"
|
buildAAX="0" buildStandalone="1" enableIAA="0" jucerFormatVersion="1"
|
||||||
companyEmail="contactus@discodsp.com" pluginAAXCategory="2048"
|
pluginChannelConfigs="{0,2}" companyCopyright="discoDSP" companyEmail="contactus@discodsp.com"
|
||||||
pluginVSTCategory="kPlugCategSynth" displaySplashScreen="0" pluginChannelConfigs="{0,2}"
|
pluginAAXCategory="2048" pluginVSTCategory="kPlugCategSynth"
|
||||||
pluginAUMainType="'aumu'" pluginVST3Category="Synth">
|
displaySplashScreen="0">
|
||||||
<MAINGROUP id="NZ3n4V" name="OB-Xd">
|
<MAINGROUP id="NZ3n4V" name="OB-Xd">
|
||||||
<GROUP id="{90740217-84AB-FD0D-FBC4-CA9EA2C68D5E}" name="Source">
|
<GROUP id="{90740217-84AB-FD0D-FBC4-CA9EA2C68D5E}" name="Source">
|
||||||
<GROUP id="{E11C29DD-69D5-DA26-5CFF-B65751876DEE}" name="MTS">
|
<GROUP id="{E11C29DD-69D5-DA26-5CFF-B65751876DEE}" name="MTS">
|
||||||
|
|
|
@ -40,7 +40,7 @@ AudioProcessorValueTreeState::ParameterLayout createParameterLayout()
|
||||||
auto range = NormalisableRange<float> {0.0f, 1.0f};
|
auto range = NormalisableRange<float> {0.0f, 1.0f};
|
||||||
auto defaultValue = defaultParams.values[i];
|
auto defaultValue = defaultParams.values[i];
|
||||||
auto parameter = std::make_unique<AudioParameterFloat> (
|
auto parameter = std::make_unique<AudioParameterFloat> (
|
||||||
id, name, range, defaultValue, String{}, AudioProcessorParameter::genericParameter,
|
ParameterID{ id, 1 }, name, range, defaultValue, String{}, AudioProcessorParameter::genericParameter,
|
||||||
[=](float value, int /*maxStringLength*/)
|
[=](float value, int /*maxStringLength*/)
|
||||||
{
|
{
|
||||||
return ObxdAudioProcessor::getTrueParameterValueFromNormalizedRange(i, value);
|
return ObxdAudioProcessor::getTrueParameterValueFromNormalizedRange(i, value);
|
||||||
|
|
Loading…
Reference in a new issue