Files
oldboy/scripts/csound-parser/test-output.ts
2025-10-15 15:05:23 +02:00

72 lines
2.8 KiB
TypeScript

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));