Commit Graph

  • ae6abc3ea5 fix: thêm CC120 (All Sound Off) vào stopNote 3dtours 2026-07-27 15:20:01 +07:00
  • cdfe88ba76 fix: force ScriptProcessorNode (bypass AudioWorklet) để debug no-audio 3dtours 2026-07-27 15:15:20 +07:00
  • 05113e17f3 fix: gain 2.0 + zero buffer trước render + log get_gain thực tế 3dtours 2026-07-27 15:14:49 +07:00
  • 4d2da5a272 fix: ScriptProcessorNode fallback + worklet process() logging 3dtours 2026-07-27 15:09:47 +07:00
  • 4ca6e7c6ad fix: thêm logging debug cho noteOn + render + gain explicit 3dtours 2026-07-27 15:02:27 +07:00
  • 2c012e3348 fix: AudioWorklet bridge xử lý sai frame → silence 3dtours 2026-07-27 14:59:39 +07:00
  • a887db587f fix: clean sfload with _allocCStr helper + printErr debug + verbose FluidSynth 3dtours 2026-07-27 14:56:07 +07:00
  • 6fe0cd8d61 fix: bắt lỗi _fluid_synth_sfload + fallback SF2 + tăng WASM memory 3dtours 2026-07-27 14:51:39 +07:00
  • e801023beb fix: locateFile cho FluidSynth WASM module (dùng self-host/CDN) 3dtours 2026-07-27 14:48:58 +07:00
  • ef1238b87d feat: migrate SpessaSynth → FluidSynth WASM (SF3 native, loop Gen 54 fix) 3dtours 2026-07-27 12:48:30 +07:00
  • 81dc9a0354 refactor: chuyển đổi từ SpessaSynth sang FluidSynth WASM 3dtours 2026-07-27 12:31:21 +07:00
  • 18d2503cb9 fix: bypass SpessaSynth AudioWorklet MIDI pipeline for looped voice release 3dtours 2026-07-27 12:27:51 +07:00
  • 187686aa82 chore: add wiki entry for CC120 fix 3dtours 2026-07-27 12:12:15 +07:00
  • fa4a38bf3e fix: stopNote/stoplAll uses CC120 (All Sound Off) instead of CC123 (All Notes Off) to kill sustained instrument voices immediately 3dtours 2026-07-27 12:11:37 +07:00
  • 4def86168b fix: send CC64=0 + CC121=0 before noteOff (reset sustain + all controllers) 3dtours 2026-07-27 12:02:50 +07:00
  • 9357e4fcc8 chore: add wiki log 3dtours 2026-07-27 11:43:43 +07:00
  • f7a46e0baa fix: lazyInit in playNote, oscillator fallback 2s instead of 60s 3dtours 2026-07-27 11:43:32 +07:00
  • 1829b61472 fix: stopNote fires noteOff(3 variants) + allNotesOff + CC123 for redundancy 3dtours 2026-07-27 11:39:16 +07:00
  • 8aeac14e4b fix: only send All Notes Off (CC123) when sustain pedal is not active 3dtours 2026-07-27 11:30:35 +07:00
  • 48e4047a84 revert: remove 100ms delay from stopNote, keep instant noteOff 3dtours 2026-07-27 11:27:39 +07:00
  • 0e051297b0 fix: stopNote delays noteOff by 100ms for natural release 3dtours 2026-07-27 11:25:03 +07:00
  • 62ac2e2d88 chore: add wiki log 3dtours 2026-07-27 11:22:01 +07:00
  • e785b88ea7 fix: send All Notes Off (CC123) before each MIDI NoteOn to stop lingering release 3dtours 2026-07-27 11:21:51 +07:00
  • e866ad1c0d fix: stopNote sends noteOff(ch,pitch,0) + controllerChange(CC64=0) for safety 3dtours 2026-07-27 11:17:36 +07:00
  • 90ff65f31d fix: add debug log to stopNote for troubleshooting 3dtours 2026-07-27 11:14:09 +07:00
  • 0246255792 fix: immediate notes (MIDI keyboard) have NO auto noteOff timeout 3dtours 2026-07-27 11:10:45 +07:00
  • d5ef016d49 chore: add wiki log 3dtours 2026-07-27 11:06:43 +07:00
  • e6439c2d9d fix: MIDI NoteOff stops note immediately (60000ms duration + stopNote) 3dtours 2026-07-27 11:06:35 +07:00
  • 5a49d2012b feat: sustain (CC64), modulation (CC1), pitch bend for MIDI keyboard 3dtours 2026-07-27 11:02:45 +07:00
  • 7eb26a004f fix: nút synth load trực tiếp instruments 3dtours 2026-07-27 10:59:41 +07:00
  • 5c47b68a9d fix: single Synth button opens instrument modal, fix init race condition 3dtours 2026-07-27 10:54:58 +07:00
  • cf61b8431d revert: restore small Synth button to dropdown (preserve SF3 flow) 3dtours 2026-07-27 10:49:42 +07:00
  • e5bd442b7c fix: small Synth button opens instrument modal (not SF list dropdown) 3dtours 2026-07-27 10:40:20 +07:00
  • 55a27b5957 fix: remove sf.source references causing ReferenceError in PluginManagerModal 3dtours 2026-07-27 10:35:42 +07:00
  • 981a184176 chore: bump cache version to force browser refresh 3dtours 2026-07-27 10:18:34 +07:00
  • 138d05698a chore: add wiki log 3dtours 2026-07-27 10:12:59 +07:00
  • 3a6b44e195 feat: Synth button opens modal with flat instrument list from all SFs 3dtours 2026-07-27 10:11:44 +07:00
  • fba3664a1c fix: catalog lookup uses lowercased key for merge 3dtours 2026-07-27 09:44:28 +07:00
  • 2ad29226c4 fix: deduplicate soundfont scan + source label + delete only uploads 3dtours 2026-07-27 09:36:58 +07:00
  • d18c0085b6 chore: add wiki log 3dtours 2026-07-27 09:28:45 +07:00
  • 7544ee2e5f feat: eager soundfont catalog scan at startup, cache presets locally 3dtours 2026-07-27 09:28:34 +07:00
  • d04442ad45 fix: click on ruler moves playhead only (no zero-width selection) 3dtours 2026-07-27 09:19:18 +07:00
  • dff2c81848 fix: sub-tab ruler drag creates local selection, separate from main 3dtours 2026-07-27 09:14:34 +07:00
  • ef891e9e04 fix: set selectionFollowsTempo based on which ruler is clicked 3dtours 2026-07-27 08:59:50 +07:00
  • 720d80dbf9 chore: add wiki log 3dtours 2026-07-27 08:53:53 +07:00
  • 06480516eb fix: equal bar widths + selection tempo/time toggle 3dtours 2026-07-27 08:53:42 +07:00
  • bf0469558a chore: add wiki log 3dtours 2026-07-27 08:41:48 +07:00
  • af6c77b9ee fix: add bar markers to TimelineRuler aligned with TempoTrackLane 3dtours 2026-07-27 08:41:36 +07:00
  • 3a84323dd8 fix: force canvas redraw after BPM duration recalculation 3dtours 2026-07-27 08:36:14 +07:00
  • 3c12ce2a22 fix: range loop selection maintains bar count on BPM change 3dtours 2026-07-27 08:31:12 +07:00
  • e739eb54bf chore: add wiki log 3dtours 2026-07-27 08:25:58 +07:00
  • f59cc304d4 fix: TempoTrackLane bar spacing drift with floating-point BPM 3dtours 2026-07-27 08:25:47 +07:00
  • 6a409b954d chore: add wiki log 3dtours 2026-07-27 08:21:26 +07:00
  • cde29386d2 fix: TempoTrackLane bar spacing by removing broken DOM scrollLeft lookup 3dtours 2026-07-27 08:21:16 +07:00
  • ea5043c981 fix: auto-compute length_bars for legacy items on BPM change 3dtours 2026-07-27 08:10:05 +07:00
  • 5915049260 chore: add wiki log 3dtours 2026-07-27 08:03:12 +07:00
  • d97f82e93f fix: maintain item duration in bars when BPM changes 3dtours 2026-07-27 08:03:02 +07:00
  • f98ade5d58 fix: context menu flips upward when near viewport bottom 3dtours 2026-07-27 07:46:06 +07:00
  • 993610ca37 fix: AI items at playhead + context menu scrollable within viewport 3dtours 2026-07-27 07:42:01 +07:00
  • 509da0c724 fix: track do AI tạo không đồng đều 3dtours 2026-07-26 22:22:00 +07:00
  • 1764fc29b5 fix: AI tracks auto-align to end of last existing item 3dtours 2026-07-26 22:14:02 +07:00
  • e4dadb3158 chore: add wiki log 3dtours 2026-07-26 22:03:56 +07:00
  • 45a86f09bd fix: keep all banks loaded, don't delete on switch 3dtours 2026-07-26 22:03:49 +07:00
  • 0f5f494173 fix: AI-generated tracks save synth_engine + pass to applyAITrackInstrument 3dtours 2026-07-26 21:55:47 +07:00
  • 3b6f1ad05a chore: add wiki log 3dtours 2026-07-26 21:32:14 +07:00
  • 7bbe1f3be0 feat: sticky time ruler + tempo lane when scrolling tracks 3dtours 2026-07-26 21:32:08 +07:00
  • 9038cfab86 fix: loop với các tab 3dtours 2026-07-26 21:20:01 +07:00
  • 8155b4f2fa chore: add wiki log 3dtours 2026-07-26 21:16:55 +07:00
  • cdd5f8c96b fix: stopAll cancels scheduled notes, loop works on all tabs 3dtours 2026-07-26 21:16:49 +07:00
  • 1daf355dd4 chore: add loop fix log 3dtours 2026-07-26 21:03:24 +07:00
  • bdaa5594bd feat: sync loop button with sub-tab + auto-derive loop boundaries 3dtours 2026-07-26 21:03:17 +07:00
  • 5ab93953e7 fix: sử dụng soundfont từ server và MIDI note có thể play và thay đổi soundfont có tác dụng 3dtours 2026-07-26 20:55:47 +07:00
  • f96064cbab fix: unload old SoundFont before loading new one 3dtours 2026-07-26 20:52:48 +07:00
  • 473a0afe0a fix: sử dụng soundfont từ server và MIDI note có thể play 3dtours 2026-07-26 20:50:33 +07:00
  • 87655f4275 chore: add timeline fix log 3dtours 2026-07-26 20:47:28 +07:00
  • 28be934a19 fix: schedule SpessaSynth noteOn by startTime via setTimeout 3dtours 2026-07-26 20:47:15 +07:00
  • 40c531087c fix: sử dụng soundfont từ server 3dtours 2026-07-26 20:25:31 +07:00
  • 2f2cb3a066 fix: implement proper init chain + AudioContext.resume + _initPromise 3dtours 2026-07-26 20:23:22 +07:00
  • 63496f27f4 chore: add final wiki log 3dtours 2026-07-26 20:17:04 +07:00
  • de70d4a837 clean: stable oscillator-only client preview, remove debug logs 3dtours 2026-07-26 20:16:52 +07:00
  • 400856c0a3 fix: add init guard, log selectablePresetList count 3dtours 2026-07-26 20:15:24 +07:00
  • d117a363da debug: log soundBank keys, instruments, samples, _presetList to find why presets empty 3dtours 2026-07-26 20:11:36 +07:00
  • cca970c348 fix: selectInstrument auto-inits SpessaSynth if not ready 3dtours 2026-07-26 20:09:22 +07:00
  • 5eb0c26ce4 debug: add detailed tracing logs for entire SF download→SpessaSynth flow 3dtours 2026-07-26 20:05:34 +07:00
  • 6242eba3c8 debug: add bank count log in noteOn, SpessaSynth play tries then falls back 3dtours 2026-07-26 20:00:17 +07:00
  • 3c7a002b2c fix: connect SpessaSynth output to audioCtx.destination 3dtours 2026-07-26 19:56:28 +07:00
  • 8f4a4cd0eb fix: add 15s timeout for addSoundBank (hangs on parse error) 3dtours 2026-07-26 19:53:20 +07:00
  • f41422da03 fix: disable SpessaSynth playback, use oscillator for client preview 3dtours 2026-07-26 19:49:08 +07:00
  • 4064b90874 chore: bump JS cache version to force browser refresh 3dtours 2026-07-26 19:47:50 +07:00
  • 9cad9f6c95 fix: SpessaSynth noteOn catches 'No preset found' error, falls back to oscillator 3dtours 2026-07-26 19:46:50 +07:00
  • 91e228ad6a fix: sfBank/sfProg ReferenceError — move declarations outside closure 3dtours 2026-07-26 19:41:49 +07:00
  • 09231d9b21 fix: explicit selectInstrument for SpessaSynth bank+program routing 3dtours 2026-07-26 19:37:29 +07:00
  • 6d9060a52b fix: gracefully fallback to oscillator when SpessaSynth bank load fails 3dtours 2026-07-26 19:32:32 +07:00
  • 6a2522d039 fix: correct importmap path for spessasynth_core main entry 3dtours 2026-07-26 18:56:26 +07:00
  • 263c4be409 fix: use importmap to resolve spessasynth_core bare import 3dtours 2026-07-26 18:55:08 +07:00
  • 50847fc440 fix: WorkerSynthesizer fallback, remove non-existent BasicSynthesizer 3dtours 2026-07-26 18:53:12 +07:00
  • 4d42b8407c fix: serve SpessaSynth processor locally to avoid CDN version mismatch 3dtours 2026-07-26 18:47:32 +07:00
  • c884f3c533 fix: clone buffer before addSoundBank, re-await isReady, force program 0 3dtours 2026-07-26 18:44:43 +07:00
  • 5096c618b4 fix: SF3 download prefers SF2, cache invalidation on parse error 3dtours 2026-07-26 18:37:46 +07:00
  • e7a0a85eca fix: SpessaSynth init race condition, remove auto-load of sgm_v2.01 3dtours 2026-07-26 18:33:04 +07:00