#ifndef DEFINES_H #define DEFINES_H #define VERSION "LibreMediaServerAudio v0.2.0 Antigona" #define COPYRIGHT "(C) 2014-2024 Santi NoreƱa " #define LICENSE "GPL3 Licensed. See LICENSE.txt." #define DEFAULT_FILE "lms-audio.xlm" #define MAX_LAYERS 4 #define MAX_AUDIODEVICES 8 #define FORMAT ma_format_f32 /* Must always be f32. */ #define CHANNELS 2 #define SAMPLE_RATE 48000 #define UI_REFRESH_TIME 97 #define FADE_TIME 25 // DMX Frame time, 40 fps, avoid clicks #define FILTER_CHANNELS 16 // number of dmx channels dedicated to filters by layer struct dmxSetting { int address; unsigned int universe; int layer; int audioDevice; }; enum Status { Stopped, Paused, PlayingOnce, PlayingLoop, Iddle, PlayingFolder, PlayingFolderLoop, PlayingFolderRandom }; enum Slider { Volume, Pan, Pitch, Bypass, Bus1, Bus2 }; #ifdef __cplusplus constexpr const char* statusToString(Status e) noexcept { switch (e) { case Status::Stopped: return "Stop"; case Status::Paused: return "Paused"; case Status::PlayingOnce: return "Play 1"; case Status::PlayingLoop: return "Play Loop"; case Status::Iddle: return "Iddle"; case Status::PlayingFolder: return "Play Folder"; case Status::PlayingFolderLoop: return "Play Folder Loop"; case Status::PlayingFolderRandom: return "Playing Folder Random"; default: return "--++--"; } } #include struct layerData { QString media; Status status; bool updated; float vol; float cursor; int pan; int pitch; float duration; int address; unsigned int universe; int device; int bus1Vol; int bus2Vol; float level; }; #endif // __cplusplus #endif // DEFINES_H