view BassPedalRackPlugin/PluginEditor.cpp @ 0:2cd427e000b0

initial commit
author Yannick JACOB <y.jacob@se12.qmul.ac.uk>
date Tue, 03 Sep 2013 12:53:16 +0100
parents
children
line wrap: on
line source
/*
  ==============================================================================

    This file was auto-generated by the Introjucer!

    It contains the basic startup code for a Juce application.

  ==============================================================================
*/

#include "PluginProcessor.h"
#include "PluginEditor.h"


//==============================================================================
BassPedalRackProcessorEditor::BassPedalRackProcessorEditor (BassPedalRackProcessor* ownerFilter)
    : AudioProcessorEditor (ownerFilter),

	  
	  lowCutLabel_("","LowCut:"),
	  lowCutSlider_("lowcut"),
	  highCutLabel_("","HighCut:"),
	  highCutSlider_("highcut"),
	  
	  indexLabel_("", "Index:"),
      indexSlider_("index"),	  
      gain1Label_("", "Gain1:"),
      gain1Slider_("gain1"),
	  gain2Label_("", "Gain2:"),
      gain2Slider_("gain2"),
	  gain3Label_("", "Gain3:"),
      gain3Slider_("gain3"),
	  gain4Label_("", "Gain4:"),
      gain4Slider_("gain4"),
	  gain5Label_("", "Gain5:"),
      gain5Slider_("gain5"),
	  gain6Label_("", "Gain6:"),
      gain6Slider_("gain6"),
	  gain7Label_("", "Gain7:"),
      gain7Slider_("gain7"),
	  gain8Label_("", "Gain8:"),
      gain8Slider_("gain8"),
	  gain9Label_("", "Gain9:"),
      gain9Slider_("gain9"),
	  
	  mixLabel_("", "Mix:"),
      mixSlider_("mix"),
	  
	  gainTreLabel_("", "Treble:"),
      gainTreSlider_("treble"),
	  gainLowLabel_("", "Low:"),
      gainLowSlider_("low"),
	  gainMidLabel_("", "Mid:"),
      gainMidSlider_("mid"),
	  
	  gainLabel_("", "Gain:"),
      gainSlider_("gain")
{
    // This is where our plugin's editor size is set.
    // setSize(170, 80);
    
    // Set up the sliders
    addAndMakeVisible(&lowCutSlider_); lowCutSlider_.setSliderStyle(Slider::Rotary); lowCutSlider_.addListener(this);
	lowCutSlider_.setRange(0, 10, 1); lowCutLabel_.attachToComponent(&lowCutSlider_, false); lowCutLabel_.setFont(Font (11.0f));
	
	addAndMakeVisible(&highCutSlider_); highCutSlider_.setSliderStyle(Slider::Rotary); highCutSlider_.addListener(this);
	highCutSlider_.setRange(0, 10, 1); highCutLabel_.attachToComponent(&highCutSlider_, false); highCutLabel_.setFont(Font (11.0f));

    addAndMakeVisible(&indexSlider_); indexSlider_.setSliderStyle(Slider::Rotary); indexSlider_.addListener(this);
    indexSlider_.setRange(0.0, 5.0, 0.01); indexLabel_.attachToComponent(&indexSlider_, false); indexLabel_.setFont(Font (11.0f));

	addAndMakeVisible(&gain1Slider_); gain1Slider_.setSliderStyle(Slider::Rotary); gain1Slider_.addListener(this);
    gain1Slider_.setRange(0.0, 5.0, 0.01); gain1Label_.attachToComponent(&gain1Slider_, false); gain1Label_.setFont(Font (11.0f));
	addAndMakeVisible(&gain2Slider_); gain2Slider_.setSliderStyle(Slider::Rotary); gain2Slider_.addListener(this);
    gain2Slider_.setRange(0.0, 5.0, 0.01); gain2Label_.attachToComponent(&gain2Slider_, false); gain2Label_.setFont(Font (11.0f));
	addAndMakeVisible(&gain3Slider_); gain3Slider_.setSliderStyle(Slider::Rotary); gain3Slider_.addListener(this);
    gain3Slider_.setRange(0.0, 5.0, 0.01); gain3Label_.attachToComponent(&gain3Slider_, false); gain3Label_.setFont(Font (11.0f));
	addAndMakeVisible(&gain4Slider_); gain4Slider_.setSliderStyle(Slider::Rotary); gain4Slider_.addListener(this);
    gain4Slider_.setRange(0.0, 5.0, 0.01); gain4Label_.attachToComponent(&gain4Slider_, false); gain4Label_.setFont(Font (11.0f));
	addAndMakeVisible(&gain5Slider_); gain5Slider_.setSliderStyle(Slider::Rotary); gain5Slider_.addListener(this);
    gain5Slider_.setRange(0.0, 5.0, 0.01); gain5Label_.attachToComponent(&gain5Slider_, false); gain5Label_.setFont(Font (11.0f)); 
	addAndMakeVisible(&gain6Slider_); gain6Slider_.setSliderStyle(Slider::Rotary); gain6Slider_.addListener(this);
    gain6Slider_.setRange(0.0, 5.0, 0.01); gain6Label_.attachToComponent(&gain6Slider_, false); gain6Label_.setFont(Font (11.0f));
	addAndMakeVisible(&gain7Slider_); gain7Slider_.setSliderStyle(Slider::Rotary); gain7Slider_.addListener(this);
    gain7Slider_.setRange(0.0, 5.0, 0.01); gain7Label_.attachToComponent(&gain7Slider_, false); gain7Label_.setFont(Font (11.0f));
	addAndMakeVisible(&gain8Slider_); gain8Slider_.setSliderStyle(Slider::Rotary); gain8Slider_.addListener(this);
    gain8Slider_.setRange(0.0, 5.0, 0.01); gain8Label_.attachToComponent(&gain8Slider_, false); gain8Label_.setFont(Font (11.0f));
	addAndMakeVisible(&gain9Slider_); gain9Slider_.setSliderStyle(Slider::Rotary); gain9Slider_.addListener(this);
    gain9Slider_.setRange(0.0, 5.0, 0.01); gain9Label_.attachToComponent(&gain9Slider_, false); gain9Label_.setFont(Font (11.0f));


    addAndMakeVisible(&mixSlider_); mixSlider_.setSliderStyle(Slider::Rotary); mixSlider_.addListener(this);
    mixSlider_.setRange(0.0, 1.0, 0.001); mixLabel_.attachToComponent(&mixSlider_, false); mixLabel_.setFont(Font (11.0f));
	
    addAndMakeVisible(&gainTreSlider_); gainTreSlider_.setSliderStyle(Slider::Rotary); gainTreSlider_.addListener(this);
    gainTreSlider_.setRange(0.0, 1.0, 0.001); gainTreLabel_.attachToComponent(&gainTreSlider_, false); gainTreLabel_.setFont(Font (11.0f));
    addAndMakeVisible(&gainMidSlider_); gainMidSlider_.setSliderStyle(Slider::Rotary); gainMidSlider_.addListener(this);
    gainMidSlider_.setRange(0.0, 1.0, 0.001); gainMidLabel_.attachToComponent(&gainMidSlider_, false); gainMidLabel_.setFont(Font (11.0f));
    addAndMakeVisible(&gainLowSlider_); gainLowSlider_.setSliderStyle(Slider::Rotary); gainLowSlider_.addListener(this);
    gainLowSlider_.setRange(0.0, 1.0, 0.001); gainLowLabel_.attachToComponent(&gainLowSlider_, false); gainLowLabel_.setFont(Font (11.0f));
	
    addAndMakeVisible(&gainSlider_); gainSlider_.setSliderStyle(Slider::Rotary); gainSlider_.addListener(this);
    gainSlider_.setRange(0.0, 10.0, 0.001); gainLabel_.attachToComponent(&gainSlider_, false); gainLabel_.setFont(Font (11.0f));
    
    // add the triangular resizer component for the bottom-right of the UI
    addAndMakeVisible(resizer_ = new ResizableCornerComponent (this, &resizeLimits_));
    resizeLimits_.setSizeLimits(300, 200, 800, 600);
    
    // set our component's initial size to be the last one that was stored in the filter's settings
    setSize(ownerFilter->lastUIWidth_,
            ownerFilter->lastUIHeight_);
    
    startTimer(50);
}

