VoodooTracker X v0.1.0-alpha.1
·
102 commits
to main
since this release
What's Changed
- app: add AppKit macOS project skeleton by @syncomm in #1
- core: add mod/xm header parser smoke harness by @syncomm in #2
- core: add ModuleCore header parser API and tests by @syncomm in #3
- app: wire file open to core header parser by @syncomm in #4
- core: deepen mod/xm header parsing and add golden snapshots by @syncomm in #5
- app: ensure main window shows on launch by @syncomm in #6
- app: retain main window explicitly on launch by @syncomm in #7
- app: debug and fix main window launch lifecycle by @syncomm in #8
- app: add standard File menu close window action by @syncomm in #9
- docs: sync roadmap and contributor commands with current status by @syncomm in #10
- core: decode xm pattern events for read-only grid data by @syncomm in #11
- core: gate xm event dumps behind explicit flags by @syncomm in #12
- app: add read-only xm pattern grid view by @syncomm in #13
- ui: improve pattern grid readability and navigation by @syncomm in #14
- ui: add fixed channel headers to pattern grid by @syncomm in #15
- ui: add dark tracker theme and beat accents by @syncomm in #16
- app/core: polish sticky tracker grid and XM parsing by @syncomm in #17
- app: polish header logo theme and grid chrome by @syncomm in #18
- app: add basic in-memory pattern edit mode by @syncomm in #19
- track-editor: unify row viewport layout by @syncomm in #20
- docs: add UI debugging and verification workflow by @syncomm in #21
- ui: refine main tracker window layout by @syncomm in #22
- docs: update README logo to graffiti png by @syncomm in #23
- ui: refine tracker frame chrome by @syncomm in #24
- docs: strengthen autonomous UI debugging workflow by @syncomm in #25
- ui: polish tracker control panel by @syncomm in #26
- ui: extract tracker editor view by @syncomm in #27
- playback: add transport foundation by @syncomm in #28
- playback: add song traversal model by @syncomm in #29
- playback: add silent tracker follow by @syncomm in #30
- playback: add first audible xm output by @syncomm in #31
- docs: record first-pass audio backend decision by @syncomm in #32
- playback: stabilize transport lifecycle by @syncomm in #33
- playback: add basic xm effect handling by @syncomm in #34
- playback: add continuous xm effects by @syncomm in #35
- playback: document accuracy model by @syncomm in #36
- playback: add vibrato and tone portamento by @syncomm in #37
- playback: add sample timing effects by @syncomm in #38
- playback: add xm tremolo and global volume effects by @syncomm in #39
- audio: add reference comparison harness by @syncomm in #40
- playback: add trace export by @syncomm in #41
- playback: add first-pass xm panning by @syncomm in #42
- playback: correct XM timing diagnostics by @syncomm in #43
- playback: add first-pass sample loop scheduling by @syncomm in #44
- playback: add XM volume envelopes by @syncomm in #45
- playback: add xm volume column semantics by @syncomm in #46
- audio: add ping-pong sample loops by @syncomm in #47
- playback: add debug seek navigation by @syncomm in #48
- docs: add software mixer transition ADR by @syncomm in #49
- audio: add software mixer skeleton by @syncomm in #50
- docs: sync project state before offline render by @syncomm in #51
- audio: add software mixer offline render harness by @syncomm in #52
- mixer: render one-shot samples offline by @syncomm in #53
- mixer: add synthetic loop rendering by @syncomm in #54
- docs: document agent pr submission flow by @syncomm in #55
- docs: document mixer core language boundary by @syncomm in #56
- core: add C software mixer skeleton by @syncomm in #57
- core: port one-shot rendering to C mixer by @syncomm in #58
- mixer: port loop rendering to C core by @syncomm in #59
- audio: add c mixer envelope foundations by @syncomm in #60
- core: add c mixer scheduling foundations by @syncomm in #61
- mixer: add synthetic tracker timing by @syncomm in #62
- mixer: add synthetic pattern scheduling by @syncomm in #63
- docs: plan parsed XM adapter by @syncomm in #64
- audio: add playbacksong synthetic adapter by @syncomm in #65
- playback: add adapter diagnostics render helper by @syncomm in #66
- audio: map parsed volume envelopes offline by @syncomm in #67
- mixer: add adapted playback pitch step by @syncomm in #68
- tools: add local audio comparison workflow by @syncomm in #69
- audio: add bounded wav export helper by @syncomm in #70
- audio: add local reference comparison smoke by @syncomm in #71
- adapter: support volume columns offline by @syncomm in #72
- adapter: add bounded Fxx timing support by @syncomm in #73
- audio: add adapter volume-column slides by @syncomm in #74
- docs: add local audio comparison findings workflow by @syncomm in #75
- tools: add bounded XM render helper by @syncomm in #76
- diagnostics: add local audio correlation workflow by @syncomm in #77
- mixer: refine bounded linear pitch stepping by @syncomm in #78
- core: add C mixer linear interpolation by @syncomm in #79
- core: add offline envelope semantics by @syncomm in #80
- audio: add bounded 9xx sample offset by @syncomm in #81
- tools: split diagnostics json builder by @syncomm in #82
- tools: report local effect frequency by @syncomm in #83
- tools: add bounded XM render controls by @syncomm in #84
- playback: add bounded adapter event diagnostics by @syncomm in #85
- audio: add bounded sample-map selection by @syncomm in #86
- core: harden C mixer voice capacity diagnostics by @syncomm in #87
- audio: add bounded traversal diagnostics by @syncomm in #88
- audio: add windowed offline candidate rendering by @syncomm in #89
- render: carry windowed offline state by @syncomm in #90
- audio: add bounded volume/pan state updates by @syncomm in #91
- audio: add bounded ECx EDx effects by @syncomm in #92
- tools: add offline render headroom diagnostics by @syncomm in #93
- audio: add click discontinuity diagnostics by @syncomm in #94
- core: add offline gain pan micro ramping by @syncomm in #95
- docs: simplify README audio documentation by @syncomm in #96
- offline: add bounded E9x retrigger by @syncomm in #97
- audio: add bounded Hxy global volume slide by @syncomm in #98
- offline: add pitch modulation diagnostics by @syncomm in #99
- tools: add offline auto headroom export by @syncomm in #100
- audio: add bounded 3xx tone portamento by @syncomm in #101
- audio: add bounded portamento slides by @syncomm in #102
- tools: add bounded song-end render tail by @syncomm in #103
- docs: plan feature-flagged runtime c mixer backend by @syncomm in #104
- audio: add runtime c mixer backend skeleton by @syncomm in #105
- audio: add runtime C mixer diagnostics by @syncomm in #106
- audio: scope runtime c mixer channel stops by @syncomm in #107
- audio: add runtime c mixer diagnostics by @syncomm in #108
- audio: add runtime c mixer headroom policy by @syncomm in #109
- audio: bridge runtime c mixer updates by @syncomm in #110
- audio: classify runtime C mixer update deferrals by @syncomm in #111
- audio: ramp runtime c mixer replacements by @syncomm in #112
- audio: add runtime C mixer trace diagnostics by @syncomm in #113
- audio: bridge runtime c mixer adapter events by @syncomm in #114
- audio: add runtime c mixer sample-time diagnostics by @syncomm in #115
- audio: apply runtime C mixer events at sample time by @syncomm in #116
- audio: add runtime c mixer sample-time diagnostics by @syncomm in #117
- runtime-c-mixer: diagnose playback follow drift by @syncomm in #118
- runtime: use C mixer sample-time follow position by @syncomm in #119
- audio: add runtime C mixer transient diagnostics by @syncomm in #120
- runtime: stabilize C mixer headroom by @syncomm in #121
- audio: capture runtime c mixer output by @syncomm in #122
- runtime: stabilize C mixer event bursts by @syncomm in #123
- audio: add runtime/offline mismatch window diagnostics by @syncomm in #124
- audio: add runtime c mixer output diagnostics by @syncomm in #125
- transport: preserve stop position by @syncomm in #126
- audio: align runtime C mixer source format by @syncomm in #127
- audio: add runtime c mixer callback diagnostics by @syncomm in #128
- audio: add c mixer output diagnostics by @syncomm in #129
- audio: decouple runtime c mixer callback diagnostics by @syncomm in #130
- audio: add runtime C mixer route diagnostics by @syncomm in #131
- docs: add alternative runtime output host ADR by @syncomm in #132
- audio: add CoreAudio C mixer output host spike by @syncomm in #133
- audio: compare runtime C mixer output hosts by @syncomm in #134
- audio: add runtime C mixer song-end tail stop by @syncomm in #135
- tracker-grid: map xm effect display commands by @syncomm in #136
- audio: stabilize runtime c mixer CI tests by @syncomm in #137
- audio: split runtime backend files by @syncomm in #138
- audio: speed runtime C mixer plan generation by @syncomm in #139
- audio: deprecate SourceNode C mixer backend by @syncomm in #140
- audio: harden runtime C mixer render core by @syncomm in #141
- audio: harden CoreAudio host corpus trace summaries by @syncomm in #142
- audio: reduce CoreAudio callback lock contention by @syncomm in #143
- runtime: make CoreAudio C mixer default by @syncomm in #144
- audio: remove avaudio legacy backend by @syncomm in #145
- audio: clean runtime diagnostics by @syncomm in #146
- tools: add xm effect coverage summary by @syncomm in #147
- audio: add minimal 4xy vibrato foundation by @syncomm in #148
- app: add app icon asset by @syncomm in #149
- core: add xm e5x set finetune foundation by @syncomm in #150
- runtime: keep C mixer follow publishing during tail by @syncomm in #151
- playback: add xm e2x fine portamento down by @syncomm in #152
- playback: add EAx EBx fine volume slides by @syncomm in #153
- playback: add minimal xm 6xy vibrato volume slide by @syncomm in #154
- playback: split PlaybackSong files by @syncomm in #155
- playback: add adapter row context by @syncomm in #156
- diagnostics: refresh xm effect coverage summary by @syncomm in #157
- audio: add xm effect memory foundation by @syncomm in #158
- playback: add E1x fine portamento up by @syncomm in #159
- diagnostics: refresh xm effect coverage after e1x by @syncomm in #160
- core: add 1xx 2xx portamento memory by @syncomm in #161
- diagnostics: refresh xm effect coverage after portamento memory by @syncomm in #162
- audio: add minimal 0xy arpeggio foundation by @syncomm in #163
- tests: split VoodooTrackerX XCTest monolith by @syncomm in #164
- playback: add xm traversal foundation by @syncomm in #165
- diagnostics: investigate xm corpus channel parity by @syncomm in #166
- playback: fix same-cell 3xx volume gain updates by @syncomm in #167
- playback: apply axy volume slides per tick by @syncomm in #168
- playback: fix channel 5 tone-portamento beat parity by @syncomm in #169
- docs: refresh xm effect coverage diagnostics by @syncomm in #170
- playback: add xm e4x vibrato control by @syncomm in #171
- diagnostics: classify xm final effect residuals by @syncomm in #172
- audio: fix xm-corpus-002 file-open planner stall by @syncomm in #173
- diagnostics: add reference render parity triage summary by @syncomm in #174
- diagnostics: add sample-step parity report by @syncomm in #175
- core: lock c mixer interpolation parity by @syncomm in #176
- diagnostics: investigate reference resampler loop parity by @syncomm in #177
- core: harden c mixer loop endpoint state by @syncomm in #178
- diagnostics: audit sample-rate paths by @syncomm in #179
- tools: add period sample-step diagnostics by @syncomm in #180
- audio: fix xm linear relative note clamp by @syncomm in #181
- audio: add envelope parity diagnostics by @syncomm in #182
- audio: document xm envelope timing policy by @syncomm in #183
- audio: fix offline same-channel replacement lifetime by @syncomm in #184
- diagnostics: investigate gain panning parity by @syncomm in #185
- audio: fix XM global volume gain parity by @syncomm in #186
- tools: add focused XM window timeline diagnostics by @syncomm in #187
- audio: audit row tick sample step timing by @syncomm in #188
- diagnostics: investigate ft2-clone amplitude timbre parity by @syncomm in #189
- audio: add C mixer interpolation timbre diagnostics by @syncomm in #190
- docs: compare ft2-clone reference interpolation modes by @syncomm in #191
- diagnostics: add sample instrument gain evidence by @syncomm in #192
- audio: add loop-crossing timbre diagnostics by @syncomm in #193
- diagnostics: add steady-state loop sample parity probes by @syncomm in #194
- diagnostics: add ft2 stem render isolation by @syncomm in #195
- diagnostics: audit ft2 stem and sample pcm scaling by @syncomm in #196
- tools: add full-mix contribution diagnostics by @syncomm in #197
- diagnostics: enrich private XM corpus label map tooling by @syncomm in #198
- tools: add float32 wav export by @syncomm in #199
- docs: audit ft2-clone mixer scaling policy by @syncomm in #200
- audio: add FT2 reference mix profile by @syncomm in #201
- diagnostics: classify note-start gain-pan smoothing windows by @syncomm in #202
- diagnostics: refresh private XM corpus metadata by @syncomm in #203
- diagnostics: classify xm high effect bytes by @syncomm in #204
- playback: add minimal Kxx key off by @syncomm in #205
- docs: refresh post-Kxx XM corpus effects by @syncomm in #206
- playback: split song adapter domains by @syncomm in #207
- audio: add minimal xm 5xy support by @syncomm in #208
- playback: add Rxy multi retrigger by @syncomm in #209
- tools: add xm residual effect scan by @syncomm in #210
- playback: add Axy volume-slide memory by @syncomm in #211
- playback: add xm xxy extra fine portamento by @syncomm in #212
- tools: add XM effect gap triage by @syncomm in #213
- docs: clean current backend context by @syncomm in #214
- docs: add diagnostic tool inventory plan by @syncomm in #215
- tools: move bounded XM render tool source by @syncomm in #216
- audio: add xm Lxx envelope position foundation by @syncomm in #217
- playback: add volume-column tone portamento by @syncomm in #218
- docs: clarify xm effect support terminology by @syncomm in #219
- docs: record final linear xm effect coverage by @syncomm in #220
- playback: add Amiga frequency table foundation by @syncomm in #221
- docs: add amiga parity diagnostics follow-up by @syncomm in #222
- audio: align Amiga 3xx period lookup by @syncomm in #223
- docs: record amiga looped-sample phase diagnostics by @syncomm in #224
- diagnostics: add amiga stem isolation tooling by @syncomm in #225
- core: add Amiga short-loop phase microfixtures by @syncomm in #226
- docs: audit xm backend freeze readiness by @syncomm in #227
- tools: align xm diagnostic recommendations by @syncomm in #228
- docs: archive stale checkpoint by @syncomm in #229
- app: blank tracker startup / File New foundation by @syncomm in #230
- app: main window control wiring and tooltip audit by @syncomm in #231
- app: macOS menu foundation by @syncomm in #232
- editor: first pattern entry slice by @syncomm in #233
- editor: full note keymap, key-off, and edit-step polish by @syncomm in #234
- editor: selected instrument/sample display and preview planning by @syncomm in #235
- editor: add two-row tracker keyboard map by @syncomm in #236
- editor: plan note audition preview by @syncomm in #237
- editor: note audition loaded sample availability by @syncomm in #238
- editor: add note audition preview coordinator by @syncomm in #239
- tests: synthetic xm fixture pack plan by @syncomm in #240
- tests: synthetic xm fixture generator skeleton by @syncomm in #241
- tests: generate basic instrument sample XM fixture by @syncomm in #242
- editor: prove generated fixture note audition availability by @syncomm in #243
- ci: update GitHub Actions for Node 24 action runtime by @syncomm in #244
- editor: add audible note preview sink by @syncomm in #245
- editor: normalize note preview pitch and gain by @syncomm in #246
- editor: preview key-release/key-off behavior by @syncomm in #247
- editor: preview held-note loop sustain by @syncomm in #248
- editor: add non-edit-mode note audition policy by @syncomm in #249
- editor: add sample slot selection controls by @syncomm in #250
- design: control panel redesign spec and mockup by @syncomm in #251
- ui: polish control panel for summit demo by @syncomm in #252
- release: add tagged macOS DMG workflow by @syncomm in #253
- docs: add README demo download resources by @syncomm in #254
New Contributors
Full Changelog: https://github.com/syncomm/voodootrackerx/commits/v0.1.0-alpha.1