Browse Source

Add sequencer record button

main
heck 7 months ago
parent
commit
99e96d7793
  1. 1
      src/globals.hh
  2. 15
      src/main_perkons.cc

1
src/globals.hh

@ -44,6 +44,7 @@ namespace Heck {
//Hardware
extern ld::DaisySeed hw;
extern ld::Switch but_rec;
} // namespace Heck

15
src/main_perkons.cc

@ -19,6 +19,7 @@ namespace Heck {
// INIT
// =============================================================================================
ld::DaisySeed hw{};
ld::Switch but_rec{};
static ld::MidiUartHandler midi{};
static ld::FIFO<ld::MidiEvent, 128> event_log{};
@ -45,6 +46,8 @@ namespace Heck {
hw.Init();
hw.StartLog();
but_rec.Init(hw.GetPin(28), 0);
hw.PrintLine("Setting Blocksize: %i", Constants::BUFFERSIZE);
hw.SetAudioBlockSize(Constants::BUFFERSIZE);
@ -147,8 +150,15 @@ namespace Heck {
bool heartbeat_led_state{ false };
u32 heartbeat_time{};
bool seq_recording{false};
while (1) {
now = ld::System::GetNow();
but_rec.Debounce();
seq_recording = but_rec.Pressed();
while (midi.HasEvents()) {
ld::MidiEvent msg = midi.PopEvent();
if (msg.type == ld::MidiMessageType::NoteOn) {
@ -200,8 +210,11 @@ namespace Heck {
}
}
if (now - log_time > 5) {
if (now - log_time > 100) {
log_time = now;
if(seq_recording) {
hw.PrintLine("REC");
}
if (!event_log.IsEmpty()) {
auto msg = event_log.PopFront();
char outstr[128];

Loading…
Cancel
Save