From 8b23fb5c0521134bc2995e68954580cdc7ad121c Mon Sep 17 00:00:00 2001 From: vsariola Date: Thu, 7 Jan 2021 13:15:57 +0200 Subject: [PATCH] feat(tracker): hide playing row indicator when not playing --- tracker/layout.go | 15 +++++++++++++-- tracker/tracker.go | 2 ++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/tracker/layout.go b/tracker/layout.go index c19f578..ca1d4b4 100644 --- a/tracker/layout.go +++ b/tracker/layout.go @@ -23,6 +23,11 @@ func (t *Tracker) layoutTracker(gtx layout.Context) layout.Dimensions { t.playRowPatMutex.RLock() defer t.playRowPatMutex.RUnlock() + playPat := t.PlayPattern + if !t.Playing { + playPat = -1 + } + for i, trk := range t.song.Tracks { flexTracks[i] = layout.Rigid(Lowered(t.layoutTrack( trk.Patterns, @@ -32,7 +37,7 @@ func (t *Tracker) layoutTracker(gtx layout.Context) layout.Dimensions { t.DisplayPattern, t.CursorColumn, t.PlayRow, - t.PlayPattern, + playPat, ))) } return layout.Flex{Axis: layout.Horizontal}.Layout(gtx, @@ -43,13 +48,19 @@ func (t *Tracker) layoutTracker(gtx layout.Context) layout.Dimensions { func (t *Tracker) layoutControls(gtx layout.Context) layout.Dimensions { gtx.Constraints.Min.Y = 200 gtx.Constraints.Max.Y = 200 + + playPat := t.PlayPattern + if !t.Playing { + playPat = -1 + } + return layout.Flex{Axis: layout.Horizontal}.Layout(gtx, layout.Rigid(Raised(t.layoutPatterns( t.song.Tracks, t.ActiveTrack, t.DisplayPattern, t.CursorColumn, - t.PlayPattern, + playPat, ))), layout.Rigid(t.darkLine(false)), layout.Flexed(1, Raised(Label(fmt.Sprintf("Current octave: %v", t.CurrentOctave), white))), diff --git a/tracker/tracker.go b/tracker/tracker.go index 8495402..824d9c5 100644 --- a/tracker/tracker.go +++ b/tracker/tracker.go @@ -62,6 +62,8 @@ func (t *Tracker) TogglePlay() { t.Playing = !t.Playing if t.Playing { t.NoteTracking = true + t.PlayPattern = t.DisplayPattern + t.PlayRow = t.CursorRow - 1 } }