ConfigChannel.h 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /*
  2. ==============================================================================
  3. This is an automatically generated GUI class created by the Introjucer!
  4. Be careful when adding custom code to these files, as only the code within
  5. the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
  6. and re-saved.
  7. Created with Introjucer version: 3.1.1
  8. ------------------------------------------------------------------------------
  9. The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions"
  10. Copyright 2004-13 by Raw Material Software Ltd.
  11. ==============================================================================
  12. */
  13. #ifndef _CONFIGCHANNEL_H_
  14. #define _CONFIGCHANNEL_H_
  15. //[Headers] -- You can add your own extra header files here --
  16. #include "JuceHeader.h"
  17. //[/Headers]
  18. //==============================================================================
  19. /**
  20. //[Comments]
  21. ConfigChannel is the instantiation and configurations dialog
  22. for individual mixer slices
  23. //[/Comments]
  24. */
  25. class ConfigChannel : public Component,
  26. public Button::Listener,
  27. public ComboBox::Listener
  28. {
  29. public:
  30. //==============================================================================
  31. ConfigChannel (ValueTree channel_store);
  32. ~ConfigChannel();
  33. //==============================================================================
  34. //[UserMethods] -- You can add your own custom methods in this section.
  35. //[/UserMethods]
  36. void paint (Graphics& g);
  37. void resized();
  38. void comboBoxChanged (ComboBox* comboBoxThatHasChanged);
  39. private:
  40. //[UserVariables] -- You can add your own custom variables in this section.
  41. ValueTree channelStore ;
  42. SortedSet<int> freeAudioSourceNs ;
  43. SortedSet<int> freeAudioSourcePairNs ;
  44. StringArray freeAudioSourceOptions ;
  45. StringArray freeAudioSourcePairOptions ;
  46. bool isNewChannel ;
  47. int sourceN ;
  48. bool isStereo ;
  49. void buttonClicked( Button* a_button) ;
  50. String makeMonoSelectOption( int channel_n) ;
  51. String makeStereoSelectOption( int channel_n) ;
  52. void createChannelSelectOptions() ;
  53. void populateChannelSelect() ;
  54. //[/UserVariables]
  55. //==============================================================================
  56. ScopedPointer<Label> nameLabel;
  57. ScopedPointer<TextEditor> nameText;
  58. ScopedPointer<ToggleButton> monoButton;
  59. ScopedPointer<ToggleButton> stereoButton;
  60. ScopedPointer<Label> inputLabel;
  61. ScopedPointer<ComboBox> channelSelect;
  62. ScopedPointer<TextButton> okButton;
  63. ScopedPointer<TextButton> cancelButton;
  64. //==============================================================================
  65. JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ConfigChannel)
  66. };
  67. //[EndFile] You can add extra defines here...
  68. //[/EndFile]
  69. #endif // _CONFIGCHANNEL_H_