[email protected]
c3caa8de11
fix(tracker/gioui): backspace / delete reset param value
2025-06-26 09:04:05 +03:00
[email protected]
18d7848367
fix(tracker/gioui): using keys to choose Unit Type and tab ordering
2025-06-26 00:33:18 +03:00
[email protected]
192909328c
fix(tracker/gioui): try to ensure that tooltip are never left behind
...
Closes #141
2025-06-25 19:13:52 +03:00
[email protected]
cb4c020061
style(tracker/gioui): rename songpanel.go to song_panel.go
2025-06-25 19:05:36 +03:00
[email protected]
d78ef98e73
refactor(tracker/gioui): upgrade gio & store Tracker to gtx.Values
2025-06-25 18:54:00 +03:00
[email protected]
08c36ed462
feat(tracker/gioui): new tab order logic and refactor instrument editor
2025-06-25 16:32:56 +03:00
[email protected]
d276f52942
docs: update README.md
2025-06-25 13:44:58 +03:00
[email protected]
b8cf70e8e9
refactor(tracker/gioui): use min(max(... instead of ifs
2025-06-24 20:43:48 +03:00
[email protected]
e59fbb50cf
refactor(tracker/gioui): separate SplitStyle from SplitState
2025-06-24 20:39:27 +03:00
[email protected]
ba281ca7c0
fix(tracker/gioui): cancel dialog when user clicks outside it
2025-06-24 20:26:14 +03:00
[email protected]
b4ec136ab1
refactor(tracker/gioui): Popup in same style as other widgets
2025-06-24 20:25:52 +03:00
[email protected]
18d198d764
refactor(tracker/gioui): bind Alerts to Model during Layout
2025-06-24 19:59:31 +03:00
[email protected]
355ccefb6f
refactor(tracker/gioui): refactor Scope in same style as others
2025-06-24 19:28:53 +03:00
[email protected]
7a030683c6
refactor(tracker/gioui): use precreated hex strings in OrderEditor
2025-06-24 19:10:29 +03:00
[email protected]
17ca15b205
refactor(tracker/gioui): minor optimizations in NoteEditor
2025-06-24 19:04:47 +03:00
[email protected]
58f6cceb9a
refactor(tracker/gioui): Menu binds to Model during Layout
2025-06-24 18:39:40 +03:00
[email protected]
b79de95f91
refactor(tracker/gioui): remove unnecessary caching of Strings
2025-06-24 11:07:42 +03:00
[email protected]
f6bc5fffcd
docs: update LICENSE to include reaby, for updating the presets
2025-06-24 10:41:57 +03:00
[email protected]
33f7b5fb6a
refactor(tracker/gioui): Dialog binds to Model during Layout
2025-06-24 10:15:46 +03:00
[email protected]
5f43bc3067
feat(tracker/gioui): "Ask Help", "Report Bug" and "Manual" menuitems
2025-06-23 19:17:00 +03:00
[email protected]
fb0fa4af92
feat: embed license in executable and add menu item to show it
2025-06-23 18:45:13 +03:00
[email protected]
6f1db6b392
fix(tracker/gioui): make own TipArea ensuring tips don't stay around
...
Closes #141 .
2025-06-23 18:02:05 +03:00
[email protected]
31007515b5
refactor(tracker/gioui): avoid heap escapes in NumericUpDown
2025-06-23 09:43:10 +03:00
[email protected]
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
[email protected]
0ea20ea5bf
refactor(tracker/gioui): use enums (iota) for EditorEvent
2025-06-21 12:04:08 +03:00
[email protected]
beef8fe1e0
refactor(tracker/gioui): bind tracker.Int to NumericUpDown on Layout
2025-06-21 11:45:31 +03:00
[email protected]
289bfb0605
refactor: fix all unused parameter / variable warnings
2025-06-21 10:33:08 +03:00
[email protected]
a601b98b74
ci: switch to using clang++ on Mac for rtmidi and add missing libs
2025-06-21 09:57:58 +03:00
[email protected]
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
[email protected]
3881b8eb22
fix(tracker/gioui): if user clears unit search box, set unit to ""
2025-06-20 19:10:10 +03:00
[email protected]
4fa0e04788
refactor(tracker/gioui): make iconCache part of Theme
2025-06-20 19:05:40 +03:00
[email protected]
b291959a97
refactor(tracker/gioui): rewrote Editor to link to String.Value()
2025-06-20 18:50:44 +03:00
[email protected]
840fe3ef0e
refactor(tracker): remove SetCursorFloat method from TableData
2025-06-20 15:17:21 +03:00
[email protected]
430b01d143
refactor(tracker): remove unused code and improve style
2025-06-20 15:05:22 +03:00
[email protected]
28a0006b6a
docs(tracker): improve comments and formatting
2025-06-20 14:57:12 +03:00
[email protected]
8eb5f17f73
style(tracker): oneline functions and remove spurious comments
2025-06-20 14:52:46 +03:00
[email protected]
f47bee37b0
style(tracker): clean up Alerts Push and Pop
2025-06-20 14:49:07 +03:00
[email protected]
4f2c73d0db
refactor(tracker): Player sends PlayerStatus to the Model
2025-06-19 11:37:11 +03:00
[email protected]
c77d541dc6
docs: update README.md; claim that native synth is faster was false
2025-06-17 18:22:14 +03:00
[email protected]
340620ed49
feat(tracker): show CPU load percentage in the song panel
2025-06-17 17:59:54 +03:00
[email protected]
1a13fadd75
docs: add link to Discussions to the README.md
2025-06-17 14:12:23 +03:00
[email protected]
b6e8ab5c25
style(examples/code/C): rename .unix. examples to .linux.
...
Closes #191
2025-06-16 18:55:01 +03:00
[email protected]
c6b70560f6
fix(tracker): update derived data after undo/redo
2025-06-16 18:44:33 +03:00
[email protected]
1eea263dc9
fix(tracker/gioui): show muted instruments in different style
2025-06-16 18:35:06 +03:00
[email protected]
c023dc08b8
fix(tracker/gioui): BPM tooltip showed "Song length", not BPM
2025-06-11 19:43:05 +03:00
[email protected]
0e32608872
refactor(tracker): remove unnecessary Enabled function
2025-06-11 19:41:58 +03:00
[email protected]
283fbc1171
feat(tracker): rework the MIDI input and note event handling
2025-06-11 19:14:11 +03:00
[email protected]
7ef868a434
refactor(tracker): rewrite params to avoid heap allocations
2025-06-11 19:14:11 +03:00
[email protected]
4f779edb88
perf(tracker/gioui): avoid heap escapes in the menubar
2025-06-11 19:14:11 +03:00
[email protected]
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
[email protected]
de2e64533d
refactor(tracker): refactor StringData to StringValue
2025-06-11 19:14:11 +03:00
[email protected]
74f37318d6
refactor(tracker): refactor IntData to IntValue, following Bool example
2025-06-11 19:14:11 +03:00
[email protected]
fb3a0da3ed
refactor(tracker): make Bool have separate BoolValue and Enabler
2025-06-11 19:14:11 +03:00
[email protected]
036cb1f34d
refactor(tracker): Make Action have separate Doer and Enabler
2025-06-11 19:14:11 +03:00
[email protected]
d342c9961d
build: update gioui to latest version for performance optimization
2025-05-27 12:37:22 +03:00
[email protected]
32f1e1baea
refactor(tracker/gioui): unify default & user config yaml handling
2025-05-23 23:35:51 +03:00
[email protected]
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
[email protected]
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
[email protected]
27bf8220c0
ci: use go version < 1.23.9 due to duplicate dlopen link error on mac
...
https://github.com/golang/go/issues/73617
2025-05-21 15:56:43 +03:00
[email protected]
448bc9f236
fix(tracker): OOB checks used index > len, but should've used >=
2025-05-20 19:05:17 +03:00
[email protected]
afb1fee4ed
feat(tracker/gioui): add theme.yml which contains all styling
2025-05-20 19:02:16 +03:00
[email protected]
8245fbda24
feat(track/gioui): ctrl + scrollwheel adjusts global GUI zoom
...
Closes #153
2025-05-01 19:16:39 +03:00
[email protected]
0f42a993dc
feat(tracker/gioui): oscilloscope allows y-scaling and shows limits
...
Closes #61
2025-05-01 12:05:32 +03:00
[email protected]
554a840982
refactor(tracker): new closing mechanism logic
2025-05-01 10:20:41 +03:00
[email protected]
9f89c37956
refactor(tracker): rename trySend to TrySend to make it public
2025-04-30 22:00:34 +03:00
[email protected]
0199658025
style(tracker): use for range loops everywhere in detector.go
2025-04-30 16:24:48 +03:00
[email protected]
afc6b1f4a9
build: update gioui to v0.8.0
2025-04-30 16:22:13 +03:00
[email protected]
3623bdf5b2
refactor(tracker): bake 1 kHz gain offset into filter coeffs
2025-04-29 20:45:14 +03:00
[email protected]
fe9daf7988
fix(tracker): loudness A- and C-weighting did not have proper scale
2025-04-29 15:12:57 +03:00
[email protected]
bf0d697b80
fix(tracker): reset also biquad filter states to avoid endless nans
2025-04-28 15:23:00 +03:00
[email protected]
f72f29188b
feat(vm/compiler): increase native synth delaylines to 128
...
Closes #155
2025-04-27 21:47:27 +03:00
[email protected]
5fd78d8362
feat(tracker): buttons for loudness weighting and peak oversampling
...
Closes #186
2025-04-27 21:30:10 +03:00
[email protected]
805b98524c
fix(tracker/gioui): use Clickables instead of widget.Clickables
2025-04-27 20:24:40 +03:00
[email protected]
54176cc2b3
refactor(tracker/gioui): separate MenuBar from SongPanel
2025-04-27 20:16:35 +03:00
[email protected]
845f0119c8
fix(tracker): peak amplitude dBs should be 20*log10, not 10*log10
2025-04-27 19:55:25 +03:00
[email protected]
5a3c859a51
fix(tracker): also peak detector windows were in wrong order
2025-04-27 19:29:23 +03:00
[email protected]
5c0b86a0f0
fix(tracker): the peak detector result was in wrong layout
2025-04-27 14:13:31 +03:00
[email protected]
e0392323c0
feat(tracker/gioui): add expander panel showing peaks
2025-04-27 14:13:31 +03:00
[email protected]
bb605ffa0b
feat(tracker/gioui): add expanders into song panel
2025-04-27 13:03:34 +03:00
[email protected]
40be82de46
feat(tracker/gioui): refactor & rework playbar with the play buttons
2025-04-27 11:34:00 +03:00
[email protected]
42c95ab8ee
feat(tracker/gioui): rework the labels of numeric updowns
2025-04-27 09:07:46 +03:00
[email protected]
d0413e0a13
feat(tracker/gioui): rewrite the numeric updown, with new appearance
2025-04-27 09:00:13 +03:00
[email protected]
bdf9e2ba0c
feat(tracker/gioui): UI splitter bars snap better to window edges
2025-04-26 01:48:42 +03:00
[email protected]
95af8da939
fix(vm)!: first modulate delay time, then notetracking
...
BREAKING CHANGE: the order of these operations was inconsistent
across the different VMs. Go VM was the only one to first modulate
and then apply note tracking multiplication. But that made most
sense. So now all different VM versions work in this same way.
2025-04-16 23:17:08 +03:00
[email protected]
78fc6302a0
fix(tracker/gomidi): static cgo linking to avoid DLL dependencies
...
The linker flags -static -static-libgcc -static-libstdc++ tell mingw
to link statically; otherwise gcc_s_seh-1, stdc++-6 and winpthread-1
are needed.
Fixes #188 .
2025-02-28 15:15:17 +02:00
[email protected]
ea4dee9285
docs: add reaby to contributors
2025-02-25 18:57:32 +02:00
[email protected]
ae217665bf
feat(tracker/presets): new and tweaked presets from Reaby
...
The presets are also organized by their type into subfolders.
Closes #136
2025-02-25 18:53:28 +02:00
[email protected]
46a9c7dab3
feat(tracker): preset names include their directories
2025-01-25 22:52:11 +02:00
[email protected]
5ee7e44ed7
fix(tracker): ReadInstrument forgot to close the file
2025-01-25 22:18:28 +02:00
[email protected]
dd7b5ddc84
build: use macos-13 runners, as macos-12 is deprecated
2024-12-07 14:19:50 +02:00
[email protected]
ee229d8d94
build: build vst bundle binaries on macos
...
Closes #167
2024-12-07 14:13:28 +02:00
[email protected]
6ba595e7ff
fix(vm/compiler): produce position independent code on amd64
2024-12-07 14:13:28 +02:00
[email protected]
4169356845
docs: update CHANGELOG.md
2024-11-15 19:56:18 +02:00
[email protected]
8d71cf3ca7
fix(tracker): MakeSetLength did not handle invalid parameters
...
(cherry picked from commit 1b824f77ab40dbabba4586de4b97bb113e8ee264)
2024-11-10 00:10:17 +02:00
[email protected]
8d7d896375
docs: update README.md
2024-11-08 10:49:17 +02:00
[email protected]
04deac5722
fix(tracker): use non-blocking sends from Model to Player
...
This ensures that the GUI can never hang, even if the Player has
completely crashed.
2024-11-03 00:57:05 +02:00
[email protected]
6337101985
feat(tracker/gioui): remove maximum length from unit comment
...
Related to #115 .
2024-11-03 00:05:57 +02:00
[email protected]
8074fd71d3
refactor(tracker): split NewModelPlayer into NewModel, NewPlayer
2024-11-02 23:58:38 +02:00
[email protected]
37769fcc9c
refactor(tracker): get rid of execChan, use broker.ToModel instead
2024-11-02 23:44:52 +02:00
[email protected]
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