Added optional tts and rate settings.
This commit is contained in:
52
tojam
52
tojam
@ -109,6 +109,7 @@ configure_ninjam() {
|
||||
"save mixdown" "Save Mixdown: (${saveMixdown})"
|
||||
"save source files" "Save Source Files: (${saveSourceFiles/-nosavesourcefiles/false recommended})"
|
||||
"sound driver" "Sound Driver: (${soundDriver%% *})"
|
||||
"tts" "Text-to-Speech: (${tts})"
|
||||
"username" "Set User Name: (${userName#*anonymous:})"
|
||||
)
|
||||
setting="$(dialog --backtitle "Tojam" \
|
||||
@ -223,6 +224,41 @@ configure_ninjam() {
|
||||
sed -i -e "s/^soundDriver=.*/soundDriver=\"${soundDriver}\"/" -e "s/^alsaParameters=.*/alsaParameters=\"${alsaParameters}\"/" "${config}/config" &&
|
||||
dialog --msgbox "Sound driver set to alsa." -1 -1
|
||||
;;
|
||||
"tts")
|
||||
if [[ "${tts}" == "true" ]]; then
|
||||
ttsRate="$(dialog --backtitle "Tojam" \
|
||||
--rangebox "TTS Rate (0-10):" 8 50 0 10 "${ttsRate}" --stdout)"
|
||||
menuCode=$?
|
||||
[[ ${menuCode} -ne 0 ]] && continue
|
||||
tts="$(dialog --yes-label "Enable" \
|
||||
--no-label "Disable" \
|
||||
--yesno "Text-to-Speech is currently enabled at rate ${ttsRate}. Change setting?" -1 -1 --stdout)"
|
||||
tts=$?
|
||||
[[ ${tts} -eq 255 ]] && continue
|
||||
tts="${tts/0/true}"
|
||||
tts="${tts/1/false}"
|
||||
else
|
||||
tts="$(dialog --yes-label "Enable" \
|
||||
--no-label "Keep Disabled" \
|
||||
--yesno "Text-to-Speech is currently disabled. Enable it?" -1 -1 --stdout)"
|
||||
tts=$?
|
||||
[[ ${tts} -eq 255 ]] && continue
|
||||
tts="${tts/0/true}"
|
||||
tts="${tts/1/false}"
|
||||
if [[ "${tts}" == "true" ]]; then
|
||||
ttsRate="$(dialog --backtitle "Tojam" \
|
||||
--rangebox "TTS Rate (0-10):" 8 50 0 10 "${ttsRate}" --stdout)"
|
||||
menuCode=$?
|
||||
[[ ${menuCode} -ne 0 ]] && continue
|
||||
fi
|
||||
fi
|
||||
sed -i -e "s/^tts=.*/tts=\"${tts}\"/" -e "s/^ttsRate=.*/ttsRate=\"${ttsRate}\"/" "${config}/config" &&
|
||||
if [[ "${tts}" == "true" ]]; then
|
||||
dialog --msgbox "TTS enabled at rate ${ttsRate}." -1 -1
|
||||
else
|
||||
dialog --msgbox "TTS disabled." -1 -1
|
||||
fi
|
||||
;;
|
||||
"username")
|
||||
userName="$(dialog --backtitle "Tojam" \
|
||||
--inputbox "Enter User Name (letters, numbers, dash, and underscore accepted):" -1 -1 "${userName#*anonymous:}" --stdout)"
|
||||
@ -247,6 +283,12 @@ save_files() {
|
||||
fi
|
||||
}
|
||||
|
||||
tts_flags() {
|
||||
if [[ "${tts}" == "true" ]]; then
|
||||
echo "-tts -tts-rate ${ttsRate}"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# Configuration stuff
|
||||
config="${XDG_CONFIG_HOME:-${HOME}/.config}/tojam"
|
||||
@ -262,10 +304,16 @@ if ! [[ -r "${config}/config" ]]; then
|
||||
echo 'saveMixdown="disabled"';
|
||||
echo 'saveSourceFiles="false"';
|
||||
echo 'soundDriver="jack"';
|
||||
echo 'tts="false"';
|
||||
echo 'ttsRate="0"';
|
||||
echo "userName='Tojam$(date '+%S')'"; } >> "${config}/config"
|
||||
fi
|
||||
source "${config}/config"
|
||||
|
||||
# Set defaults for TTS settings if not present in config
|
||||
[[ -z "${tts}" ]] && tts="false"
|
||||
[[ -z "${ttsRate}" ]] && ttsRate="0"
|
||||
|
||||
# Fix up username if anonymous is true
|
||||
if [[ "${anonymous}" == "true" ]]; then
|
||||
userName="anonymous:${userName}"
|
||||
@ -342,7 +390,7 @@ esac
|
||||
ninjam="$(command -v cninjam 2> /dev/null)"
|
||||
[[ ${#ninjam} -le 3 ]] && { echo "Could not find cninjam."; exit 1; }
|
||||
if [[ "${soundDriver}" == "jack" ]]; then
|
||||
$ninjam "${server}" -user "${userName}" -jack -sessiondir "${sessiondir}" ${saveSourceFiles} $(save_files)
|
||||
$ninjam "${server}" -user "${userName}" -jack -sessiondir "${sessiondir}" ${saveSourceFiles} $(save_files) $(tts_flags)
|
||||
else
|
||||
$ninjam "${server}" -user "${userName}" -alsaconfig "${alsaParameters}" -sessiondir "${sessiondir}" ${saveSourceFiles} $(save_files)
|
||||
$ninjam "${server}" -user "${userName}" -alsaconfig "${alsaParameters}" -sessiondir "${sessiondir}" ${saveSourceFiles} $(save_files) $(tts_flags)
|
||||
fi
|
||||
|
Reference in New Issue
Block a user