import { allCsoundReferences, getCsoundReference, getCsoundReferencesByCategory } from '../../src/lib/csound-reference/csoundReference'; console.log('='.repeat(60)); console.log('Csound Reference Output Test'); console.log('='.repeat(60)); console.log(`\nTotal opcodes: ${allCsoundReferences.length}`); console.log('\n--- Testing getCsoundReference() ---'); const oscil = getCsoundReference('oscil'); if (oscil) { console.log(`\nFound oscil:`); console.log(` Name: ${oscil.name}`); console.log(` Category: ${oscil.category}`); console.log(` Description: ${oscil.description.substring(0, 80)}...`); console.log(` Syntax: ${oscil.syntax?.substring(0, 80)}...`); console.log(` Rates: ${oscil.rates?.join(', ')}`); console.log(` Parameters: ${oscil.parameters?.length || 0}`); } const moogladder = getCsoundReference('moogladder'); if (moogladder) { console.log(`\nFound moogladder:`); console.log(` Name: ${moogladder.name}`); console.log(` Category: ${moogladder.category}`); console.log(` Description: ${moogladder.description}`); console.log(` Syntax: ${moogladder.syntax?.substring(0, 100)}...`); console.log(` Rates: ${moogladder.rates?.join(', ')}`); console.log(` Parameters: ${moogladder.parameters?.length || 0}`); if (moogladder.parameters) { console.log(` Parameters detail:`); moogladder.parameters.forEach(p => { console.log(` - ${p.name} (${p.type}): ${p.description.substring(0, 60)}...`); }); } } console.log('\n--- Testing getCsoundReferencesByCategory() ---'); const oscillators = getCsoundReferencesByCategory('Signal Generators:Basic Oscillators'); console.log(`\nBasic Oscillators (${oscillators.length} opcodes):`); oscillators.slice(0, 5).forEach(op => { console.log(` - ${op.name}: ${op.description.substring(0, 60)}...`); }); console.log('\n--- Sample categories ---'); const categories = new Set(allCsoundReferences.map(ref => ref.category)); const categoryArray = Array.from(categories).sort(); console.log(`\nTotal categories: ${categories.size}`); console.log('First 10 categories:'); categoryArray.slice(0, 10).forEach(cat => { const count = allCsoundReferences.filter(r => r.category === cat).length; console.log(` - ${cat} (${count} opcodes)`); }); console.log('\n--- Checking for opcodes with parameters ---'); const opcodesWithParams = allCsoundReferences.filter(ref => ref.parameters && ref.parameters.length > 0); console.log(`\nOpcodes with parameters: ${opcodesWithParams.length} out of ${allCsoundReferences.length}`); if (opcodesWithParams.length > 0) { console.log('\nFirst 5 opcodes with parameters:'); opcodesWithParams.slice(0, 5).forEach(op => { console.log(` - ${op.name}: ${op.parameters?.length} parameters`); }); } console.log('\n' + '='.repeat(60)); console.log('Test Complete!'); console.log('='.repeat(60));