Commit Graph

409 Commits

Author SHA1 Message Date
cf86f3f1c8 feat(tracker/gioui): make knob/switch/port hit box the entire cell 2025-07-08 23:53:03 +03:00
8e5f3098a4 feat(tracker/gioui): switches just clickable & cycle between states 2025-07-08 23:01:55 +03:00
452a4cf04f feat(tracker/gioui): ctrl+drag changes knob value faster
Slow down the normal dragging 4 x slower.
2025-07-08 22:33:19 +03:00
5841848813 feat(tracker): reduce speed of parameter changes when ctrl pressed 2025-07-08 22:26:30 +03:00
0ce79978d5 feat(tracker/gioui): right click resets knobs instead of doubleclick 2025-07-08 22:22:01 +03:00
4138c34574 fix(tracker): make signal stack errors show for much longer time 2025-07-08 22:21:17 +03:00
172fbaeb2a feat(tracker/gioui): make switches left&right clickable when active 2025-07-08 22:10:54 +03:00
666af9433e feat!: display the parameters as knobs in a grid
Also removed the negbandpass & neghighpass parameters
and replaced them with bandpass & highpass set to -1, to
fit the switches better to the GUI.

Closes #51, closes #173
2025-07-08 19:47:32 +03:00
c3caa8de11 fix(tracker/gioui): backspace / delete reset param value 2025-06-26 09:04:05 +03:00
18d7848367 fix(tracker/gioui): using keys to choose Unit Type and tab ordering 2025-06-26 00:33:18 +03:00
192909328c fix(tracker/gioui): try to ensure that tooltip are never left behind
Closes #141
2025-06-25 19:13:52 +03:00
cb4c020061 style(tracker/gioui): rename songpanel.go to song_panel.go 2025-06-25 19:05:36 +03:00
d78ef98e73 refactor(tracker/gioui): upgrade gio & store Tracker to gtx.Values 2025-06-25 18:54:00 +03:00
08c36ed462 feat(tracker/gioui): new tab order logic and refactor instrument editor 2025-06-25 16:32:56 +03:00
b8cf70e8e9 refactor(tracker/gioui): use min(max(... instead of ifs 2025-06-24 20:43:48 +03:00
e59fbb50cf refactor(tracker/gioui): separate SplitStyle from SplitState 2025-06-24 20:39:27 +03:00
ba281ca7c0 fix(tracker/gioui): cancel dialog when user clicks outside it 2025-06-24 20:26:14 +03:00
b4ec136ab1 refactor(tracker/gioui): Popup in same style as other widgets 2025-06-24 20:25:52 +03:00
18d198d764 refactor(tracker/gioui): bind Alerts to Model during Layout 2025-06-24 19:59:31 +03:00
355ccefb6f refactor(tracker/gioui): refactor Scope in same style as others 2025-06-24 19:28:53 +03:00
7a030683c6 refactor(tracker/gioui): use precreated hex strings in OrderEditor 2025-06-24 19:10:29 +03:00
17ca15b205 refactor(tracker/gioui): minor optimizations in NoteEditor 2025-06-24 19:04:47 +03:00
58f6cceb9a refactor(tracker/gioui): Menu binds to Model during Layout 2025-06-24 18:39:40 +03:00
b79de95f91 refactor(tracker/gioui): remove unnecessary caching of Strings 2025-06-24 11:07:42 +03:00
33f7b5fb6a refactor(tracker/gioui): Dialog binds to Model during Layout 2025-06-24 10:15:46 +03:00
5f43bc3067 feat(tracker/gioui): "Ask Help", "Report Bug" and "Manual" menuitems 2025-06-23 19:17:00 +03:00
fb0fa4af92 feat: embed license in executable and add menu item to show it 2025-06-23 18:45:13 +03:00
6f1db6b392 fix(tracker/gioui): make own TipArea ensuring tips don't stay around
Closes #141.
2025-06-23 18:02:05 +03:00
31007515b5 refactor(tracker/gioui): avoid heap escapes in NumericUpDown 2025-06-23 09:43:10 +03:00
db2ccf977d refactor(tracker/gioui): rewrote Button(s) to bind to Model during layout
The old mechanism made it difficult to follow exactly what happens
when a button was clicked, because the Action/Bool that gets
executed / toggled was declared ages ago, in the constructor. In the
new mechanism, the Action / Bool is bound to the button at the last
minute, right before Layout. ActionButton, ToggleButton,
ActionIconButton and ToggleIconButton were done to avoid heap
escapes: if the corresponding functions woudl've returned
layout.Widget, a heap allocation would've been needed.
2025-06-23 08:56:37 +03:00
0ea20ea5bf refactor(tracker/gioui): use enums (iota) for EditorEvent 2025-06-21 12:04:08 +03:00
beef8fe1e0 refactor(tracker/gioui): bind tracker.Int to NumericUpDown on Layout 2025-06-21 11:45:31 +03:00
289bfb0605 refactor: fix all unused parameter / variable warnings 2025-06-21 10:33:08 +03:00
602b3b05cc feat(tracker): compile with midi support only when CGO is available
Also add the midi context to the VSTI, so VSTI can use MIDI if they
wish so.
2025-06-20 19:38:06 +03:00
3881b8eb22 fix(tracker/gioui): if user clears unit search box, set unit to "" 2025-06-20 19:10:10 +03:00
4fa0e04788 refactor(tracker/gioui): make iconCache part of Theme 2025-06-20 19:05:40 +03:00
b291959a97 refactor(tracker/gioui): rewrote Editor to link to String.Value() 2025-06-20 18:50:44 +03:00
840fe3ef0e refactor(tracker): remove SetCursorFloat method from TableData 2025-06-20 15:17:21 +03:00
430b01d143 refactor(tracker): remove unused code and improve style 2025-06-20 15:05:22 +03:00
28a0006b6a docs(tracker): improve comments and formatting 2025-06-20 14:57:12 +03:00
8eb5f17f73 style(tracker): oneline functions and remove spurious comments 2025-06-20 14:52:46 +03:00
f47bee37b0 style(tracker): clean up Alerts Push and Pop 2025-06-20 14:49:07 +03:00
4f2c73d0db refactor(tracker): Player sends PlayerStatus to the Model 2025-06-19 11:37:11 +03:00
340620ed49 feat(tracker): show CPU load percentage in the song panel 2025-06-17 17:59:54 +03:00
c6b70560f6 fix(tracker): update derived data after undo/redo 2025-06-16 18:44:33 +03:00
1eea263dc9 fix(tracker/gioui): show muted instruments in different style 2025-06-16 18:35:06 +03:00
c023dc08b8 fix(tracker/gioui): BPM tooltip showed "Song length", not BPM 2025-06-11 19:43:05 +03:00
0e32608872 refactor(tracker): remove unnecessary Enabled function 2025-06-11 19:41:58 +03:00
283fbc1171 feat(tracker): rework the MIDI input and note event handling 2025-06-11 19:14:11 +03:00
7ef868a434 refactor(tracker): rewrite params to avoid heap allocations 2025-06-11 19:14:11 +03:00