PluginEditor.cpp 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. /*
  2. ==============================================================================
  3. This file contains the basic framework code for a JUCE plugin editor.
  4. ==============================================================================
  5. */
  6. #include "PluginProcessor.h"
  7. #include "PluginEditor.h"
  8. //==============================================================================
  9. CMLSProjectAudioProcessorEditor::CMLSProjectAudioProcessorEditor (CMLSProjectAudioProcessor& p)
  10. : AudioProcessorEditor (&p), audioProcessor (p)
  11. {
  12. // OSC receiver
  13. this->oscReceiver = new OSCReceiverWrapper(57120, &p);
  14. // Make sure that before the constructor has finished, you've set the
  15. // editor's size to whatever you need it to be.
  16. setSize (400, 300);
  17. // Add aliders to the editor (Equalizer)
  18. this->equalizerLowGainSlider.setRange(0.0, 1.0);
  19. this->equalizerLowGainSlider.setTextBoxStyle(juce::Slider::TextBoxRight, false, 100, 20);
  20. this->equalizerLowGainSlider.addListener(this);
  21. this->equalizerLowGainLabel.setText("Equalizer Low Gain", juce::dontSendNotification);
  22. addAndMakeVisible(this->equalizerLowGainSlider);
  23. addAndMakeVisible(this->equalizerLowGainLabel);
  24. this->equalizerHighGainSlider.setRange(0.0, 1.0);
  25. this->equalizerHighGainSlider.setTextBoxStyle(juce::Slider::TextBoxRight, false, 100, 20);
  26. this->equalizerHighGainSlider.addListener(this);
  27. this->equalizerHighGainLabel.setText("Equalizer High Gain", juce::dontSendNotification);
  28. addAndMakeVisible(this->equalizerHighGainSlider);
  29. addAndMakeVisible(this->equalizerHighGainLabel);
  30. // Add aliders to the editor (Distortion)
  31. this->distortionDriveSlider.setRange(0.0, 1.0);
  32. this->distortionDriveSlider.setTextBoxStyle(juce::Slider::TextBoxRight, false, 100, 20);
  33. this->distortionDriveSlider.addListener(this);
  34. this->distortionDriveLabel.setText("Distortion Drive", juce::dontSendNotification);
  35. addAndMakeVisible(this->distortionDriveSlider);
  36. addAndMakeVisible(this->distortionDriveLabel);
  37. this->distortionMixSlider.setRange(0.0, 1.0);
  38. this->distortionMixSlider.setTextBoxStyle(juce::Slider::TextBoxRight, false, 100, 20);
  39. this->distortionMixSlider.addListener(this);
  40. this->distortionMixLabel.setText("Distortion Mix", juce::dontSendNotification);
  41. addAndMakeVisible(this->distortionMixSlider);
  42. addAndMakeVisible(this->distortionMixLabel);
  43. // Add aliders to the editor (Chorus)
  44. this->chorusDryWetSlider.setRange(0.0, 1.0);
  45. this->chorusDryWetSlider.setTextBoxStyle(juce::Slider::TextBoxRight, false, 100, 20);
  46. this->chorusDryWetSlider.addListener(this);
  47. this->chorusDryWetLabel.setText("Chorus Dry/Wet", juce::dontSendNotification);
  48. addAndMakeVisible(this->chorusDryWetSlider);
  49. addAndMakeVisible(this->chorusDryWetLabel);
  50. this->chorusAmountSlider.setRange(0.0, 1.0);
  51. this->chorusAmountSlider.setTextBoxStyle(juce::Slider::TextBoxRight, false, 100, 20);
  52. this->chorusAmountSlider.addListener(this);
  53. this->chorusAmountLabel.setText("Chorus Amount", juce::dontSendNotification);
  54. addAndMakeVisible(this->chorusAmountSlider);
  55. addAndMakeVisible(this->chorusAmountLabel);
  56. // Add sliders to the editor (Reverb)
  57. this->reverbDryWetSlider.setRange(0.0, 1.0);
  58. this->reverbDryWetSlider.setTextBoxStyle(juce::Slider::TextBoxRight, false, 100, 20);
  59. this->reverbDryWetSlider.addListener(this);
  60. this->reverbDryWetLabel.setText("Reverb Dry/Wet", juce::dontSendNotification);
  61. addAndMakeVisible(this->reverbDryWetSlider);
  62. addAndMakeVisible(this->reverbDryWetLabel);
  63. this->reverbRoomSizeSlider.setRange(0.0, 1.0);
  64. this->reverbRoomSizeSlider.setTextBoxStyle(juce::Slider::TextBoxRight, false, 100, 20);
  65. this->reverbRoomSizeSlider.addListener(this);
  66. this->reverbRoomSizeLabel.setText("Reverb Room Size", juce::dontSendNotification);
  67. addAndMakeVisible(this->reverbRoomSizeSlider);
  68. addAndMakeVisible(this->reverbRoomSizeLabel);
  69. // Add sliders to the editor (Delay)
  70. this->delayDryWetSlider.setRange(0.0, 1.0);
  71. this->delayDryWetSlider.setTextBoxStyle(juce::Slider::TextBoxRight, false, 100, 20);
  72. this->delayDryWetSlider.addListener(this);
  73. this->delayDryWetLabel.setText("Delay Dry/Wet", juce::dontSendNotification);
  74. addAndMakeVisible(this->delayDryWetSlider);
  75. addAndMakeVisible(this->delayDryWetLabel);
  76. this->delayAmountSlider.setRange(0.0, 1.0);
  77. this->delayAmountSlider.setTextBoxStyle(juce::Slider::TextBoxRight, false, 100, 20);
  78. this->delayAmountSlider.addListener(this);
  79. this->delayAmountLabel.setText("Delay Amount", juce::dontSendNotification);
  80. addAndMakeVisible(this->delayAmountSlider);
  81. addAndMakeVisible(this->delayAmountLabel);
  82. }
  83. CMLSProjectAudioProcessorEditor::~CMLSProjectAudioProcessorEditor()
  84. {
  85. }
  86. //==============================================================================
  87. void CMLSProjectAudioProcessorEditor::paint (juce::Graphics& g)
  88. {
  89. // (Our component is opaque, so we must completely fill the background with a solid colour)
  90. g.fillAll (getLookAndFeel().findColour (juce::ResizableWindow::backgroundColourId));
  91. }
  92. void CMLSProjectAudioProcessorEditor::resized()
  93. {
  94. //titleLabel.setBounds(10, 10, getWidth() - 20, 20);
  95. equalizerLowGainSlider.setBounds(130, 10, getWidth() - 130, 20);
  96. equalizerLowGainLabel.setBounds(10, 10, 100, 20);
  97. equalizerHighGainSlider.setBounds(130, 30, getWidth() - 130, 20);
  98. equalizerHighGainLabel.setBounds(10, 30, 100, 20);
  99. distortionDriveSlider.setBounds(130, 70, getWidth() - 130, 20);
  100. distortionDriveLabel.setBounds(10, 70, 100, 20);
  101. distortionMixSlider.setBounds(130, 90, getWidth() - 130, 20);
  102. distortionMixLabel.setBounds(10, 90, 100, 20);
  103. chorusDryWetSlider.setBounds(130, 130, getWidth() - 130, 20);
  104. chorusDryWetLabel.setBounds(10, 130, 100, 20);
  105. chorusAmountSlider.setBounds(130, 150, getWidth() - 130, 20);
  106. chorusAmountLabel.setBounds(10, 150, 100, 20);
  107. reverbDryWetSlider.setBounds(130, 190, getWidth() - 130, 20);
  108. reverbDryWetLabel.setBounds(10, 190, 100, 20);
  109. reverbRoomSizeSlider.setBounds(130, 210, getWidth() - 130, 20);
  110. reverbRoomSizeLabel.setBounds(10, 210, 100, 20);
  111. delayDryWetSlider.setBounds(130, 250, getWidth() - 130, 20);
  112. delayDryWetLabel.setBounds(10, 250, 100, 20);
  113. delayAmountSlider.setBounds(130, 270, getWidth() - 130, 20);
  114. delayAmountLabel.setBounds(10, 270, 100, 20);
  115. }
  116. void CMLSProjectAudioProcessorEditor::sliderValueChanged(juce::Slider* slider){
  117. if (slider == &this->chorusDryWetSlider)
  118. {
  119. this->audioProcessor.setChorusDryWet(slider->getValue());
  120. }
  121. else if (slider == &this->chorusAmountSlider)
  122. {
  123. this->audioProcessor.setChorusAmount(slider->getValue());
  124. }
  125. else if (slider == &this->reverbDryWetSlider)
  126. {
  127. this->audioProcessor.setReverbDryWet(slider->getValue());
  128. }
  129. else if (slider == &this->reverbRoomSizeSlider)
  130. {
  131. this->audioProcessor.setReverbRoomSize(slider->getValue());
  132. }
  133. else if (slider == &this->delayDryWetSlider)
  134. {
  135. this->audioProcessor.setDelayDryWet(slider->getValue());
  136. }
  137. else if (slider == &this->delayAmountSlider)
  138. {
  139. this->audioProcessor.setDelayAmount(slider->getValue());
  140. }
  141. else if (slider == &this->equalizerLowGainSlider)
  142. {
  143. this->audioProcessor.setEqLowGain(slider->getValue());
  144. }
  145. else if (slider == &this->equalizerHighGainSlider)
  146. {
  147. this->audioProcessor.setEqHighGain(slider->getValue());
  148. }
  149. else if (slider == &this->distortionDriveSlider)
  150. {
  151. this->audioProcessor.setDistortionDrive(slider->getValue());
  152. }
  153. else if (slider == &this->distortionMixSlider)
  154. {
  155. this->audioProcessor.setDistortionMix(slider->getValue());
  156. }
  157. }