The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
3.5KB

  1. /*
  2. ==============================================================================
  3. This is an automatically generated file created by the Jucer!
  4. Creation date: 1 May 2011 12:08:14pm
  5. Be careful when adding custom code to these files, as only the code within
  6. the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
  7. and re-saved.
  8. Jucer version: 1.12
  9. ------------------------------------------------------------------------------
  10. The Jucer is part of the JUCE library - "Jules' Utility Class Extensions"
  11. Copyright 2004-6 by Raw Material Software ltd.
  12. ==============================================================================
  13. */
  14. #ifndef __JUCER_HEADER_AUDIODEMOPLAYBACKPAGE_AUDIODEMOPLAYBACKPAGE_81B4F279__
  15. #define __JUCER_HEADER_AUDIODEMOPLAYBACKPAGE_AUDIODEMOPLAYBACKPAGE_81B4F279__
  16. //[Headers] -- You can add your own extra header files here --
  17. #include "../jucedemo_headers.h"
  18. class DemoThumbnailComp;
  19. //[/Headers]
  20. //==============================================================================
  21. /**
  22. //[Comments]
  23. An auto-generated component, created by the Jucer.
  24. Describe your class and how it works here!
  25. //[/Comments]
  26. */
  27. class AudioDemoPlaybackPage : public Component,
  28. public FileBrowserListener,
  29. public ButtonListener,
  30. public SliderListener
  31. {
  32. public:
  33. //==============================================================================
  34. AudioDemoPlaybackPage (AudioDeviceManager& deviceManager_);
  35. ~AudioDemoPlaybackPage();
  36. //==============================================================================
  37. //[UserMethods] -- You can add your own custom methods in this section.
  38. // These methods are our FileBrowserListener implementation:
  39. void selectionChanged();
  40. void fileClicked (const File& file, const MouseEvent& e);
  41. void fileDoubleClicked (const File& file);
  42. void showFile (const File& file);
  43. //[/UserMethods]
  44. void paint (Graphics& g);
  45. void resized();
  46. void buttonClicked (Button* buttonThatWasClicked);
  47. void sliderValueChanged (Slider* sliderThatWasMoved);
  48. //==============================================================================
  49. juce_UseDebuggingNewOperator
  50. private:
  51. //[UserVariables] -- You can add your own custom variables in this section.
  52. AudioDeviceManager& deviceManager;
  53. TimeSliceThread thread;
  54. DirectoryContentsList directoryList;
  55. AudioSourcePlayer audioSourcePlayer;
  56. AudioTransportSource transportSource;
  57. ScopedPointer<AudioFormatReaderSource> currentAudioFileSource;
  58. void loadFileIntoTransport (const File& audioFile);
  59. //[/UserVariables]
  60. //==============================================================================
  61. Label* zoomLabel;
  62. DemoThumbnailComp* thumbnail;
  63. TextButton* startStopButton;
  64. FileTreeComponent* fileTreeComp;
  65. Label* explanation;
  66. Slider* zoomSlider;
  67. //==============================================================================
  68. // (prevent copy constructor and operator= being generated..)
  69. AudioDemoPlaybackPage (const AudioDemoPlaybackPage&);
  70. const AudioDemoPlaybackPage& operator= (const AudioDemoPlaybackPage&);
  71. };
  72. #endif // __JUCER_HEADER_AUDIODEMOPLAYBACKPAGE_AUDIODEMOPLAYBACKPAGE_81B4F279__