mirror of
https://github.com/vsariola/sointu.git
synced 2025-05-28 03:10:24 -04:00
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:
parent
59c04ed4a1
commit
4c096a3fac
@ -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
|
||||
|
||||
|
@ -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":
|
||||
|
@ -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,
|
||||
|
@ -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)
|
||||
|
@ -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))
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user