mirror of
https://github.com/Goldenkrew3000/OSSP_OpenSource.git
synced 2026-02-16 04:05:18 +10:00
77 lines
3.1 KiB
C
77 lines
3.1 KiB
C
/*
|
|
* OpenSubsonicPlayer
|
|
* Goldenkrew3000 2025
|
|
* License: GNU General Public License 3.0
|
|
*/
|
|
|
|
#ifndef _CONFIG_HANDLER_H
|
|
#define _CONFIG_HANDLER_H
|
|
#include <stdbool.h>
|
|
|
|
typedef struct {
|
|
double bandwidth;
|
|
int frequency; // Frequency in Hz
|
|
double gain; // Gain in db
|
|
bool bypass; // Ignore entry
|
|
} configHandler_eqGraph_t;
|
|
|
|
typedef struct {
|
|
// Opensubsonic Settings
|
|
char* opensubsonic_protocol; // http / https
|
|
char* opensubsonic_server; // address:port
|
|
char* opensubsonic_username;
|
|
char* opensubsonic_password;
|
|
char* internal_opensubsonic_version; // (Internal) Opensubsonic API Version
|
|
char* internal_opensubsonic_clientName; // (Internal) Opensubsonic Client Name
|
|
char* internal_opensubsonic_loginSalt; // (Internal) Opensubsonic Login Salt
|
|
char* internal_opensubsonic_loginToken; // (Internal) Opensubsonic Login Token
|
|
char* internal_ossp_version; // (Internal) OSSP Version
|
|
|
|
// Scrobbler Settings
|
|
bool listenbrainz_enable; // Enable ListenBrainz Scrobbling
|
|
char* listenbrainz_token; // ListenBrainz Token
|
|
bool lastfm_enable; // Enable LastFM Scrobbling
|
|
char* lastfm_username; // LastFM Username
|
|
char* lastfm_password; // LastFM Password
|
|
char* lastfm_api_key; // LastFM API Key
|
|
char* lastfm_api_secret; // LastFM API Secret
|
|
char* lastfm_api_session_key; // LastFM API Session Key (Generated from authorization endpoint)
|
|
|
|
// Discord RPC Settings
|
|
bool discordrpc_enable; // Enable Discord RPC
|
|
int discordrpc_method; // Discord RPC Method (0 = Regular, 1 = DscrdRPC)
|
|
bool discordrpc_showSysDetails; // Show 'on OS ARCH VERSION' in RPC
|
|
bool discordrpc_showCoverArt; // Show cover art instead of app icon (Leaks credentials to Discord)
|
|
|
|
// Audio Settings
|
|
bool audio_equalizer_enable;
|
|
bool audio_equalizer_followPitch; // Have equalizer align to pitch adjustment
|
|
int audio_equalizer_graphCount;
|
|
configHandler_eqGraph_t* audio_equalizer_graph;
|
|
bool audio_pitch_enable;
|
|
double audio_pitch_cents;
|
|
double audio_pitch_rate;
|
|
bool audio_reverb_enable;
|
|
double audio_reverb_wetDryMix; // Reverb Wet/Dry Mix Percent
|
|
|
|
// LV2 Audio Settings
|
|
char* lv2_parax32_filter_name; // LV2 LSP Para Equalizer x32 LR LV2 Name
|
|
char* lv2_parax32_filter_type_left; // LV2 LSP Para Equalizer x32 LR Filter type left name
|
|
char* lv2_parax32_filter_type_right;
|
|
char* lv2_parax32_gain_left;
|
|
char* lv2_parax32_gain_right;
|
|
char* lv2_parax32_quality_left;
|
|
char* lv2_parax32_quality_right;
|
|
char* lv2_parax32_frequency_left;
|
|
char* lv2_parax32_frequency_right;
|
|
char* lv2_reverb_filter_name; // LV2 Calf Reverb LV2 Name
|
|
|
|
// Local Settings
|
|
char* local_rootdir; // Local Music Root Directory
|
|
} configHandler_config_t;
|
|
|
|
int configHandler_Read(configHandler_config_t** config);
|
|
void configHandler_Free(configHandler_config_t** config);
|
|
|
|
#endif
|