72 lines
2.8 KiB
TypeScript
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));
|