diff --git a/avr/cores/megacommand/MCL/GridTask.cpp b/avr/cores/megacommand/MCL/GridTask.cpp index dc094e68a..12ed3354a 100644 --- a/avr/cores/megacommand/MCL/GridTask.cpp +++ b/avr/cores/megacommand/MCL/GridTask.cpp @@ -292,12 +292,6 @@ bool GridTask::transition_load(uint8_t n, uint8_t track_idx, uint8_t dev_idx, gdt->seq_track->count_down = -1; if (mcl_actions.send_machine[n] == 0) { pmem_track->transition_send(track_idx, n); - if (mcl_actions.dev_sync_slot[dev_idx] == n) { - if (elektron_devs[dev_idx]) { - elektron_devs[dev_idx]->undokit_sync(); - } - mcl_actions.dev_sync_slot[dev_idx] = -1; - } } pmem_track->transition_load(track_idx, gdt->seq_track, n); diff --git a/avr/cores/megacommand/MCL/MCLSeq.cpp b/avr/cores/megacommand/MCL/MCLSeq.cpp index fcd9b2572..b31724b5d 100644 --- a/avr/cores/megacommand/MCL/MCLSeq.cpp +++ b/avr/cores/megacommand/MCL/MCLSeq.cpp @@ -263,10 +263,11 @@ void MCLSeq::seq() { if (MDSeqTrack::md_trig_mask > 0) { MD.parallelTrig(MDSeqTrack::md_trig_mask, uart); } + if (MDSeqTrack::load_machine_cache) { MD.loadMachinesCache(MDSeqTrack::load_machine_cache); + MD.undokit_sync(); } - // Arp for (uint8_t i = 0; i < NUM_AUX_TRACKS; i++) {