refactor(tracker): group Model methods, with each group in one source file

This commit is contained in:
5684185+vsariola@users.noreply.github.com
2026-01-25 13:08:45 +02:00
parent b93304adab
commit 86ca3fb300
44 changed files with 4813 additions and 4482 deletions

View File

@ -102,93 +102,93 @@ func (t *Tracker) KeyEvent(e key.Event, gtx C) {
switch action {
// Actions
case "AddTrack":
t.AddTrack().Do()
t.Track().Add().Do()
case "DeleteTrack":
t.DeleteTrack().Do()
t.Track().Delete().Do()
case "AddInstrument":
t.AddInstrument().Do()
t.Instrument().Add().Do()
case "DeleteInstrument":
t.DeleteInstrument().Do()
t.Instrument().Delete().Do()
case "AddUnitAfter":
t.AddUnit(false).Do()
t.Unit().Add(false).Do()
case "AddUnitBefore":
t.AddUnit(true).Do()
t.Unit().Add(true).Do()
case "DeleteUnit":
t.DeleteUnit().Do()
t.Unit().Delete().Do()
case "ClearUnit":
t.ClearUnit().Do()
t.Unit().Clear().Do()
case "Undo":
t.Undo().Do()
t.History().Undo().Do()
case "Redo":
t.Redo().Do()
t.History().Redo().Do()
case "AddSemitone":
t.AddSemitone().Do()
t.Note().AddSemitone().Do()
case "SubtractSemitone":
t.SubtractSemitone().Do()
t.Note().SubtractSemitone().Do()
case "AddOctave":
t.AddOctave().Do()
t.Note().AddOctave().Do()
case "SubtractOctave":
t.SubtractOctave().Do()
t.Note().SubtractOctave().Do()
case "EditNoteOff":
t.EditNoteOff().Do()
t.Note().NoteOff().Do()
case "RemoveUnused":
t.RemoveUnused().Do()
t.Order().RemoveUnusedPatterns().Do()
case "PlayCurrentPosFollow":
t.Follow().SetValue(true)
t.PlayCurrentPos().Do()
t.Play().IsFollowing().SetValue(true)
t.Play().FromCurrentPos().Do()
case "PlayCurrentPosUnfollow":
t.Follow().SetValue(false)
t.PlayCurrentPos().Do()
t.Play().IsFollowing().SetValue(false)
t.Play().FromCurrentPos().Do()
case "PlaySongStartFollow":
t.Follow().SetValue(true)
t.PlaySongStart().Do()
t.Play().IsFollowing().SetValue(true)
t.Play().FromBeginning().Do()
case "PlaySongStartUnfollow":
t.Follow().SetValue(false)
t.PlaySongStart().Do()
t.Play().IsFollowing().SetValue(false)
t.Play().FromBeginning().Do()
case "PlaySelectedFollow":
t.Follow().SetValue(true)
t.PlaySelected().Do()
t.Play().IsFollowing().SetValue(true)
t.Play().FromSelected().Do()
case "PlaySelectedUnfollow":
t.Follow().SetValue(false)
t.PlaySelected().Do()
t.Play().IsFollowing().SetValue(false)
t.Play().FromSelected().Do()
case "PlayLoopFollow":
t.Follow().SetValue(true)
t.PlayFromLoopStart().Do()
t.Play().IsFollowing().SetValue(true)
t.Play().FromLoopBeginning().Do()
case "PlayLoopUnfollow":
t.Follow().SetValue(false)
t.PlayFromLoopStart().Do()
t.Play().IsFollowing().SetValue(false)
t.Play().FromLoopBeginning().Do()
case "StopPlaying":
t.StopPlaying().Do()
t.Play().Stop().Do()
case "AddOrderRowBefore":
t.AddOrderRow(true).Do()
t.Order().AddRow(true).Do()
case "AddOrderRowAfter":
t.AddOrderRow(false).Do()
t.Order().AddRow(false).Do()
case "DeleteOrderRowBackwards":
t.DeleteOrderRow(true).Do()
t.Order().DeleteRow(true).Do()
case "DeleteOrderRowForwards":
t.DeleteOrderRow(false).Do()
t.Order().DeleteRow(false).Do()
case "NewSong":
t.NewSong().Do()
t.Song().New().Do()
case "OpenSong":
t.OpenSong().Do()
t.Song().Open().Do()
case "Quit":
if canQuit {
t.RequestQuit().Do()
}
case "SaveSong":
t.SaveSong().Do()
t.Song().Save().Do()
case "SaveSongAs":
t.SaveSongAs().Do()
t.Song().SaveAs().Do()
case "ExportWav":
t.Export().Do()
t.Song().Export().Do()
case "ExportFloat":
t.ExportFloat().Do()
t.Song().ExportFloat().Do()
case "ExportInt16":
t.ExportInt16().Do()
t.Song().ExportInt16().Do()
case "SplitTrack":
t.SplitTrack().Do()
t.Track().Split().Do()
case "SplitInstrument":
t.SplitInstrument().Do()
t.Instrument().Split().Do()
case "ShowManual":
t.ShowManual().Do()
case "AskHelp":
@ -199,72 +199,72 @@ func (t *Tracker) KeyEvent(e key.Event, gtx C) {
t.ShowLicense().Do()
// Booleans
case "PanicToggle":
t.Panic().Toggle()
t.Play().Panicked().Toggle()
case "RecordingToggle":
t.IsRecording().Toggle()
t.Play().IsRecording().Toggle()
case "PlayingToggleFollow":
t.Follow().SetValue(true)
t.Playing().Toggle()
t.Play().IsFollowing().SetValue(true)
t.Play().Started().Toggle()
case "PlayingToggleUnfollow":
t.Follow().SetValue(false)
t.Playing().Toggle()
t.Play().IsFollowing().SetValue(false)
t.Play().Started().Toggle()
case "InstrEnlargedToggle":
t.InstrEnlarged().Toggle()
t.Play().TrackerHidden().Toggle()
case "LinkInstrTrackToggle":
t.LinkInstrTrack().Toggle()
t.Track().LinkInstrument().Toggle()
case "FollowToggle":
t.Follow().Toggle()
t.Play().IsFollowing().Toggle()
case "UnitDisabledToggle":
t.UnitDisabled().Toggle()
t.Unit().Disabled().Toggle()
case "LoopToggle":
t.LoopToggle().Toggle()
t.Play().IsLooping().Toggle()
case "UniquePatternsToggle":
t.UniquePatterns().Toggle()
t.Note().UniquePatterns().Toggle()
case "MuteToggle":
t.Mute().Toggle()
t.Instrument().Mute().Toggle()
case "SoloToggle":
t.Solo().Toggle()
t.Instrument().Solo().Toggle()
// Integers
case "InstrumentVoicesAdd":
t.Model.InstrumentVoices().Add(1)
t.Instrument().Voices().Add(1)
case "InstrumentVoicesSubtract":
t.Model.InstrumentVoices().Add(-1)
t.Instrument().Voices().Add(-1)
case "TrackVoicesAdd":
t.TrackVoices().Add(1)
t.Track().Voices().Add(1)
case "TrackVoicesSubtract":
t.TrackVoices().Add(-1)
t.Track().Voices().Add(-1)
case "SongLengthAdd":
t.SongLength().Add(1)
t.Song().Length().Add(1)
case "SongLengthSubtract":
t.SongLength().Add(-1)
t.Song().Length().Add(-1)
case "BPMAdd":
t.BPM().Add(1)
t.Song().BPM().Add(1)
case "BPMSubtract":
t.BPM().Add(-1)
t.Song().BPM().Add(-1)
case "RowsPerPatternAdd":
t.RowsPerPattern().Add(1)
t.Song().RowsPerPattern().Add(1)
case "RowsPerPatternSubtract":
t.RowsPerPattern().Add(-1)
t.Song().RowsPerPattern().Add(-1)
case "RowsPerBeatAdd":
t.RowsPerBeat().Add(1)
t.Song().RowsPerBeat().Add(1)
case "RowsPerBeatSubtract":
t.RowsPerBeat().Add(-1)
t.Song().RowsPerBeat().Add(-1)
case "StepAdd":
t.Step().Add(1)
t.Note().Step().Add(1)
case "StepSubtract":
t.Step().Add(-1)
t.Note().Step().Add(-1)
case "OctaveAdd":
t.Octave().Add(1)
t.Note().Octave().Add(1)
case "OctaveSubtract":
t.Octave().Add(-1)
t.Note().Octave().Add(-1)
// Other miscellaneous
case "Paste":
gtx.Execute(clipboard.ReadCmd{Tag: t})
case "OrderEditorFocus":
t.InstrEnlarged().SetValue(false)
t.Play().TrackerHidden().SetValue(false)
gtx.Execute(key.FocusCmd{Tag: t.OrderEditor.scrollTable})
case "TrackEditorFocus":
t.InstrEnlarged().SetValue(false)
t.Play().TrackerHidden().SetValue(false)
gtx.Execute(key.FocusCmd{Tag: t.TrackEditor.scrollTable})
case "InstrumentListFocus":
gtx.Execute(key.FocusCmd{Tag: t.PatchPanel.instrList.instrumentDragList})
@ -289,8 +289,8 @@ func (t *Tracker) KeyEvent(e key.Event, gtx C) {
if err != nil {
break
}
instr := t.Model.Instruments().Selected()
n := noteAsValue(t.Model.Octave().Value(), val-12)
instr := t.Model.Instrument().List().Selected()
n := noteAsValue(t.Model.Note().Octave().Value(), val-12)
t.KeyNoteMap.Press(e.Name, tracker.NoteEvent{Channel: instr, Note: n})
}
}