noise_slider: added noise_slider
This commit is contained in:
53
noise_slider/Source/MainComponent.cpp
Normal file
53
noise_slider/Source/MainComponent.cpp
Normal file
@@ -0,0 +1,53 @@
|
||||
#include "../JuceLibraryCode/JuceHeader.h"
|
||||
|
||||
class MainContentComponent : public AudioAppComponent {
|
||||
public:
|
||||
MainContentComponent() {
|
||||
setSize(800, 600);
|
||||
setAudioChannels(2, 2);
|
||||
random = Random();
|
||||
levelSlider.setRange (0.0, 0.25);
|
||||
levelSlider.setTextBoxStyle (Slider::TextBoxRight, false, 100, 20);
|
||||
levelLabel.setText ("Level", dontSendNotification);
|
||||
|
||||
addAndMakeVisible (levelSlider);
|
||||
addAndMakeVisible (levelLabel);
|
||||
}
|
||||
|
||||
~MainContentComponent() {
|
||||
shutdownAudio();
|
||||
}
|
||||
|
||||
void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override {}
|
||||
|
||||
void getNextAudioBlock (const AudioSourceChannelInfo& buf) override {
|
||||
const float l = levelSlider.getValue();
|
||||
const float ls = l * 2.0f;
|
||||
|
||||
for (int c = 0; c < buf.buffer->getNumChannels(); ++c) {
|
||||
float* const b = buf.buffer->getWritePointer(c, buf.startSample);
|
||||
|
||||
for (int s = 0; s < buf.numSamples; ++s) b[s] = random.nextFloat() * ls * l;
|
||||
}
|
||||
}
|
||||
|
||||
void releaseResources() override{}
|
||||
|
||||
void paint (Graphics& g) override {
|
||||
g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));
|
||||
}
|
||||
|
||||
void resized() override {
|
||||
levelLabel.setBounds (10, 10, 90, 20);
|
||||
levelSlider.setBounds (100, 10, getWidth() - 110, 20);
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)
|
||||
Random random;
|
||||
Slider levelSlider;
|
||||
Label levelLabel;
|
||||
};
|
||||
|
||||
Component* createMainContentComponent() { return new MainContentComponent(); }
|
Reference in New Issue
Block a user