File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -22,8 +22,22 @@ bool TrackSelector::KeyEvent(Point xy, KeyInfo* keyInfo)
2222 bool clear;
2323 if (sequencer->ClearActive ())
2424 {
25- sequencer->sequence .ClearAllStepsInClip (xy.x , sequencer->sequence .GetPosition (xy.x )->clip );
26- sequencer->SetMessage (SequencerMessage::CLEARED);
25+ if (xy.x != sequencer->track )
26+ {
27+ sequencer->track = xy.x ;
28+ sequencer->ClearSelectedNotes ();
29+ sequencer->ClearActiveNotes ();
30+ sequencer->stepSelected .clear ();
31+ sequencer->patternSelected .clear ();
32+ if (changeCallback != nullptr ) {
33+ (changeCallback)(xy.x );
34+ }
35+ }
36+ else
37+ {
38+ sequencer->sequence .ClearAllStepsInClip (xy.x , sequencer->sequence .GetPosition (xy.x )->clip );
39+ sequencer->SetMessage (SequencerMessage::CLEARED);
40+ }
2741 }
2842 else
2943 {
@@ -65,7 +79,7 @@ bool TrackSelector::Render(Point origin)
6579 {
6680 for (uint8_t i = 0 ; i < width; i++)
6781 {
68- MatrixOS::LED::SetColor (origin + Point (i, 0 ), sequencer->meta .tracks [i].color );
82+ MatrixOS::LED::SetColor (origin + Point (i, 0 ), sequencer->meta .tracks [i].color . DimIfNot (i == sequencer-> track ) );
6983 }
7084 }
7185 else
You can’t perform that action at this time.
0 commit comments