Started over with an empty Introjucer template and it finally built the AU!!
This commit is contained in:
parent
ec8f2fdebf
commit
49a6f847ee
4 changed files with 199 additions and 337 deletions
137
JuceOPL.jucer
137
JuceOPL.jucer
|
@ -1,137 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<JUCERPROJECT id="wUKQiT" name="JuceOPL" projectType="audioplug" version="0.11.1"
|
||||
bundleIdentifier="com.plainweave.JuceOPL" buildVST="0" buildAU="1"
|
||||
pluginName="JuceOPL" pluginDesc="JuceOPL" pluginManufacturer="Plainweave Software"
|
||||
pluginManufacturerCode="Pwve" pluginCode="JOPL" pluginChannelConfigs="{0, 1}"
|
||||
pluginIsSynth="1" pluginWantsMidiIn="1" pluginProducesMidiOut="0"
|
||||
pluginSilenceInIsSilenceOut="0" pluginEditorRequiresKeys="0"
|
||||
pluginAUExportPrefix="JuceOPL-AU" pluginRTASCategory="" aaxIdentifier="com.plainweave.JuceOPLAU32"
|
||||
pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="3.1.0"
|
||||
buildVST3="0" buildRTAS="0" buildAAX="0" includeBinaryInAppConfig="1">
|
||||
<MAINGROUP id="TOefyq" name="JuceOPL">
|
||||
<GROUP id="{DCA755EB-7953-0641-E719-95C7850E5B2B}" name="Source">
|
||||
<GROUP id="{0A7415DD-1C4B-6ECE-F8C8-1830F22F3693}" name="added">
|
||||
<FILE id="b9ci03" name="itoa.h" compile="0" resource="0" file="Source/itoa.h"/>
|
||||
<FILE id="zqVgdd" name="windows.h" compile="0" resource="0" file="Source/windows.h"/>
|
||||
</GROUP>
|
||||
<GROUP id="{04EB9715-F5C8-AD8A-9B89-2832B524778C}" name="modified">
|
||||
<FILE id="SyIvF1" name="PluginGui.cpp" compile="1" resource="0" file="Source/PluginGui.cpp"/>
|
||||
<FILE id="Phxzxb" name="PluginProcessor.cpp" compile="1" resource="0"
|
||||
file="Source/PluginProcessor.cpp"/>
|
||||
<FILE id="o0sULY" name="DROMultiplexer.cpp" compile="1" resource="0"
|
||||
file="Source/DROMultiplexer.cpp"/>
|
||||
<FILE id="cULQN7" name="DROMultiplexer.h" compile="0" resource="0"
|
||||
file="Source/DROMultiplexer.h"/>
|
||||
<FILE id="c6G4EF" name="config.h" compile="0" resource="0" file="Source/config.h"/>
|
||||
<FILE id="hjHmNq" name="zdopl.cpp" compile="1" resource="0" file="Source/zdopl.cpp"/>
|
||||
<FILE id="TnpE3r" name="dbopl.cpp" compile="1" resource="0" file="Source/dbopl.cpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{6B1E4F6E-4D95-CAB5-DAD3-E894F5CA0730}" name="DOSBox">
|
||||
<FILE id="BZFxoj" name="adlib.h" compile="0" resource="0" file="Source/adlib.h"/>
|
||||
<FILE id="r3zBZz" name="dbopl.h" compile="0" resource="0" file="Source/dbopl.h"/>
|
||||
<FILE id="pXX3j1" name="dosbox.h" compile="0" resource="0" file="Source/dosbox.h"/>
|
||||
<FILE id="TLHYVa" name="hardware.h" compile="0" resource="0" file="Source/hardware.h"/>
|
||||
<FILE id="mZbr8b" name="inout.h" compile="0" resource="0" file="Source/inout.h"/>
|
||||
<FILE id="ZBjR5F" name="logging.h" compile="0" resource="0" file="Source/logging.h"/>
|
||||
<FILE id="KCyK6B" name="opl.h" compile="0" resource="0" file="Source/opl.h"/>
|
||||
<FILE id="t6cmDm" name="pic.h" compile="0" resource="0" file="Source/pic.h"/>
|
||||
<FILE id="ep2XEF" name="setup.h" compile="0" resource="0" file="Source/setup.h"/>
|
||||
<FILE id="aR7Eu7" name="mixer.h" compile="0" resource="0" file="Source/mixer.h"/>
|
||||
</GROUP>
|
||||
<FILE id="IvGocs" name="PluginProcessor.h" compile="0" resource="0"
|
||||
file="Source/PluginProcessor.h"/>
|
||||
<FILE id="a2DQGI" name="PluginGui.h" compile="0" resource="0" file="Source/PluginGui.h"/>
|
||||
<FILE id="KRj0DZ" name="tests.cpp" compile="1" resource="0" file="Source/tests.cpp"/>
|
||||
<FILE id="TQyCKv" name="zdopl.h" compile="0" resource="0" file="Source/zdopl.h"/>
|
||||
<FILE id="LVSdHL" name="InstrumentLoader.h" compile="0" resource="0"
|
||||
file="Source/InstrumentLoader.h"/>
|
||||
<FILE id="SX7G0u" name="SbiLoader.cpp" compile="1" resource="0" file="Source/SbiLoader.cpp"/>
|
||||
<FILE id="g2OCfO" name="SbiLoader.h" compile="0" resource="0" file="Source/SbiLoader.h"/>
|
||||
<FILE id="CGPOGV" name="IntFloatParameter.cpp" compile="1" resource="0"
|
||||
file="Source/IntFloatParameter.cpp"/>
|
||||
<FILE id="uAEGVV" name="IntFloatParameter.h" compile="0" resource="0"
|
||||
file="Source/IntFloatParameter.h"/>
|
||||
<FILE id="GnuXsD" name="EnumFloatParameter.cpp" compile="1" resource="0"
|
||||
file="Source/EnumFloatParameter.cpp"/>
|
||||
<FILE id="GQm1JF" name="EnumFloatParameter.h" compile="0" resource="0"
|
||||
file="Source/EnumFloatParameter.h"/>
|
||||
<FILE id="cyDyMZ" name="FloatParameter.cpp" compile="1" resource="0"
|
||||
file="Source/FloatParameter.cpp"/>
|
||||
<FILE id="RwbIyF" name="FloatParameter.h" compile="0" resource="0"
|
||||
file="Source/FloatParameter.h"/>
|
||||
<FILE id="fZWteg" name="hiopl.cpp" compile="1" resource="0" file="Source/hiopl.cpp"/>
|
||||
<FILE id="OiMwKI" name="hiopl.h" compile="0" resource="0" file="Source/hiopl.h"/>
|
||||
</GROUP>
|
||||
</MAINGROUP>
|
||||
<MODULES>
|
||||
<MODULES id="juce_audio_basics" showAllCode="1" useLocalCopy="1"/>
|
||||
<MODULES id="juce_audio_devices" showAllCode="1" useLocalCopy="1"/>
|
||||
<MODULES id="juce_audio_formats" showAllCode="1" useLocalCopy="1"/>
|
||||
<MODULES id="juce_audio_plugin_client" showAllCode="1" useLocalCopy="1"/>
|
||||
<MODULES id="juce_audio_processors" showAllCode="1" useLocalCopy="1"/>
|
||||
<MODULES id="juce_core" showAllCode="1" useLocalCopy="1"/>
|
||||
<MODULES id="juce_cryptography" showAllCode="1" useLocalCopy="1"/>
|
||||
<MODULES id="juce_data_structures" showAllCode="1" useLocalCopy="1"/>
|
||||
<MODULES id="juce_events" showAllCode="1" useLocalCopy="1"/>
|
||||
<MODULES id="juce_graphics" showAllCode="1" useLocalCopy="1"/>
|
||||
<MODULES id="juce_gui_basics" showAllCode="1" useLocalCopy="1"/>
|
||||
<MODULES id="juce_gui_extra" showAllCode="1" useLocalCopy="1"/>
|
||||
<MODULES id="juce_opengl" showAllCode="1" useLocalCopy="1"/>
|
||||
<MODULES id="juce_video" showAllCode="1" useLocalCopy="1"/>
|
||||
</MODULES>
|
||||
<JUCEOPTIONS JUCE_QUICKTIME="disabled"/>
|
||||
<EXPORTFORMATS>
|
||||
<VS2013 targetFolder="Builds/VisualStudio2013" vstFolder="C:\code\audio\vstsdk2.4"
|
||||
externalLibraries="" toolset="v120_xp">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
|
||||
isDebug="1" optimisation="1" targetName="JuceOPLVSTi"/>
|
||||
<CONFIGURATION name="Release - 64-bit" winWarningLevel="4" generateManifest="1"
|
||||
winArchitecture="x64" isDebug="0" optimisation="3" targetName="JuceOPLVSTi"/>
|
||||
<CONFIGURATION name="Release - 32-bit" winWarningLevel="4" generateManifest="1"
|
||||
winArchitecture="32-bit" isDebug="0" optimisation="3" targetName="JuceOPLVSTi"/>
|
||||
</CONFIGURATIONS>
|
||||
<MODULEPATHS>
|
||||
<MODULEPATH id="juce_audio_devices" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_audio_formats" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_audio_plugin_client" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_audio_processors" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_core" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_cryptography" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_data_structures" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_events" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_graphics" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_gui_basics" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_gui_extra" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_opengl" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_video" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_audio_basics" path="../JUCE/modules"/>
|
||||
</MODULEPATHS>
|
||||
</VS2013>
|
||||
<XCODE_MAC targetFolder="Builds/MacOSX" vstFolder="~/SDKs/vstsdk2.4" postbuildCommand=" # This script takes the build product and copies it to the AU, VST, VST3, RTAS and AAX folders, depending on # which plugin types you've built original=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME # this looks inside the binary to detect which platforms are needed.. copyAU=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'AudioUnit' | wc -l` copyVST=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'VSTPlugin' | wc -l` copyVST3=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'GetPluginFactory' | wc -l` copyRTAS=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'CProcess' | wc -l` copyAAX=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'ACFStartup' | wc -l` if [ $copyAU -gt 0 ]; then echo "Copying to AudioUnit folder..." AU=~/Library/Audio/Plug-Ins/Components/$PRODUCT_NAME.component if [ -d "$AU" ]; then rm -r "$AU" fi cp -r "$original" "$AU" sed -i "" -e 's/TDMwPTul/BNDLPTul/g' "$AU/Contents/PkgInfo" sed -i "" -e 's/TDMw/BNDL/g' "$AU/Contents/$INFOPLIST_FILE" # Fix info.plist for AUs built with Xcode 3 if [ -f "$DEVELOPER_DIR/Library/Developer/CoreAudio/AudioUnits/AUPublic/AUBase/AUPlugInDispatch.cpp" ]; then echo else echo "Removing AudioComponents entry from Info.plist because this is not a new-format AU" /usr/libexec/PlistBuddy -c "Delete AudioComponents" "$AU/Contents/Info.plist" fi fi if [ $copyVST -gt 0 ]; then echo "Copying to VST folder..." VST=~/Library/Audio/Plug-Ins/VST/$PRODUCT_NAME.vst if [ -d "$VST" ]; then rm -r "$VST" fi cp -r "$original" "$VST" sed -i "" -e 's/TDMwPTul/BNDLPTul/g' "$VST/Contents/PkgInfo" sed -i "" -e 's/TDMw/BNDL/g' "$VST/Contents/$INFOPLIST_FILE" fi if [ $copyVST3 -gt 0 ]; then echo "Copying to VST3 folder..." VST3=~/Library/Audio/Plug-Ins/VST3/$PRODUCT_NAME.vst3 if [ -d "$VST3" ]; then rm -r "$VST3" fi cp -r "$original" "$VST3" sed -i "" -e 's/TDMwPTul/BNDLPTul/g' "$VST3/Contents/PkgInfo" sed -i "" -e 's/TDMw/BNDL/g' "$VST3/Contents/$INFOPLIST_FILE" fi if [ $copyRTAS -gt 0 ]; then echo "Copying to RTAS folder..." RTAS=/Library/Application\ Support/Digidesign/Plug-Ins/$PRODUCT_NAME.dpm if [ -d "$RTAS" ]; then rm -r "$RTAS" fi cp -r "$original" "$RTAS" fi if [ $copyAAX -gt 0 ]; then echo "Copying to AAX folder..." if [ -d "/Applications/ProTools_3PDev/Plug-Ins" ]; then AAX1="/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin" if [ -d "$AAX1" ]; then rm -r "$AAX1" fi cp -R -H "$original" "$AAX1" fi if [ -d "/Library/Application Support/Avid/Audio/Plug-Ins" ]; then AAX2="/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin" if [ -d "$AAX2" ]; then rm -r "$AAX2" fi cp -R -H "$original" "$AAX2" fi fi ">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION name="Debug" osxSDK="default" osxCompatibility="default" osxArchitecture="32BitUniversal"
|
||||
isDebug="1" optimisation="1" targetName="JuceOPL"/>
|
||||
<CONFIGURATION name="Release" osxSDK="default" osxCompatibility="default" osxArchitecture="64BitUniversal"
|
||||
isDebug="0" optimisation="2" targetName="JuceOPL" cppLibType="libc++"/>
|
||||
</CONFIGURATIONS>
|
||||
<MODULEPATHS>
|
||||
<MODULEPATH id="juce_video" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_opengl" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_gui_extra" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_gui_basics" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_graphics" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_events" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_data_structures" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_cryptography" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_core" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_audio_processors" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_audio_plugin_client" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_audio_formats" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_audio_devices" path="../JUCE/modules"/>
|
||||
<MODULEPATH id="juce_audio_basics" path="../JUCE/modules"/>
|
||||
</MODULEPATHS>
|
||||
</XCODE_MAC>
|
||||
</EXPORTFORMATS>
|
||||
</JUCERPROJECT>
|
|
@ -7,7 +7,7 @@
|
|||
the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
|
||||
and re-saved.
|
||||
|
||||
Created with Introjucer version: 3.1.0
|
||||
Created with Introjucer version: 3.1.1
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
@ -28,10 +28,10 @@ void PluginGui::updateFromParameters()
|
|||
{
|
||||
emulatorSlider->setValue(processor->getEnumParameter("Emulator"), juce::NotificationType::dontSendNotification);
|
||||
setRecordButtonState(processor->isThisInstanceRecording());
|
||||
|
||||
|
||||
/// setToggleState(bool, bool) is deprecated.
|
||||
/// Jeff-Russ replaced the second arg of "false" with dontSendNotification:
|
||||
|
||||
|
||||
sineImageButton->setToggleState(false, dontSendNotification);
|
||||
halfsineImageButton->setToggleState(false, dontSendNotification);
|
||||
abssineImageButton->setToggleState(false, dontSendNotification);
|
||||
|
@ -69,10 +69,10 @@ void PluginGui::updateFromParameters()
|
|||
case 6: squareImageButton2->setToggleState(true, dontSendNotification); break;
|
||||
case 7: logsawImageButton2->setToggleState(true, dontSendNotification); break;
|
||||
}
|
||||
|
||||
|
||||
/// setSelectedItemIndex(bool, bool) is deprecated.
|
||||
/// Jeff-Russ replaced the second arg of "true" with "sendNotificationAsync":
|
||||
|
||||
|
||||
frequencyComboBox->setSelectedItemIndex (
|
||||
processor->getEnumParameter("Modulator Frequency Multiplier"),
|
||||
sendNotificationAsync);
|
||||
|
@ -91,7 +91,7 @@ void PluginGui::updateFromParameters()
|
|||
dSlider2->setValue(processor->getIntParameter("Carrier Decay"), juce::NotificationType::dontSendNotification);
|
||||
sSlider2->setValue(processor->getIntParameter("Carrier Sustain Level"), juce::NotificationType::dontSendNotification);
|
||||
rSlider2->setValue(processor->getIntParameter("Carrier Release"), juce::NotificationType::dontSendNotification);
|
||||
|
||||
|
||||
/// Jeff-Russ replaced the second arg of "true" with "sendNotificationAsync":
|
||||
|
||||
keyscaleAttenuationComboBox->setSelectedItemIndex (
|
||||
|
|
|
@ -1,193 +1,193 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This is an automatically generated GUI class created by the Introjucer!
|
||||
|
||||
Be careful when adding custom code to these files, as only the code within
|
||||
the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
|
||||
and re-saved.
|
||||
|
||||
Created with Introjucer version: 3.1.0
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions"
|
||||
Copyright 2004-13 by Raw Material Software Ltd.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
#ifndef __JUCE_HEADER_450C07F5C14097B8__
|
||||
#define __JUCE_HEADER_450C07F5C14097B8__
|
||||
|
||||
//[Headers] -- You can add your own extra header files here --
|
||||
#include <array>
|
||||
#include "JuceHeader.h"
|
||||
#include "PluginProcessor.h"
|
||||
//[/Headers]
|
||||
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/**
|
||||
//[Comments]
|
||||
This is a GUI for the OPL2 VST plugin, created in Juce.
|
||||
//[/Comments]
|
||||
*/
|
||||
class PluginGui : public AudioProcessorEditor,
|
||||
public FileDragAndDropTarget,
|
||||
public DragAndDropContainer,
|
||||
public Timer,
|
||||
public ComboBoxListener,
|
||||
public SliderListener,
|
||||
public ButtonListener
|
||||
{
|
||||
public:
|
||||
//==============================================================================
|
||||
PluginGui (JuceOplvstiAudioProcessor* ownerFilter);
|
||||
~PluginGui();
|
||||
|
||||
//==============================================================================
|
||||
//[UserMethods] -- You can add your own custom methods in this section.
|
||||
void updateFromParameters();
|
||||
bool isInterestedInFileDrag (const StringArray& files);
|
||||
void fileDragEnter (const StringArray& files, int x, int y);
|
||||
void fileDragMove (const StringArray& files, int x, int y);
|
||||
void fileDragExit (const StringArray& files);
|
||||
void filesDropped (const StringArray& files, int x, int y);
|
||||
void timerCallback();
|
||||
void setRecordButtonState(bool recording);
|
||||
//[/UserMethods]
|
||||
|
||||
void paint (Graphics& g);
|
||||
void resized();
|
||||
void comboBoxChanged (ComboBox* comboBoxThatHasChanged);
|
||||
void sliderValueChanged (Slider* sliderThatWasMoved);
|
||||
void buttonClicked (Button* buttonThatWasClicked);
|
||||
|
||||
// Binary resources:
|
||||
static const char* full_sine_png;
|
||||
static const int full_sine_pngSize;
|
||||
static const char* half_sine_png;
|
||||
static const int half_sine_pngSize;
|
||||
static const char* abs_sine_png;
|
||||
static const int abs_sine_pngSize;
|
||||
static const char* quarter_sine_png;
|
||||
static const int quarter_sine_pngSize;
|
||||
static const char* camel_sine_png;
|
||||
static const int camel_sine_pngSize;
|
||||
static const char* alternating_sine_png;
|
||||
static const int alternating_sine_pngSize;
|
||||
static const char* square_png;
|
||||
static const int square_pngSize;
|
||||
static const char* logarithmic_saw_png;
|
||||
static const int logarithmic_saw_pngSize;
|
||||
static const char* channeloff_png;
|
||||
static const int channeloff_pngSize;
|
||||
static const char* channelon_png;
|
||||
static const int channelon_pngSize;
|
||||
|
||||
|
||||
private:
|
||||
//[UserVariables] -- You can add your own custom variables in this section.
|
||||
static const uint32 COLOUR_MID = 0xff007f00;
|
||||
static const uint32 COLOUR_RECORDING = 0xffff0000;
|
||||
JuceOplvstiAudioProcessor* processor;
|
||||
std::array<ScopedPointer<Label>, Hiopl::CHANNELS> channels;
|
||||
TooltipWindow tooltipWindow;
|
||||
//[/UserVariables]
|
||||
|
||||
//==============================================================================
|
||||
ScopedPointer<GroupComponent> groupComponent;
|
||||
ScopedPointer<ComboBox> frequencyComboBox;
|
||||
ScopedPointer<Label> frequencyLabel;
|
||||
ScopedPointer<Slider> aSlider;
|
||||
ScopedPointer<Label> aLabel;
|
||||
ScopedPointer<Slider> dSlider;
|
||||
ScopedPointer<Label> dLabel;
|
||||
ScopedPointer<Slider> sSlider;
|
||||
ScopedPointer<Label> dLabel2;
|
||||
ScopedPointer<Slider> rSlider;
|
||||
ScopedPointer<Label> rLabel;
|
||||
ScopedPointer<Slider> attenuationSlider;
|
||||
ScopedPointer<Label> attenuationLabel;
|
||||
ScopedPointer<Label> dbLabel;
|
||||
ScopedPointer<ImageButton> sineImageButton;
|
||||
ScopedPointer<ImageButton> halfsineImageButton;
|
||||
ScopedPointer<ImageButton> abssineImageButton;
|
||||
ScopedPointer<ImageButton> quartersineImageButton;
|
||||
ScopedPointer<Label> waveLabel;
|
||||
ScopedPointer<ToggleButton> tremoloButton;
|
||||
ScopedPointer<ToggleButton> vibratoButton;
|
||||
ScopedPointer<ToggleButton> sustainButton;
|
||||
ScopedPointer<ToggleButton> keyscaleEnvButton;
|
||||
ScopedPointer<Label> frequencyLabel2;
|
||||
ScopedPointer<Label> dbLabel2;
|
||||
ScopedPointer<GroupComponent> groupComponent2;
|
||||
ScopedPointer<ComboBox> frequencyComboBox2;
|
||||
ScopedPointer<Label> frequencyLabel3;
|
||||
ScopedPointer<Slider> aSlider2;
|
||||
ScopedPointer<Label> aLabel2;
|
||||
ScopedPointer<Slider> dSlider2;
|
||||
ScopedPointer<Label> dLabel3;
|
||||
ScopedPointer<Slider> sSlider2;
|
||||
ScopedPointer<Label> dLabel4;
|
||||
ScopedPointer<Slider> rSlider2;
|
||||
ScopedPointer<Label> rLabel2;
|
||||
ScopedPointer<Slider> attenuationSlider2;
|
||||
ScopedPointer<Label> attenuationLabel2;
|
||||
ScopedPointer<Label> dbLabel3;
|
||||
ScopedPointer<ImageButton> sineImageButton2;
|
||||
ScopedPointer<ImageButton> halfsineImageButton2;
|
||||
ScopedPointer<ImageButton> abssineImageButton2;
|
||||
ScopedPointer<ImageButton> quartersineImageButton2;
|
||||
ScopedPointer<Label> waveLabel2;
|
||||
ScopedPointer<ToggleButton> tremoloButton2;
|
||||
ScopedPointer<ToggleButton> vibratoButton2;
|
||||
ScopedPointer<ToggleButton> sustainButton2;
|
||||
ScopedPointer<ToggleButton> keyscaleEnvButton2;
|
||||
ScopedPointer<Label> frequencyLabel4;
|
||||
ScopedPointer<GroupComponent> groupComponent3;
|
||||
ScopedPointer<Slider> tremoloSlider;
|
||||
ScopedPointer<Label> frequencyLabel5;
|
||||
ScopedPointer<Label> dbLabel5;
|
||||
ScopedPointer<Slider> vibratoSlider;
|
||||
ScopedPointer<Label> frequencyLabel6;
|
||||
ScopedPointer<Label> dbLabel6;
|
||||
ScopedPointer<Slider> feedbackSlider;
|
||||
ScopedPointer<Label> frequencyLabel7;
|
||||
ScopedPointer<ComboBox> velocityComboBox;
|
||||
ScopedPointer<Label> attenuationLabel3;
|
||||
ScopedPointer<ComboBox> velocityComboBox2;
|
||||
ScopedPointer<Label> attenuationLabel4;
|
||||
ScopedPointer<ImageButton> alternatingsineImageButton;
|
||||
ScopedPointer<ImageButton> camelsineImageButton;
|
||||
ScopedPointer<ImageButton> squareImageButton;
|
||||
ScopedPointer<ImageButton> logsawImageButton;
|
||||
ScopedPointer<ImageButton> alternatingsineImageButton2;
|
||||
ScopedPointer<ImageButton> camelsineImageButton2;
|
||||
ScopedPointer<ImageButton> squareImageButton2;
|
||||
ScopedPointer<ImageButton> logsawImageButton2;
|
||||
ScopedPointer<ComboBox> algorithmComboBox;
|
||||
ScopedPointer<Label> frequencyLabel8;
|
||||
ScopedPointer<Label> dbLabel4;
|
||||
ScopedPointer<ComboBox> keyscaleAttenuationComboBox2;
|
||||
ScopedPointer<ComboBox> keyscaleAttenuationComboBox;
|
||||
ScopedPointer<GroupComponent> groupComponent4;
|
||||
ScopedPointer<GroupComponent> groupComponent5;
|
||||
ScopedPointer<Slider> emulatorSlider;
|
||||
ScopedPointer<Label> emulatorLabel;
|
||||
ScopedPointer<Label> emulatorLabel2;
|
||||
ScopedPointer<ToggleButton> recordButton;
|
||||
ScopedPointer<ComboBox> percussionComboBox;
|
||||
ScopedPointer<Label> percussionLabel;
|
||||
|
||||
|
||||
//==============================================================================
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PluginGui)
|
||||
};
|
||||
|
||||
//[EndFile] You can add extra defines here...
|
||||
//[/EndFile]
|
||||
|
||||
#endif // __JUCE_HEADER_450C07F5C14097B8__
|
||||
/*
|
||||
==============================================================================
|
||||
|
||||
This is an automatically generated GUI class created by the Introjucer!
|
||||
|
||||
Be careful when adding custom code to these files, as only the code within
|
||||
the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
|
||||
and re-saved.
|
||||
|
||||
Created with Introjucer version: 3.1.1
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions"
|
||||
Copyright 2004-13 by Raw Material Software Ltd.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
#ifndef __JUCE_HEADER_450C07F5C14097B8__
|
||||
#define __JUCE_HEADER_450C07F5C14097B8__
|
||||
|
||||
//[Headers] -- You can add your own extra header files here --
|
||||
#include <array>
|
||||
#include "JuceHeader.h"
|
||||
#include "PluginProcessor.h"
|
||||
//[/Headers]
|
||||
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/**
|
||||
//[Comments]
|
||||
This is a GUI for the OPL2 VST plugin, created in Juce.
|
||||
//[/Comments]
|
||||
*/
|
||||
class PluginGui : public AudioProcessorEditor,
|
||||
public FileDragAndDropTarget,
|
||||
public DragAndDropContainer,
|
||||
public Timer,
|
||||
public ComboBoxListener,
|
||||
public SliderListener,
|
||||
public ButtonListener
|
||||
{
|
||||
public:
|
||||
//==============================================================================
|
||||
PluginGui (JuceOplvstiAudioProcessor* ownerFilter);
|
||||
~PluginGui();
|
||||
|
||||
//==============================================================================
|
||||
//[UserMethods] -- You can add your own custom methods in this section.
|
||||
void updateFromParameters();
|
||||
bool isInterestedInFileDrag (const StringArray& files);
|
||||
void fileDragEnter (const StringArray& files, int x, int y);
|
||||
void fileDragMove (const StringArray& files, int x, int y);
|
||||
void fileDragExit (const StringArray& files);
|
||||
void filesDropped (const StringArray& files, int x, int y);
|
||||
void timerCallback();
|
||||
void setRecordButtonState(bool recording);
|
||||
//[/UserMethods]
|
||||
|
||||
void paint (Graphics& g);
|
||||
void resized();
|
||||
void comboBoxChanged (ComboBox* comboBoxThatHasChanged);
|
||||
void sliderValueChanged (Slider* sliderThatWasMoved);
|
||||
void buttonClicked (Button* buttonThatWasClicked);
|
||||
|
||||
// Binary resources:
|
||||
static const char* full_sine_png;
|
||||
static const int full_sine_pngSize;
|
||||
static const char* half_sine_png;
|
||||
static const int half_sine_pngSize;
|
||||
static const char* abs_sine_png;
|
||||
static const int abs_sine_pngSize;
|
||||
static const char* quarter_sine_png;
|
||||
static const int quarter_sine_pngSize;
|
||||
static const char* camel_sine_png;
|
||||
static const int camel_sine_pngSize;
|
||||
static const char* alternating_sine_png;
|
||||
static const int alternating_sine_pngSize;
|
||||
static const char* square_png;
|
||||
static const int square_pngSize;
|
||||
static const char* logarithmic_saw_png;
|
||||
static const int logarithmic_saw_pngSize;
|
||||
static const char* channeloff_png;
|
||||
static const int channeloff_pngSize;
|
||||
static const char* channelon_png;
|
||||
static const int channelon_pngSize;
|
||||
|
||||
|
||||
private:
|
||||
//[UserVariables] -- You can add your own custom variables in this section.
|
||||
static const uint32 COLOUR_MID = 0xff007f00;
|
||||
static const uint32 COLOUR_RECORDING = 0xffff0000;
|
||||
JuceOplvstiAudioProcessor* processor;
|
||||
std::array<ScopedPointer<Label>, Hiopl::CHANNELS> channels;
|
||||
TooltipWindow tooltipWindow;
|
||||
//[/UserVariables]
|
||||
|
||||
//==============================================================================
|
||||
ScopedPointer<GroupComponent> groupComponent;
|
||||
ScopedPointer<ComboBox> frequencyComboBox;
|
||||
ScopedPointer<Label> frequencyLabel;
|
||||
ScopedPointer<Slider> aSlider;
|
||||
ScopedPointer<Label> aLabel;
|
||||
ScopedPointer<Slider> dSlider;
|
||||
ScopedPointer<Label> dLabel;
|
||||
ScopedPointer<Slider> sSlider;
|
||||
ScopedPointer<Label> dLabel2;
|
||||
ScopedPointer<Slider> rSlider;
|
||||
ScopedPointer<Label> rLabel;
|
||||
ScopedPointer<Slider> attenuationSlider;
|
||||
ScopedPointer<Label> attenuationLabel;
|
||||
ScopedPointer<Label> dbLabel;
|
||||
ScopedPointer<ImageButton> sineImageButton;
|
||||
ScopedPointer<ImageButton> halfsineImageButton;
|
||||
ScopedPointer<ImageButton> abssineImageButton;
|
||||
ScopedPointer<ImageButton> quartersineImageButton;
|
||||
ScopedPointer<Label> waveLabel;
|
||||
ScopedPointer<ToggleButton> tremoloButton;
|
||||
ScopedPointer<ToggleButton> vibratoButton;
|
||||
ScopedPointer<ToggleButton> sustainButton;
|
||||
ScopedPointer<ToggleButton> keyscaleEnvButton;
|
||||
ScopedPointer<Label> frequencyLabel2;
|
||||
ScopedPointer<Label> dbLabel2;
|
||||
ScopedPointer<GroupComponent> groupComponent2;
|
||||
ScopedPointer<ComboBox> frequencyComboBox2;
|
||||
ScopedPointer<Label> frequencyLabel3;
|
||||
ScopedPointer<Slider> aSlider2;
|
||||
ScopedPointer<Label> aLabel2;
|
||||
ScopedPointer<Slider> dSlider2;
|
||||
ScopedPointer<Label> dLabel3;
|
||||
ScopedPointer<Slider> sSlider2;
|
||||
ScopedPointer<Label> dLabel4;
|
||||
ScopedPointer<Slider> rSlider2;
|
||||
ScopedPointer<Label> rLabel2;
|
||||
ScopedPointer<Slider> attenuationSlider2;
|
||||
ScopedPointer<Label> attenuationLabel2;
|
||||
ScopedPointer<Label> dbLabel3;
|
||||
ScopedPointer<ImageButton> sineImageButton2;
|
||||
ScopedPointer<ImageButton> halfsineImageButton2;
|
||||
ScopedPointer<ImageButton> abssineImageButton2;
|
||||
ScopedPointer<ImageButton> quartersineImageButton2;
|
||||
ScopedPointer<Label> waveLabel2;
|
||||
ScopedPointer<ToggleButton> tremoloButton2;
|
||||
ScopedPointer<ToggleButton> vibratoButton2;
|
||||
ScopedPointer<ToggleButton> sustainButton2;
|
||||
ScopedPointer<ToggleButton> keyscaleEnvButton2;
|
||||
ScopedPointer<Label> frequencyLabel4;
|
||||
ScopedPointer<GroupComponent> groupComponent3;
|
||||
ScopedPointer<Slider> tremoloSlider;
|
||||
ScopedPointer<Label> frequencyLabel5;
|
||||
ScopedPointer<Label> dbLabel5;
|
||||
ScopedPointer<Slider> vibratoSlider;
|
||||
ScopedPointer<Label> frequencyLabel6;
|
||||
ScopedPointer<Label> dbLabel6;
|
||||
ScopedPointer<Slider> feedbackSlider;
|
||||
ScopedPointer<Label> frequencyLabel7;
|
||||
ScopedPointer<ComboBox> velocityComboBox;
|
||||
ScopedPointer<Label> attenuationLabel3;
|
||||
ScopedPointer<ComboBox> velocityComboBox2;
|
||||
ScopedPointer<Label> attenuationLabel4;
|
||||
ScopedPointer<ImageButton> alternatingsineImageButton;
|
||||
ScopedPointer<ImageButton> camelsineImageButton;
|
||||
ScopedPointer<ImageButton> squareImageButton;
|
||||
ScopedPointer<ImageButton> logsawImageButton;
|
||||
ScopedPointer<ImageButton> alternatingsineImageButton2;
|
||||
ScopedPointer<ImageButton> camelsineImageButton2;
|
||||
ScopedPointer<ImageButton> squareImageButton2;
|
||||
ScopedPointer<ImageButton> logsawImageButton2;
|
||||
ScopedPointer<ComboBox> algorithmComboBox;
|
||||
ScopedPointer<Label> frequencyLabel8;
|
||||
ScopedPointer<Label> dbLabel4;
|
||||
ScopedPointer<ComboBox> keyscaleAttenuationComboBox2;
|
||||
ScopedPointer<ComboBox> keyscaleAttenuationComboBox;
|
||||
ScopedPointer<GroupComponent> groupComponent4;
|
||||
ScopedPointer<GroupComponent> groupComponent5;
|
||||
ScopedPointer<Slider> emulatorSlider;
|
||||
ScopedPointer<Label> emulatorLabel;
|
||||
ScopedPointer<Label> emulatorLabel2;
|
||||
ScopedPointer<ToggleButton> recordButton;
|
||||
ScopedPointer<ComboBox> percussionComboBox;
|
||||
ScopedPointer<Label> percussionLabel;
|
||||
|
||||
|
||||
//==============================================================================
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PluginGui)
|
||||
};
|
||||
|
||||
//[EndFile] You can add extra defines here...
|
||||
//[/EndFile]
|
||||
|
||||
#endif // __JUCE_HEADER_450C07F5C14097B8__
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
dummy
|
Loading…
Reference in a new issue