Commit Graph
80 Commits
Author SHA1 Message Date
vsariola f8ec857c16 CI: fix the wabt version to 1.0.20 2021-02-16 00:29:05 +02:00
vsariola c781c24ae6 feat(tracker): add F1-F8 shortcut keys for changing editmode / playing
Related to #14
2021-02-15 23:57:35 +02:00
vsariola 25a4bfd5ac tracker: adjust the default split ratio to be more sensible
Closes #23
2021-02-15 23:31:00 +02:00
vsariola 94205b9ab2 feat(tracker): implement more proper menus, with Undo&Redo
Closes #24
2021-02-15 23:05:06 +02:00
vsariola a470452e99 feat(tracker): add menu button for Paste
Closes #26
2021-02-15 19:30:18 +02:00
vsariola 712a4c927b fix(tracker): clicking anywhere outside a menu closes it but does not trigger other action
Closes #27
2021-02-15 19:21:54 +02:00
vsariola 070833ed9c feat(tracker): shortcut-N starts a new song project
Closes #29
2021-02-15 19:15:05 +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 0f136d544c fix(tracker): when instrument panel is clicked, only change EditMode when instruments
Changing to always EditUnits was causing unnecessarily going back from EditParameters.
2021-02-15 18:14:59 +02:00
vsariola e93190892b fix(tracker): reduce visual jitter when adjusting unit parameter sliders
The solution is not to force the slider value when the user is dragging it.

Closes #33
2021-02-15 18:11:36 +02:00
vsariola 024245b780 fix(tracker): the unit type chooser list expands to the right
Also add helpful title label to explain what the unit type chooser does.

