mirror of
https://github.com/vsariola/sointu.git
synced 2025-05-25 18:00:37 -04:00
refactor(tracker): use List.DeleteElements to delete tracks/instrs
This commit is contained in:
parent
9bce1cb3d5
commit
3306c431c3
@ -66,16 +66,7 @@ func (m *Model) AddTrack() Action {
|
||||
func (m *Model) DeleteTrack() Action {
|
||||
return Action{
|
||||
allowed: func() bool { return len(m.d.Song.Score.Tracks) > 0 },
|
||||
do: func() {
|
||||
defer (*Model)(m).change("DeleteTrackAction", ScoreChange, MajorChange)()
|
||||
m.d.Cursor.Track = intMax(intMin(m.d.Cursor.Track, len(m.d.Song.Score.Tracks)-1), 0)
|
||||
newTracks := make([]sointu.Track, len(m.d.Song.Score.Tracks)-1)
|
||||
copy(newTracks, m.d.Song.Score.Tracks[:m.d.Cursor.Track])
|
||||
copy(newTracks[m.d.Cursor.Track:], m.d.Song.Score.Tracks[m.d.Cursor.Track+1:])
|
||||
m.d.Cursor.Track = intMax(intMin(m.d.Cursor.Track, len(m.d.Song.Score.Tracks)-1), 0)
|
||||
m.d.Song.Score.Tracks = newTracks
|
||||
m.d.Cursor2 = m.d.Cursor
|
||||
},
|
||||
do: func() { m.Tracks().List().DeleteElements(false) },
|
||||
}
|
||||
}
|
||||
|
||||
@ -104,10 +95,7 @@ func (m *Model) AddInstrument() Action {
|
||||
func (m *Model) DeleteInstrument() Action {
|
||||
return Action{
|
||||
allowed: func() bool { return len((*Model)(m).d.Song.Patch) > 0 },
|
||||
do: func() {
|
||||
defer (*Model)(m).change("DeleteInstrumentAction", PatchChange, MajorChange)()
|
||||
m.d.Song.Patch = append(m.d.Song.Patch[:m.d.InstrIndex], m.d.Song.Patch[m.d.InstrIndex+1:]...)
|
||||
},
|
||||
do: func() { m.Instruments().List().DeleteElements(false) },
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user