41 #include "JuceHeader.h"
49 typedef void* (*ThreadFunc)(
void*);
55 class GThread :
public juce::Thread {
58 void * (*fcn)(
void *);
70 class LThread :
public juce::Thread {
73 : Thread(
"CSL Thread"),
97 public AudioIODeviceCallback,
99 public Button::Listener,
100 public ComboBox::Listener,
101 public Slider::Listener
111 void audioDeviceIOCallback (
const float** inputChannelData,
112 int totalNumInputChannels,
113 float** outputChannelData,
114 int totalNumOutputChannels,
116 void audioDeviceAboutToStart (juce::AudioIODevice* device);
117 void audioDeviceStopped();
118 void setComboLabels(
unsigned which);
119 void timerCallback();
127 void paint (Graphics& g)
override;
128 void resized()
override;
129 void buttonClicked (Button* buttonThatWasClicked)
override;
130 void comboBoxChanged (ComboBox* comboBoxThatHasChanged)
override;
131 void sliderValueChanged (Slider* sliderThatWasMoved)
override;
166 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
CSLComponent)
std::unique_ptr< AudioWaveformDisplay > oscilloscopeL
bool sleepMsec(float dur)
std::unique_ptr< VUMeter > VUMeterL
std::unique_ptr< Slider > scaleSlider
void *(* ThreadFunc)(void *)
This is the JUCE wrapper for the CSL demos.
std::unique_ptr< ComboBox > testCombo
std::unique_ptr< TextButton > prefsButton
std::unique_ptr< Label > cpuLabel
std::unique_ptr< Slider > amplitudeSlider
LThread(GThread *athr, CSLComponent *acomp, bool looper)
GThread takes a CSL test function and runs it.
std::unique_ptr< AudioWaveformDisplay > oscilloscopeR
std::unique_ptr< Label > label
std::unique_ptr< ComboBox > familyCombo
std::unique_ptr< TextButton > playButton
Buffer – the multi-channel sample buffer class (passed around between generators and IO guys)...
juce::AudioDeviceManager mAudioDeviceManager
std::unique_ptr< TextButton > quitButton
std::unique_ptr< ToggleButton > loopButton
std::unique_ptr< VUMeter > VUMeterR
std::unique_ptr< ToggleButton > recordButton