v3.0.9: 미디 에디터 대폭 개선 — 솔로/뮤트/CC/매핑 수정

미디 에디터:
- 솔로/뮤트 실시간 반영: writeMidi 기반으로 buildSpessaMidi 재설계, 토글 시 sfReloadSong()으로 즉시 시퀀서 리로드
- MIDI 파서 CC 이벤트 보존: 기존에 모든 CC(볼륨·팬·expression·리버브 등) 버리던 것 수정, ccs[] 배열로 저장·재출력
- 멀티채널 트랙 분리: 포맷0 등 한 트랙에 채널 혼합 시 채널별로 자동 분리, 드럼 채널 보호
- 노트에 ch 필드 추가: 파서에서 각 노트에 실제 MIDI 채널 저장, writeMidi에서 활용
- 롤에디터 기본 8마디 보기, 마스터 FX 패널 추가
- 기타프로 마스터 볼륨 200%까지 확장

기타프로 MIDI 포트 매핑:
- sendMidiProgramChanges 순서 수정: PC→Bank 오류를 Bank→PC로 교정
- 세컨더리 채널(팜뮤트·하모닉스) 초기화 추가
- CC7 볼륨·CC10 팬 초기값 전송 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
kim
2026-06-22 17:44:32 +09:00
co-authored by Claude Sonnet 4.6
parent 9ad63ec8b1
commit 04e8f8ebe8
19 changed files with 3130 additions and 1008 deletions
+31 -1
View File
@@ -201,6 +201,8 @@
grid-area: sidebar;
display: flex;
flex-direction: column;
position: relative;
z-index: 10;
}
#sidebar-tabs {
@@ -1870,7 +1872,7 @@
body {
padding: 0;
gap: 0;
grid-template-rows: 52px 1fr 56px;
grid-template-rows: auto 1fr 56px;
grid-template-columns: 1fr;
grid-template-areas:
"header"
@@ -1882,6 +1884,34 @@
border-left: none;
border-right: none;
border-top: none;
flex-wrap: wrap;
padding: 8px 12px 0;
gap: 6px;
height: auto;
}
/* 앱 버튼 스트립 — 두 번째 행, 가로 스크롤 */
header .mode-toggle {
flex: 0 0 100%;
order: 10;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
border: none;
background: transparent;
border-radius: 0;
padding: 4px 0 8px;
margin-left: 0 !important;
gap: 6px;
/* 오른쪽 페이드 힌트 */
-webkit-mask-image: linear-gradient(to right, black 80%, transparent 100%);
mask-image: linear-gradient(to right, black 80%, transparent 100%);
}
header .mode-toggle::-webkit-scrollbar { display: none; }
header .mode-toggle .mode-btn {
flex-shrink: 0;
white-space: nowrap;
padding: 6px 12px;
font-size: 12px;
}
aside { display: none; }
.status-bar { display: none; }