// This file is part of the 64k demo project. // It defines the tracker system for music composition. #pragma once #include "audio/gen.h" #include struct TrackerEvent { float beat; uint16_t sample_id; float volume; float pan; }; struct TrackerPattern { const TrackerEvent* events; uint32_t num_events; float num_beats; }; struct TrackerPatternTrigger { float time_sec; uint16_t pattern_id; // Modifiers could be added here }; struct TrackerScore { const TrackerPatternTrigger* triggers; uint32_t num_triggers; float bpm; }; // Global music data generated by tracker_compiler extern const NoteParams g_tracker_samples[]; extern const uint32_t g_tracker_samples_count; extern const TrackerPattern g_tracker_patterns[]; extern const uint32_t g_tracker_patterns_count; extern const TrackerScore g_tracker_score; void tracker_init(); void tracker_update(float time_sec);