5684185+vsariola@users.noreply.github.com
ccd283d2ea
docs: update comments
2023-10-18 18:34:14 +03:00
5684185+vsariola@users.noreply.github.com
0a67129a0c
refactor!: rename SynthService to Synther and related types
...
The -er suffix is more idiomatic for single method interfaces, and
the interface is not doing much more than converting the patch to a
synth. Names were updated throughout the project to reflect this
change. In particular, the "Service" in SynthService was not telling
anything helpful.
2023-10-18 17:32:13 +03:00
5684185+vsariola@users.noreply.github.com
e4a2ed9f32
style: group types into fewer, logical files
2023-10-18 15:02:25 +03:00
5684185+vsariola@users.noreply.github.com
0187cc66ec
refactor: move Wav and Raw methods as members of AudioBuffer
2023-10-18 14:40:16 +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
38e9007bf8
refactor: use [][2] as audio buffers, instead of []float32
...
Throughout sointu, we assume stereo audiobuffers, but were passing
around []float32. This had several issues, including len(buf)/2 and
numSamples*2 type of length conversion in many places. Also, it
caused one bug in a test case, causing it to succeed when it should
have not (the test had +-1 when it should have had +-2). This
refactoring makes it impossible to have odd length buffer issues.
2023-10-18 13:51:02 +03:00
5684185+vsariola@users.noreply.github.com
bb0d4d6800
docs(tracker): update comments
2023-10-17 20:31:57 +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
192b31917a
docs: update README.md
2023-10-17 15:07:31 +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
97a1b2f766
perf(tracker): use json recovery files instead of yaml for less garbage
...
The yaml marshaling and umarshaling seems to allocate a lot of memory. When saving the recovery file, the memory use jumped up by hundreds of megabytes. Switch to using json marshaling for the recovery file, as it does waste memory so badly. Binary marshaling was also an option, but its nice in emergency situations that the user can glance the recovery file and perhaps, with some effort, recover stuff from it. Json is good enough for manual recovery during emergency situations.
2023-10-15 11:11:26 +03:00
5684185+vsariola@users.noreply.github.com
4899b027ff
perf(tracker/gioui): use pointer receivers in numericupdown to avoid garbage
2023-10-15 09:49:30 +03:00
5684185+vsariola@users.noreply.github.com
1a256b1f01
feat(cmd/sointu-track): add command line parameters for cpu & mem profiling
2023-10-15 09:07:22 +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
Alexander Kraus
94589eb2eb
feat(examples): add example playing sointu tracks from Python ( #108 )
...
* Added Python code example.
* Added pyinstaller build.
* Clarified debugging steps in README.md.
* Added linux implementation.
* Cosmetics.
* Updated README with correct steps.
2023-10-11 09:37:00 +03:00
5684185+vsariola@users.noreply.github.com
f5eeabe5f3
fix(tracker/gioui): respawn window if VSTI accidentally closes it
2023-10-08 16:27:17 +03:00
5684185+vsariola@users.noreply.github.com
61ebd89da0
fix(tracker): set PrevUndoType to "" when undoing and redoing
2023-10-08 15:59:33 +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
12dd3dada0
refactor(vm): rewrote BytePatch Encode to use a builder struct
...
(cherry picked from commit fdf119e50ce62619f508cc423c2ebaa000a1d540)
2023-10-07 14:07:47 +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
7ee43f199a
fix(tracker): make sure undo & redo stack never grow beyond limit
2023-10-02 15:43:52 +03:00
5684185+vsariola@users.noreply.github.com
048de55f00
fix(tracker): save recovery in GUI thread and reduce recovery size&frequency
2023-10-02 13:40:26 +03:00
5684185+vsariola@users.noreply.github.com
905637eee3
update README.md: add links to prods using sointu
2023-10-02 11:15:15 +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
df2605fddd
feat(tracker): save recovery file regularly & load it on startup
2023-10-01 14:45:45 +03:00
5684185+vsariola@users.noreply.github.com
12f15d1066
fix(tracker/gioui): make VSTI close event wait that gioui actually quit
2023-10-01 12:42:12 +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
00850c8001
code/text formatting and cleaning up whitespace
2023-09-24 10:47:54 +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
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
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
14e548c4c1
fix(tracker/gioui): CopyUnitBtn marshaled unit incorrectly
2023-09-20 14:57:23 +03:00
5684185+vsariola@users.noreply.github.com
c692ff0f16
build: allow optional use of Crinkler when linking examples
2023-09-02 22:33:48 +03:00
5684185+vsariola@users.noreply.github.com
b028fea59a
build: make targets properly rebuild when templates or compiler changed
2023-09-02 20:14:52 +03:00
5684185+vsariola@users.noreply.github.com
231e055faf
fix(gioui/tracker): song files were not truncated when opened for writing ( closes #103 )
2023-09-02 14:32:23 +03:00
5684185+vsariola@users.noreply.github.com
de3f4d987f
fix(tracker/gioui): hitting enter/return to focus on the instrument name editor
2023-09-01 22:51:59 +03:00
5684185+vsariola@users.noreply.github.com
8c59ea1b4c
add ParamHintString for loadval.value showing range [-1,1]
2023-09-01 22:01:53 +03:00
5684185+vsariola@users.noreply.github.com
98fedd0ed2
make ParamHintString show range [-1,1] for send.amount
2023-09-01 21:54:55 +03:00
Alexander Kraus
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
5684185+vsariola@users.noreply.github.com
a439a4fa48
update README.md: credits
...
(cherry picked from commit 1d89dd0e99fdfce01fbee47e1d409118c4fa1ce2)
2023-08-31 13:06:45 +03:00
5684185+vsariola@users.noreply.github.com
29a33a154b
update README.md: add prod link for "Physics Girl St."
2023-08-29 09:27:04 +03:00
5684185+vsariola@users.noreply.github.com
aba8ff2c85
CI: don't build examples as part of tests
2023-08-29 09:10:57 +03:00
Alexander Kraus
d0efcc3001
Added usage examples in C; Added asm include file with track info to sointu-compile.
2023-08-29 09:09:02 +03:00
5684185+vsariola@users.noreply.github.com
dff484739c
feat(sointu): add better ParamHintString for in and aux unit channels
2023-08-28 23:10:11 +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
6ec06c760a
CI: add builds for linux and macos ( closes #82 )
2023-08-28 16:26:15 +03:00