refactor(tracker): use pointers to bools for simple booleans

This commit is contained in:
5684185+vsariola@users.noreply.github.com
2025-11-02 13:09:25 +02:00
parent 9db6b669c9
commit 628365c486

View File

@ -18,17 +18,13 @@ type (
Panic Model
IsRecording Model
Playing Model
InstrEnlarged Model
Effect Model
TrackMidiIn Model
Follow Model
UnitSearching Model
UnitDisabled Model
LoopToggle Model
UniquePatterns Model
Mute Model
Solo Model
LinkInstrTrack Model
Oversampling Model
InstrEditor Model
InstrPresets Model
@ -37,6 +33,8 @@ type (
Thread2 Model
Thread3 Model
Thread4 Model
simpleBool bool
)
func MakeBool(valueEnabler interface {
@ -74,6 +72,9 @@ func (v Bool) Enabled() bool {
return v.enabler.Enabled()
}
func (v *simpleBool) Value() bool { return bool(*v) }
func (v *simpleBool) SetValue(value bool) { *v = simpleBool(value) }
// Thread methods
func (m *Model) getThreadsBit(bit int) bool {
@ -179,9 +180,7 @@ func (m *Playing) Enabled() bool { return m.playing || !m.instrEnlarged }
// InstrEnlarged methods
func (m *Model) InstrEnlarged() Bool { return MakeEnabledBool((*InstrEnlarged)(m)) }
func (m *InstrEnlarged) Value() bool { return m.instrEnlarged }
func (m *InstrEnlarged) SetValue(val bool) { m.instrEnlarged = val }
func (m *Model) InstrEnlarged() Bool { return MakeEnabledBool((*simpleBool)(&m.instrEnlarged)) }
// InstrEditor methods
@ -211,9 +210,7 @@ func (m *InstrPresets) SetValue(val bool) {
// Follow methods
func (m *Model) Follow() Bool { return MakeEnabledBool((*Follow)(m)) }
func (m *Follow) Value() bool { return m.follow }
func (m *Follow) SetValue(val bool) { m.follow = val }
func (m *Model) Follow() Bool { return MakeEnabledBool((*simpleBool)(&m.follow)) }
// TrackMidiIn (Midi Input for notes in the tracks)
@ -313,9 +310,7 @@ func (t *LoopToggle) SetValue(val bool) {
// UniquePatterns methods
func (m *Model) UniquePatterns() Bool { return MakeEnabledBool((*UniquePatterns)(m)) }
func (m *UniquePatterns) Value() bool { return m.uniquePatterns }
func (m *UniquePatterns) SetValue(val bool) { m.uniquePatterns = val }
func (m *Model) UniquePatterns() Bool { return MakeEnabledBool((*simpleBool)(&m.uniquePatterns)) }
// Mute methods
func (m *Model) Mute() Bool { return MakeBool((*Mute)(m)) }
@ -369,6 +364,4 @@ func (m *Solo) Enabled() bool { return m.d.InstrIndex >= 0 && m.d.InstrIndex < l
// LinkInstrTrack methods
func (m *Model) LinkInstrTrack() Bool { return MakeEnabledBool((*LinkInstrTrack)(m)) }
func (m *LinkInstrTrack) Value() bool { return m.linkInstrTrack }
func (m *LinkInstrTrack) SetValue(val bool) { m.linkInstrTrack = val }
func (m *Model) LinkInstrTrack() Bool { return MakeEnabledBool((*simpleBool)(&m.linkInstrTrack)) }