5684185+vsariola@users.noreply.github.com
8074fd71d3
refactor(tracker): split NewModelPlayer into NewModel, NewPlayer
2024-11-02 23:58:38 +02:00
5684185+vsariola@users.noreply.github.com
37769fcc9c
refactor(tracker): get rid of execChan, use broker.ToModel instead
2024-11-02 23:44:52 +02:00
5684185+vsariola@users.noreply.github.com
76322bb541
fix(tracker): the scope length is in beats, not in rows
...
Already the oscilloscope calculated its length in beats, but
everywhere the variable was called "lengthInRows." Renamed the
variable to lengthInBeats and also changed the tooltip to be correct
2024-11-02 23:13:48 +02:00
5684185+vsariola@users.noreply.github.com
1c601858ae
docs: update screenshot
2024-11-02 23:02:02 +02:00
5684185+vsariola@users.noreply.github.com
65a7f060ec
feat(tracker/gioui): make buttons never have focus
...
The exception to the rule is the dialog buttons (which use still
the default material buttons), because when there is a modal dialog
on screen, there is not much else the user would want to do.
Fixes #156
2024-11-02 22:57:09 +02:00
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
2a2934b4e4
docs: update CHANGELOG.md
2024-11-02 22:12:06 +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
943073d0cc
perf: do not use TotalVoices as it causes heap allocations
2024-11-02 20:44:45 +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
86c65939bb
docs: Update CHANGELOG.md
2024-11-02 15:01:30 +02:00
5684185+vsariola@users.noreply.github.com
7417170a8b
docs: update README.md
2024-10-28 21:01:18 +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
eb9413b9a0
fix: sointu-play should use cmd.MainSynther ( #174 )
...
This way you can choose if you want to use the native synth or the
go synth by defining the build tag native.
2024-10-25 11:03:08 +03: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
Alexander Kraus
9bce1cb3d5
build: change go version in go.mod
to fix manual linux builds. ( #169 )
2024-10-16 11:31:12 +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
7b213bd8b0
feat(sointu): display compressor invgain and threshold in dB
2024-10-15 23:27:58 +03:00
5684185+vsariola@users.noreply.github.com
27b6bc57d2
doc: update CHANGELOG.md
2024-10-15 14:49:47 +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
f8f0e11b76
docs: update CHANGELOG.md
2024-10-14 17:09:12 +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