Commit Graph

92 Commits

Author SHA1 Message Date
5684185+vsariola@users.noreply.github.com
569958547e fix(amd64-386): do not optimize away phase modulations with unisons 2024-08-17 11:06:18 +03:00
5684185+vsariola@users.noreply.github.com
75bd9c591e fix: do not include delay times from disabled delay units
Closes #139.
2024-08-14 15:41:13 +03:00
5684185+vsariola@users.noreply.github.com
2667c3c72c docs: update CHANGELOG.md for v0.4.0 2024-08-10 15:29:49 +03:00
5684185+vsariola@users.noreply.github.com
e09af5ab34 fix(tracker): loading preset did not update the ids
When a preset was loaded, its IDs were not updated,
causing ID collisions in the song and send targets
going wrong.
2024-08-10 15:20:25 +03:00
5684185+vsariola@users.noreply.github.com
db2d9cac9d fix(vm): x87 native filter unit was denormalizing and eating up CPU
When voice was silent, the exponential decays in the filter unit
were causing the high pass component to eventually denormalize,
causing high CPU loads. The solution is the same as in the delay
unit: add and subtract a small number from the value, causing
essentially a flush to zero.
https://en.wikipedia.org/wiki/Subnormal_number

Fixes #68.
2024-06-19 18:58:20 +03:00
5684185+vsariola@users.noreply.github.com
4a8d4c5a29 fix(vm/compiler/templates): modulating delaytime in wasm could crash
The modulated delay time was converted to int with i32.trunc_f32_u.
This throws runtime error if the modulations caused the delaytime
to become negative, because _u implied that it should be unsigned
integer and negative numbers were out of range. Using
i32.trunc_f32_s fixed this.
2024-04-08 20:06:20 +03:00
5684185+vsariola@users.noreply.github.com
6d4529971c feat(vm/compiler): export su_power function in case user needs it 2024-04-05 15:49:00 +03:00
5684185+vsariola@users.noreply.github.com
c55b27b23b fix(tracker): recording creates empty track when no notes triggered 2024-03-10 20:01:13 +02:00
5684185+vsariola@users.noreply.github.com
b18a284252 feat(gioui): + and - keys add/subtract elements in tables
Closes #65.
2024-03-01 22:43:27 +02:00
5684185+vsariola@users.noreply.github.com
edee3452f4 feat(tracker): load presets from os.UserConfigDir()/sointu/presets/
This is related to #125, but is very crude way of implementing it.
2024-02-20 20:17:59 +02:00
5684185+vsariola@users.noreply.github.com
dc12f58082 feat(tracker): add ability to loop part of song during playback
Closes #128.
2024-02-20 19:10:15 +02:00
5684185+vsariola@users.noreply.github.com
aa7a2e56fa feat(gioui): flip the unit parameter slider scroll wheel behaviour
Closes #112.
2024-02-19 21:49:51 +02:00
5684185+vsariola@users.noreply.github.com
17312bbe4e feat: add ability to disable units temporarily
Quite often the user wants to experiment what particular unit(s) add
to the sound. This commit adds ability to disable any set of units
temporarily, without actually deleting them. Ctrl-D disables and
re-enables the units. Disabled units are considered non-existent in
the patch.

Closes #116.
2024-02-19 21:36:14 +02:00
5684185+vsariola@users.noreply.github.com
db6c9f6052 fix: warn user if sample rate other than 44100 Hz
Closes #129.
2024-02-17 19:45:36 +02:00
5684185+vsariola@users.noreply.github.com
954b306cc8 docs: update CHANGELOG.md to have links to issues 2024-02-17 19:22:14 +02:00
5684185+vsariola@users.noreply.github.com
aec756f921 feat(sointu-track): accept filename as command line parameter
Closes #122.
2024-02-17 19:17:47 +02:00
5684185+vsariola@users.noreply.github.com
ca4a98eb50 fix(gioui): reduce the default height of popup menus so they fit
Closes #121.
2024-02-17 19:03:49 +02:00
5684185+vsariola@users.noreply.github.com
d92426a100 feat!: rewrote the GUI and model for better testability
The Model was getting unmaintanable mess. This is an attempt to refactor/rewrite the Model so that data of certain type is exposed in standardized way, offering certain standard manipulations for that data type, and on the GUI side, certain standard widgets to tied to that data.

