qm210
b08f5d4b1e
fix: make the buttons non-responsive to the spacebar
2024-11-02 22:14:50 +02:00
5684185+vsariola@users.noreply.github.com
9d59cfb3b6
fix(tracker): unmarshal always into fresh, empty structs
...
A somewhat gotcha: when unmarshaling into &m.d with json.Unmarshal
or yaml.Unmarshal, maps were "merged" with the existing maps, which
is how we ended up with send units with color parameters, among
other things. This fix always unmarshals into fresh var data
modelData and only then sets m.d = data if the unmarshaling was
succesful.
2024-11-02 22:01:12 +02:00
5684185+vsariola@users.noreply.github.com
19661f90ea
feat(tracker/gioui): move panic button to the right of MIDI menu
2024-11-02 21:22:40 +02:00
5684185+vsariola@users.noreply.github.com
94058c2603
fix(tracker): do not close Broker but rather just close the detector
2024-11-02 20:45:10 +02:00
5684185+vsariola@users.noreply.github.com
b73fc0b95b
refactor(tracker): use the Broker to communicate when exporting wav
2024-11-02 20:08:48 +02:00
5684185+vsariola@users.noreply.github.com
ee3ab3bf86
feat(tracker): try to honor MIDI message timestamps
2024-11-02 19:55:40 +02:00
5684185+vsariola@users.noreply.github.com
2aa0aaee0c
refactor: AudioSource is a func instead of single function interface
...
This avoids defining Processor altogether.
2024-11-02 19:50:20 +02:00
5684185+vsariola@users.noreply.github.com
3eb4d86d52
style(tracker/gioui): remove old commented code
2024-11-02 17:00:56 +02:00
5684185+vsariola@users.noreply.github.com
ec222bd67d
feat(tracker): oscilloscope and LUFS / true peak detection
...
In addition to the oscilloscope and loudness/peak detections, this
commit refactors all the channels between components (i.e.
ModelMessages and PlayerMessages) etc. into a new class Broker. This
was done because now we have one more goroutine running: a Detector,
where the loudness / true peak detection is done in another thread.
The different threads/components are only aware of the Broker and
communicate through it. Currently, it's just a collection of
channels, so it's many-to-one communication, but in the future,
we could change Broker to have many-to-one-to-many communication.
Related to #61
2024-11-02 15:08:09 +02:00
5684185+vsariola@users.noreply.github.com
daf7fb1519
feat(tracker/gioui): user-defined keybindings.yml override defaults
...
The behaviour of the user-defined keybindings.yml was changed.
It now documents just the changes from the default keybindings.
An empty line with no action means "unbind the key".
2024-10-28 10:04:13 +02:00
qm210
8dfadacafe
feat: midi note input for the tracker
2024-10-22 07:56:36 +03:00
5684185+vsariola@users.noreply.github.com
216cde2365
feat: keeping instruments and tracks linked & splitting them
...
Also includes a refactoring of the List: all methods that accepted
or returned a [from, to] range now return a Range, which is
non-inclusive i.e. [start,end).
Also the assignUnitIds was slightly refactored & a new function
called assignUnitIdsForPatch was added, to assign all unit IDs for
an patch at once.
Closes #157 , #163 .
2024-10-20 12:23:25 +03:00
5684185+vsariola@users.noreply.github.com
025f8832d9
fix(tracker): adding order row moved cursor incorrectly
2024-10-19 00:00:29 +03:00
5684185+vsariola@users.noreply.github.com
1c42a51cc6
refactor(tracker): use built-in min & max instead of intMin & intMax
2024-10-18 23:43:27 +03:00
5684185+vsariola@users.noreply.github.com
0ba6557f65
fix(tracker/presets): kick-adam.yml had some invalid parameters
2024-10-18 23:40:21 +03:00
5684185+vsariola@users.noreply.github.com
3306c431c3
refactor(tracker): use List.DeleteElements to delete tracks/instrs
2024-10-16 13:44:50 +03:00
5684185+vsariola@users.noreply.github.com
63c08d53fe
feat(tracker): solo and mute can toggle multiple instruments
2024-10-16 01:09:28 +03:00
5684185+vsariola@users.noreply.github.com
063b2c29c5
feat: add mute and solo toggles for instruments
...
Closes #168
2024-10-16 00:44:34 +03:00
5684185+vsariola@users.noreply.github.com
00b8e1872a
feat(tracker/gioui): using mouse to select rectangles in tables
2024-10-15 13:24:14 +03:00
5684185+vsariola@users.noreply.github.com
04ca0a3f6e
fix(tracker/gioui): changing a hex played the previous value
2024-10-15 13:08:02 +03:00
5684185+vsariola@users.noreply.github.com
08386323ed
fix(tracker/gioui): all key filters for hexadecimals in note editor
2024-10-15 12:56:10 +03:00
5684185+vsariola@users.noreply.github.com
7470413ad8
fix(tracker): click on hex track low/high nibble selects that nibble
...
Closes #160
2024-10-15 09:37:21 +03:00
5684185+vsariola@users.noreply.github.com
5099c61705
chore: fix linter problems in work space (remove unuseds etc.)
2024-10-15 09:18:41 +03:00
5684185+vsariola@users.noreply.github.com
b494a69a76
refactor(tracker): change Iterate() func(yield):s to Iterate(yield)
2024-10-15 09:09:17 +03:00
5684185+vsariola@users.noreply.github.com
3986bbede7
fix(tracker/gomidi): consume all available midi.Messages
2024-10-15 00:25:07 +03:00
5684185+vsariola@users.noreply.github.com
97e59c5650
refactor(tracker): use go v1.23 style iterators throughout
2024-10-15 00:01:02 +03:00
5684185+vsariola@users.noreply.github.com
2b7ce39069
refactor(tracker/gioui): give Editor Text / SetText methods
2024-10-14 23:36:32 +03:00
5684185+vsariola@users.noreply.github.com
03c994e4da
refactor(tracker/gioui): wrap Editor to include common key.Filters
2024-10-14 23:12:58 +03:00
5684185+vsariola@users.noreply.github.com
cd88ea0680
test(tracker): fix FuzzModel: NullContext implements MIDIContext
2024-10-14 17:25:56 +03:00
5684185+vsariola@users.noreply.github.com
2809526de6
refactor(tracker): ask for midiContext in the model constructor
2024-10-14 17:03:17 +03:00
5684185+vsariola@users.noreply.github.com
f427eca1f4
fix(sointu-vsti): VST crashed due to Model.MIDI being nil
2024-10-14 16:57:21 +03:00
5684185+vsariola@users.noreply.github.com
c07d8000c6
refactor(tracker): harmonize naming and use iterators in MIDI
...
using iterators requires go 1.23
2024-10-14 15:00:55 +03:00
Alexander Kraus
577265b250
feat(tracker): add support for a MIDI controller to the standalone tracker
...
Closes #132 .
2024-10-14 14:11:50 +03:00
5684185+vsariola@users.noreply.github.com
9779beee99
feat: units can have comments
...
Closes #114
2024-10-13 23:02:13 +03:00
5684185+vsariola@users.noreply.github.com
160eb8eea9
fix(tracker/gioui): typing notes respects the keybinding modifiers
2024-10-13 15:14:04 +03:00
5684185+vsariola@users.noreply.github.com
3fb7f07c2c
feat(tracker/gioui): keybindings file is keybindings.yml, not .yaml
2024-10-13 14:54:42 +03:00
5684185+vsariola@users.noreply.github.com
10f021a497
feat: toggle button to duplicate non-unique patterns when changed
...
Closes #77 .
2024-10-13 14:47:22 +03:00
5684185+vsariola@users.noreply.github.com
3a7ab0416a
fix(presets): remove invalid parameters from snare-adam.yml
2024-10-13 14:39:04 +03:00
5684185+vsariola@users.noreply.github.com
4c096a3fac
refactor(tracker): rename Notetracking to Follow
...
Notetracking was used in two completely different meanings: the
pitch/bpm notetracking in the delay unit and the cursor follow in
when playing. The word for the second meaning was changed to Follow,
to avoid confusion.
2024-10-12 21:35:45 +03:00
5684185+vsariola@users.noreply.github.com
59c04ed4a1
refactor(tracker): shorten the names of model.PlayFrom... methods
2024-10-12 21:31:56 +03:00
5684185+vsariola@users.noreply.github.com
a6bb5c2afc
feat(tracker): make keybindings user configurable
...
Closes #94 , closes #151 .
2024-10-12 21:08:30 +03:00
5684185+vsariola@users.noreply.github.com
5c51932f60
fix(tracker): autofix malformed songs with useless params
2024-10-11 20:34:04 +03:00
5684185+vsariola@users.noreply.github.com
773655ef9c
fix(tracker/gioui): avoid deadlock while changing window title
2024-10-11 16:08:55 +03:00
5684185+vsariola@users.noreply.github.com
91b7850bf7
feat(tracker): change keyboard shortcuts to mimic old trackers
2024-10-11 15:31:54 +03:00
5684185+vsariola@users.noreply.github.com
b4a63ce362
feat(tracker/gioui): label identifying instrument MIDI channel
...
Closes #154 .
2024-10-11 12:16:40 +03:00
5684185+vsariola@users.noreply.github.com
a94703deea
fix(tracker/gioui): pressing a or 1 in hex mode created note off
...
Closes #162
2024-10-08 12:31:05 +03:00
5684185+vsariola@users.noreply.github.com
47d7568552
refactor: remove ParamHintString, add DisplayFunc for each param
2024-10-06 19:04:10 +03:00
5684185+vsariola@users.noreply.github.com
890ebe3294
refactor(tracker/gioui): use layout.Background, not layout.Stacked
2024-10-05 13:24:31 +03:00
5684185+vsariola@users.noreply.github.com
bf5579a2d2
build: upgrade to latest gioui
2024-10-05 12:34:02 +03:00
5684185+vsariola@users.noreply.github.com
8fd2df19a1
fix(sointu-vsti): warn about sample rate only after plugin init
2024-09-22 09:59:58 +03:00