Commit Graph
100 Commits
Author SHA1 Message Date
[email protected] 072e4ee208 fix(tracker/gioui): knobs/switches capture scrollwheel only active 2025-07-09 01:37:18 +03:00
[email protected] edc0782f5f feat: show resonance Q-factor as resonance peak height in dB 2025-07-09 01:17:47 +03:00
[email protected] 697fb05b5c feat: display various gain parameter values in decibels 2025-07-09 00:47:09 +03:00
[email protected] cf86f3f1c8 feat(tracker/gioui): make knob/switch/port hit box the entire cell 2025-07-08 23:53:03 +03:00
[email protected] 8e5f3098a4 feat(tracker/gioui): switches just clickable & cycle between states 2025-07-08 23:01:55 +03:00
[email protected] 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
[email protected] 5841848813 feat(tracker): reduce speed of parameter changes when ctrl pressed 2025-07-08 22:26:30 +03:00
[email protected] 0ce79978d5 feat(tracker/gioui): right click resets knobs instead of doubleclick 2025-07-08 22:22:01 +03:00
[email protected] 4138c34574 fix(tracker): make signal stack errors show for much longer time 2025-07-08 22:21:17 +03:00
[email protected] 172fbaeb2a feat(tracker/gioui): make switches left&right clickable when active 2025-07-08 22:10:54 +03:00
[email protected] 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
[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