BassPedalRackProcessorEditor::~BassPedalRackProcessorEditor()
{
}

//==============================================================================
void BassPedalRackProcessorEditor::paint (Graphics& g)
{
    g.fillAll (Colours::grey);
}

void BassPedalRackProcessorEditor::resized()
{

	lowCutSlider_.setBounds(20, 20, 150, 40);
	highCutSlider_.setBounds(200, 20, 150, 40);
	mixSlider_.setBounds(380, 20, 150, 40);
	
	indexSlider_.setBounds(200, 75, 150, 40);
	gain1Slider_.setBounds(380, 75, 150, 40);
	gain2Slider_.setBounds(200, 130, 150, 40);
	gain3Slider_.setBounds(380, 130, 150, 40);
	gain4Slider_.setBounds(200, 185, 150, 40);
	gain5Slider_.setBounds(380, 185, 150, 40);
	gain6Slider_.setBounds(200, 240, 150, 40);
	gain7Slider_.setBounds(380, 240, 150, 40);
    gain8Slider_.setBounds(200, 295, 150, 40);
	gain9Slider_.setBounds(380, 295, 150, 40);

	
	

	gainTreSlider_.setBounds(20,185,150, 40);
	gainMidSlider_.setBounds(20,240,150, 40);
	gainLowSlider_.setBounds(20,295,150, 40);

	gainSlider_.setBounds(20, 75, 150, 40);
	
    resizer_->setBounds(getWidth() - 16, getHeight() - 16, 16, 16);
    
    getProcessor()->lastUIWidth_ = getWidth();
    getProcessor()->lastUIHeight_ = getHeight();
}

