Files
radiantwave/src/config/app_config.h
T
NeilClack da0b6ffd5e Kiosk: apply schedule engine in playback and add System Settings toggle
ScrollerPage now resolves the active Block from ScheduleManager (reusing
the existing stream-switch path), honoring dynamicAudio true/false and
falling back to local selection for gaps, no schedule, or toggle off.
Adds a 'Schedule' On/Off entry (default On) in System Settings persisted
in config.yaml, and config plumbing (proclamation.schedule_enabled). All
on-device schedule times remain 12h AM/PM.
2026-09-29 10:34:45 -05:00

38 lines
1.3 KiB
C++

#pragma once
#include <string>
namespace radiantwave::config {
struct AudioConfig {
bool enabled = true; // audio master enabled toggle
int volume = 80; // 0 - 100
std::string output_device = ""; // empty = system default
std::string current_track = "OriginalAudio.wav"; // active audio track filename
bool dynamic_audio = true; // audio follows the displayed proclamation's solfeggio frequency
};
struct ProclamationConfig {
float scroll_speed = 1.0f; // scroll speed multiplier
int font_size = 32; // font size in pt
std::string current_id = ""; // currently active proclamation ID
bool schedule_active = false; // follow the portal's listening schedule
bool schedule_enabled = true; // local Schedule on/off toggle (default on)
};
struct AppConfig {
std::string license_key = "";
std::string email_address = "";
std::string provisioning_status = "FIRST_RUN";
std::string timezone = "UTC"; // IANA timezone code (e.g. America/New_York, UTC)
AudioConfig audio;
ProclamationConfig proclamation;
// Single source of truth for default values
static AppConfig defaults() {
return AppConfig{};
}
};
} // namespace radiantwave::config