Commit Graph

772 Commits

Author SHA1 Message Date
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
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
ad5f7628a5 doc: improve filterFrequencyDispFunc comments 2024-10-08 11:45:27 +03:00
5684185+vsariola@users.noreply.github.com
b538737643 feat(sointu): show filter frequency in Hz
Closes #158.
2024-10-06 21:54:19 +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