/*
==============================================================================
This is an automatically generated GUI class created by the Projucer!
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 Projucer version: 5.4.4
------------------------------------------------------------------------------
The Projucer is part of the JUCE library.
Copyright (c) 2017 - ROLI Ltd.
==============================================================================
*/
//[Headers] You can add your own extra header files here...
#include "AudioParameters.h"
//[/Headers]
#include "GuiTVF.h"
//[MiscUserDefs] You can add your own user definitions and misc code here...
//[/MiscUserDefs]
//==============================================================================
GuiTVF::GuiTVF ( const String& name, const String & text)
: GroupComponent (name, text)
{
//[Constructor_pre] You can add your own custom stuff here..
molossLNF = std::make_unique< MolossLookNFeel>(MolossLookNFeel::RED_LNF);
setLookAndFeel(molossLNF.get());
//[/Constructor_pre]
setName ("GuiTVF");
frequency.reset (new Slider ("frequency"));
addAndMakeVisible (frequency.get());
frequency->setTooltip (TRANS("Filter cutoff frequency"));
frequency->setRange (0, 100, 1);
frequency->setSliderStyle (Slider::RotaryVerticalDrag);
frequency->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelFreq.reset (new Label ("labelFreq",
TRANS("Freq.")));
addAndMakeVisible (labelFreq.get());
labelFreq->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelFreq->setJustificationType (Justification::centredLeft);
labelFreq->setEditable (false, false, false);
labelFreq->setColour (TextEditor::textColourId, Colours::black);
labelFreq->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
groupLFO.reset (new GuiLFO ("groupLFO",
TRANS("LFO")));
addAndMakeVisible (groupLFO.get());
groupLFO->setBounds (16, 504, 238, 190);
groupADSR.reset (new GuiADSR ("groupADSR",
TRANS("ADSR")));
addAndMakeVisible (groupADSR.get());
groupADSR->setBounds (8, 312, 256, 200);
resonance.reset (new Slider ("frequency"));
addAndMakeVisible (resonance.get());
resonance->setTooltip (TRANS("Filter cutoff resonance"));
resonance->setRange (0, 100, 1);
resonance->setSliderStyle (Slider::RotaryVerticalDrag);
resonance->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelReso.reset (new Label ("labelReso",
TRANS("Reso.")));
addAndMakeVisible (labelReso.get());
labelReso->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelReso->setJustificationType (Justification::centredLeft);
labelReso->setEditable (false, false, false);
labelReso->setColour (TextEditor::textColourId, Colours::black);
labelReso->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
freqKF.reset (new Slider ("freqKF"));
addAndMakeVisible (freqKF.get());
freqKF->setTooltip (TRANS("Key Follow : Influence of note on filter frequency"));
freqKF->setRange (-100, 100, 1);
freqKF->setSliderStyle (Slider::RotaryVerticalDrag);
freqKF->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelFreqKF.reset (new Label ("labelFreqKF",
TRANS("KF>Frq")));
addAndMakeVisible (labelFreqKF.get());
labelFreqKF->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelFreqKF->setJustificationType (Justification::centred);
labelFreqKF->setEditable (false, false, false);
labelFreqKF->setColour (TextEditor::textColourId, Colours::black);
labelFreqKF->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
freqVel.reset (new Slider ("freqVel"));
addAndMakeVisible (freqVel.get());
freqVel->setTooltip (TRANS("Influence of velocity on filter frequency. The louder the brighter."));
freqVel->setRange (0, 100, 1);
freqVel->setSliderStyle (Slider::RotaryVerticalDrag);
freqVel->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelFreqVel.reset (new Label ("labelFreqVel",
TRANS("Vel>Frq")));
addAndMakeVisible (labelFreqVel.get());
labelFreqVel->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelFreqVel->setJustificationType (Justification::centred);
labelFreqVel->setEditable (false, false, false);
labelFreqVel->setColour (TextEditor::textColourId, Colours::black);
labelFreqVel->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
resKF.reset (new Slider ("resKF"));
addAndMakeVisible (resKF.get());
resKF->setTooltip (TRANS("Key Follow : Influence of note on filter resonance"));
resKF->setRange (-100, 100, 1);
resKF->setSliderStyle (Slider::RotaryVerticalDrag);
resKF->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelResKF.reset (new Label ("labelResKF",
TRANS("KF>Res")));
addAndMakeVisible (labelResKF.get());
labelResKF->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelResKF->setJustificationType (Justification::centred);
labelResKF->setEditable (false, false, false);
labelResKF->setColour (TextEditor::textColourId, Colours::black);
labelResKF->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
resVel.reset (new Slider ("resVel"));
addAndMakeVisible (resVel.get());
resVel->setTooltip (TRANS("Influence of velocity on the filter resonance."));
resVel->setRange (0, 100, 1);
resVel->setSliderStyle (Slider::RotaryVerticalDrag);
resVel->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelFreqVel2.reset (new Label ("labelFreqVel",
TRANS("Vel>Res")));
addAndMakeVisible (labelFreqVel2.get());
labelFreqVel2->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelFreqVel2->setJustificationType (Justification::centred);
labelFreqVel2->setEditable (false, false, false);
labelFreqVel2->setColour (TextEditor::textColourId, Colours::black);
labelFreqVel2->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
copyButton.reset (new TextButton ("copyButton"));
addAndMakeVisible (copyButton.get());
copyButton->setTooltip (TRANS("Copy TVF Parameters"));
copyButton->setButtonText (TRANS("C"));
copyButton->addListener (this);
pasteButton.reset (new TextButton ("pasteButton"));
addAndMakeVisible (pasteButton.get());
pasteButton->setTooltip (TRANS("Paste TVF Parameters"));
pasteButton->setButtonText (TRANS("P"));
pasteButton->addListener (this);
pasteButton->setBounds (227, 87, 24, 24);
lowCutFreq.reset (new Slider ("lowCutFreq"));
addAndMakeVisible (lowCutFreq.get());
lowCutFreq->setTooltip (TRANS("Low cut frequency"));
lowCutFreq->setRange (0, 100, 1);
lowCutFreq->setSliderStyle (Slider::RotaryVerticalDrag);
lowCutFreq->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelFreqLow.reset (new Label ("labelFreqLow",
TRANS("Low cut")));
addAndMakeVisible (labelFreqLow.get());
labelFreqLow->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelFreqLow->setJustificationType (Justification::centredLeft);
labelFreqLow->setEditable (false, false, false);
labelFreqLow->setColour (TextEditor::textColourId, Colours::black);
labelFreqLow->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
midFreq.reset (new Slider ("midFreq"));
addAndMakeVisible (midFreq.get());
midFreq->setTooltip (TRANS("Mid EQ Frequency"));
midFreq->setRange (0, 100, 1);
midFreq->setSliderStyle (Slider::RotaryVerticalDrag);
midFreq->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelLevel.reset (new Label ("labelLevel",
TRANS("Mid Freq")));
addAndMakeVisible (labelLevel.get());
labelLevel->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelLevel->setJustificationType (Justification::centredLeft);
labelLevel->setEditable (false, false, false);
labelLevel->setColour (TextEditor::textColourId, Colours::black);
labelLevel->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
midQ.reset (new Slider ("midQ"));
addAndMakeVisible (midQ.get());
midQ->setTooltip (TRANS("Mid EQ Quality factor"));
midQ->setRange (-100, 100, 1);
midQ->setSliderStyle (Slider::RotaryVerticalDrag);
midQ->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelKF.reset (new Label ("labelKF",
TRANS("Gain")));
addAndMakeVisible (labelKF.get());
labelKF->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelKF->setJustificationType (Justification::centred);
labelKF->setEditable (false, false, false);
labelKF->setColour (TextEditor::textColourId, Colours::black);
labelKF->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
midGain.reset (new Slider ("midGain"));
addAndMakeVisible (midGain.get());
midGain->setTooltip (TRANS("Mid EQ Gain"));
midGain->setRange (0, 100, 1);
midGain->setSliderStyle (Slider::RotaryVerticalDrag);
midGain->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelKF2.reset (new Label ("labelKF",
TRANS("Q")));
addAndMakeVisible (labelKF2.get());
labelKF2->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelKF2->setJustificationType (Justification::centredLeft);
labelKF2->setEditable (false, false, false);
labelKF2->setColour (TextEditor::textColourId, Colours::black);
labelKF2->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
groupLink.reset (new ComboBox ("groupLink"));
addAndMakeVisible (groupLink.get());
groupLink->setTooltip (TRANS("Group to which the TVF of this voice is linked. All voices of a group have the same TVF parameters."));
groupLink->setEditableText (false);
groupLink->setJustificationType (Justification::centred);
groupLink->setTextWhenNothingSelected (String());
groupLink->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
groupLink->addListener (this);
adsrDepth.reset (new Slider ("adsrDepth"));
addAndMakeVisible (adsrDepth.get());
adsrDepth->setTooltip (TRANS("Envelope depth. 0 is a shortcut for square envelope (ADSR parameters are not used)."));
adsrDepth->setRange (-100, 100, 1);
adsrDepth->setSliderStyle (Slider::RotaryVerticalDrag);
adsrDepth->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelADSRDepth.reset (new Label ("labelADSRDepth",
TRANS("ADSR")));
addAndMakeVisible (labelADSRDepth.get());
labelADSRDepth->setTooltip (TRANS("ADSR Depth"));
labelADSRDepth->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelADSRDepth->setJustificationType (Justification::centred);
labelADSRDepth->setEditable (false, false, false);
labelADSRDepth->setColour (TextEditor::textColourId, Colours::black);
labelADSRDepth->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
lfoDepth.reset (new Slider ("lfoDepth"));
addAndMakeVisible (lfoDepth.get());
lfoDepth->setTooltip (TRANS("LFO depth. Positive and negative values are in phase opposition."));
lfoDepth->setRange (0, 100, 1);
lfoDepth->setSliderStyle (Slider::RotaryVerticalDrag);
lfoDepth->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelDepth.reset (new Label ("labelDepth",
TRANS("LFO")));
addAndMakeVisible (labelDepth.get());
labelDepth->setTooltip (TRANS("LFO Depth"));
labelDepth->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelDepth->setJustificationType (Justification::centred);
labelDepth->setEditable (false, false, false);
labelDepth->setColour (TextEditor::textColourId, Colours::black);
labelDepth->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
//[UserPreSize]
//[/UserPreSize]
setSize (230, 320);
//[Constructor] You can add your own custom stuff here..
//[/Constructor]
}
GuiTVF::~GuiTVF()
{
//[Destructor_pre]. You can add your own custom destruction code here..
mAttachment = nullptr;
setLookAndFeel(nullptr);
//[/Destructor_pre]
frequency = nullptr;
labelFreq = nullptr;
groupLFO = nullptr;
groupADSR = nullptr;
resonance = nullptr;
labelReso = nullptr;
freqKF = nullptr;
labelFreqKF = nullptr;
freqVel = nullptr;
labelFreqVel = nullptr;
resKF = nullptr;
labelResKF = nullptr;
resVel = nullptr;
labelFreqVel2 = nullptr;
copyButton = nullptr;
pasteButton = nullptr;
lowCutFreq = nullptr;
labelFreqLow = nullptr;
midFreq = nullptr;
labelLevel = nullptr;
midQ = nullptr;
labelKF = nullptr;
midGain = nullptr;
labelKF2 = nullptr;
groupLink = nullptr;
adsrDepth = nullptr;
labelADSRDepth = nullptr;
lfoDepth = nullptr;
labelDepth = nullptr;
//[Destructor]. You can add your own custom destruction code here..
//[/Destructor]
}
//==============================================================================
void GuiTVF::paint (Graphics& g)
{
//[UserPrePaint] Add your own custom painting code here..
GroupComponent::paint(g);
//[/UserPrePaint]
//[UserPaint] Add your own custom painting code here..
//[/UserPaint]
}
void GuiTVF::resized()
{
//[UserPreResize] Add your own custom resize code here..
//[/UserPreResize]
frequency->setBounds (36 - (56 / 2), 67 - (72 / 2), 56, 72);
labelFreq->setBounds (36 - (47 / 2), 27 - (24 / 2), 47, 24);
resonance->setBounds (90 - (56 / 2), 67 - (72 / 2), 56, 72);
labelReso->setBounds (90 - (47 / 2), 27 - (24 / 2), 47, 24);
freqKF->setBounds (36 - (56 / 2), 151 - (72 / 2), 56, 72);
labelFreqKF->setBounds (36 - (57 / 2), 111 - (24 / 2), 57, 24);
freqVel->setBounds (90 - (56 / 2), 151 - (72 / 2), 56, 72);
labelFreqVel->setBounds (90 - (62 / 2), 111 - (24 / 2), 62, 24);
resKF->setBounds (144 - (56 / 2), 151 - (72 / 2), 56, 72);
labelResKF->setBounds (144 - (54 / 2), 111 - (24 / 2), 54, 24);
resVel->setBounds (198 - (56 / 2), 151 - (72 / 2), 56, 72);
labelFreqVel2->setBounds (198 - (56 / 2), 111 - (24 / 2), 56, 24);
copyButton->setBounds (239 - (24 / 2), 67 - (24 / 2), 24, 24);
lowCutFreq->setBounds (36 - (56 / 2), 235 - (72 / 2), 56, 72);
labelFreqLow->setBounds (36 - (47 / 2), 195 - (24 / 2), 47, 24);
midFreq->setBounds (90 - (56 / 2), (235 - (72 / 2)) + 72 / 2 - (73 / 2), 56, 73);
labelLevel->setBounds (90 - (56 / 2), (195 - (24 / 2)) + 24 / 2 - (24 / 2), 56, 24);
midQ->setBounds (198 - (58 / 2), (235 - (72 / 2)) + 72 / 2 - (73 / 2), 58, 73);
labelKF->setBounds (144 - (40 / 2), (195 - (24 / 2)) + 24 / 2 - (24 / 2), 40, 24);
midGain->setBounds (144 - (56 / 2), (235 - (72 / 2)) + 72 / 2 - (73 / 2), 56, 73);
labelKF2->setBounds (198 - (26 / 2), (195 - (24 / 2)) + 24 / 2 - (24 / 2), 26, 24);
groupLink->setBounds (238 - (29 / 2), 35 - (24 / 2), 29, 24);
adsrDepth->setBounds (144 - (56 / 2), 67 - (72 / 2), 56, 72);
labelADSRDepth->setBounds (144 - (47 / 2), 27 - (24 / 2), 47, 24);
lfoDepth->setBounds (198 - (56 / 2), 67 - (72 / 2), 56, 72);
labelDepth->setBounds (198 - (47 / 2), 27 - (24 / 2), 47, 24);
//[UserResized] Add your own custom resize handling here..
//[/UserResized]
}
void GuiTVF::buttonClicked (Button* buttonThatWasClicked)
{
//[UserbuttonClicked_Pre]
//[/UserbuttonClicked_Pre]
if (buttonThatWasClicked == copyButton.get())
{
//[UserButtonCode_copyButton] -- add your button handler code here..
copy();
//[/UserButtonCode_copyButton]
}
else if (buttonThatWasClicked == pasteButton.get())
{
//[UserButtonCode_pasteButton] -- add your button handler code here..
paste();
//[/UserButtonCode_pasteButton]
}
//[UserbuttonClicked_Post]
//[/UserbuttonClicked_Post]
}
void GuiTVF::comboBoxChanged (ComboBox* comboBoxThatHasChanged)
{
//[UsercomboBoxChanged_Pre]
//[/UsercomboBoxChanged_Pre]
if (comboBoxThatHasChanged == groupLink.get())
{
//[UserComboBoxCode_groupLink] -- add your combo box handling code here..
//[/UserComboBoxCode_groupLink]
}
//[UsercomboBoxChanged_Post]
//[/UsercomboBoxChanged_Post]
}
//[MiscUserCode] You can add your own definitions of your custom methods or any other code here...
void GuiTVF::copy(String prefix)
{
mTVFParameters->copyParameters(prefix);
}
void GuiTVF::setParameters(TVFParameters * tvfParam) {
groupLFO->setParameters(tvfParam);
groupADSR->setParameters(tvfParam);
mTVFParameters = tvfParam;
mAttachment = std::make_unique<GuiAttachment>(mTVFParameters->getProcessor());
updateFromParameters();
}
void GuiTVF::updateFromParameters()
{
mAttachment->attachSlider(mTVFParameters->mFrequency, *frequency);
mAttachment->attachSlider(mTVFParameters->mKeyFollowCutoffDepth, *freqKF);
mAttachment->attachSlider(mTVFParameters->mVelocityCutoffDepth, *freqVel);
mAttachment->attachSlider(mTVFParameters->mResonance, *resonance);
mAttachment->attachSlider(mTVFParameters->mKeyFollowResonanceDepth, *resKF);
mAttachment->attachSlider(mTVFParameters->mVelocityResonanceDepth, *resVel);
mAttachment->attachSlider(mTVFParameters->mMidFrequency, *midFreq);
mAttachment->attachSlider(mTVFParameters->mMidGain, *midGain);
mAttachment->attachSlider(mTVFParameters->mMidQ, *midQ);
mAttachment->attachSlider(mTVFParameters->mLowCutFrequency, *lowCutFreq);
mAttachment->attachCombobox(mTVFParameters->mLinkGroup, *groupLink);
mAttachment->attachSlider(mTVFParameters->mADSRDepth, *adsrDepth);
mAttachment->attachSlider(mTVFParameters->mDepth, *lfoDepth);
}
void GuiTVF::paste(String prefix) {
mTVFParameters->pasteParameters(prefix);
}
//[/MiscUserCode]
//==============================================================================
#if 0
/* -- Projucer information section --
This is where the Projucer stores the metadata that describe this GUI layout, so
make changes in here at your peril!
BEGIN_JUCER_METADATA
<JUCER_COMPONENT documentType="Component" className="GuiTVF" componentName="GuiTVF"
parentClasses="public GroupComponent" constructorParams=" const String& name, const String & text"
variableInitialisers="GroupComponent (name, text)" snapPixels="8"
snapActive="1" snapShown="1" overlayOpacity="0.330" fixedSize="0"
initialWidth="230" initialHeight="320">
<BACKGROUND backgroundColour="323e44"/>
<SLIDER name="frequency" id="47970c50792f9c3" memberName="frequency"
virtualName="" explicitFocusOrder="0" pos="36c 67c 56 72" tooltip="Filter cutoff frequency"
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelFreq" id="d43004658944c0e8" memberName="labelFreq"
virtualName="" explicitFocusOrder="0" pos="35.5c 27c 47 24" edTextCol="ff000000"
edBkgCol="0" labelText="Freq." editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="33"/>
<GROUPCOMPONENT name="groupLFO" id="e688a7661f1c7439" memberName="groupLFO" virtualName="GuiLFO"
explicitFocusOrder="0" pos="16 504 238 190" title="LFO"/>
<GROUPCOMPONENT name="groupADSR" id="2631439cf016426b" memberName="groupADSR"
virtualName="GuiADSR" explicitFocusOrder="0" pos="8 312 256 200"
title="ADSR"/>
<SLIDER name="frequency" id="7b09eb2a44617626" memberName="resonance"
virtualName="" explicitFocusOrder="0" pos="90c 67c 56 72" tooltip="Filter cutoff resonance"
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelReso" id="7acf27dca0f8051b" memberName="labelReso"
virtualName="" explicitFocusOrder="0" pos="89.5c 27c 47 24" edTextCol="ff000000"
edBkgCol="0" labelText="Reso." editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="33"/>
<SLIDER name="freqKF" id="a32dbe13d7e1341a" memberName="freqKF" virtualName=""
explicitFocusOrder="0" pos="36c 151c 56 72" tooltip="Key Follow : Influence of note on filter frequency"
min="-100.0" max="100.0" int="1.0" style="RotaryVerticalDrag"
textBoxPos="TextBoxBelow" textBoxEditable="1" textBoxWidth="40"
textBoxHeight="20" skewFactor="1.0" needsCallback="0"/>
<LABEL name="labelFreqKF" id="b61445e063006a7b" memberName="labelFreqKF"
virtualName="" explicitFocusOrder="0" pos="36.5c 111c 57 24"
edTextCol="ff000000" edBkgCol="0" labelText="KF>Frq" editableSingleClick="0"
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
fontsize="15.0" kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="freqVel" id="bdbf34623bb6dec7" memberName="freqVel" virtualName=""
explicitFocusOrder="0" pos="90c 151c 56 72" tooltip="Influence of velocity on filter frequency. The louder the brighter."
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelFreqVel" id="853e2985b4bce468" memberName="labelFreqVel"
virtualName="" explicitFocusOrder="0" pos="90c 111c 62 24" edTextCol="ff000000"
edBkgCol="0" labelText="Vel>Frq" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="resKF" id="c3bdad3e25daaa0c" memberName="resKF" virtualName=""
explicitFocusOrder="0" pos="144c 151c 56 72" tooltip="Key Follow : Influence of note on filter resonance"
min="-100.0" max="100.0" int="1.0" style="RotaryVerticalDrag"
textBoxPos="TextBoxBelow" textBoxEditable="1" textBoxWidth="40"
textBoxHeight="20" skewFactor="1.0" needsCallback="0"/>
<LABEL name="labelResKF" id="c6e77fa30c870147" memberName="labelResKF"
virtualName="" explicitFocusOrder="0" pos="144c 111c 54 24" edTextCol="ff000000"
edBkgCol="0" labelText="KF>Res" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="resVel" id="4f5cd10a51774281" memberName="resVel" virtualName=""
explicitFocusOrder="0" pos="198c 151c 56 72" tooltip="Influence of velocity on the filter resonance."
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelFreqVel" id="749c1185791758a1" memberName="labelFreqVel2"
virtualName="" explicitFocusOrder="0" pos="198c 111c 56 24" edTextCol="ff000000"
edBkgCol="0" labelText="Vel>Res" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<TEXTBUTTON name="copyButton" id="36caa20fb07405f3" memberName="copyButton"
virtualName="" explicitFocusOrder="0" pos="239c 67c 24 24" tooltip="Copy TVF Parameters"
buttonText="C" connectedEdges="0" needsCallback="1" radioGroupId="0"/>
<TEXTBUTTON name="pasteButton" id="4af5e8f91f632b47" memberName="pasteButton"
virtualName="" explicitFocusOrder="0" pos="227 87 24 24" tooltip="Paste TVF Parameters"
buttonText="P" connectedEdges="0" needsCallback="1" radioGroupId="0"/>
<SLIDER name="lowCutFreq" id="e19f38a176fae242" memberName="lowCutFreq"
virtualName="" explicitFocusOrder="0" pos="36c 235c 56 72" tooltip="Low cut frequency"
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelFreqLow" id="ecfade7dc9353dcd" memberName="labelFreqLow"
virtualName="" explicitFocusOrder="0" pos="35.5c 195c 47 24"
edTextCol="ff000000" edBkgCol="0" labelText="Low cut" editableSingleClick="0"
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
fontsize="15.0" kerning="0.0" bold="0" italic="0" justification="33"/>
<SLIDER name="midFreq" id="b38ad99519f2bc6a" memberName="midFreq" virtualName=""
explicitFocusOrder="0" pos="90c 0.5Cc 56 73" posRelativeY="e19f38a176fae242"
tooltip="Mid EQ Frequency" min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag"
textBoxPos="TextBoxBelow" textBoxEditable="1" textBoxWidth="40"
textBoxHeight="20" skewFactor="1.0" needsCallback="0"/>
<LABEL name="labelLevel" id="f440ee4a3dd82cf1" memberName="labelLevel"
virtualName="" explicitFocusOrder="0" pos="90c 0Cc 56 24" posRelativeY="ecfade7dc9353dcd"
edTextCol="ff000000" edBkgCol="0" labelText="Mid Freq" editableSingleClick="0"
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
fontsize="15.0" kerning="0.0" bold="0" italic="0" justification="33"/>
<SLIDER name="midQ" id="b7e6cb1119fb52f" memberName="midQ" virtualName=""
explicitFocusOrder="0" pos="198c 0.5Cc 58 73" posRelativeY="e19f38a176fae242"
tooltip="Mid EQ Quality factor" min="-100.0" max="100.0" int="1.0"
style="RotaryVerticalDrag" textBoxPos="TextBoxBelow" textBoxEditable="1"
textBoxWidth="40" textBoxHeight="20" skewFactor="1.0" needsCallback="0"/>
<LABEL name="labelKF" id="2d3b4deb139d344" memberName="labelKF" virtualName=""
explicitFocusOrder="0" pos="144c 0Cc 40 24" posRelativeY="ecfade7dc9353dcd"
edTextCol="ff000000" edBkgCol="0" labelText="Gain" editableSingleClick="0"
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
fontsize="15.0" kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="midGain" id="c27f062555be4c48" memberName="midGain" virtualName=""
explicitFocusOrder="0" pos="144c 0.5Cc 56 73" posRelativeY="e19f38a176fae242"
tooltip="Mid EQ Gain" min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag"
textBoxPos="TextBoxBelow" textBoxEditable="1" textBoxWidth="40"
textBoxHeight="20" skewFactor="1.0" needsCallback="0"/>
<LABEL name="labelKF" id="3ae37effbe68afcf" memberName="labelKF2" virtualName=""
explicitFocusOrder="0" pos="198c 0Cc 26 24" posRelativeY="ecfade7dc9353dcd"
edTextCol="ff000000" edBkgCol="0" labelText="Q" editableSingleClick="0"
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
fontsize="15.0" kerning="0.0" bold="0" italic="0" justification="33"/>
<COMBOBOX name="groupLink" id="2f4c27038f31a098" memberName="groupLink"
virtualName="" explicitFocusOrder="0" pos="238.5c 35c 29 24"
posRelativeY="2bec03bff2a1a6d8" tooltip="Group to which the TVF of this voice is linked. All voices of a group have the same TVF parameters."
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<SLIDER name="adsrDepth" id="1ee1f85231b01491" memberName="adsrDepth"
virtualName="" explicitFocusOrder="0" pos="144c 67c 56 72" tooltip="Envelope depth. 0 is a shortcut for square envelope (ADSR parameters are not used)."
min="-100.0" max="100.0" int="1.0" style="RotaryVerticalDrag"
textBoxPos="TextBoxBelow" textBoxEditable="1" textBoxWidth="40"
textBoxHeight="20" skewFactor="1.0" needsCallback="0"/>
<LABEL name="labelADSRDepth" id="7f1c016bfd48e1db" memberName="labelADSRDepth"
virtualName="" explicitFocusOrder="0" pos="143.5c 27c 47 24"
tooltip="ADSR Depth" edTextCol="ff000000" edBkgCol="0" labelText="ADSR"
editableSingleClick="0" editableDoubleClick="0" focusDiscardsChanges="0"
fontname="Default font" fontsize="15.0" kerning="0.0" bold="0"
italic="0" justification="36"/>
<SLIDER name="lfoDepth" id="4d6fc8c39c5814ad" memberName="lfoDepth" virtualName=""
explicitFocusOrder="0" pos="198c 67c 56 72" tooltip="LFO depth. Positive and negative values are in phase opposition."
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelDepth" id="95c77e6805cb89d2" memberName="labelDepth"
virtualName="" explicitFocusOrder="0" pos="197.5c 27c 47 24"
tooltip="LFO Depth" edTextCol="ff000000" edBkgCol="0" labelText="LFO"
editableSingleClick="0" editableDoubleClick="0" focusDiscardsChanges="0"
fontname="Default font" fontsize="15.0" kerning="0.0" bold="0"
italic="0" justification="36"/>
</JUCER_COMPONENT>
END_JUCER_METADATA
*/
#endif
//[EndFile] You can add extra defines here...
//[/EndFile]