mirror of
https://github.com/Goldenkrew3000/OSSP_OpenSource.git
synced 2025-12-19 00:04:44 +10:00
Added Calf LV2 config options and fixed memory leaks
This commit is contained in:
@@ -1,20 +1,24 @@
|
||||
{
|
||||
"opensubsonic_server": {
|
||||
"protocol": "https",
|
||||
"server": "server.com",
|
||||
"username": "",
|
||||
"server": "aaa.bbb.com",
|
||||
"username": "user",
|
||||
"password": ""
|
||||
},
|
||||
"scrobbler": {
|
||||
"listenbrainz_enable": true,
|
||||
"listenbrainz_token": "",
|
||||
"lastfm_enable": true,
|
||||
"lastfm_username": "",
|
||||
"lastfm_username": "aarch64",
|
||||
"lastfm_password": "",
|
||||
"lastfm_api_key": "",
|
||||
"lastfm_api_secret": "",
|
||||
"lastfm_session_key": ""
|
||||
},
|
||||
"discord_rpc": {
|
||||
"enable": true,
|
||||
"method": 0
|
||||
},
|
||||
"audio": {
|
||||
"equalizer": {
|
||||
"enable": true,
|
||||
@@ -72,6 +76,22 @@
|
||||
"reverb": {
|
||||
"enable": true,
|
||||
"wetDryMix": 15.0
|
||||
},
|
||||
"lv2": {
|
||||
"lsp_para_x32_lr": {
|
||||
"filter_name": "lsp-plug-in-plugins-lv2-para-equalizer-x32-lr",
|
||||
"filter_type_left": "ftl-",
|
||||
"filter_type_right": "ftr-",
|
||||
"gain_left": "gl-",
|
||||
"gain_right": "gr-",
|
||||
"quality_left": "ql-",
|
||||
"quality_right": "qr-",
|
||||
"frequency_left": "fl-",
|
||||
"frequency_right": "fr-"
|
||||
},
|
||||
"calf_reverb": {
|
||||
"filter_name": "calf-sourceforge-net-plugins-Reverb"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,6 +57,7 @@ int configHandler_Read(configHandler_config_t** configObj) {
|
||||
(*configObj)->lv2_parax32_quality_right = NULL;
|
||||
(*configObj)->lv2_parax32_frequency_left = NULL;
|
||||
(*configObj)->lv2_parax32_frequency_right = NULL;
|
||||
(*configObj)->lv2_reverb_filter_name = NULL;
|
||||
|
||||
// Set internal configuration values
|
||||
(*configObj)->internal_opensubsonic_version = strdup("1.8.0");
|
||||
@@ -424,6 +425,19 @@ int configHandler_Read(configHandler_config_t** configObj) {
|
||||
(*configObj)->lv2_parax32_frequency_right = strdup(lsp_para_x32_lr_frequency_right->valuestring);
|
||||
}
|
||||
|
||||
// Make an object from calf_reverb
|
||||
cJSON* calf_reverb_root = cJSON_GetObjectItemCaseSensitive(lv2_root, "calf_reverb");
|
||||
if (calf_reverb_root == NULL) {
|
||||
logger_log_error(__func__, "Error parsing JSON - calf_reverb does not exist.");
|
||||
cJSON_Delete(root);
|
||||
return 1;
|
||||
}
|
||||
|
||||
cJSON* calf_reverb_filter_name = cJSON_GetObjectItemCaseSensitive(lv2_root, "filter_name");
|
||||
if (cJSON_IsString(calf_reverb_filter_name) && calf_reverb_filter_name->valuestring != NULL) {
|
||||
(*configObj)->lv2_reverb_filter_name = strdup(calf_reverb_filter_name->valuestring);
|
||||
}
|
||||
|
||||
cJSON_Delete(root);
|
||||
logger_log_general(__func__, "Successfully read configuration file.");
|
||||
return 0;
|
||||
@@ -445,5 +459,15 @@ void configHandler_Free(configHandler_config_t** configObj) {
|
||||
if ((*configObj)->lastfm_api_secret != NULL) { free((*configObj)->lastfm_api_secret); }
|
||||
if ((*configObj)->lastfm_api_session_key != NULL) { free((*configObj)->lastfm_api_session_key); }
|
||||
if ((*configObj)->audio_equalizer_graph != NULL) { free((*configObj)->audio_equalizer_graph); }
|
||||
if ((*configObj)->lv2_parax32_filter_name != NULL) { free((*configObj)->lv2_parax32_filter_name); }
|
||||
if ((*configObj)->lv2_parax32_filter_type_left != NULL) { free((*configObj)->lv2_parax32_filter_type_left); }
|
||||
if ((*configObj)->lv2_parax32_filter_type_right != NULL) { free((*configObj)->lv2_parax32_filter_type_right); }
|
||||
if ((*configObj)->lv2_parax32_gain_left != NULL) { free((*configObj)->lv2_parax32_gain_left); }
|
||||
if ((*configObj)->lv2_parax32_gain_right != NULL) { free((*configObj)->lv2_parax32_gain_right); }
|
||||
if ((*configObj)->lv2_parax32_quality_left != NULL) { free((*configObj)->lv2_parax32_quality_left); }
|
||||
if ((*configObj)->lv2_parax32_quality_right != NULL) { free((*configObj)->lv2_parax32_quality_right); }
|
||||
if ((*configObj)->lv2_parax32_frequency_left != NULL) { free((*configObj)->lv2_parax32_frequency_left); }
|
||||
if ((*configObj)->lv2_parax32_frequency_right != NULL) { free((*configObj)->lv2_parax32_frequency_right); }
|
||||
if ((*configObj)->lv2_reverb_filter_name != NULL) { free((*configObj)->lv2_reverb_filter_name); }
|
||||
if (*configObj != NULL) { free(*configObj); }
|
||||
}
|
||||
|
||||
@@ -55,6 +55,7 @@ typedef struct {
|
||||
char* lv2_parax32_quality_right;
|
||||
char* lv2_parax32_frequency_left;
|
||||
char* lv2_parax32_frequency_right;
|
||||
char* lv2_reverb_filter_name; // LV2 Calf Reeverb LV2 Name
|
||||
} configHandler_config_t;
|
||||
|
||||
int configHandler_Read(configHandler_config_t** config);
|
||||
|
||||
Reference in New Issue
Block a user