1// The simulated instruments: physically based models from the sibling
2// simulated_instruments collection, each imported directly from its
3// repo's instrument/ module. Each module implements the track-render
4// interface itself (worker, caching, progress, cancellation included),
5// so registering it is all there is to do here. The MATLAB sources ride
6// along at build time via each module's own import.meta.glob.
7import { registerInstrument } from './registry.ts';
8import { bassInstruments } from '../../../../simulated_instruments/bass/instrument/index.ts';
9import { woodblockInstruments } from '../../../../simulated_instruments/woodblock/instrument/index.ts';
10import { recorderInstruments } from '../../../../simulated_instruments/recorder/instrument/index.ts';
11import { cymbal2Instruments } from '../../../../simulated_instruments/cymbal2/instrument/index.ts';
12import { triangleInstruments } from '../../../../simulated_instruments/triangle/instrument/index.ts';
13import { maracaInstruments } from '../../../../simulated_instruments/maraca/instrument/index.ts';
15export function registerSimulatedInstruments(): number {
16 const all = [...bassInstruments, ...woodblockInstruments, ...recorderInstruments, ...cymbal2Instruments, ...triangleInstruments, ...maracaInstruments];
17 for (const ins of all) registerInstrument(ins);
18 return all.length;
19}