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
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
340620ed49
feat(tracker): show CPU load percentage in the song panel
2025-06-17 17:59:54 +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
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
4f779edb88
perf(tracker/gioui): avoid heap escapes in the menubar
2025-06-11 19:14:11 +03:00
d20a23d57b
refactor(tracker/gioui): move element etc. functions away from style
...
Now the element / fg / bg functions are passed to the actual Layout
function, not first put to the style. This avoids moving of the
element function to heap.
2025-06-11 19:14:11 +03:00
de2e64533d
refactor(tracker): refactor StringData to StringValue
2025-06-11 19:14:11 +03:00
74f37318d6
refactor(tracker): refactor IntData to IntValue, following Bool example
2025-06-11 19:14:11 +03:00
fb3a0da3ed
refactor(tracker): make Bool have separate BoolValue and Enabler
2025-06-11 19:14:11 +03:00
036cb1f34d
refactor(tracker): Make Action have separate Doer and Enabler
2025-06-11 19:14:11 +03:00
32f1e1baea
refactor(tracker/gioui): unify default & user config yaml handling
2025-05-23 23:35:51 +03:00
5b260d19f5
refactor(tracker/gioui): rename keyevent.go to keybindings.go
...
This way all the .go files that embed .yml files have matching
file names.
2025-05-23 21:46:34 +03:00
ddbaf6a4bb
refactor(tracker): use UnmarshalStrict when decoding embedded yamls
...
Since we have 100% control over what data gets embedded, there is no
reason to embed anything that doesn't pass the strict yaml parsing
and it's better we throw a panic right away so it's easy to catch
this during development.
2025-05-23 21:44:23 +03:00
afb1fee4ed
feat(tracker/gioui): add theme.yml which contains all styling
2025-05-20 19:02:16 +03:00
8245fbda24
feat(track/gioui): ctrl + scrollwheel adjusts global GUI zoom
...
Closes #153
2025-05-01 19:16:39 +03:00
0f42a993dc
feat(tracker/gioui): oscilloscope allows y-scaling and shows limits
...
Closes #61
2025-05-01 12:05:32 +03:00
554a840982
refactor(tracker): new closing mechanism logic
2025-05-01 10:20:41 +03:00
5fd78d8362
feat(tracker): buttons for loudness weighting and peak oversampling
...
Closes #186
2025-04-27 21:30:10 +03:00
805b98524c
fix(tracker/gioui): use Clickables instead of widget.Clickables
2025-04-27 20:24:40 +03:00
54176cc2b3
refactor(tracker/gioui): separate MenuBar from SongPanel
2025-04-27 20:16:35 +03:00
e0392323c0
feat(tracker/gioui): add expander panel showing peaks
2025-04-27 14:13:31 +03:00
bb605ffa0b
feat(tracker/gioui): add expanders into song panel
2025-04-27 13:03:34 +03:00
40be82de46
feat(tracker/gioui): refactor & rework playbar with the play buttons
2025-04-27 11:34:00 +03:00
42c95ab8ee
feat(tracker/gioui): rework the labels of numeric updowns
2025-04-27 09:07:46 +03:00
d0413e0a13
feat(tracker/gioui): rewrite the numeric updown, with new appearance
2025-04-27 09:00:13 +03:00
bdf9e2ba0c
feat(tracker/gioui): UI splitter bars snap better to window edges
2025-04-26 01:48:42 +03:00
7ff3c942cb
feat(tracker/gioui): preferences.yml for window size or maximized ( #185 )
2024-12-07 13:54:08 +02:00
b255a68ebc
fix: changes after review (see PR #176 )
2024-11-10 00:02:13 +02:00
d517576a65
feat: introduce "cache" for derived model information
2024-11-10 00:02:13 +02:00
55c062a390
feat: highlight sliders that are controlled by a send, and add tooltip (over value)
2024-11-10 00:02:13 +02:00
b423d04c17
feat: separate unit type from comment (now in quotes) in target dropdowns
2024-11-10 00:02:13 +02:00
639b2266e3
feat: focus search editor after "add unit"
2024-11-10 00:02:13 +02:00
6337101985
feat(tracker/gioui): remove maximum length from unit comment
...
Related to #115 .
2024-11-03 00:05:57 +02:00
37769fcc9c
refactor(tracker): get rid of execChan, use broker.ToModel instead
2024-11-02 23:44:52 +02:00
76322bb541
fix(tracker): the scope length is in beats, not in rows
...
Already the oscilloscope calculated its length in beats, but
everywhere the variable was called "lengthInRows." Renamed the
variable to lengthInBeats and also changed the tooltip to be correct
2024-11-02 23:13:48 +02:00
65a7f060ec
feat(tracker/gioui): make buttons never have focus
...
The exception to the rule is the dialog buttons (which use still
the default material buttons), because when there is a modal dialog
on screen, there is not much else the user would want to do.
Fixes #156
2024-11-02 22:57:09 +02:00
b08f5d4b1e
fix: make the buttons non-responsive to the spacebar
2024-11-02 22:14:50 +02:00
19661f90ea
feat(tracker/gioui): move panic button to the right of MIDI menu
2024-11-02 21:22:40 +02:00