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.
This commit is contained in:
5684185+vsariola@users.noreply.github.com 2024-10-12 21:35:45 +03:00
parent 59c04ed4a1
commit 4c096a3fac
8 changed files with 34 additions and 34 deletions

View File

@ -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

View File

@ -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":

View File

@ -25,7 +25,7 @@ type SongPanel struct {
RewindBtn *ActionClickable
PlayingBtn *BoolClickable
RecordBtn *BoolClickable
NoteTracking *BoolClickable
FollowBtn *BoolClickable
PanicBtn *BoolClickable
LoopBtn *BoolClickable
@ -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,

View File

@ -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)

View File

@ -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))
}

View File

@ -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
}

View File

@ -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)

View File

@ -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
}