adicionando instrumentos no editor de patterns

This commit is contained in:
JotaChina committed 2025-12-27 20:17:51 -03:00
1 parent 6f52f919d8
commit 2393533c69
2 files changed
+53 -53

No files matched your search

+16 -14
View File
@@ -19,26 +19,28 @@ export function renderPatternEditor() {
let contextName = "Song Editor"; // Nome da visualização atual
if (appState.pattern.focusedBasslineId) {
isFocusedMode = true;
isFocusedMode = true;
// 1) acha o container (Caixa/Kick/...) focado
const basslineTrack = appState.pattern.tracks.find(
t => t.id === appState.pattern.focusedBasslineId && t.type === "bassline"
);
// 1) acha o container (Caixa/Kick/...) focado
const basslineTrack = appState.pattern.tracks.find(
t => t.id === appState.pattern.focusedBasslineId && t.type === "bassline"
);
// 2) usa o rack real como "pai" (fallback: id do próprio container)
const srcId = basslineTrack?.instrumentSourceId || appState.pattern.focusedBasslineId;
// 2) usa o rack real como "pai" (fallback: id do próprio container)
const srcId = basslineTrack?.instrumentSourceId || appState.pattern.focusedBasslineId;
// 3) mostra somente instrumentos pertencentes ao rack
tracksToRender = appState.pattern.tracks.filter(
t => t.type !== "bassline" && t.parentBasslineId === srcId
);
// 3) mostra somente instrumentos pertencentes ao rack
tracksToRender = appState.pattern.tracks.filter(
t => t.type !== "bassline" && (t.parentBasslineId === srcId || t.parentBasslineId == null)
);
// Nome no header
if (basslineTrack) contextName = basslineTrack.name;
// Nome no header
if (basslineTrack) contextName = basslineTrack.name;
} else {
// Modo Padrão: Mostra trilhas da raiz (sem pai) e que NÃO são containers de bassline
tracksToRender = appState.pattern.tracks.filter(t => t.type !== 'bassline' && t.parentBasslineId === null);
tracksToRender = appState.pattern.tracks.filter(
t => t.type !== "bassline" && t.parentBasslineId == null
);
// Fallback: Se a lista ficar vazia (projeto antigo ou mal formatado), mostra tudo que não é container
if (tracksToRender.length === 0) {