Redo the enable/disable tts to remove the setting from the config file. Relying on help doesn't work. There is no help.

This commit is contained in:
Storm Dragon
2025-07-08 19:45:31 -04:00
parent 864b03b6e0
commit c2954c38de

36
tojam
View File

@ -254,16 +254,23 @@ configure_ninjam() {
[[ ${menuCode} -ne 0 ]] && continue [[ ${menuCode} -ne 0 ]] && continue
fi fi
fi fi
# Update or add TTS settings # Update or remove TTS settings
if grep -q "^tts=" "${config}/config"; then if [[ "${tts}" == "true" ]]; then
sed -i "s/^tts=.*/tts=\"${tts}\"/" "${config}/config" # Add or update TTS settings
if grep -q "^tts=" "${config}/config"; then
sed -i "s/^tts=.*/tts=\"${tts}\"/" "${config}/config"
else
echo "tts=\"${tts}\"" >> "${config}/config"
fi
if grep -q "^ttsRate=" "${config}/config"; then
sed -i "s/^ttsRate=.*/ttsRate=\"${ttsRate}\"/" "${config}/config"
else
echo "ttsRate=\"${ttsRate}\"" >> "${config}/config"
fi
else else
echo "tts=\"${tts}\"" >> "${config}/config" # Remove TTS settings when disabled
fi sed -i '/^tts=/d' "${config}/config"
if grep -q "^ttsRate=" "${config}/config"; then sed -i '/^ttsRate=/d' "${config}/config"
sed -i "s/^ttsRate=.*/ttsRate=\"${ttsRate}\"/" "${config}/config"
else
echo "ttsRate=\"${ttsRate}\"" >> "${config}/config"
fi fi
if [[ "${tts}" == "true" ]]; then if [[ "${tts}" == "true" ]]; then
dialog --msgbox "TTS enabled at rate ${ttsRate}." -1 -1 dialog --msgbox "TTS enabled at rate ${ttsRate}." -1 -1
@ -295,12 +302,9 @@ save_files() {
fi fi
} }
tts_flags() { ttsFlags() {
if [[ "${tts}" == "true" ]]; then if [[ "${tts}" == "true" ]]; then
# Check if ninjam client supports TTS flags echo "-tts -tts-rate ${ttsRate}"
if $ninjam --help 2>&1 | grep -q "\-tts"; then
echo "-tts -tts-rate ${ttsRate}"
fi
fi fi
} }
@ -405,7 +409,7 @@ esac
ninjam="$(command -v cninjam 2> /dev/null)" ninjam="$(command -v cninjam 2> /dev/null)"
[[ ${#ninjam} -le 3 ]] && { echo "Could not find cninjam."; exit 1; } [[ ${#ninjam} -le 3 ]] && { echo "Could not find cninjam."; exit 1; }
if [[ "${soundDriver}" == "jack" ]]; then if [[ "${soundDriver}" == "jack" ]]; then
$ninjam "${server}" -user "${userName}" -jack -sessiondir "${sessiondir}" ${saveSourceFiles} $(save_files) $(tts_flags) $ninjam "${server}" -user "${userName}" -jack -sessiondir "${sessiondir}" ${saveSourceFiles} $(save_files) $(ttsFlags)
else else
$ninjam "${server}" -user "${userName}" -alsaconfig "${alsaParameters}" -sessiondir "${sessiondir}" ${saveSourceFiles} $(save_files) $(tts_flags) $ninjam "${server}" -user "${userName}" -alsaconfig "${alsaParameters}" -sessiondir "${sessiondir}" ${saveSourceFiles} $(save_files) $(ttsFlags)
fi fi