mirror of
https://github.com/vsariola/sointu.git
synced 2025-07-19 13:34:34 -04:00
refactor(tracker): refactor IntData to IntValue, following Bool example
This commit is contained in:
parent
fb3a0da3ed
commit
74f37318d6
@ -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})
|
||||
|
@ -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()),
|
||||
|
@ -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))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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()),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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())
|
||||
|
@ -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},
|
||||
|
@ -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)
|
||||
}))
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user