-
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
-
72186168d2
fix: correct RIFF chunk sizes in SF3 converter
3dtours
2026-07-26 18:29:05 +07:00
-
e843f55483
fix: strip null synth_engine from project JSON
3dtours
2026-07-26 18:22:35 +07:00
-
7af0e61fb0
fix: add project_id fallback for schema validation
3dtours
2026-07-26 18:13:15 +07:00
-
09def59cac
fix: use esm.sh CDN to resolve spessasynth_core bare import
3dtours
2026-07-26 18:09:12 +07:00
-
0d1ef0f895
chore: add SpessaSynth fix log to wiki
3dtours
2026-07-26 18:05:54 +07:00
-
0271be4484
fix: SpessaSynth CDN URL + AudioWorklet init flow
3dtours
2026-07-26 18:05:44 +07:00
-
23601007bf
fix: SpessaSynth init retry + default SF3 auto-load
3dtours
2026-07-26 17:59:15 +07:00
-
29c4c45791
chore: rebuild precompiled JS bundle after app.jsx changes
3dtours
2026-07-26 17:56:32 +07:00
-
3d2930dca5
chore: add SF3+SpessaSynth log to wiki
3dtours
2026-07-26 17:51:48 +07:00
-
e51b7fd355
feat: SF3 conversion + SpessaSynth client player
3dtours
2026-07-26 17:51:37 +07:00
-
44e0a6d736
feat: sử dụng synth cho MIDI KEys
3dtours
2026-07-26 17:36:36 +07:00
-
bfd7146bfc
chore: add fix log to wiki
3dtours
2026-07-26 17:25:46 +07:00
-
bfb636f0bc
fix(ui): remove duplicate Synth button, fix MIDI keyboard handler
3dtours
2026-07-26 17:25:38 +07:00
-
443e09b592
feat(midi): play selected instrument on armed main track via MIDI keyboard
3dtours
2026-07-26 17:19:51 +07:00
-
ef6fe0e718
fix(ui): search instrument names inside SoundFont, not just SF names
3dtours
2026-07-26 17:15:50 +07:00
-
4ff2ce0b9c
chore: add drum toggle log to wiki
3dtours
2026-07-26 17:11:50 +07:00
-
c2bfeb7163
feat(ui): add Drum channel toggle button on track panel
3dtours
2026-07-26 17:11:42 +07:00
-
96aa76f194
chore: add fluidsynth fix log to wiki
3dtours
2026-07-26 17:08:49 +07:00