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
|
InstrEnlarged Model
|
||||||
Effect Model
|
Effect Model
|
||||||
CommentExpanded Model
|
CommentExpanded Model
|
||||||
NoteTracking Model
|
Follow Model
|
||||||
UnitSearching Model
|
UnitSearching Model
|
||||||
UnitDisabled Model
|
UnitDisabled Model
|
||||||
LoopToggle 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) InstrEnlarged() *InstrEnlarged { return (*InstrEnlarged)(m) }
|
||||||
func (m *Model) Effect() *Effect { return (*Effect)(m) }
|
func (m *Model) Effect() *Effect { return (*Effect)(m) }
|
||||||
func (m *Model) CommentExpanded() *CommentExpanded { return (*CommentExpanded)(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) UnitSearching() *UnitSearching { return (*UnitSearching)(m) }
|
||||||
func (m *Model) UnitDisabled() *UnitDisabled { return (*UnitDisabled)(m) }
|
func (m *Model) UnitDisabled() *UnitDisabled { return (*UnitDisabled)(m) }
|
||||||
func (m *Model) LoopToggle() *LoopToggle { return (*LoopToggle)(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) setValue(val bool) { m.commentExpanded = val }
|
||||||
func (m *CommentExpanded) Enabled() bool { return true }
|
func (m *CommentExpanded) Enabled() bool { return true }
|
||||||
|
|
||||||
// NoteTracking methods
|
// Follow methods
|
||||||
|
|
||||||
func (m *NoteTracking) Bool() Bool { return Bool{m} }
|
func (m *Follow) Bool() Bool { return Bool{m} }
|
||||||
func (m *NoteTracking) Value() bool { return m.noteTracking }
|
func (m *Follow) Value() bool { return m.follow }
|
||||||
func (m *NoteTracking) setValue(val bool) { m.noteTracking = val }
|
func (m *Follow) setValue(val bool) { m.follow = val }
|
||||||
func (m *NoteTracking) Enabled() bool { return true }
|
func (m *Follow) Enabled() bool { return true }
|
||||||
|
|
||||||
// Effect methods
|
// Effect methods
|
||||||
|
|
||||||
|
@ -148,28 +148,28 @@ func (t *Tracker) KeyEvent(e key.Event, gtx C) {
|
|||||||
case "RemoveUnused":
|
case "RemoveUnused":
|
||||||
t.RemoveUnused().Do()
|
t.RemoveUnused().Do()
|
||||||
case "PlayCurrentPosFollow":
|
case "PlayCurrentPosFollow":
|
||||||
t.NoteTracking().Bool().Set(true)
|
t.Follow().Bool().Set(true)
|
||||||
t.PlayCurrentPos().Do()
|
t.PlayCurrentPos().Do()
|
||||||
case "PlayCurrentPosUnfollow":
|
case "PlayCurrentPosUnfollow":
|
||||||
t.NoteTracking().Bool().Set(false)
|
t.Follow().Bool().Set(false)
|
||||||
t.PlayCurrentPos().Do()
|
t.PlayCurrentPos().Do()
|
||||||
case "PlaySongStartFollow":
|
case "PlaySongStartFollow":
|
||||||
t.NoteTracking().Bool().Set(true)
|
t.Follow().Bool().Set(true)
|
||||||
t.PlaySongStart().Do()
|
t.PlaySongStart().Do()
|
||||||
case "PlaySongStartUnfollow":
|
case "PlaySongStartUnfollow":
|
||||||
t.NoteTracking().Bool().Set(false)
|
t.Follow().Bool().Set(false)
|
||||||
t.PlaySongStart().Do()
|
t.PlaySongStart().Do()
|
||||||
case "PlaySelectedFollow":
|
case "PlaySelectedFollow":
|
||||||
t.NoteTracking().Bool().Set(true)
|
t.Follow().Bool().Set(true)
|
||||||
t.PlaySelected().Do()
|
t.PlaySelected().Do()
|
||||||
case "PlaySelectedUnfollow":
|
case "PlaySelectedUnfollow":
|
||||||
t.NoteTracking().Bool().Set(false)
|
t.Follow().Bool().Set(false)
|
||||||
t.PlaySelected().Do()
|
t.PlaySelected().Do()
|
||||||
case "PlayLoopFollow":
|
case "PlayLoopFollow":
|
||||||
t.NoteTracking().Bool().Set(true)
|
t.Follow().Bool().Set(true)
|
||||||
t.PlayFromLoopStart().Do()
|
t.PlayFromLoopStart().Do()
|
||||||
case "PlayLoopUnfollow":
|
case "PlayLoopUnfollow":
|
||||||
t.NoteTracking().Bool().Set(false)
|
t.Follow().Bool().Set(false)
|
||||||
t.PlayFromLoopStart().Do()
|
t.PlayFromLoopStart().Do()
|
||||||
case "StopPlaying":
|
case "StopPlaying":
|
||||||
t.StopPlaying().Do()
|
t.StopPlaying().Do()
|
||||||
@ -205,17 +205,17 @@ func (t *Tracker) KeyEvent(e key.Event, gtx C) {
|
|||||||
case "RecordingToggle":
|
case "RecordingToggle":
|
||||||
t.IsRecording().Bool().Toggle()
|
t.IsRecording().Bool().Toggle()
|
||||||
case "PlayingToggleFollow":
|
case "PlayingToggleFollow":
|
||||||
t.NoteTracking().Bool().Set(true)
|
t.Follow().Bool().Set(true)
|
||||||
t.Playing().Bool().Toggle()
|
t.Playing().Bool().Toggle()
|
||||||
case "PlayingToggleUnfollow":
|
case "PlayingToggleUnfollow":
|
||||||
t.NoteTracking().Bool().Set(false)
|
t.Follow().Bool().Set(false)
|
||||||
t.Playing().Bool().Toggle()
|
t.Playing().Bool().Toggle()
|
||||||
case "InstrEnlargedToggle":
|
case "InstrEnlargedToggle":
|
||||||
t.InstrEnlarged().Bool().Toggle()
|
t.InstrEnlarged().Bool().Toggle()
|
||||||
case "CommentExpandedToggle":
|
case "CommentExpandedToggle":
|
||||||
t.CommentExpanded().Bool().Toggle()
|
t.CommentExpanded().Bool().Toggle()
|
||||||
case "FollowToggle":
|
case "FollowToggle":
|
||||||
t.NoteTracking().Bool().Toggle()
|
t.Follow().Bool().Toggle()
|
||||||
case "UnitDisabledToggle":
|
case "UnitDisabledToggle":
|
||||||
t.UnitDisabled().Bool().Toggle()
|
t.UnitDisabled().Bool().Toggle()
|
||||||
case "LoopToggle":
|
case "LoopToggle":
|
||||||
|
@ -22,12 +22,12 @@ type SongPanel struct {
|
|||||||
Step *NumberInput
|
Step *NumberInput
|
||||||
SongLength *NumberInput
|
SongLength *NumberInput
|
||||||
|
|
||||||
RewindBtn *ActionClickable
|
RewindBtn *ActionClickable
|
||||||
PlayingBtn *BoolClickable
|
PlayingBtn *BoolClickable
|
||||||
RecordBtn *BoolClickable
|
RecordBtn *BoolClickable
|
||||||
NoteTracking *BoolClickable
|
FollowBtn *BoolClickable
|
||||||
PanicBtn *BoolClickable
|
PanicBtn *BoolClickable
|
||||||
LoopBtn *BoolClickable
|
LoopBtn *BoolClickable
|
||||||
|
|
||||||
// File menu items
|
// File menu items
|
||||||
fileMenuItems []MenuItem
|
fileMenuItems []MenuItem
|
||||||
@ -62,7 +62,7 @@ func NewSongPanel(model *tracker.Model) *SongPanel {
|
|||||||
PanicBtn: NewBoolClickable(model.Panic().Bool()),
|
PanicBtn: NewBoolClickable(model.Panic().Bool()),
|
||||||
LoopBtn: NewBoolClickable(model.LoopToggle().Bool()),
|
LoopBtn: NewBoolClickable(model.LoopToggle().Bool()),
|
||||||
RecordBtn: NewBoolClickable(model.IsRecording().Bool()),
|
RecordBtn: NewBoolClickable(model.IsRecording().Bool()),
|
||||||
NoteTracking: NewBoolClickable(model.NoteTracking().Bool()),
|
FollowBtn: NewBoolClickable(model.Follow().Bool()),
|
||||||
PlayingBtn: NewBoolClickable(model.Playing().Bool()),
|
PlayingBtn: NewBoolClickable(model.Playing().Bool()),
|
||||||
RewindBtn: NewActionClickable(model.PlaySongStart()),
|
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)
|
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)
|
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)
|
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)
|
loopBtnStyle := ToggleIcon(gtx, tr.Theme, t.LoopBtn, icons.NavigationArrowForward, icons.AVLoop, t.loopOffHint, t.loopOnHint)
|
||||||
|
|
||||||
return layout.Flex{Axis: layout.Vertical}.Layout(gtx,
|
return layout.Flex{Axis: layout.Vertical}.Layout(gtx,
|
||||||
|
@ -142,7 +142,7 @@ func (t *Tracker) Main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
gtx := app.NewContext(&ops, e)
|
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.TrackEditor.scrollTable.RowTitleList.CenterOn(t.PlaySongRow())
|
||||||
}
|
}
|
||||||
t.Layout(gtx, w)
|
t.Layout(gtx, w)
|
||||||
|
@ -551,7 +551,7 @@ func (v *OrderRows) Selected2() int {
|
|||||||
func (v *OrderRows) SetSelected(value int) {
|
func (v *OrderRows) SetSelected(value int) {
|
||||||
y := intMax(intMin(value, v.Count()-1), 0)
|
y := intMax(intMin(value, v.Count()-1), 0)
|
||||||
if y != v.d.Cursor.OrderRow {
|
if y != v.d.Cursor.OrderRow {
|
||||||
v.noteTracking = false
|
v.follow = false
|
||||||
}
|
}
|
||||||
v.d.Cursor.OrderRow = y
|
v.d.Cursor.OrderRow = y
|
||||||
}
|
}
|
||||||
@ -651,7 +651,7 @@ func (v *NoteRows) Selected2() int {
|
|||||||
|
|
||||||
func (v *NoteRows) SetSelected(value int) {
|
func (v *NoteRows) SetSelected(value int) {
|
||||||
if value != v.d.Song.Score.SongRow(v.d.Cursor.SongPos) {
|
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))
|
v.d.Cursor.SongPos = v.d.Song.Score.Clamp(v.d.Song.Score.SongPos(value))
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ type (
|
|||||||
playing bool
|
playing bool
|
||||||
playPosition sointu.SongPos
|
playPosition sointu.SongPos
|
||||||
loop Loop
|
loop Loop
|
||||||
noteTracking bool
|
follow bool
|
||||||
quitted bool
|
quitted bool
|
||||||
|
|
||||||
cachePatternUseCount [][]int
|
cachePatternUseCount [][]int
|
||||||
@ -327,7 +327,7 @@ func (m *Model) ProcessPlayerMessage(msg PlayerMsg) {
|
|||||||
m.voiceLevels = msg.VoiceLevels
|
m.voiceLevels = msg.VoiceLevels
|
||||||
m.avgVolume = msg.AverageVolume
|
m.avgVolume = msg.AverageVolume
|
||||||
m.peakVolume = msg.PeakVolume
|
m.peakVolume = msg.PeakVolume
|
||||||
if m.playing && m.noteTracking {
|
if m.playing && m.follow {
|
||||||
m.d.Cursor.SongPos = msg.SongPosition
|
m.d.Cursor.SongPos = msg.SongPosition
|
||||||
m.d.Cursor2.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("InstrEnlarged", s.model.InstrEnlarged().Bool(), yield, seed)
|
||||||
s.IterateBool("Effect", s.model.Effect().Bool(), yield, seed)
|
s.IterateBool("Effect", s.model.Effect().Bool(), yield, seed)
|
||||||
s.IterateBool("CommentExpanded", s.model.CommentExpanded().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
|
// Strings
|
||||||
s.IterateString("FilePath", s.model.FilePath().String(), yield, seed)
|
s.IterateString("FilePath", s.model.FilePath().String(), yield, seed)
|
||||||
s.IterateString("InstrumentName", s.model.InstrumentName().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)
|
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)
|
y := intMax(intMin(p.Y, m.d.Song.Score.Length-1), 0)
|
||||||
if y != m.d.Cursor.OrderRow {
|
if y != m.d.Cursor.OrderRow {
|
||||||
m.noteTracking = false
|
m.follow = false
|
||||||
}
|
}
|
||||||
m.d.Cursor.OrderRow = y
|
m.d.Cursor.OrderRow = y
|
||||||
m.updateCursorRows()
|
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)
|
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})
|
newPos := v.d.Song.Score.Clamp(sointu.SongPos{PatternRow: p.Y})
|
||||||
if newPos != v.d.Cursor.SongPos {
|
if newPos != v.d.Cursor.SongPos {
|
||||||
v.noteTracking = false
|
v.follow = false
|
||||||
}
|
}
|
||||||
v.d.Cursor.SongPos = newPos
|
v.d.Cursor.SongPos = newPos
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user