Commit Graph

23 Commits

Author SHA1 Message Date
vsariola
18d466803f fix(sointu): fix StackUse calculation for empty unit (unit.Type == "") 2021-02-17 17:49:53 +02:00
vsariola
83d6277ae6 feat(sointu, tracker): find the send targets ports easily and use this to figure slider maximums dynamically
There is a new helper function in Sointu to find the target of a send. In future, compiler and others should be refactored to use this function to find send targets.

Closes #31
2021-02-15 19:11:13 +02:00
vsariola
10f53bdbf7 feat(sointu): rewrote sequencer to add support for keyjazzing 2021-02-11 23:20:13 +02:00
vsariola
8cfd915311 feat(sointu): add functions to figure out the stack use and need of a unit 2021-02-10 22:39:08 +02:00
vsariola
38008bdb87 feat(tracker): implement edit modes, resembling tab stops 2021-02-10 18:26:58 +02:00
vsariola
1d6a18a74c fix(sointu): fix the incorrect parameter ranges for samplestart and looplength 2021-02-08 19:30:53 +02:00
vsariola
4e1731f6e3 refactor(sointu): move parameter string conversion to song level
Some parameter values need the whole song or at least the unit to give accurate hint what the parameter means. For example: send needs to know the entire song to know what the target unit refers to.
2021-02-07 23:25:15 +02:00
vsariola
af52aa9e51 feat(sointu): add functions to convert unit parameter values into human readable strings 2021-02-07 19:57:01 +02:00
vsariola
ef59c4a61a feat(sointu): add instrument name field and use it to name more sensible defaults 2021-02-06 19:10:37 +02:00
vsariola
5e7bd75b36 feat(sointu): add SynthService for recompiling the synth when needed 2021-02-05 22:21:46 +02:00
vsariola
3f494661e3 feat(sointu): add RowsPerBeat so non-power of 2 beat divisions are easier 2021-02-01 18:33:52 +02:00
vsariola
5033e8fa8e fix(sointu): remember to copy song.RowsPerPattern in .copy method 2021-01-30 22:59:03 +02:00
vsariola
6c97b5e736 feat(sointu): update synth instead of recompiling if no commands (units) change
this avoids the nasty clicking resulting from complete reset / recompilation of the synth, which was the previous case
2021-01-28 22:35:27 +02:00
vsariola
61437db0d6 refactor(sointu): add explicit RowsPerPattern to the song 2021-01-21 13:16:41 +02:00
vsariola
b1df5bb4d5 feat(sointu): add copy methods to structs 2021-01-08 21:37:31 +02:00
vsariola
cbf9d34738 feat(tracker): add new instrument & new track buttons 2021-01-08 18:55:02 +02:00
vsariola
588488ce54 feat(sointu): remove 16-bit output toggle from song; make it compile time option 2021-01-05 18:08:13 +02:00
vsariola
30379c981d feat: remove hold from song
assume songs code it as 1 always; implementations are free to change this during compilation, but this should be a compile time flag / optimization; not a concern of song.
2021-01-05 15:50:27 +02:00
vsariola
8b572515e0 refactor(sointu): in yaml, use flow formatting for Unit.Varargs 2021-01-04 17:51:12 +02:00
vsariola
5dd81430b7 feat(sointu): make patterns local to track
The global pattern table is constructed only during compilation. At this point, we can do also all sorts of optimizations / changes e.g. remove unnecessary releases and reuse patterns if there's a pattern already that could be used.
2021-01-03 01:06:59 +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
7f049acf88 feat(cli): Re-engineer CLIs, split play & compile
Play depends on bridge and compile on compiler package. Before, the compiler depended on bridge, but we could not use the compiler to build the library, as the bridge depends on the library. Also, play can now start having slightly more options e.g. wav out etc.
2020-12-18 20:25:49 +02:00
Veikko Sariola
224b8dcb70 refactor(go): Move everything from go4k to root package sointu 2020-12-16 21:35:53 +02:00