// Generated by tracker_compiler. Do not edit. #include "audio/tracker.h" #include "generated/assets.h" const NoteParams g_tracker_samples[] = { { 0 }, // ASSET_KICK_1 (ASSET) { 0 }, // ASSET_SNARE_1 (ASSET) { 0 }, // ASSET_CRASH_1 (ASSET) { 440.0f, 0.50f, 1.0f, 0.01f, 0.0f, 0.0f, 0.0f, 3, 0.6f, 0.0f, 0.0f }, // NOTE_A4 }; const uint32_t g_tracker_samples_count = 4; const AssetId g_tracker_sample_assets[] = { AssetId::ASSET_KICK_1, AssetId::ASSET_SNARE_1, AssetId::ASSET_CRASH_1, AssetId::ASSET_LAST_ID, }; static const TrackerEvent PATTERN_EVENTS_drums_basic[] = { { 0.0f, 0, 1.0f, 0.0f }, { 0.0f, 3, 0.5f, 0.0f }, { 1.0f, 1, 0.9f, 0.0f }, { 2.0f, 0, 1.0f, 0.0f }, { 3.0f, 1, 0.9f, 0.0f }, }; static const TrackerEvent PATTERN_EVENTS_drums_with_crash[] = { { 0.0f, 0, 1.0f, 0.0f }, { 0.0f, 2, 0.9f, 0.0f }, { 0.0f, 3, 0.5f, 0.0f }, { 1.0f, 1, 0.9f, 0.0f }, { 2.0f, 0, 1.0f, 0.0f }, { 3.0f, 1, 0.9f, 0.0f }, }; const TrackerPattern g_tracker_patterns[] = { { PATTERN_EVENTS_drums_basic, 5, 4.0f }, // drums_basic { PATTERN_EVENTS_drums_with_crash, 6, 4.0f }, // drums_with_crash }; const uint32_t g_tracker_patterns_count = 2; static const TrackerPatternTrigger SCORE_TRIGGERS[] = { { 0.0f, 0 }, { 2.0f, 0 }, { 4.0f, 1 }, { 6.0f, 0 }, { 8.0f, 0 }, { 10.0f, 0 }, { 12.0f, 1 }, { 14.0f, 0 }, }; const TrackerScore g_tracker_score = { SCORE_TRIGGERS, 8, 120.0f }; // ============================================================ // RESOURCE USAGE ANALYSIS (for synth.h configuration) // ============================================================ // Total samples: 4 (3 assets + 1 generated notes) // Max simultaneous pattern triggers: 1 // Estimated max polyphony: 5 voices // // REQUIRED (minimum to avoid pool exhaustion): // MAX_VOICES: 5 // MAX_SPECTROGRAMS: 8 (no caching) // // RECOMMENDED (with 50% safety margin): // MAX_VOICES: 10 // MAX_SPECTROGRAMS: 12 (no caching) // // NOTE: With spectrogram caching by note parameters, // MAX_SPECTROGRAMS could be reduced to ~4 // ============================================================