This rewrite closes #72, #106 and #120.
2024-02-17 18:16:06 +02:00
5684185+vsariola@users.noreply.github.com
6d3c65e11d fix(templates): avoid clobbering ebx in su_load_gmdls
Fixes #130
2024-02-16 20:09:20 +02:00
5684185+vsariola@users.noreply.github.com
04fbc9f6a7 feat(vm): add dbgain unit, where gain is defined in decibels
Closes #78
2023-10-23 21:57:29 +03:00
5684185+vsariola@users.noreply.github.com
f698986718 docs: update CHANGELOG.md 2023-10-23 18:22:15 +03:00
5684185+vsariola@users.noreply.github.com
a38a0f4235 fix(tracker/gioui): text.Shaper should not be a global variable
text.Shaper is not thread safe, which caused crash when adding
multiple VSTI plugins to a DAW project. This change fixes that
crash. Further refactorings need to consider where that text.Shaper
should actually reside.
2023-10-22 19:10:24 +03:00
5684185+vsariola@users.noreply.github.com
9073adadb3 fix(tracker/gioui): scroll bars move in sync with the cursor 2023-10-19 14:25:03 +03:00
5684185+vsariola@users.noreply.github.com
d6abb14b08 feat(tracker/gioui): add scrollbars to menus 2023-10-19 14:07:09 +03:00
5684185+vsariola@users.noreply.github.com
33625c6f40 fix(vm): stereo delay flipped taps for right and left channel 2023-10-18 13:54:26 +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
e5691d670a feat(vm): add frequency modulation for oscillators
Closes #105
2023-10-07 21:48:03 +03:00
5684185+vsariola@users.noreply.github.com
8c8232f76e feat(vm)!: implement cross-instrument modulation of all voices
The "auto" was misleading, as it meant self modulation when targetting a unit within instrument itself and just voice 0 when cross-instrument modulation. This feature changes the "auto" meaning "self" for instruments self-modulating, and "all" voices for cross-instrument modulations. "all" is implemented by compiling a single send into multiple repeated sends, with only the last popping the stack (if necessary).

Closes #107
2023-10-07 14:07:39 +03:00
5684185+vsariola@users.noreply.github.com
ce7c8a0d3e feat(tracker): add menu to load instrument presets
The presets are embedded in the executable, so there's no additional files.

Closes #91
2023-10-01 18:54:50 +03:00
5684185+vsariola@users.noreply.github.com
b65d11cbb7 update CHANGELOG.md and README.md 2023-10-01 15:07:50 +03:00
5684185+vsariola@users.noreply.github.com
e3c7d2cba4 fix(cmd/sointu-vsti): use different name and ID for native vsti plugin 2023-09-24 17:39:30 +03:00
5684185+vsariola@users.noreply.github.com
545f32bcc3 release v0.2.0 and add automated releases to CI 2023-09-24 13:11:00 +03:00
5684185+vsariola@users.noreply.github.com
ee2c83e2cb update CHANGELOG.md 2023-09-24 11:20:53 +03:00
5684185+vsariola@users.noreply.github.com
f35f948118 fix(vm/compiler/templates/wasm): add support for mono out
Adds also a test case to make sure mono out also works.
2023-09-24 10:27:34 +03:00
5684185+vsariola@users.noreply.github.com
7df8103bf9 fix(vm): change crush resolution to bits (closes #79)
BREAKING CHANGE: The problem with crush was that it had very few usable values. This changes the crush to map the value nonlinearly, so the crush resolution is bits. Still the upper portion of the values is not very usable (bits 12-24 i.e. hardly any crushing), but at least the lower portion is usable. But now crush resolution has slightly different meaning.
2023-09-23 21:23:05 +03:00
5684185+vsariola@users.noreply.github.com
7dd2c246a0 feat(vm): add support for gm.dls samples in the go virtual machine (closes #75) 2023-08-28 22:44:37 +03:00
5684185+vsariola@users.noreply.github.com
63fc3d0d08 Update CHANGELOG.md 2023-07-07 01:09:29 +03:00
vsariola
d5f413c5dc Update CHANGELOG.md 2021-04-29 14:29:48 +03:00
Veikko Sariola
e6feed1e26 fix(go): Remove remaining references to go4k. 2020-12-16 21:39:23 +02:00
Veikko Sariola
f076409eb1 Update CHANGELOG.md 2020-11-17 00:12:10 +02:00
Veikko Sariola
3198452b9c Add a change log. 2020-05-25 14:14:13 +03:00