ConfigAudio.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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.0
  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 __JUCE_HEADER_85571ED1262E7F00__
  14. #define __JUCE_HEADER_85571ED1262E7F00__
  15. //[Headers] -- You can add your own extra header files here --
  16. #include "JuceHeader.h"
  17. //[/Headers]
  18. //==============================================================================
  19. /**
  20. //[Comments]
  21. An auto-generated component, created by the Introjucer.
  22. Describe your class and how it works here!
  23. //[/Comments]
  24. */
  25. class ConfigAudio : public Component,
  26. public ButtonListener,
  27. public ComboBoxListener,
  28. public SliderListener
  29. {
  30. public:
  31. //==============================================================================
  32. ConfigAudio (ValueTree config_store);
  33. ~ConfigAudio();
  34. //==============================================================================
  35. //[UserMethods] -- You can add your own custom methods in this section.
  36. //[/UserMethods]
  37. void paint (Graphics& g);
  38. void resized();
  39. void buttonClicked (Button* buttonThatWasClicked);
  40. void comboBoxChanged (ComboBox* comboBoxThatHasChanged);
  41. void sliderValueChanged (Slider* sliderThatWasMoved);
  42. private:
  43. //[UserVariables] -- You can add your own custom variables in this section.
  44. ValueTree configStore ;
  45. void broughtToFront() ;
  46. void loadParams() ;
  47. void enableComponents() ;
  48. void setConfig(Identifier a_key , var a_value) ;
  49. void restoreDefaults() ;
  50. #if _WIN32
  51. bool queryAsioDevices() ;
  52. bool queryKernelstreamingDevices() ;
  53. bool queryDirectsoundDevices() ;
  54. bool queryWaveDevices() ;
  55. #else // _WIN32
  56. # ifdef _MAC
  57. bool queryCoreaudioDevices() ;
  58. # else // _MAC
  59. bool queryJackServers() ;
  60. bool queryAlsaDevices() ;
  61. # endif // _MAC
  62. #endif // _WIN32
  63. #if _WIN32
  64. static BOOL CALLBACK DSEnumProc(LPGUID lpGUID , LPCTSTR lpszDesc ,
  65. LPCTSTR lpszDrvName , LPVOID device_names) ;
  66. #endif // _WIN32
  67. //[/UserVariables]
  68. //==============================================================================
  69. ScopedPointer<GroupComponent> ioGroup;
  70. ScopedPointer<GroupComponent> formatGroup;
  71. ScopedPointer<GroupComponent> buffersGroup;
  72. ScopedPointer<GroupComponent> routingGroup;
  73. ScopedPointer<TextButton> defaultsButton;
  74. ScopedPointer<TextButton> asioButton;
  75. ScopedPointer<Label> modeLabel;
  76. ScopedPointer<ComboBox> modeComboBox;
  77. ScopedPointer<Label> driverLabel;
  78. ScopedPointer<ComboBox> driverComboBox;
  79. ScopedPointer<Label> sourceLabel;
  80. ScopedPointer<ComboBox> sourceComboBox;
  81. ScopedPointer<Label> sinkLabel;
  82. ScopedPointer<ComboBox> sinkComboBox;
  83. ScopedPointer<Label> bitdepthLabel;
  84. ScopedPointer<ToggleButton> bps16Button;
  85. ScopedPointer<ToggleButton> bps24Button;
  86. ScopedPointer<ToggleButton> bps32Button;
  87. ScopedPointer<Label> samplerateLabel;
  88. ScopedPointer<ToggleButton> kHz44Button;
  89. ScopedPointer<ToggleButton> kHz48Button;
  90. ScopedPointer<ToggleButton> kHz96Button;
  91. ScopedPointer<Label> buffersLabel;
  92. ScopedPointer<Slider> nBuffersSlider;
  93. ScopedPointer<Label> xLabel;
  94. ScopedPointer<ComboBox> bufferComboBox;
  95. ScopedPointer<Label> bytesLabel;
  96. ScopedPointer<Label> nixConfigLabel;
  97. ScopedPointer<TextEditor> nixConfigText;
  98. ScopedPointer<Label> nSourcesLabel;
  99. ScopedPointer<Slider> nSourcesSlider;
  100. ScopedPointer<Label> nSinksLabel;
  101. ScopedPointer<Slider> nSinksSlider;
  102. //==============================================================================
  103. JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ConfigAudio)
  104. };
  105. //[EndFile] You can add extra defines here...
  106. //[/EndFile]
  107. #endif // __JUCE_HEADER_85571ED1262E7F00__