Commit Graph

32 Commits

Author SHA1 Message Date
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
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
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
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
81a6d1acea feat: upgrade oto and output float audio 2024-10-06 18:58:08 +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
1c020fffa3 refactor(gioui): update gioui to v0.5.0 2024-03-01 22:11:44 +02:00
5684185+vsariola@users.noreply.github.com
8a9cbdea62 build: update vst2 to latest version, because it compiles on linux 2024-02-23 19:56:09 +02:00
5684185+vsariola@users.noreply.github.com
bb32403c78 build: require go 1.21 as it is needed by slices package 2024-02-17 18:22:31 +02:00
5684185+vsariola@users.noreply.github.com
1040eb585d build: require go 1.19; did not build on go 1.18 2023-10-21 00:11:58 +03:00
5684185+vsariola@users.noreply.github.com
b97d269cc4 build: update Gio to v0.3.1 2023-10-17 20:30:06 +03:00
5684185+vsariola@users.noreply.github.com
462faf5f4e feat: save recovery data to disk and/or DAW project 2023-10-17 10:26:36 +03:00
5684185+vsariola@users.noreply.github.com
b455ef0f3c feat(tracker): add reverb presets for delay unit
The options are stereo, left and right. Similar to oscillator sample settings, if you tamper with these, it starts to show "custom". Used some of the generic features of go1.18, so had to update go.mod to require go1.18.
2023-10-14 14:58:38 +03:00
5684185+vsariola@users.noreply.github.com
20b0598a57 upgrade gioui to latest version 2023-09-23 14:43:09 +03:00
5684185+vsariola@users.noreply.github.com
33221b5203 fix: upgrade to latest gioui (closes #97)
Latest gioui has the fix that enter key up event alone does not trigger a button
2023-08-27 10:59:11 +03:00
5684185+vsariola@users.noreply.github.com
ffb2f18c68 fix(cmd/sointu-vsti): upgrade vst2 package & request tempo properly from host 2023-07-18 10:37:32 +03:00
5684185+vsariola@users.noreply.github.com
8c4f7ee61f refactor(tracker/gioui): update gioui to newer version 2023-07-08 11:57:19 +03:00
5684185+vsariola@users.noreply.github.com
cd700ed954 feat!: implement vsti, along with various refactorings and api changes for it
The RPC and sync library mechanisms were removed for now; they never really worked and contained several obvious bugs. Need to consider if syncs are useful at all during the compose time, or just used during intro.
2023-05-13 17:56:13 +03:00
vsariola
8ba9fb1f00 fix(gioui): make editors lose focus when Escape is pressed. 2021-04-19 22:46:35 +03:00
vsariola
147e8a2513 feat(gioui): implement own file save / load dialogs
Removes the dependency on sqweek/dialogs, which was always very buggy.

Closes #12
2021-04-18 19:10:41 +03:00
vsariola
a44c27f4bb update gioui to latest version 2021-04-10 17:06:52 +03:00
vsariola
e46ece3648 feat(tracker): add rudimentary GUI for adjusting delay times 2021-03-01 20:42:37 +02:00
vsariola
95054c1877 upgrade to latest gio 2021-02-02 21:42:18 +02:00
vsariola
ed67408d6e upgrade to slightly newer gioui, one before the breaking NRGBA API change 2021-01-13 22:55:24 +02:00
Veikko Sariola
cd498e775b refactor(tracker): Rewrote the sequencer loop to use simple mutex 2020-12-29 16:30:44 +02:00
Veikko Sariola
d0bd877b3f feat(asm&go4k): Rewrote both library & player to use text/template compiler
There is no more plain .asms, both library & player are created from the templates using go text/template package.
2020-12-16 17:23:50 +02:00
Veikko Sariola
2ad61ff6b2 feat(asm&go4k): Preprocess asm code using go text/template
The preprocessing is done sointu-cli and (almost) nothing is done by the NASM preprocessor anymore (some .strucs are still there.
Now, sointu-cli loads the .yml song, defines bunch of macros (go functions / variables) and passes the struct to text/template parses.
This a lot more powerful way to generate .asm code than trying to fight with the nasm preprocessor.

At the moment, tests pass but the repository is a bit of monster, as the library is still compiled using the old approach. Go should
generate the library also from the templates.
2020-12-14 15:44:16 +02:00
Veikko Sariola
2106ebde56 feat(sointu-cli): Support importing/exporting in YAML 2020-12-08 10:57:23 +02:00
Matias Lahti
64fe28a240 feat(tracker): create initial tracker skeleton using Gio 2020-11-07 19:50:37 +02:00
Matias Lahti
fa772ddd77 feat(go/audio): implement basic audio output with oto
splitting implementation into a separate package to potentially allow for other sorts of output, too.
2020-11-07 19:33:39 +02:00
Veikko Sariola
7aac3917b7 Implement a bridge to call Sointu from Go language.
The main interface is render_samples function, which renders several samples in one call,
to limit the number of calls from Go to C. This is compiled into a library, which is then
linked and called from bridge.go.
2020-10-22 21:19:13 +03:00