//==============================================================================
// This timer periodically checks whether any of the filter's parameters have changed...
void BassPedalRackProcessorEditor::timerCallback()
{
    BassPedalRackProcessor* ourProcessor = getProcessor();
    
	mixSlider_.setValue(ourProcessor->mix_, dontSendNotification);
	indexSlider_.setValue(ourProcessor->index_, dontSendNotification);
	gainSlider_.setValue(ourProcessor->gain_, dontSendNotification);
	lowCutSlider_.setValue(ourProcessor->lowCut_, dontSendNotification);
	highCutSlider_.setValue(ourProcessor->highCut_, dontSendNotification);
	gainLowSlider_.setValue(ourProcessor->bassGain_, dontSendNotification);
	gainMidSlider_.setValue(ourProcessor->midGain_, dontSendNotification);
	gainTreSlider_.setValue(ourProcessor->trebleGain_, dontSendNotification);
	gain1Slider_.setValue(ourProcessor->gain1_, dontSendNotification);
	gain2Slider_.setValue(ourProcessor->gain2_, dontSendNotification);
	gain3Slider_.setValue(ourProcessor->gain3_, dontSendNotification);
	gain4Slider_.setValue(ourProcessor->gain4_, dontSendNotification);
	gain5Slider_.setValue(ourProcessor->gain5_, dontSendNotification);
	gain6Slider_.setValue(ourProcessor->gain6_, dontSendNotification);
	gain7Slider_.setValue(ourProcessor->gain7_, dontSendNotification);
	gain8Slider_.setValue(ourProcessor->gain8_, dontSendNotification);
	gain9Slider_.setValue(ourProcessor->gain9_, dontSendNotification);
}

// This is our Slider::Listener callback, when the user drags a slider.
void BassPedalRackProcessorEditor::sliderValueChanged (Slider* slider)
{
    if (slider == &mixSlider_){
        // It's vital to use setParameterNotifyingHost to change any parameters that are automatable
        // by the host, rather than just modifying them directly, otherwise the host won't know
        // that they've changed.
        getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kMixParam,(float)mixSlider_.getValue());}
	if (slider == &lowCutSlider_){
        getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kLowCutParam,(float)lowCutSlider_.getValue());}
	if (slider == &highCutSlider_){
        getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kHighCutParam,(float)highCutSlider_.getValue());}
	if (slider == &indexSlider_){
        getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kIndexParam,(float)indexSlider_.getValue());}
	if (slider == &gainSlider_){
        getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kGainParam,(float)gainSlider_.getValue());}
	if (slider == &gainMidSlider_){
        getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kGainMidParam,(float)gainMidSlider_.getValue());}	
	if (slider == &gainLowSlider_){
        getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kGainLowParam,(float)gainLowSlider_.getValue());}	
	if (slider == &gainTreSlider_){
        getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kGainTreParam,(float)gainTreSlider_.getValue());}	
	if (slider == &gain1Slider_){
		getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kGain1Param,(float)gain1Slider_.getValue());}
	if (slider == &gain2Slider_){
		getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kGain2Param,(float)gain2Slider_.getValue());}
	if (slider == &gain3Slider_){
		getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kGain3Param,(float)gain3Slider_.getValue());}
	if (slider == &gain4Slider_){
		getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kGain4Param,(float)gain4Slider_.getValue());}
	if (slider == &gain5Slider_){
		getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kGain5Param,(float)gain5Slider_.getValue());}
	if (slider == &gain6Slider_){
		getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kGain6Param,(float)gain6Slider_.getValue());}
	if (slider == &gain7Slider_){
		getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kGain7Param,(float)gain7Slider_.getValue());}
	if (slider == &gain8Slider_){
		getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kGain8Param,(float)gain8Slider_.getValue());}
	if (slider == &gain9Slider_){
		getProcessor()->setParameterNotifyingHost (BassPedalRackProcessor::kGain9Param,(float)gain9Slider_.getValue());}
}