From 4c096a3fac19371d071025456706753ce2586c75 Mon Sep 17 00:00:00 2001 From: "5684185+vsariola@users.noreply.github.com" <5684185+vsariola@users.noreply.github.com> Date: Sat, 12 Oct 2024 21:35:45 +0300 Subject: [PATCH] refactor(tracker): rename Notetracking to Follow Notetracking was used in two completely different meanings: the pitch/bpm notetracking in the delay unit and the cursor follow in when playing. The word for the second meaning was changed to Follow, to avoid confusion. --- tracker/bool.go | 14 +++++++------- tracker/gioui/keyevent.go | 22 +++++++++++----------- tracker/gioui/songpanel.go | 16 ++++++++-------- tracker/gioui/tracker.go | 2 +- tracker/list.go | 4 ++-- tracker/model.go | 4 ++-- tracker/model_test.go | 2 +- tracker/table.go | 4 ++-- 8 files changed, 34 insertions(+), 34 deletions(-) diff --git a/tracker/bool.go b/tracker/bool.go index bd01ffc..9093d0d 100644 --- a/tracker/bool.go +++ b/tracker/bool.go @@ -17,7 +17,7 @@ type ( InstrEnlarged Model Effect Model CommentExpanded Model - NoteTracking Model + Follow Model UnitSearching Model UnitDisabled Model LoopToggle Model @@ -41,7 +41,7 @@ func (m *Model) Playing() *Playing { return (*Playing)(m) } func (m *Model) InstrEnlarged() *InstrEnlarged { return (*InstrEnlarged)(m) } func (m *Model) Effect() *Effect { return (*Effect)(m) } func (m *Model) CommentExpanded() *CommentExpanded { return (*CommentExpanded)(m) } -func (m *Model) NoteTracking() *NoteTracking { return (*NoteTracking)(m) } +func (m *Model) Follow() *Follow { return (*Follow)(m) } func (m *Model) UnitSearching() *UnitSearching { return (*UnitSearching)(m) } func (m *Model) UnitDisabled() *UnitDisabled { return (*UnitDisabled)(m) } func (m *Model) LoopToggle() *LoopToggle { return (*LoopToggle)(m) } @@ -95,12 +95,12 @@ func (m *CommentExpanded) Value() bool { return m.commentExpanded } func (m *CommentExpanded) setValue(val bool) { m.commentExpanded = val } func (m *CommentExpanded) Enabled() bool { return true } -// NoteTracking methods +// Follow methods -func (m *NoteTracking) Bool() Bool { return Bool{m} } -func (m *NoteTracking) Value() bool { return m.noteTracking } -func (m *NoteTracking) setValue(val bool) { m.noteTracking = val } -func (m *NoteTracking) Enabled() bool { return true } +func (m *Follow) Bool() Bool { return Bool{m} } +func (m *Follow) Value() bool { return m.follow } +func (m *Follow) setValue(val bool) { m.follow = val } +func (m *Follow) Enabled() bool { return true } // Effect methods diff --git a/tracker/gioui/keyevent.go b/tracker/gioui/keyevent.go index 89aa16b..86d3bef 100644 --- a/tracker/gioui/keyevent.go +++ b/tracker/gioui/keyevent.go @@ -148,28 +148,28 @@ func (t *Tracker) KeyEvent(e key.Event, gtx C) { case "RemoveUnused": t.RemoveUnused().Do() case "PlayCurrentPosFollow": - t.NoteTracking().Bool().Set(true) + t.Follow().Bool().Set(true) t.PlayCurrentPos().Do() case "PlayCurrentPosUnfollow": - t.NoteTracking().Bool().Set(false) + t.Follow().Bool().Set(false) t.PlayCurrentPos().Do() case "PlaySongStartFollow": - t.NoteTracking().Bool().Set(true) + t.Follow().Bool().Set(true) t.PlaySongStart().Do() case "PlaySongStartUnfollow": - t.NoteTracking().Bool().Set(false) + t.Follow().Bool().Set(false) t.PlaySongStart().Do() case "PlaySelectedFollow": - t.NoteTracking().Bool().Set(true) + t.Follow().Bool().Set(true) t.PlaySelected().Do() case "PlaySelectedUnfollow": - t.NoteTracking().Bool().Set(false) + t.Follow().Bool().Set(false) t.PlaySelected().Do() case "PlayLoopFollow": - t.NoteTracking().Bool().Set(true) + t.Follow().Bool().Set(true) t.PlayFromLoopStart().Do() case "PlayLoopUnfollow": - t.NoteTracking().Bool().Set(false) + t.Follow().Bool().Set(false) t.PlayFromLoopStart().Do() case "StopPlaying": t.StopPlaying().Do() @@ -205,17 +205,17 @@ func (t *Tracker) KeyEvent(e key.Event, gtx C) { case "RecordingToggle": t.IsRecording().Bool().Toggle() case "PlayingToggleFollow": - t.NoteTracking().Bool().Set(true) + t.Follow().Bool().Set(true) t.Playing().Bool().Toggle() case "PlayingToggleUnfollow": - t.NoteTracking().Bool().Set(false) + t.Follow().Bool().Set(false) t.Playing().Bool().Toggle() case "InstrEnlargedToggle": t.InstrEnlarged().Bool().Toggle() case "CommentExpandedToggle": t.CommentExpanded().Bool().Toggle() case "FollowToggle": - t.NoteTracking().Bool().Toggle() + t.Follow().Bool().Toggle() case "UnitDisabledToggle": t.UnitDisabled().Bool().Toggle() case "LoopToggle": diff --git a/tracker/gioui/songpanel.go b/tracker/gioui/songpanel.go index 02eb65c..ac701ef 100644 --- a/tracker/gioui/songpanel.go +++ b/tracker/gioui/songpanel.go @@ -22,12 +22,12 @@ type SongPanel struct { Step *NumberInput SongLength *NumberInput - RewindBtn *ActionClickable - PlayingBtn *BoolClickable - RecordBtn *BoolClickable - NoteTracking *BoolClickable - PanicBtn *BoolClickable - LoopBtn *BoolClickable + RewindBtn *ActionClickable + PlayingBtn *BoolClickable + RecordBtn *BoolClickable + FollowBtn *BoolClickable + PanicBtn *BoolClickable + LoopBtn *BoolClickable // File menu items fileMenuItems []MenuItem @@ -62,7 +62,7 @@ func NewSongPanel(model *tracker.Model) *SongPanel { PanicBtn: NewBoolClickable(model.Panic().Bool()), LoopBtn: NewBoolClickable(model.LoopToggle().Bool()), RecordBtn: NewBoolClickable(model.IsRecording().Bool()), - NoteTracking: NewBoolClickable(model.NoteTracking().Bool()), + FollowBtn: NewBoolClickable(model.Follow().Bool()), PlayingBtn: NewBoolClickable(model.Playing().Bool()), RewindBtn: NewActionClickable(model.PlaySongStart()), } @@ -124,7 +124,7 @@ func (t *SongPanel) layoutSongOptions(gtx C, tr *Tracker) D { rewindBtnStyle := ActionIcon(gtx, tr.Theme, t.RewindBtn, icons.AVFastRewind, t.rewindHint) playBtnStyle := ToggleIcon(gtx, tr.Theme, t.PlayingBtn, icons.AVPlayArrow, icons.AVStop, t.playHint, t.stopHint) recordBtnStyle := ToggleIcon(gtx, tr.Theme, t.RecordBtn, icons.AVFiberManualRecord, icons.AVFiberSmartRecord, t.recordHint, t.stopRecordHint) - noteTrackBtnStyle := ToggleIcon(gtx, tr.Theme, t.NoteTracking, icons.ActionSpeakerNotesOff, icons.ActionSpeakerNotes, t.followOffHint, t.followOnHint) + noteTrackBtnStyle := ToggleIcon(gtx, tr.Theme, t.FollowBtn, icons.ActionSpeakerNotesOff, icons.ActionSpeakerNotes, t.followOffHint, t.followOnHint) loopBtnStyle := ToggleIcon(gtx, tr.Theme, t.LoopBtn, icons.NavigationArrowForward, icons.AVLoop, t.loopOffHint, t.loopOnHint) return layout.Flex{Axis: layout.Vertical}.Layout(gtx, diff --git a/tracker/gioui/tracker.go b/tracker/gioui/tracker.go index 01e7acc..9eae66e 100644 --- a/tracker/gioui/tracker.go +++ b/tracker/gioui/tracker.go @@ -142,7 +142,7 @@ func (t *Tracker) Main() { } } gtx := app.NewContext(&ops, e) - if t.SongPanel.PlayingBtn.Bool.Value() && t.SongPanel.NoteTracking.Bool.Value() { + if t.SongPanel.PlayingBtn.Bool.Value() && t.SongPanel.FollowBtn.Bool.Value() { t.TrackEditor.scrollTable.RowTitleList.CenterOn(t.PlaySongRow()) } t.Layout(gtx, w) diff --git a/tracker/list.go b/tracker/list.go index ed112ce..7548be5 100644 --- a/tracker/list.go +++ b/tracker/list.go @@ -551,7 +551,7 @@ func (v *OrderRows) Selected2() int { func (v *OrderRows) SetSelected(value int) { y := intMax(intMin(value, v.Count()-1), 0) if y != v.d.Cursor.OrderRow { - v.noteTracking = false + v.follow = false } v.d.Cursor.OrderRow = y } @@ -651,7 +651,7 @@ func (v *NoteRows) Selected2() int { func (v *NoteRows) SetSelected(value int) { if value != v.d.Song.Score.SongRow(v.d.Cursor.SongPos) { - v.noteTracking = false + v.follow = false } v.d.Cursor.SongPos = v.d.Song.Score.Clamp(v.d.Song.Score.SongPos(value)) } diff --git a/tracker/model.go b/tracker/model.go index 7a1e617..6cca46a 100644 --- a/tracker/model.go +++ b/tracker/model.go @@ -59,7 +59,7 @@ type ( playing bool playPosition sointu.SongPos loop Loop - noteTracking bool + follow bool quitted bool cachePatternUseCount [][]int @@ -327,7 +327,7 @@ func (m *Model) ProcessPlayerMessage(msg PlayerMsg) { m.voiceLevels = msg.VoiceLevels m.avgVolume = msg.AverageVolume m.peakVolume = msg.PeakVolume - if m.playing && m.noteTracking { + if m.playing && m.follow { m.d.Cursor.SongPos = msg.SongPosition m.d.Cursor2.SongPos = msg.SongPosition } diff --git a/tracker/model_test.go b/tracker/model_test.go index c97287a..32ff896 100644 --- a/tracker/model_test.go +++ b/tracker/model_test.go @@ -59,7 +59,7 @@ func (s *modelFuzzState) Iterate(yield func(string, func(p string, t *testing.T) s.IterateBool("InstrEnlarged", s.model.InstrEnlarged().Bool(), yield, seed) s.IterateBool("Effect", s.model.Effect().Bool(), yield, seed) s.IterateBool("CommentExpanded", s.model.CommentExpanded().Bool(), yield, seed) - s.IterateBool("NoteTracking", s.model.NoteTracking().Bool(), yield, seed) + s.IterateBool("Follow", s.model.Follow().Bool(), yield, seed) // Strings s.IterateString("FilePath", s.model.FilePath().String(), yield, seed) s.IterateString("InstrumentName", s.model.InstrumentName().String(), yield, seed) diff --git a/tracker/table.go b/tracker/table.go index 118e119..0d1182d 100644 --- a/tracker/table.go +++ b/tracker/table.go @@ -166,7 +166,7 @@ func (m *Order) SetCursor(p Point) { m.d.Cursor.Track = intMax(intMin(p.X, len(m.d.Song.Score.Tracks)-1), 0) y := intMax(intMin(p.Y, m.d.Song.Score.Length-1), 0) if y != m.d.Cursor.OrderRow { - m.noteTracking = false + m.follow = false } m.d.Cursor.OrderRow = y m.updateCursorRows() @@ -412,7 +412,7 @@ func (v *Notes) SetCursor(p Point) { v.d.Cursor.Track = intMax(intMin(p.X, len(v.d.Song.Score.Tracks)-1), 0) newPos := v.d.Song.Score.Clamp(sointu.SongPos{PatternRow: p.Y}) if newPos != v.d.Cursor.SongPos { - v.noteTracking = false + v.follow = false } v.d.Cursor.SongPos = newPos }