Skip to content

VoodooTracker X v0.1.0-alpha.1

Choose a tag to compare

@github-actions github-actions released this 22 Jun 19:50
· 102 commits to main since this release
c995022

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