Closes #35
2021-02-15 17:57:04 +02:00
vsariola 5f7eed4194 fix(templates/amd64-386, tests): fix global stereo sends and add regression test for future
the send asm code is quite ugly atm (pushf & popf to save stereo flag), but the new regression test should ensure we don't break it again if we eventually refactor it
2021-02-15 14:48:16 +02:00
vsariola c60f6e0f0e feat(tracker): make clicks change the focused panel 2021-02-14 21:32:27 +02:00
vsariola 07052f2530 refactor(tracker): delete unused constants from theme.go 2021-02-14 20:35:38 +02:00
vsariola 99d83472cc refactor(tracker): remove panels.go; panels are not used anymore 2021-02-14 20:21:17 +02:00
vsariola 394e2834e9 refactor(tracker): make NumericUpDown use widgetForIcon instead loading icons by itself 2021-02-14 20:20:40 +02:00
vsariola 24ebc99b92 refactor(tracker): move instrument related stuff from layout.go to instruments.go
the code related to handling instrument button actions definitely should be in instruments.go, not layout.go
2021-02-14 20:13:15 +02:00
vsariola 7c810ac052 refactor(tracker): delete old unused code for making buttons 2021-02-14 20:10:02 +02:00
vsariola e2fcfbbc4a refactor(tracker): move C & D type shortcuts for layout.Context and layout.Dimensions to layout.go
layout.go is where the basic core of the layout should reside
2021-02-14 19:59:08 +02:00
vsariola cece2d77d4 feat(tracker): go generate parses gm.dls and show slightly more sane gui for them 2021-02-14 19:54:30 +02:00
vsariola 4da225ec33 feat(tracker): allow copying and pasting songs to/from the window 2021-02-13 01:59:10 +02:00
vsariola 11b5b5b322 fix(compiler): calculate unit target correctly in case there are missing units (type == "") 2021-02-13 00:29:15 +02:00
vsariola 49456cb270 fix(tracker): update send targets when instruments/units are added/deleted/swapped 2021-02-13 00:28:06 +02:00
vsariola 4ed259ff17 fix(tracker): voices are now released when the synth is recompiled
fixes nasty noises from all voices being triggered with note 0
2021-02-12 09:14:57 +02:00
vsariola d01657ab83 feat(tracker): add numeric up down to adjust number of voices per track 2021-02-12 08:43:27 +02:00
vsariola 10f53bdbf7 feat(sointu): rewrote sequencer to add support for keyjazzing 2021-02-11 23:20:13 +02:00
vsariola b9c8218ca4 fix(tracker): numeric up down crashed when its height was small 2021-02-11 10:58:41 +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 35d2ff6308 feat(tracker): add panic button to quickly disable the sound & show when synth crashes 2021-02-10 21:59:29 +02:00
vsariola 33bf5ebd49 feat(tracker): make + and - adjust the note pitch also 2021-02-10 18:51:03 +02:00
vsariola 8f89bf7361 fix(tracker): show note octaves with letters in case the notes are out of numeric range 2021-02-10 18:44:29 +02:00
vsariola 38008bdb87 feat(tracker): implement edit modes, resembling tab stops 2021-02-10 18:26:58 +02:00
vsariola 7408956f77 fix(tests): update sample tests to use "samplestart" instead of "start" parameter 2021-02-08 20:21:26 +02:00
vsariola 1d6a18a74c fix(sointu): fix the incorrect parameter ranges for samplestart and looplength 2021-02-08 19:30:53 +02:00
vsariola 482dd614c9 fix(sointu): the parameter name should have been "samplestart", not "start" 2021-02-08 19:24:27 +02:00
vsariola de402eaece make sequencer use up all space available 2021-02-08 19:07:24 +02:00
vsariola bb43bf61a8 fix(tracker): the hit rects in Split had X and Y mixed up 2021-02-08 17:18:14 +02:00
vsariola cc2a5f3ad9 fix(tracker): "send" was missing from defaultUnits 2021-02-07 23:26:04 +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 56d8ca574e feat(tracker): improve unit parameter sliders: align, scrollable list & show values 2021-02-07 14:28:57 +02:00
vsariola 5588d7ca7d feat(tracker): make instrument name editable 2021-02-06 23:39:58 +02:00
vsariola 6c0cf6832e fix(tracker): clamp CurrentUnit to valid values when instrument changes 2021-02-06 19:15:06 +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 b34161b173 feat(tracker): make instrument names use draglist 2021-02-06 18:35:42 +02:00
vsariola 73cbc4314f fix(tracker): clamp CurrentInstrument and CurrentUnit when song is loaded 2021-02-06 17:12:53 +02:00
vsariola 207ae5195d feat(tracker): implement draggable list and make unit list use such 2021-02-06 16:28:32 +02:00
vsariola 68fbb914cd add screenshot 2021-02-05 22:40:17 +02:00
vsariola c574b27d34 fix(tracker): when changing unit type, use tracker.SetUnit 2021-02-05 22:28:04 +02:00
vsariola 5e7bd75b36 feat(sointu): add SynthService for recompiling the synth when needed 2021-02-05 22:21:46 +02:00
vsariola 6307dd51de feat(tracker): adding, setting, unsetting and deleting units 2021-02-05 21:32:21 +02:00
vsariola 29b289d2fb refactor(tracker): remove Contents from PopupStyle; pass it to Layout instead 2021-02-03 16:34:22 +02:00
vsariola 21b620c824 feat(tracker): add numeric updown to choose number of voices for instrument 2021-02-03 14:53:12 +02:00
vsariola e25015a60b fix(tracker): update sequencer rowlength when entire song is set 2021-02-03 13:29:42 +02:00
vsariola b0dac8454d feat(tracker): add some shadow to popups 2021-02-03 13:25:45 +02:00
vsariola fc9a6b6517 fix(tracker): remove unnecessary go func(){...}() 2021-02-02 22:56:23 +02:00
vsariola 14d4521f40 feat(tracker): move reset and load song into popup menu 2021-02-02 22:44:27 +02:00
vsariola 95054c1877 upgrade to latest gio 2021-02-02 21:42:18 +02:00
vsariola 9b160153c1 ignore debug file 2021-02-02 09:08:42 +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 3cf2fc70a8 refactor(tracker): change so that all icon initialization is a lazy & cache in iconcache 2021-02-01 17:57:13 +02:00
vsariola c667ffb4e1 feat(tracker): remove axis from NumericUpDown, allow dragging either Y or X 2021-02-01 13:53:10 +02:00
vsariola 98c8d18a3e feat(tracker): add numeric updown to adjust RowsPerPattern 2021-01-30 23:22:31 +02:00
vsariola f3b21cc75f fix(tracker): update sequencer patch when instrument deleted 2021-01-30 23:03:44 +02:00
vsariola 5033e8fa8e fix(sointu): remember to copy song.RowsPerPattern in .copy method 2021-01-30 22:59:03 +02:00
vsariola 22c433b3e4 feat(tracker): add button for deleting instrument 2021-01-30 22:55:27 +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 08dcbb9edb feat(tracker): add semitone & octave up/down buttons 2021-01-17 17:13:42 +02:00
vsariola eb36a96e29 feat(tracker): implement selecting a range in the tracker
also refactored a location in song to SongPoint, and a particular row in song into SongRow
2021-01-16 21:11:08 +02:00
vsariola 8f9bf75613 feat(tracker): move track editor controls to top of the track editors 2021-01-16 14:45:05 +02:00
vsariola 80d87dea8c feat(tracker): implement a numeric up down widget and use that for the numbers 2021-01-16 13:05:40 +02:00
vsariola f665a529e5 feat(tracker): add adjustable vertical split between top and bottom 2021-01-15 12:42:06 +02:00
vsariola c90f8efbdc feat(tracker): make clear song button to reset to default song 2021-01-15 08:17:10 +02:00
vsariola 2378be5021 feat(tracker): change unit list into labels 2021-01-15 08:17:09 +02:00
vsariola a29f34734b feat(tracker): move new instrument button to the top right 2021-01-14 00:44:33 +02:00
vsariola ed67408d6e upgrade to slightly newer gioui, one before the breaking NRGBA API change 2021-01-13 22:55:24 +02:00
vsariola 5124e0bf74 feat(tracker): move song related buttons to top and make the panel sizes adjustable 2021-01-13 18:37:20 +02:00
vsariola 62ea87c709 feat(tracker): move the pattern sequencer to bottom left 2021-01-13 18:36:38 +02:00
vsariola 5a69c14f61 feat(tracker): only show either notes or hex for a track + checkbox to toggle 2021-01-12 18:52:15 +02:00