feat: VST FX rack per-track + masterbus render via native_bridge

This commit is contained in:
2026-08-17 21:31:57 +07:00
parent 8fbacd1d2b
commit b261eb0d7e
18 changed files with 1805 additions and 14 deletions
+30
View File
@@ -0,0 +1,30 @@
# Mastering Expand — Extension Modules & Dynamic Chain
Tài liệu cho các module mở rộng của Mastering modal (MasteringModal) và Track FX chain.
## §II.1 EQ Preset Library
- Thư viện preset EQ band-gain dùng chung cho track EQ.
- Code: `app/static/js/app.jsx` (EQ Preset Library, `EQ_PRESETS`).
- Ứng dụng: Mastering modal EQ module, Track Strip EQ.
## §II.2 Bus Compressor Module
- Module nén masterbus đặt trong MasteringModal, giữa các module chain.
- Code: `app/static/js/app.jsx` (Bus Compressor module trong MasteringModal JSX).
- Điều khiển: threshold, ratio, attack, release, makeup gain; bypass riêng.
## §II.3 rebuildAudioGraph / Dynamic Module Chain
- `rebuildAudioGraph`: dựng lại đồ thị WebAudio động theo thứ tự module chain.
- Thứ tự module: chain strip trong MasteringModal cho phép thêm/xóa/bỏ/bypass
module, thay đổi thứ tự — audio graph được rebuild tương ứng.
- Default = chain cũ (`mastering_expand.md: extension modules + dynamic chain`).
- Code: `app/static/js/app.jsx` (MODULE CHAIN STRIP dynamic).
## §II.4 Track FX Module Factory
- Factory tạo module FX theo loại (EQ, compressor, ...) cho track FX chain.
- Dùng chung cho Track FX chain editor trong track strip
(`Track FX Chain (mastering_expand.md §II.4)`).
- Code: `app/static/js/app.jsx` (Track FX module factory).
## §III ADD MODULE POPUP
- Popup thêm module mới vào chain (chọn loại module rồi append).
- Code: `app/static/js/app.jsx` (ADD MODULE POPUP trong MasteringModal).
+16
View File
@@ -0,0 +1,16 @@
# Unified FX Rack Panel
Một panel FX Rack dùng chung cho per-track (FXRackModal) và masterbus
(MasteringModal), thống nhất trải nghiệm thêm/sắp xếp FX.
## §III.1 Track-EQ Preset Library
- Thư viện preset EQ band-gains dùng cho track EQ (chỉ band gains).
- Code: `app/static/js/app.jsx` (Track-EQ preset library).
- Preset áp trực tiếp các giá trị gain band vào track EQ.
## Unified FX Rack Panel
- Panel thống nhất: mỗi track mở FXRackModal từ track strip context
(`Unified FX Rack target context: { trackId, trackName }`).
- Bao gồm: WebAudio builtin chain + VST FX chain (xem thêm
`unified_fx_rack_panel_update.md`), bypass từng slot và toàn chain.
- Code: `app/static/js/app.jsx` (UNIFIED FX RACK PANEL + FXRackModal).
+17
View File
@@ -0,0 +1,17 @@
# Unified FX Rack Panel Update — VST FX & Wave Observer
Cập nhật cho `unified_fx_rack_panel.md`: bổ sung VST FX chain và Wave Observer.
## VST FX Chain
- FXRackModal (per-track) và MasteringModal (masterbus) có section "VST FX":
thêm plugin từ `SonicAPI.listFx` (danh sách VST3/LV2 đã scan), upload preset
dạng base64, bypass toàn chain, sắp xếp lên/xuống/xóa.
- Render offline qua native_bridge `--render-fx` (xem `PLAN_MASTERBUS_FX_RACK_VST.md`).
- Serialize: track `vst_fx_chain`/`vst_fx_bypass`; master
`main_session.master.fx_chain`/`bypass`.
## §III.3 Wave Observer
- Oscilloscope real-time xem dạng sóng tín hiệu tại điểm quan sát (master / track).
- Code: `app/static/js/app.jsx` (WAVE OBSERVER — REAL-TIME OSCILLOSCOPE;
`Wave Observer scope state`; `Wave Observer scope analysers`).
- Scope: chọn master hoặc track; analysers dùng WebAudio AnalyserNode.