mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2025-04-10 19:15:12 +00:00
PRESETS: added fetch_all_presets function
This commit is contained in:
parent
4fb9642191
commit
d7cc59c3c5
|
@ -303,3 +303,39 @@ build_retrodeck_current_presets() {
|
||||||
fi
|
fi
|
||||||
done < $rd_conf
|
done < $rd_conf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fetch_all_presets() {
|
||||||
|
# This function fetches all possible presets from the presets directory
|
||||||
|
# USAGE: fetch_all_presets [--pretty]
|
||||||
|
|
||||||
|
local presets_dir="$config/retrodeck/presets"
|
||||||
|
local presets=()
|
||||||
|
local pretty_presets=()
|
||||||
|
local pretty_output=false
|
||||||
|
|
||||||
|
if [[ "$1" == "--pretty" ]]; then
|
||||||
|
pretty_output=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
for preset_file in "$presets_dir"/*_presets.cfg; do
|
||||||
|
while IFS= read -r line; do
|
||||||
|
if [[ $line =~ ^change\^([a-zA-Z0-9_]+)\^ ]]; then
|
||||||
|
preset="${BASH_REMATCH[1]}"
|
||||||
|
if [[ ! " ${presets[*]} " =~ " ${preset} " ]]; then
|
||||||
|
presets+=("$preset")
|
||||||
|
if $pretty_output; then
|
||||||
|
pretty_preset_name=${preset//_/ } # Preset name prettification
|
||||||
|
pretty_preset_name=$(echo $pretty_preset_name | awk '{for(i=1;i<=NF;i++){$i=toupper(substr($i,1,1))substr($i,2)}}1') # Preset name prettification
|
||||||
|
pretty_presets+=("$pretty_preset_name")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done < "$preset_file"
|
||||||
|
done
|
||||||
|
|
||||||
|
if $pretty_output; then
|
||||||
|
printf "%s\n" "${pretty_presets[@]}"
|
||||||
|
else
|
||||||
|
echo "${presets[@]}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue