Skip to content

Commit

Permalink
Fix compile for when LFO_TRACKS are disabled
Browse files Browse the repository at this point in the history
  • Loading branch information
jmamma committed Mar 1, 2020
1 parent 6248b7c commit eec1713
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 3 deletions.
1 change: 1 addition & 0 deletions avr/cores/megacommand/MCL/MCLMemory.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

#ifdef MEGACOMMAND
#define EXT_TRACKS
#define LFO_TRACKS
#endif

#define NUM_MD_TRACKS 16UL
Expand Down
19 changes: 16 additions & 3 deletions avr/cores/megacommand/MCL/MCLSeq.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ void MCLSeq::setup() {
md_tracks[i].resolution = 1;
md_tracks[i].mute_state = SEQ_MUTE_OFF;
}

#ifdef LFO_TRACKS
for (uint8_t i = 0; i < num_lfo_tracks; i++) {
lfo_tracks[i].track_number = i;
if (i == 0) {
Expand All @@ -35,6 +35,7 @@ void MCLSeq::setup() {
lfo_tracks[i].params[1].param = 7;
}
}
#endif
#ifdef EXT_TRACKS
for (uint8_t i = 0; i < num_ext_tracks; i++) {
ext_tracks[i].channel = i;
Expand Down Expand Up @@ -78,17 +79,21 @@ void MCLSeq::update_kit_params() {
for (uint8_t n = 0; n < NUM_MD_TRACKS; n++) {
mcl_seq.md_tracks[n].update_kit_params();
}
#ifdef LFO_TRACKS
for (uint8_t n = 0; n < NUM_LFO_TRACKS; n++) {
mcl_seq.lfo_tracks[n].update_kit_params();
}
#endif
}
void MCLSeq::update_params() {
for (uint8_t i = 0; i < num_md_tracks; i++) {
md_tracks[i].update_params();
}
#ifdef LFO_TRACKS
for (uint8_t i = 0; i < num_lfo_tracks; i++) {
lfo_tracks[i].update_params_offset();
}
#endif
}

void MCLSeq::onMidiContinueCallback() { update_params(); }
Expand All @@ -110,20 +115,23 @@ void MCLSeq::onMidiStartImmediateCallback() {
md_tracks[i].oneshot_mask = 0;
md_tracks[i].mute_until_start = false;
}

#ifdef LFO_TRACKS
for (uint8_t i = 0; i < num_lfo_tracks; i++) {
lfo_tracks[i].sample_hold = 0;
lfo_tracks[i].step_count = 0;
}
#endif
}

void MCLSeq::onMidiStartCallback() {
for (uint8_t i = 0; i < num_md_tracks; i++) {
md_tracks[i].update_params();
}
#ifdef LFO_TRACKS
for (uint8_t i = 0; i < num_lfo_tracks; i++) {
lfo_tracks[i].update_params_offset();
}
#endif
}

void MCLSeq::onMidiStopCallback() {
Expand All @@ -136,9 +144,11 @@ void MCLSeq::onMidiStopCallback() {
md_tracks[i].mute_state = SEQ_MUTE_OFF;
md_tracks[i].reset_params();
}
#ifdef LFO_TRACKS
for (uint8_t i = 0; i < num_lfo_tracks; i++) {
lfo_tracks[i].reset_params_offset();
}
#endif
}

#ifdef MEGACOMMAND
Expand All @@ -150,10 +160,11 @@ void MCLSeq::seq() {
for (uint8_t i = 0; i < num_md_tracks; i++) {
md_tracks[i].seq();
}

#ifdef LFO_TRACKS
for (uint8_t i = 0; i < num_lfo_tracks; i++) {
lfo_tracks[i].seq();
}
#endif

#ifdef EXT_TRACKS
for (uint8_t i = 0; i < num_ext_tracks; i++) {
Expand All @@ -179,9 +190,11 @@ void MCLSeqMidiEvents::onControlChangeCallback_Midi(uint8_t *msg) {
if (param >= 16) {
MD.parseCC(channel, param, &track, &track_param);
mcl_seq.md_tracks[track].update_param(track_param, value);
#ifdef LFO_TRACKS
for (uint8_t n = 0; n < mcl_seq.num_lfo_tracks; n++) {
mcl_seq.lfo_tracks[n].check_and_update_params_offset(track + 1, track_param, value);
}
#endif
}
}

Expand Down
2 changes: 2 additions & 0 deletions avr/cores/megacommand/MCL/MCLSeq.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,10 @@ class MCLSeq : public ClockCallback {
uint8_t num_ext_tracks = NUM_EXT_TRACKS;
#endif

#ifdef LFO_TRACKS
LFOSeqTrack lfo_tracks[NUM_LFO_TRACKS];
uint8_t num_lfo_tracks = NUM_LFO_TRACKS;
#endif

MCLSeqMidiEvents midi_events;
bool state = false;
Expand Down
4 changes: 4 additions & 0 deletions avr/cores/megacommand/MCL/MDExploit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -115,13 +115,15 @@ bool MDExploit::on(bool switch_tracks) {

if (mcl_seq.md_tracks[n].lock_mask == 0 && !IS_BIT_SET16(mcl_cfg.poly_mask, n)) {
track_with_nolocks = n;
#ifdef LFO_TRACKS
for (uint8_t a = 0; a < mcl_seq.num_lfo_tracks; a++) {
for (uint8_t b = 0; b < NUM_LFO_PARAMS; b++) {
if (mcl_seq.lfo_tracks[a].params[b].dest - 1 == n) {
track_with_nolocks = 255;
}
}
}
#endif
}
}
}
Expand Down Expand Up @@ -330,7 +332,9 @@ void MDExploitMidiEvents::onNoteOffCallback_Midi(uint8_t *msg) {
void MDExploitMidiEvents::onControlChangeCallback_Midi(uint8_t *msg) {
if ((msg[1] < 120) && (msg[1] > 15)) {
if (md_exploit.state) {
#ifdef ROUTE_PAGE
route_page.update_globals();
#endif
}
if (md_exploit.off()) {
GUI.setPage(&grid_page);
Expand Down

0 comments on commit eec1713

Please sign in to comment.