Skip to content

Commit 4fe5e71

Browse files
committed
Reworked track selector & clear interaction
1 parent d72f31b commit 4fe5e71

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

Applications/Sequencer/TrackSelector.cpp

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)