|
|
@ -15,9 +15,6 @@ |
|
|
|
#include "instr_hihat.hh" |
|
|
|
#include "instr_zosc.hh" |
|
|
|
|
|
|
|
namespace ld = daisy; |
|
|
|
namespace dsp = daisysp; |
|
|
|
|
|
|
|
namespace Heck { |
|
|
|
namespace State { |
|
|
|
bool record_mode{ false }; |
|
|
@ -75,35 +72,35 @@ namespace Heck { |
|
|
|
hw.PrintLine("Setting Samplerate: %i", Constants::SAMPLERATE); |
|
|
|
switch (Constants::SAMPLERATE) { |
|
|
|
case 8000: |
|
|
|
hw.SetAudioSampleRate(daisy::SaiHandle::Config::SampleRate::SAI_8KHZ); |
|
|
|
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_8KHZ); |
|
|
|
break; |
|
|
|
case 16000: |
|
|
|
hw.SetAudioSampleRate(daisy::SaiHandle::Config::SampleRate::SAI_16KHZ); |
|
|
|
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_16KHZ); |
|
|
|
break; |
|
|
|
case 32000: |
|
|
|
hw.SetAudioSampleRate(daisy::SaiHandle::Config::SampleRate::SAI_32KHZ); |
|
|
|
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_32KHZ); |
|
|
|
break; |
|
|
|
case 48000: |
|
|
|
hw.SetAudioSampleRate(daisy::SaiHandle::Config::SampleRate::SAI_48KHZ); |
|
|
|
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_48KHZ); |
|
|
|
break; |
|
|
|
case 96000: |
|
|
|
hw.SetAudioSampleRate(daisy::SaiHandle::Config::SampleRate::SAI_48KHZ); |
|
|
|
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_48KHZ); |
|
|
|
break; |
|
|
|
default: |
|
|
|
hw.PrintLine("Samplerate not supported, fallback to 48000"); |
|
|
|
hw.SetAudioSampleRate(daisy::SaiHandle::Config::SampleRate::SAI_48KHZ); |
|
|
|
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_48KHZ); |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
hw.PrintLine("Initializing MIDI"); |
|
|
|
ld::MidiUartHandler::Config midi_config{}; |
|
|
|
midi.Init(midi_config); |
|
|
|
midi.realtime_callback = &midi_realtime_handler; |
|
|
|
// midi.realtime_callback = &midi_realtime_handler;
|
|
|
|
|
|
|
|
init_tracks(); |
|
|
|
|
|
|
|
hw.PrintLine("Starting MIDI Receive"); |
|
|
|
midi.StartReceive(); |
|
|
|
midi.StartReceiveRt(&midi_realtime_handler); |
|
|
|
midi.Listen(); |
|
|
|
|
|
|
|
hw.PrintLine("Starting Audio"); |
|
|
@ -135,22 +132,22 @@ namespace Heck { |
|
|
|
{ |
|
|
|
event_log.PushBack(msg); |
|
|
|
switch (msg.srt_type) { |
|
|
|
case daisy::TimingClock: |
|
|
|
case ld::TimingClock: |
|
|
|
clock.tick_advance(); |
|
|
|
break; |
|
|
|
case daisy::Start: { |
|
|
|
case ld::Start: { |
|
|
|
sequencer.reset(); |
|
|
|
clock.reset(); |
|
|
|
clock.enable(true); |
|
|
|
} break; |
|
|
|
case daisy::Stop: { |
|
|
|
case ld::Stop: { |
|
|
|
clock.enable(false); |
|
|
|
clock.reset(); |
|
|
|
sequencer.reset(); |
|
|
|
} break; |
|
|
|
case daisy::Reset: |
|
|
|
case ld::Reset: |
|
|
|
break; |
|
|
|
case daisy::Continue: |
|
|
|
case ld::Continue: |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
@ -338,7 +335,7 @@ namespace Heck { |
|
|
|
char rttype_str[32]; |
|
|
|
GetMidiRTTypeAsString(msg, rttype_str); |
|
|
|
sprintf(outstr, "RT: type: %s\n", rttype_str); |
|
|
|
if (msg.srt_type != daisy::TimingClock) { |
|
|
|
if (msg.srt_type != ld::TimingClock) { |
|
|
|
hw.PrintLine("%s", outstr); |
|
|
|
} |
|
|
|
} |
|
|
|