Skip to content
Snippets Groups Projects
Select Git revision
  • 9a83be120eecbf82a7ead6ddd00d643d39cf3fd8
  • main default protected
  • 1.1.0
  • 1.0
4 results

daisy-looper.ino

Blame
  • daisy-looper.ino 11.35 KiB
    #include "DaisyDuino.h"
    #include <Wire.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SH110X.h>
    #include <MIDI.h>
    
    #include "leds.h"
    #include "potentiometers.h"
    #include "buttons.h"
    #include "looper.h"
    #include "env_follower.h"
    #include "helpers.h"
    #include "luts.h"
    #include "ui.h"
    
    MIDI_CREATE_DEFAULT_INSTANCE();
    #define BUFFER_LENGTH_SECONDS 5
    
    #define DEBUGMODE
    
    static const size_t buffer_length = 48000 * BUFFER_LENGTH_SECONDS;
    static float DSY_SDRAM_BSS buffer[buffer_length];
    static float DSY_SDRAM_BSS buffer_b[buffer_length];
    static float DSY_SDRAM_BSS buffer_c[buffer_length];
    static float DSY_SDRAM_BSS buffer_d[buffer_length];
    static float DSY_SDRAM_BSS buffer_e[buffer_length];
    
    
    // Create instances of audio stuff
    atoav::Looper looper_a, looper_b, looper_c, looper_d, looper_e;
    static atoav::EnvelopeFollower input_envelope_follower;
    DSY_SDRAM_BSS ReverbSc reverb;
    static Compressor compressor;
    Oscillator lfo;
    static SampleHold sample_and_hold;
    static WhiteNoise noise;
    static Metro tick;
    static Easer easer;
    
    // Initialize Buttons  
    Button button_1 = Button(D7);
    Button button_2 = Button(D8);
    Button button_3 = Button(D9);
    Button button_4 = Button(D10);
    Button button_5 = Button(D13);
    Button button_6 = Button(D27);
    
    // Initialize Potentiometers
    Potentiometer pot_1 = Potentiometer(A0);
    Potentiometer pot_2 = Potentiometer(A1);
    Potentiometer pot_3 = Potentiometer(A3);
    Potentiometer pot_4 = Potentiometer(A2);
    Potentiometer pot_5 = Potentiometer(A4);
    Potentiometer pot_6 = Potentiometer(A5);
    Potentiometer pot_7 = Potentiometer(A6);
    
    // RGB LED               R    G    B
    RGBLed rgb_led = RGBLed(A10, A11, A9);
    
    
    // OLED Display
    #define SCREEN_WIDTH 128 // OLED display width, in pixels
    #define SCREEN_HEIGHT 64 // OLED display height, in pixels
    #define OLED_RESET -1   //   QT-PY / XIAO
    Adafruit_SH1106G display = Adafruit_SH1106G(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
    
    // User Interface
    Ui ui;
    
    // Daisy