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
c77d541dc6
docs: update README.md; claim that native synth is faster was false
2025-06-17 18:22:14 +03:00
340620ed49
feat(tracker): show CPU load percentage in the song panel
2025-06-17 17:59:54 +03:00
1a13fadd75
docs: add link to Discussions to the README.md
2025-06-17 14:12:23 +03:00
b6e8ab5c25
style(examples/code/C): rename .unix. examples to .linux.
...
Closes #191
2025-06-16 18:55:01 +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
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
d6badb97be
feat(examples): added playback timestamp extraction to ALSA example. ( #190 )
2025-06-04 16:44:31 +03:00
d342c9961d
build: update gioui to latest version for performance optimization
2025-05-27 12:37:22 +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
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
448bc9f236
fix(tracker): OOB checks used index > len, but should've used >=
2025-05-20 19:05:17 +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
9f89c37956
refactor(tracker): rename trySend to TrySend to make it public
2025-04-30 22:00:34 +03:00
0199658025
style(tracker): use for range loops everywhere in detector.go
2025-04-30 16:24:48 +03:00
afc6b1f4a9
build: update gioui to v0.8.0
2025-04-30 16:22:13 +03:00
3623bdf5b2
refactor(tracker): bake 1 kHz gain offset into filter coeffs
2025-04-29 20:45:14 +03:00
fe9daf7988
fix(tracker): loudness A- and C-weighting did not have proper scale
2025-04-29 15:12:57 +03:00
bf0d697b80
fix(tracker): reset also biquad filter states to avoid endless nans
2025-04-28 15:23:00 +03:00
f72f29188b
feat(vm/compiler): increase native synth delaylines to 128
...
Closes #155
2025-04-27 21:47:27 +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
845f0119c8
fix(tracker): peak amplitude dBs should be 20*log10, not 10*log10
2025-04-27 19:55:25 +03:00
5a3c859a51
fix(tracker): also peak detector windows were in wrong order
2025-04-27 19:29:23 +03:00
5c0b86a0f0
fix(tracker): the peak detector result was in wrong layout
2025-04-27 14:13:31 +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
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
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