e5691d670a
feat(vm): add frequency modulation for oscillators
...
Closes #105
2023-10-07 21:48:03 +03:00
12dd3dada0
refactor(vm): rewrote BytePatch Encode to use a builder struct
...
(cherry picked from commit fdf119e50ce62619f508cc423c2ebaa000a1d540)
2023-10-07 14:07:47 +03:00
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
7ee43f199a
fix(tracker): make sure undo & redo stack never grow beyond limit
2023-10-02 15:43:52 +03:00
048de55f00
fix(tracker): save recovery in GUI thread and reduce recovery size&frequency
2023-10-02 13:40:26 +03:00
905637eee3
update README.md: add links to prods using sointu
2023-10-02 11:15:15 +03:00
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
b65d11cbb7
update CHANGELOG.md and README.md
2023-10-01 15:07:50 +03:00
df2605fddd
feat(tracker): save recovery file regularly & load it on startup
2023-10-01 14:45:45 +03:00
12f15d1066
fix(tracker/gioui): make VSTI close event wait that gioui actually quit
2023-10-01 12:42:12 +03:00
e3c7d2cba4
fix(cmd/sointu-vsti): use different name and ID for native vsti plugin
2023-09-24 17:39:30 +03:00
545f32bcc3
release v0.2.0 and add automated releases to CI
v0.2.0
2023-09-24 13:11:00 +03:00
ee2c83e2cb
update CHANGELOG.md
2023-09-24 11:20:53 +03:00
00850c8001
code/text formatting and cleaning up whitespace
2023-09-24 10:47:54 +03:00
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
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
1ac2ad3c75
fix(vm/compiler): invert the logic of the release flag in the voices ( closes #102 )
...
This makes all envelopes released by default, instead of attacking. Add also test to demonstrate the buggy behaviour.
2023-09-23 15:56:46 +03:00
20b0598a57
upgrade gioui to latest version
2023-09-23 14:43:09 +03:00
14e548c4c1
fix(tracker/gioui): CopyUnitBtn marshaled unit incorrectly
2023-09-20 14:57:23 +03:00
c692ff0f16
build: allow optional use of Crinkler when linking examples
2023-09-02 22:33:48 +03:00
b028fea59a
build: make targets properly rebuild when templates or compiler changed
2023-09-02 20:14:52 +03:00
231e055faf
fix(gioui/tracker): song files were not truncated when opened for writing ( closes #103 )
2023-09-02 14:32:23 +03:00
de3f4d987f
fix(tracker/gioui): hitting enter/return to focus on the instrument name editor
2023-09-01 22:51:59 +03:00
8c59ea1b4c
add ParamHintString for loadval.value showing range [-1,1]
2023-09-01 22:01:53 +03:00
98fedd0ed2
make ParamHintString show range [-1,1] for send.amount
2023-09-01 21:54:55 +03:00
607e5b5da0
Added x86 asm and C wav writer and player examples.
...
Specifically:
* Added win32, elf32 and elf64 asm player and wav writers using winmm.
* Added dsound player in C.
* Separated the ALL target and the examples; introduced a new examples target.
2023-08-31 14:15:52 +03:00
a439a4fa48
update README.md: credits
...
(cherry picked from commit 1d89dd0e99fdfce01fbee47e1d409118c4fa1ce2)
2023-08-31 13:06:45 +03:00
29a33a154b
update README.md: add prod link for "Physics Girl St."
2023-08-29 09:27:04 +03:00
aba8ff2c85
CI: don't build examples as part of tests
2023-08-29 09:10:57 +03:00
d0efcc3001
Added usage examples in C; Added asm include file with track info to sointu-compile.
2023-08-29 09:09:02 +03:00
dff484739c
feat(sointu): add better ParamHintString for in and aux unit channels
2023-08-28 23:10:11 +03:00
7dd2c246a0
feat(vm): add support for gm.dls samples in the go virtual machine ( closes #75 )
2023-08-28 22:44:37 +03:00
6ec06c760a
CI: add builds for linux and macos ( closes #82 )
2023-08-28 16:26:15 +03:00
4135286ed0
update README.md
2023-08-28 13:42:14 +03:00
c7d79035ce
fix: copying and pasting units messed selection and Ctrl-C actually cut
2023-08-27 16:05:11 +03:00
568aa1d76d
update README.md
2023-08-27 14:54:14 +03:00
d82d151f49
fix: native synth building on go 1.21
...
go v1.21 is more strict about giving methods to C.structs and was complaining about "cannot define new methods on non-local type *C.Synth". The solution was a local type alias: type BridgeSynth C.Synth
2023-08-27 12:24:06 +03:00
c040bdedee
fix: when just saving a file, open the file in write mode ( fixes #99 )
2023-08-27 11:29:55 +03:00
a0bcac3904
fix: check that MIDI triggered instrument is within patch limits ( #98 )
2023-08-27 11:10:54 +03:00
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
94926c5596
update README.md - add link to | by epoqe
2023-08-19 20:21:52 +03:00
61776f397a
feat: add ability to select & move multiple units ( closes #71 )
2023-07-21 00:39:45 +03:00
5884a8d195
feat(tracker/gioui): add tooltips
...
Currently, only iconbtns and numeric updowns have tooltips. Closes #84
2023-07-19 22:31:29 +03:00
cafb43f8c8
feat(tracker/gioui): add ability to scroll parameter values ( closes #92 )
2023-07-18 23:28:20 +03:00
5a2e87982e
feat(tracker): add ability to copy, cut and paste units
2023-07-18 17:17:50 +03:00
338529012a
update README.md
2023-07-18 16:22:43 +03:00
ffb2f18c68
fix(cmd/sointu-vsti): upgrade vst2 package & request tempo properly from host
2023-07-18 10:37:32 +03:00
ccc8dc906f
fix(tracker): guard for malformed songs in SetSong
2023-07-17 23:51:14 +03:00
c421748db9
fix: if fetching BPM from vsti host fails, keep the previous BPM as defined by the user
2023-07-17 23:26:11 +03:00
9db6ecb3da
CI: build sointu-compile.exe as a part of the binaries
2023-07-08 16:44:00 +03:00