#ifndef PKE_AT_PKE_AT_SETTINGS_HPP #define PKE_AT_PKE_AT_SETTINGS_HPP #include "pke-at-setlist-types.hpp" #include #define BEEP_IMMEDIATELY_VAL 99999999.f enum PKE_AT_RUNTIME_FLAGS : uint32_t { PKE_AT_RUNTIME_FLAG_NONE = 0, PKE_AT_RUNTIME_FLAG_PLAYING = (1u << 0), PKE_AT_RUNTIME_FLAG_PAUSED = (1u << 1), }; struct pke_at_global_settings { struct pke_at_global_settings_mem { pk_membucket *bkt; pk_membucket *bkt_transient; } mem; struct pke_at_storage_interface *storage; struct pke_at_data_interface *data; struct pke_at_global_settings_bpm { float last; float target; float current; double lerp_delta; double lerp_delta_duration; double delta_per_beat; double delta_since_last_beat; } bpm; struct pke_at_global_settings_metronome { uint8_t beat; uint8_t beats_per_bar; AssetHandle beep; AssetHandle beep_accent; } mtrnm; struct pke_at_global_settings_rt { uint32_t flags; } rt; }; extern struct pke_at_global_settings g_at; extern struct pke_at_section_type g_section_types[]; #endif /* PKE_AT_PKE_AT_SETTINGS_HPP */