Commit Graph
100 Commits
Author SHA1 Message Date
[email protected] 7459437822 feat(tracker): don't save instrument name in instrument files
The filename is used as the instrument name when it is loaded.
2025-10-05 14:06:00 +03:00
[email protected] 55f9c36bd5 feat(tracker/gioui): show file explorer error messages to user 2025-09-27 21:06:26 +03:00
[email protected] a09b52a912 feat: phase parameter hint is displayed in degrees (0 .. 360) 2025-09-17 20:53:51 +03:00
[email protected] 74fea4138f docs: Update README.md (-o . is not needed; it's the default behavior) 2025-08-13 15:18:39 +03:00
[email protected] 7f3010a4a6 docs: update CHANGELOG.md 2025-08-08 15:16:50 +03:00
[email protected] 5839471bcc fix(tracker/gioui): limit comments in unit list to single line 2025-07-30 18:10:15 +03:00
[email protected] fe0106bb60 fix(tracker/gioui): show unit search list after clicking "Add Unit"
Closes #204
2025-07-24 11:03:34 +03:00
[email protected] 3163f46447 feat!: both native & Go synths are included in the same executables
Closes #200
2025-07-10 17:46:00 +03:00
[email protected] 13102aa7d6 docs: update README.md 2025-07-10 10:34:55 +03:00
[email protected] 399bac481c docs: update screenshot 2025-07-10 09:07:40 +03:00
[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