Hey,
My project requires dynamic routing of effects and mixers.
So the naive me tried to make the connections inside a function (setup in this case)
I just moved the two AudioConnections from global scope to the setup function.
But this breaks the library and I'm not hearing an output anymore.
Is there a way to make dynamic connections on the go?
Am I just missing a Audio.init() or something?
thx for the help,
hvlmnns
My project requires dynamic routing of effects and mixers.
So the naive me tried to make the connections inside a function (setup in this case)
I just moved the two AudioConnections from global scope to the setup function.
But this breaks the library and I'm not hearing an output anymore.
Is there a way to make dynamic connections on the go?
Am I just missing a Audio.init() or something?
thx for the help,
hvlmnns
Code:
// Advanced Microcontroller-based Audio Workshop
//
// http://www.pjrc.com/store/audio_tutorial_kit.html
// https://hackaday.io/project/8292-microcontroller-audio-workshop-had-supercon-2015
//
// Part 1-3: First "Hello World" program, play a music file
//
// WAV files for this and other Tutorials are here:
// http://www.pjrc.com/teensy/td_libs_AudioDataFiles.html
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
AudioPlaySdWav playSdWav1;
AudioOutputI2S i2s1;
AudioControlSGTL5000 sgtl5000_1;
// Use these with the Teensy Audio Shield
#define SDCARD_CS_PIN 10
#define SDCARD_MOSI_PIN 11
#define SDCARD_SCK_PIN 13
// Use these with the Teensy 3.5 & 3.6 SD card
//#define SDCARD_CS_PIN BUILTIN_SDCARD
//#define SDCARD_MOSI_PIN 11 // not actually used
//#define SDCARD_SCK_PIN 13 // not actually used
// Use these for the SD+Wiz820 or other adaptors
//#define SDCARD_CS_PIN 4
//#define SDCARD_MOSI_PIN 11
//#define SDCARD_SCK_PIN 13
void setup()
{
Serial.begin(9600);
// THIS WAS OUTSIDE SETUP BEFORE
AudioConnection patchCord1(playSdWav1, 0, i2s1, 0);
AudioConnection patchCord2(playSdWav1, 1, i2s1, 1);
// THIS WAS OUTSIDE SETUP BEFORE
AudioMemory(8);
sgtl5000_1.enable();
sgtl5000_1.volume(0.5);
SPI.setMOSI(SDCARD_MOSI_PIN);
SPI.setSCK(SDCARD_SCK_PIN);
if (!(SD.begin(SDCARD_CS_PIN)))
{
while (1)
{
Serial.println("Unable to access the SD card");
delay(500);
}
}
delay(1000);
}
void loop()
{
if (playSdWav1.isPlaying() == false)
{
Serial.println("Start playing");
playSdWav1.play("SDTEST2.WAV");
delay(10); // wait for library to parse WAV info
}
// do nothing while playing...
}