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