#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
// GUItool: begin automatically generated code
AudioInputUSB usb1; //xy=368,492
AudioInputI2S i2s1; //xy=393.5,427.25
AudioMixer4 mixer1; //xy=585,601.25
AudioMixer4 mixer3; //xy=607,375
AudioEffectDelay delay1; //xy=755.0000114440918,737.5000152587891
AudioMixer4 mixer2; //xy=1014.75,518.361083984375
AudioOutputI2S i2s2; //xy=1197.5,631.25
AudioConnection patchCord1(usb1, 0, mixer3, 2);
AudioConnection patchCord2(usb1, 1, mixer3, 3);
AudioConnection patchCord3(i2s1, 0, mixer3, 0);
AudioConnection patchCord4(i2s1, 1, mixer3, 1);
AudioConnection patchCord5(mixer1, delay1);
AudioConnection patchCord6(mixer3, 0, mixer2, 0);
AudioConnection patchCord7(mixer3, 0, mixer1, 0);
AudioConnection patchCord8(delay1, 0, mixer2, 1);
AudioConnection patchCord9(delay1, 0, mixer1, 3);
AudioConnection patchCord10(mixer2, 0, i2s2, 0);
AudioConnection patchCord11(mixer2, 0, i2s2, 1);
AudioControlSGTL5000 sgtl5000_1; //xy=450.00000762939453,766.2500133514404
// GUItool: end automatically generated code
void setup() {
Serial.begin(9600);
//pinMode(0, INPUT_PULLUP);
AudioMemory(190);
sgtl5000_1.enable();
sgtl5000_1.volume(0.7);
//sgtl5000_1.inputSelect(AUDIO_INPUT_LINEIN);
sgtl5000_1.adcHighPassFilterDisable(); // reduction of noise floor in some cases
mixer1.gain(0, 0.5);
mixer1.gain(3, 0);
delay1.delay(0, 100);
mixer2.gain(0, 1);
mixer2.gain(1, 0);
//delay(1000);
}
void loop() {
//lettura pot 2 controllo feedback delay
int knob = analogRead(A1);
float feedback = (float)knob / 1050.0;
mixer1.gain(3, feedback);
//lettura pot 1 per controllo tempo delay
int knob2 = analogRead(A0);
int tempo = map(knob2, 0, 1024, 0, 500);
delay1.delay(0, tempo);
//lettura pot 3 per controllo dry/wet
int knob3 = analogRead(A2);
float dw_val = (float)knob3 / 1050.0;
mixer2.gain(0, 1.00 - dw_val);
mixer2.gain(1, dw_val);
delay(60);
}