Update juce_StandaloneFilterWindow.h
This commit is contained in:
parent
adb33c8c23
commit
16211dbfb2
1 changed files with 41 additions and 50 deletions
|
@ -2,17 +2,16 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
This file is part of the JUCE library.
|
This file is part of the JUCE library.
|
||||||
Copyright (c) 2017 - ROLI Ltd.
|
Copyright (c) 2020 - 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 5 End-User License
|
By using JUCE, you agree to the terms of both the JUCE 6 End-User License
|
||||||
Agreement and JUCE 5 Privacy Policy (both updated and effective as of the
|
Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).
|
||||||
27th April 2017).
|
|
||||||
|
|
||||||
End User License Agreement: www.juce.com/juce-5-licence
|
End User License Agreement: www.juce.com/juce-6-licence
|
||||||
Privacy Policy: www.juce.com/juce-5-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
|
||||||
www.gnu.org/licenses).
|
www.gnu.org/licenses).
|
||||||
|
@ -24,8 +23,10 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if JUCE_MODULE_AVAILABLE_juce_audio_plugin_client
|
#pragma once
|
||||||
extern juce::AudioProcessor* JUCE_API JUCE_CALLTYPE createPluginFilterOfType (juce::AudioProcessor::WrapperType type);
|
|
||||||
|
#ifndef DOXYGEN
|
||||||
|
#include "../utility/juce_CreatePluginFilter.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace juce
|
namespace juce
|
||||||
|
@ -73,7 +74,7 @@ public:
|
||||||
#if JUCE_ANDROID || JUCE_IOS
|
#if JUCE_ANDROID || JUCE_IOS
|
||||||
bool shouldAutoOpenMidiDevices = true
|
bool shouldAutoOpenMidiDevices = true
|
||||||
#else
|
#else
|
||||||
bool shouldAutoOpenMidiDevices = true
|
bool shouldAutoOpenMidiDevices = false
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -123,15 +124,7 @@ public:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
virtual void createPlugin()
|
virtual void createPlugin()
|
||||||
{
|
{
|
||||||
#if JUCE_MODULE_AVAILABLE_juce_audio_plugin_client
|
processor.reset (createPluginFilterOfType (AudioProcessor::wrapperType_Standalone));
|
||||||
processor.reset (::createPluginFilterOfType (AudioProcessor::wrapperType_Standalone));
|
|
||||||
#else
|
|
||||||
AudioProcessor::setTypeOfNextNewPlugin (AudioProcessor::wrapperType_Standalone);
|
|
||||||
processor.reset (createPluginFilter());
|
|
||||||
AudioProcessor::setTypeOfNextNewPlugin (AudioProcessor::wrapperType_Undefined);
|
|
||||||
#endif
|
|
||||||
jassert (processor != nullptr); // Your createPluginFilter() function must return a valid object!
|
|
||||||
|
|
||||||
processor->disableNonMainBuses();
|
processor->disableNonMainBuses();
|
||||||
processor->setRateAndBufferSizeDetails (44100, 512);
|
processor->setRateAndBufferSizeDetails (44100, 512);
|
||||||
|
|
||||||
|
@ -272,12 +265,8 @@ public:
|
||||||
maxNumOutputs = jmax (0, bus->getDefaultLayout().size());
|
maxNumOutputs = jmax (0, bus->getDefaultLayout().size());
|
||||||
|
|
||||||
o.content.setOwned (new SettingsComponent (*this, deviceManager, maxNumInputs, maxNumOutputs));
|
o.content.setOwned (new SettingsComponent (*this, deviceManager, maxNumInputs, maxNumOutputs));
|
||||||
//#if JUCE_MAC
|
|
||||||
o.content->setSize (500, 400);
|
o.content->setSize (500, 400);
|
||||||
//#endif
|
|
||||||
//#if ! JUCE_MAC
|
|
||||||
// o.content->setSize (500, 450);
|
|
||||||
//#endif
|
|
||||||
o.dialogTitle = TRANS("Audio/MIDI Settings");
|
o.dialogTitle = TRANS("Audio/MIDI Settings");
|
||||||
o.dialogBackgroundColour = o.content->getLookAndFeel().findColour (ResizableWindow::backgroundColourId);
|
o.dialogBackgroundColour = o.content->getLookAndFeel().findColour (ResizableWindow::backgroundColourId);
|
||||||
o.escapeKeyTriggersCloseButton = true;
|
o.escapeKeyTriggersCloseButton = true;
|
||||||
|
@ -376,7 +365,6 @@ public:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if JUCE_MODULE_AVAILABLE_juce_gui_basics
|
|
||||||
Image getIAAHostIcon (int size)
|
Image getIAAHostIcon (int size)
|
||||||
{
|
{
|
||||||
#if JUCE_IOS && JucePlugin_Enable_IAA
|
#if JUCE_IOS && JucePlugin_Enable_IAA
|
||||||
|
@ -388,7 +376,6 @@ public:
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static StandalonePluginHolder* getInstance();
|
static StandalonePluginHolder* getInstance();
|
||||||
|
|
||||||
|
@ -423,7 +410,7 @@ private:
|
||||||
0, maxAudioInputChannels,
|
0, maxAudioInputChannels,
|
||||||
0, maxAudioOutputChannels,
|
0, maxAudioOutputChannels,
|
||||||
true,
|
true,
|
||||||
false, // disables MIDI Out // (pluginHolder.processor.get() != nullptr && pluginHolder.processor->producesMidi()),
|
(pluginHolder.processor.get() != nullptr && pluginHolder.processor->producesMidi()),
|
||||||
true, false),
|
true, false),
|
||||||
shouldMuteLabel ("Feedback Loop:", "Feedback Loop:"),
|
shouldMuteLabel ("Feedback Loop:", "Feedback Loop:"),
|
||||||
shouldMuteButton ("Mute audio input")
|
shouldMuteButton ("Mute audio input")
|
||||||
|
@ -586,13 +573,13 @@ public:
|
||||||
#if JUCE_ANDROID || JUCE_IOS
|
#if JUCE_ANDROID || JUCE_IOS
|
||||||
bool autoOpenMidiDevices = true
|
bool autoOpenMidiDevices = true
|
||||||
#else
|
#else
|
||||||
bool autoOpenMidiDevices = true
|
bool autoOpenMidiDevices = false
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
: DocumentWindow ("", Colour::fromHSV (0.0f, 0.0f, 0.1f, 1.0f), DocumentWindow::minimiseButton | DocumentWindow::closeButton)
|
: DocumentWindow (title, backgroundColour, DocumentWindow::minimiseButton | DocumentWindow::closeButton),
|
||||||
, menuBar(this)
|
menuBar(this)
|
||||||
#if ! JUCE_MAC
|
#if ! JUCE_MAC
|
||||||
, optionsButton ("Settings")
|
, optionsButton ("Options")
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
#if JUCE_IOS || JUCE_ANDROID
|
#if JUCE_IOS || JUCE_ANDROID
|
||||||
|
@ -709,20 +696,7 @@ public:
|
||||||
|
|
||||||
void menuBarActivated (bool isActive) override {};
|
void menuBarActivated (bool isActive) override {};
|
||||||
|
|
||||||
void buttonClicked (Button*) override
|
|
||||||
{
|
|
||||||
pluginHolder->showAudioSettingsDialog();
|
|
||||||
|
|
||||||
// PopupMenu m;
|
|
||||||
// m.addItem (1, TRANS("Audio/MIDI Settings..."));
|
|
||||||
// m.addSeparator();
|
|
||||||
// m.addItem (2, TRANS("Save current state..."));
|
|
||||||
// m.addItem (3, TRANS("Load a saved state..."));
|
|
||||||
// m.addSeparator();
|
|
||||||
// m.addItem (4, TRANS("Reset to default state"));
|
|
||||||
|
|
||||||
// m.showMenuAsync (PopupMenu::Options(),ModalCallbackFunction::forComponent (menuCallback, this));
|
|
||||||
}
|
|
||||||
|
|
||||||
void handleMenuResult (int result)
|
void handleMenuResult (int result)
|
||||||
{
|
{
|
||||||
|
@ -745,9 +719,9 @@ public:
|
||||||
void resized() override
|
void resized() override
|
||||||
{
|
{
|
||||||
DocumentWindow::resized();
|
DocumentWindow::resized();
|
||||||
#if ! JUCE_MAC
|
#if ! JUCE_MAC
|
||||||
optionsButton.setBounds (8, 6, 60, getTitleBarHeight() - 8);
|
optionsButton.setBounds (8, 6, 60, getTitleBarHeight() - 8);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual StandalonePluginHolder* getPluginHolder() { return pluginHolder.get(); }
|
virtual StandalonePluginHolder* getPluginHolder() { return pluginHolder.get(); }
|
||||||
|
@ -757,6 +731,22 @@ public:
|
||||||
PopupMenu menu;
|
PopupMenu menu;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void buttonClicked (Button*) override
|
||||||
|
{
|
||||||
|
pluginHolder->showAudioSettingsDialog();
|
||||||
|
|
||||||
|
//PopupMenu m;
|
||||||
|
//m.addItem (1, TRANS("Audio/MIDI Settings..."));
|
||||||
|
//m.addSeparator();
|
||||||
|
//m.addItem (2, TRANS("Save current state..."));
|
||||||
|
//m.addItem (3, TRANS("Load a saved state..."));
|
||||||
|
//m.addSeparator();
|
||||||
|
//m.addItem (4, TRANS("Reset to default state"));
|
||||||
|
|
||||||
|
//m.showMenuAsync (PopupMenu::Options(),
|
||||||
|
// ModalCallbackFunction::forComponent (menuCallback, this));
|
||||||
|
}
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
class MainContentComponent : public Component,
|
class MainContentComponent : public Component,
|
||||||
private Value::Listener,
|
private Value::Listener,
|
||||||
|
@ -808,8 +798,9 @@ private:
|
||||||
notification.setBounds (r.removeFromTop (NotificationArea::height));
|
notification.setBounds (r.removeFromTop (NotificationArea::height));
|
||||||
|
|
||||||
if (editor != nullptr)
|
if (editor != nullptr)
|
||||||
editor->setBounds (editor->getLocalArea (this, r)
|
editor->setBounds (editor->getLocalArea (this, r.toFloat())
|
||||||
.withPosition (r.getTopLeft().transformedBy (editor->getTransform().inverted())));
|
.withPosition (r.getTopLeft().toFloat().transformedBy (editor->getTransform().inverted()))
|
||||||
|
.toNearestInt());
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -919,9 +910,9 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#if ! JUCE_MAC
|
#if ! JUCE_MAC
|
||||||
TextButton optionsButton;
|
TextButton optionsButton;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (StandaloneFilterWindow)
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (StandaloneFilterWindow)
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue