refactor(tracker): refactor IntData to IntValue, following Bool example

This commit is contained in:
5684185+vsariola@users.noreply.github.com
2025-05-26 14:50:09 +03:00
parent fb3a0da3ed
commit 74f37318d6
11 changed files with 186 additions and 189 deletions

View File

@ -215,37 +215,37 @@ func (t *Tracker) KeyEvent(e key.Event, gtx C) {
t.Solo().Toggle()
// Integers
case "InstrumentVoicesAdd":
t.Model.InstrumentVoices().Int().Add(1)
t.Model.InstrumentVoices().Add(1)
case "InstrumentVoicesSubtract":
t.Model.InstrumentVoices().Int().Add(-1)
t.Model.InstrumentVoices().Add(-1)
case "TrackVoicesAdd":
t.TrackVoices().Int().Add(1)
t.TrackVoices().Add(1)
case "TrackVoicesSubtract":
t.TrackVoices().Int().Add(-1)
t.TrackVoices().Add(-1)
case "SongLengthAdd":
t.SongLength().Int().Add(1)
t.SongLength().Add(1)
case "SongLengthSubtract":
t.SongLength().Int().Add(-1)
t.SongLength().Add(-1)
case "BPMAdd":
t.BPM().Int().Add(1)
t.BPM().Add(1)
case "BPMSubtract":
t.BPM().Int().Add(-1)
t.BPM().Add(-1)
case "RowsPerPatternAdd":
t.RowsPerPattern().Int().Add(1)
t.RowsPerPattern().Add(1)
case "RowsPerPatternSubtract":
t.RowsPerPattern().Int().Add(-1)
t.RowsPerPattern().Add(-1)
case "RowsPerBeatAdd":
t.RowsPerBeat().Int().Add(1)
t.RowsPerBeat().Add(1)
case "RowsPerBeatSubtract":
t.RowsPerBeat().Int().Add(-1)
t.RowsPerBeat().Add(-1)
case "StepAdd":
t.Step().Int().Add(1)
t.Step().Add(1)
case "StepSubtract":
t.Step().Int().Add(-1)
t.Step().Add(-1)
case "OctaveAdd":
t.Octave().Int().Add(1)
t.Octave().Add(1)
case "OctaveSubtract":
t.Octave().Int().Add(-1)
t.Octave().Add(-1)
// Other miscellaneous
case "Paste":
gtx.Execute(clipboard.ReadCmd{Tag: t})

View File

@ -76,7 +76,7 @@ type NoteEditor struct {
func NewNoteEditor(model *tracker.Model) *NoteEditor {
ret := &NoteEditor{
TrackVoices: NewNumberInput(model.TrackVoices().Int()),
TrackVoices: NewNumberInput(model.TrackVoices()),
NewTrackBtn: NewActionClickable(model.AddTrack()),
DeleteTrackBtn: NewActionClickable(model.DeleteTrack()),
SplitTrackBtn: NewActionClickable(model.SplitTrack()),

View File

@ -84,7 +84,7 @@ func (s *NumericUpDown) Update(gtx layout.Context) {
case pointer.Drag:
var deltaCoord float32
deltaCoord = e.Position.X - e.Position.Y - s.NumberInput.dragStartXY
s.NumberInput.Int.Set(s.NumberInput.dragStartValue + int(deltaCoord/pxPerStep+0.5))
s.NumberInput.Int.SetValue(s.NumberInput.dragStartValue + int(deltaCoord/pxPerStep+0.5))
}
}
}

View File

@ -47,8 +47,8 @@ func NewOscilloscope(model *tracker.Model) *OscilloscopeState {
return &OscilloscopeState{
onceBtn: NewBoolClickable(model.SignalAnalyzer().Once()),
wrapBtn: NewBoolClickable(model.SignalAnalyzer().Wrap()),
lengthInBeatsNumber: NewNumberInput(model.SignalAnalyzer().LengthInBeats().Int()),
triggerChannelNumber: NewNumberInput(model.SignalAnalyzer().TriggerChannel().Int()),
lengthInBeatsNumber: NewNumberInput(model.SignalAnalyzer().LengthInBeats()),
triggerChannelNumber: NewNumberInput(model.SignalAnalyzer().TriggerChannel()),
}
}

View File

@ -39,11 +39,11 @@ type SongPanel struct {
func NewSongPanel(model *tracker.Model) *SongPanel {
ret := &SongPanel{
BPM: NewNumberInput(model.BPM().Int()),
RowsPerPattern: NewNumberInput(model.RowsPerPattern().Int()),
RowsPerBeat: NewNumberInput(model.RowsPerBeat().Int()),
Step: NewNumberInput(model.Step().Int()),
SongLength: NewNumberInput(model.SongLength().Int()),
BPM: NewNumberInput(model.BPM()),
RowsPerPattern: NewNumberInput(model.RowsPerPattern()),
RowsPerBeat: NewNumberInput(model.RowsPerBeat()),
Step: NewNumberInput(model.Step()),
SongLength: NewNumberInput(model.SongLength()),
Scope: NewOscilloscope(model),
MenuBar: NewMenuBar(model),
PlayBar: NewPlayBar(model),
@ -61,7 +61,7 @@ func NewSongPanel(model *tracker.Model) *SongPanel {
func (s *SongPanel) Update(gtx C, t *Tracker) {
for s.WeightingTypeBtn.Clicked(gtx) {
t.Model.DetectorWeighting().Int().Set((t.DetectorWeighting().Value() + 1) % int(tracker.NumWeightingTypes))
t.Model.DetectorWeighting().SetValue((t.DetectorWeighting().Value() + 1) % int(tracker.NumWeightingTypes))
}
for s.OversamplingBtn.Clicked(gtx) {
t.Model.Oversampling().SetValue(!t.Oversampling().Value())

View File

@ -71,8 +71,8 @@ var ZoomFactors = []float32{.25, 1. / 3, .5, 2. / 3, .75, .8, 1, 1.1, 1.25, 1.5,
func NewTracker(model *tracker.Model) *Tracker {
t := &Tracker{
OctaveNumberInput: NewNumberInput(model.Octave().Int()),
InstrumentVoices: NewNumberInput(model.InstrumentVoices().Int()),
OctaveNumberInput: NewNumberInput(model.Octave()),
InstrumentVoices: NewNumberInput(model.InstrumentVoices()),
TopHorizontalSplit: &Split{Ratio: -.5, MinSize1: 180, MinSize2: 180},
BottomHorizontalSplit: &Split{Ratio: -.6, MinSize1: 180, MinSize2: 180},

View File

@ -208,22 +208,22 @@ func (pe *UnitEditor) command(e key.Event, t *Tracker) {
if sel == nil {
return
}
i := (&tracker.Int{IntData: sel})
i := tracker.MakeInt(sel)
if e.Modifiers.Contain(key.ModShift) {
i.Set(i.Value() - sel.LargeStep())
i.SetValue(i.Value() - sel.LargeStep())
} else {
i.Set(i.Value() - 1)
i.SetValue(i.Value() - 1)
}
case key.NameRightArrow:
sel := params.SelectedItem()
if sel == nil {
return
}
i := (&tracker.Int{IntData: sel})
i := tracker.MakeInt(sel)
if e.Modifiers.Contain(key.ModShift) {
i.Set(i.Value() + sel.LargeStep())
i.SetValue(i.Value() + sel.LargeStep())
} else {
i.Set(i.Value() + 1)
i.SetValue(i.Value() + 1)
}
case key.NameEscape:
t.InstrumentEditor.unitDragList.Focus()
@ -286,7 +286,7 @@ func (p ParameterStyle) Layout(gtx C) D {
}
if ev, ok := e.(pointer.Event); ok && ev.Kind == pointer.Scroll {
delta := math.Min(math.Max(float64(ev.Scroll.Y), -1), 1)
tracker.Int{IntData: p.w.Parameter}.Add(-int(delta))
tracker.MakeInt(p.w.Parameter).Add(-int(delta))
}
}
gtx.Constraints.Min.X = gtx.Dp(unit.Dp(200))
@ -306,7 +306,7 @@ func (p ParameterStyle) Layout(gtx C) D {
event.Op(gtx.Ops, &p.w.floatWidget)
}
dims := sliderStyle.Layout(gtx)
tracker.Int{IntData: p.w.Parameter}.Set(int(p.w.floatWidget.Value*float32(ra.Max-ra.Min) + float32(ra.Min) + 0.5))
tracker.MakeInt(p.w.Parameter).SetValue(int(p.w.floatWidget.Value*float32(ra.Max-ra.Min) + float32(ra.Min) + 0.5))
return dims
case tracker.BoolParameter:
gtx.Constraints.Min.X = gtx.Dp(unit.Dp(60))
@ -318,9 +318,9 @@ func (p ParameterStyle) Layout(gtx C) D {
defer pointer.PassOp{}.Push(gtx.Ops).Pop()
dims := layout.Center.Layout(gtx, boolStyle.Layout)
if p.w.boolWidget.Value {
tracker.Int{IntData: p.w.Parameter}.Set(ra.Max)
tracker.MakeInt(p.w.Parameter).SetValue(ra.Max)
} else {
tracker.Int{IntData: p.w.Parameter}.Set(ra.Min)
tracker.MakeInt(p.w.Parameter).SetValue(ra.Min)
}
return dims
case tracker.IDParameter:
@ -334,7 +334,7 @@ func (p ParameterStyle) Layout(gtx C) D {
instrItems[i].IconBytes = icons.NavigationChevronRight
instrItems[i].Doer = tracker.MakeEnabledAction((tracker.DoFunc)(func() {
if id, ok := p.tracker.Instruments().FirstID(i); ok {
tracker.Int{IntData: p.w.Parameter}.Set(id)
tracker.MakeInt(p.w.Parameter).SetValue(id)
}
}))
}
@ -351,7 +351,7 @@ func (p ParameterStyle) Layout(gtx C) D {
unitItems[j].Text = buildUnitLabel(j, unit)
unitItems[j].IconBytes = icons.NavigationChevronRight
unitItems[j].Doer = tracker.MakeEnabledAction((tracker.DoFunc)(func() {
tracker.Int{IntData: p.w.Parameter}.Set(id)
tracker.MakeInt(p.w.Parameter).SetValue(id)
}))
}
}