diff --git a/MiSTer.ini b/MiSTer.ini index a5816e1..9ac2fc9 100644 --- a/MiSTer.ini +++ b/MiSTer.ini @@ -144,3 +144,7 @@ shared_folder= ;spinner_vid=0x1BCF ;spinner_pid=0x0005 ;spinner_throttle=-50 + +; Default filters for video scaler and audio. Paths must be relative to scaler/audio filter filders without leading slash. +;vfilter_default=LCD_Effect/07.txt +;afilter_default=LPF2000_3tap.txt diff --git a/audio.cpp b/audio.cpp index ab76c93..c4ac808 100644 --- a/audio.cpp +++ b/audio.cpp @@ -209,6 +209,11 @@ void load_volume() if (!FileLoadConfig(filter_cfg_path, &filter_cfg, sizeof(filter_cfg) - 1) || filter_cfg[0] > 1) { memset(filter_cfg, 0, sizeof(filter_cfg)); + if (cfg.afilter_default[0]) + { + strcpy(filter_cfg + 1, cfg.afilter_default); + filter_cfg[0] = 1; + } } FileLoadConfig("Volume.dat", &vol_att, 1); diff --git a/cfg.cpp b/cfg.cpp index 8da79ac..51bcdef 100644 --- a/cfg.cpp +++ b/cfg.cpp @@ -79,6 +79,8 @@ static const ini_var_t ini_vars[] = { "SPINNER_VID", (void*)(&(cfg.spinner_vid)), UINT16, 0, 0xFFFF }, { "SPINNER_PID", (void*)(&(cfg.spinner_pid)), UINT16, 0, 0xFFFF }, { "SPINNER_THROTTLE", (void*)(&(cfg.spinner_throttle)), INT32, -10000, 10000 }, + { "AFILTER_DEFAULT", (void*)(&(cfg.afilter_default)), STRING, 0, sizeof(cfg.afilter_default) - 1 }, + { "VFILTER_DEFAULT", (void*)(&(cfg.vfilter_default)), STRING, 0, sizeof(cfg.vfilter_default) - 1 }, }; static const int nvars = (int)(sizeof(ini_vars) / sizeof(ini_var_t)); diff --git a/cfg.h b/cfg.h index 85817de..d443d96 100644 --- a/cfg.h +++ b/cfg.h @@ -57,6 +57,8 @@ typedef struct { char font[1024]; char shared_folder[1024]; char custom_aspect_ratio[2][16]; + char afilter_default[1023]; + char vfilter_default[1023]; } cfg_t; extern cfg_t cfg; diff --git a/video.cpp b/video.cpp index 9561a00..747089b 100644 --- a/video.cpp +++ b/video.cpp @@ -319,6 +319,11 @@ static void loadScalerCfg() if (!FileLoadConfig(scaler_cfg, &scaler_flt_cfg, sizeof(scaler_flt_cfg) - 1) || scaler_flt_cfg[0]>4) { memset(scaler_flt_cfg, 0, sizeof(scaler_flt_cfg)); + if (cfg.vfilter_default[0]) + { + strcpy(scaler_flt_cfg+1, cfg.vfilter_default); + scaler_flt_cfg[0] = 1; + } } }