This example demonstrates how to create some GUI sliders to control the behaviour of your program while it is running. It uses the GuiController library, which uses dat.gui to auto create some control sliders which appear at the GUI page: bela.local/gui/
 
#include <libraries/Oscillator/Oscillator.h>
#include <libraries/Gui/Gui.h>
#include <libraries/GuiController/GuiController.h>
#include <cmath>
 
 
unsigned int gPitchSliderIdx;
unsigned int gAmplitudeSliderIdx;
 
{
 
        
        
        controller.setup(&gui, "Controls");
 
        
        
        gPitchSliderIdx = controller.addSlider("Pitch (MIDI note)", 60, 48, 84, 1); 
        gAmplitudeSliderIdx = controller.addSlider("Amplitude", 0.1, 0, 0.5, 0.0001);
        return true;
}
 
{
        
        float pitch = controller.getSliderValue(gPitchSliderIdx);
        float amplitude = controller.getSliderValue(gAmplitudeSliderIdx);
 
        float frequency = 440 * powf(2, (pitch-69)/12); 
        oscillator.setFrequency(frequency);
        
 
        for(
unsigned int n = 0; n < context->
audioFrames; n++) {
 
                float out = oscillator.process() * amplitude;
                        
                }
        }
}
 
{}
Definition GuiController.h:12
Definition Oscillator.h:3
static void audioWrite(BelaContext *context, int frame, int channel, float value)
Write an audio output, specifying the frame number (when to write) and the channel.
Definition Bela.h:1469
void render(BelaContext *context, void *userData)
User-defined callback function to process audio and sensor data.
Definition render.cpp:68
bool setup(BelaContext *context, void *userData)
User-defined initialisation function which runs before audio rendering begins.
Definition render.cpp:51
void cleanup(BelaContext *context, void *userData)
User-defined cleanup function which runs when the program finishes.
Definition render.cpp:96
Structure holding audio and sensor settings and pointers to I/O data buffers.
Definition Bela.h:231
const uint32_t audioOutChannels
The number of audio output channels.
Definition Bela.h:326
const uint32_t audioFrames
The number of audio frames per block.
Definition Bela.h:322
char projectName[MAX_PROJECTNAME_LENGTH]
Name of running project.
Definition Bela.h:417
const float audioSampleRate
The audio sample rate in Hz (currently always 44100.0).
Definition Bela.h:328