Sound Design System Block Diagram

Sound Design Signal Flow

Untitled Audio System

Block Diagram & Signal Flow Visualizer

Signal Flow Visualization

Component List & Routing

Order Category Block Name Parameters / Notes Actions

System Properties

Chain is empty. Add a block below.

'; return; } sdsbData.forEach(block => { const el = document.createElement('div'); el.className = `sdsb-node node-type-${block.type}`; let typeLabel = ""; if(block.type === 'source') typeLabel = "Input"; if(block.type === 'process') typeLabel = "FX / DSP"; if(block.type === 'mod') typeLabel = "Control"; if(block.type === 'out') typeLabel = "Output"; el.innerHTML = `
${typeLabel}
${block.name}
${block.param}
`; container.appendChild(el); }); } function sdsbRenderTable() { const tbody = document.getElementById('sdsb-table-body'); tbody.innerHTML = ''; sdsbData.forEach((block, index) => { const tr = document.createElement('tr'); let badgeClass = `bg-${block.type}`; tr.innerHTML = ` ${index + 1} ${block.type} ${block.name} ${block.param} `; tbody.appendChild(tr); }); } // PDF Export function sdsbGeneratePDF() { // We need to show all tabs content or structure a specific print view. // Strategy: Temporarily make all tabs visible for the snapshot const element = document.getElementById('sdsb-wrapper'); const tabs = document.querySelector('.sdsb-tabs'); const ctrls = document.querySelector('.sdsb-controls'); // Save current state const activeTab = document.querySelector('.sdsb-tab-content.active'); // Prepare for print: Show Designer and Manifest, Hide Controls/Settings document.getElementById('tab-designer').style.display = 'block'; document.getElementById('tab-manifest').style.display = 'block'; document.getElementById('tab-settings').style.display = 'none'; // Usually not needed in spec sheet const opt = { margin: [10, 10], filename: 'Sound_Design_Spec.pdf', image: { type: 'jpeg', quality: 0.98 }, html2canvas: { scale: 2, useCORS: true, background: '#111827' }, jsPDF: { unit: 'mm', format: 'a4', orientation: 'landscape' } }; html2pdf().set(opt).from(element).save().then(() => { // Restore state document.querySelectorAll('.sdsb-tab-content').forEach(el => el.style.display = ''); activeTab.classList.add('active'); // Re-apply active class logic handled by CSS }); }
Scroll to Top