07bf8f6cdf
fix(gioui): draw cursor in front of play marker in order editor
2024-03-01 23:31:05 +02:00
f0f391356c
fix(gioui): arrow keys leave table row/col titles
2024-03-01 23:25:30 +02:00
b18a284252
feat(gioui): + and - keys add/subtract elements in tables
...
Closes #65 .
2024-03-01 22:43:27 +02:00
1c020fffa3
refactor(gioui): update gioui to v0.5.0
2024-03-01 22:11:44 +02:00
267973e061
build: upgrade deprecated actions and fix warnings
2024-02-24 19:06:42 +02:00
6b3aaf6cc9
docs: update README.md
2024-02-24 15:34:40 +02:00
dfc72cd2c4
build: build VSTi instrument binaries also for linux
2024-02-23 20:15:44 +02:00
8a9cbdea62
build: update vst2 to latest version, because it compiles on linux
2024-02-23 19:56:09 +02:00
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
b70db4d394
docs: add links to 21 and Tausendeins
2024-02-20 19:39:32 +02:00
d5af39e324
docs: add link to Phosphorescent Purple Pixel Peaks
2024-02-20 19:33:46 +02:00
aa1b4d371b
fix(tracker): notify player that loop changed when resetting song
2024-02-20 19:28:59 +02:00
dc12f58082
feat(tracker): add ability to loop part of song during playback
...
Closes #128 .
2024-02-20 19:10:15 +02:00
aa7a2e56fa
feat(gioui): flip the unit parameter slider scroll wheel behaviour
...
Closes #112 .
2024-02-19 21:49:51 +02:00
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
2b3f6d8200
fix(tracker): unit searching to work more reliably
2024-02-17 20:54:46 +02:00
db6c9f6052
fix: warn user if sample rate other than 44100 Hz
...
Closes #129 .
2024-02-17 19:45:36 +02:00
954b306cc8
docs: update CHANGELOG.md to have links to issues
2024-02-17 19:22:14 +02:00
aec756f921
feat(sointu-track): accept filename as command line parameter
...
Closes #122 .
2024-02-17 19:17:47 +02:00
ca4a98eb50
fix(gioui): reduce the default height of popup menus so they fit
...
Closes #121 .
2024-02-17 19:03:49 +02:00
65cfcb045c
build: update setup-go to v5 and ask go version >=1.21.0
2024-02-17 18:28:25 +02:00
bb32403c78
build: require go 1.21 as it is needed by slices package
2024-02-17 18:22:31 +02:00
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
6d3c65e11d
fix(templates): avoid clobbering ebx in su_load_gmdls
...
Fixes #130
2024-02-16 20:09:20 +02:00
c08a319eb7
docs: add link to NR4's tool
2023-11-20 08:55:22 +02:00
8227691523
test: the filenames of test_gain and test_gain_stereo were flipped
2023-10-23 22:05:28 +03:00
04fbc9f6a7
feat(vm): add dbgain unit, where gain is defined in decibels
...
Closes #78
2023-10-23 21:57:29 +03:00
f698986718
docs: update CHANGELOG.md
v0.3.0
2023-10-23 18:22:15 +03:00
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
3c85f1155c
perf(cmd/sointu-vsti): avoid reallocations of events array
...
Always appending to the end and consuming from the front cause the
capacity of the slice regularly running out, resulting in new
allocation. With this change, we increment index when consuming
events and append to the end, and when we reset, we move index to 0
and empty slice. This way, we always reuse the allocated memory.
2023-10-21 10:47:26 +03:00
1040eb585d
build: require go 1.19; did not build on go 1.18
2023-10-21 00:11:58 +03:00
6eb025d7ba
refactor(tracker): remove unused variable RECOVERY_FILE
2023-10-20 18:41:21 +03:00
9ec8f48f82
feat(tracker): move unnecessary members from modelData to Model
2023-10-20 17:59:27 +03:00
391b14493c
feat(tracker): undo entire modelData, not just Song
...
The modelData is moving towards clear meaning: it's the part of the
GUI state that is undone and also recovered from disk. This changes
the recovery data so that the undo and redo stacks are not undone,
but that is unlikely a good idea anyway, as it grows the recovery
data into unreasonable sizes.
This has also the nice benefit of undoing the cursor position, which
closes #64 .
2023-10-20 17:59:26 +03:00
486bab4185
style(tracker): rename NUM_RENDER_TRIES to numRenderTries
2023-10-20 16:38:44 +03:00
1e47c5004c
style(tracker): remove unused PlayerPlayingMessage type
2023-10-20 16:37:19 +03:00
900f1611b1
docs(tracker): add go doc comments to GmDlsEntry/-Entries
2023-10-20 16:36:09 +03:00
beb06727b0
refactor: move UnitNames to top level package
2023-10-20 01:59:30 +03:00
b6ec5d1a04
style(tracker): group code into less number of files
2023-10-20 01:50:38 +03:00
ff8e662857
refactor(tracker): move NoteStr and NoteAsValue to gioui package
2023-10-20 01:40:14 +03:00
a60814bab7
refactor(tracker): make struct to hold all per voice data in Player
2023-10-20 01:26:41 +03:00
0ce5ca3003
refactor(tracker): send Songs/Patches etc. from Model to Player
2023-10-20 00:54:03 +03:00
14a0306064
docs(tracker): add go doc comments to Player
2023-10-19 23:28:57 +03:00
d342fb860b
refactor(tracker): put all recording data into struct Recording
2023-10-19 23:28:57 +03:00
453f45c48a
refactor(tracker): rename SongPoint to ScorePoint etc.
2023-10-19 22:28:44 +03:00
50ccfe03da
refactor(tracker): split Volume to PeakVolume and AverageVolume
2023-10-19 22:28:44 +03:00
1a8a317464
docs(tracker): improve package go doc comments
2023-10-19 22:28:44 +03:00
a9517f1511
docs: make the list of prods using sointu a markdown list
2023-10-19 14:30:01 +03:00
9073adadb3
fix(tracker/gioui): scroll bars move in sync with the cursor
2023-10-19 14:25:03 +03:00
b772940b1f
fix(tracker/gioui): preset menu scrollbar fits on screen
2023-10-19 14:22:19 +03:00