fix(tracker/gioui): pressing a or 1 in hex mode created note off

Closes #162
This commit is contained in:
5684185+vsariola@users.noreply.github.com
2024-10-08 12:31:05 +03:00
parent ad5f7628a5
commit a94703deea
2 changed files with 12 additions and 9 deletions

View File

@ -339,15 +339,6 @@ func noteAsValue(octave, note int) byte {
}
func (te *NoteEditor) command(gtx C, t *Tracker, e key.Event) {
if e.Name == "A" || e.Name == "1" {
t.Model.Notes().Table().Fill(0)
if step := t.Model.Step().Value(); step > 0 {
te.scrollTable.Table.MoveCursor(0, step)
te.scrollTable.Table.SetCursor2(te.scrollTable.Table.Cursor())
}
te.scrollTable.EnsureCursorVisible()
return
}
var n byte
if t.Model.Notes().Effect(te.scrollTable.Table.Cursor().X) {
if nibbleValue, err := strconv.ParseInt(string(e.Name), 16, 8); err == nil {
@ -356,6 +347,15 @@ func (te *NoteEditor) command(gtx C, t *Tracker, e key.Event) {
goto validNote
}
} else {
if e.Name == "A" || e.Name == "1" {
t.Model.Notes().Table().Fill(0)
if step := t.Model.Step().Value(); step > 0 {
te.scrollTable.Table.MoveCursor(0, step)
te.scrollTable.Table.SetCursor2(te.scrollTable.Table.Cursor())
}
te.scrollTable.EnsureCursorVisible()
return
}
if val, ok := noteMap[e.Name]; ok {
n = noteAsValue(t.OctaveNumberInput.Int.Value(), val)
t.Model.Notes().Table().Fill(int(n))