Added mixdown options.
This commit is contained in:
		
							
								
								
									
										52
									
								
								tojam
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								tojam
									
									
									
									
									
								
							@@ -104,6 +104,7 @@ configure_ninjam() {
 | 
				
			|||||||
    while [[ $menuCode -ne 1 ]]; do
 | 
					    while [[ $menuCode -ne 1 ]]; do
 | 
				
			||||||
        settings=(
 | 
					        settings=(
 | 
				
			||||||
            "anonymous" "Login in anonymously: ($anonymous)"
 | 
					            "anonymous" "Login in anonymously: ($anonymous)"
 | 
				
			||||||
 | 
					            "save mixdown" "Save Mixdown: (${saveMixdown})"
 | 
				
			||||||
            "save source files" "Save Source Files: (${saveSourceFiles/-nosavesourcefiles/false recommended})"
 | 
					            "save source files" "Save Source Files: (${saveSourceFiles/-nosavesourcefiles/false recommended})"
 | 
				
			||||||
            "sound driver" "Sound Driver: (${soundDriver%% *})"
 | 
					            "sound driver" "Sound Driver: (${soundDriver%% *})"
 | 
				
			||||||
            "username" "Set User Name: (${userName#*anonymous:})"
 | 
					            "username" "Set User Name: (${userName#*anonymous:})"
 | 
				
			||||||
@@ -126,6 +127,41 @@ configure_ninjam() {
 | 
				
			|||||||
                sed -i "s/^anonymous=.*/anonymous=\"${anonymous}\"/" "${config}/config" &&
 | 
					                sed -i "s/^anonymous=.*/anonymous=\"${anonymous}\"/" "${config}/config" &&
 | 
				
			||||||
                    dialog --msgbox "Anonymous login set to ${anonymous}." -1 -1
 | 
					                    dialog --msgbox "Anonymous login set to ${anonymous}." -1 -1
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
 | 
					            "save mixdown")
 | 
				
			||||||
 | 
					                saveMixdown="$(dialog --yes-label "disabled" \
 | 
				
			||||||
 | 
					                    --extra-button \
 | 
				
			||||||
 | 
					                    --extra-label "ogg" \
 | 
				
			||||||
 | 
					                    --no-label "wav" \
 | 
				
			||||||
 | 
					                    --yesno "Select a Mixdown Format" -1 -1 --stdout)"
 | 
				
			||||||
 | 
					                saveMixdown=$?
 | 
				
			||||||
 | 
					                [[ ${saveMixdown} -eq 255 ]] && continue
 | 
				
			||||||
 | 
					                saveMixdown="${saveMixdown/0/disabled}"
 | 
				
			||||||
 | 
					                saveMixdown="${saveMixdown/1/wav}"
 | 
				
			||||||
 | 
					                saveMixdown="${saveMixdown/3/ogg}"
 | 
				
			||||||
 | 
					                if [[ "${saveMixdown}" == "disabled" ]] || [[ "${saveMixdown}" == "wav" ]]; then
 | 
				
			||||||
 | 
					                    sed -i "s/^saveMixdown=.*/saveMixdown=\"${saveMixdown}\"/" "${config}/config" &&
 | 
				
			||||||
 | 
					                        dialog --msgbox "Save mixdown: ${saveMixdown}" -1 -1
 | 
				
			||||||
 | 
					                    continue
 | 
				
			||||||
 | 
					                fi
 | 
				
			||||||
 | 
					                local bitrates=(
 | 
				
			||||||
 | 
					                    "64" "64" "off"
 | 
				
			||||||
 | 
					                    "96" "96" "off"
 | 
				
			||||||
 | 
					                    "128" "128" "on"
 | 
				
			||||||
 | 
					                    "160" "160" "off"
 | 
				
			||||||
 | 
					                    "192" "192" "off"
 | 
				
			||||||
 | 
					                    "224" "224" "off"
 | 
				
			||||||
 | 
					                    "256" "256" "off"
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					                oggBitrate="$(dialog --backtitle "Tojam" \
 | 
				
			||||||
 | 
					                    --no-tags \
 | 
				
			||||||
 | 
					                    --radiolist "Select Bitrate" -1 -1 -1 "${bitrates[@]}" --stdout)"
 | 
				
			||||||
 | 
					                menuCode=$?
 | 
				
			||||||
 | 
					                if [ ${menuCode} -eq 1 -o ${menuCode} -eq 255 ]; then
 | 
				
			||||||
 | 
					                    exit 0
 | 
				
			||||||
 | 
					                fi
 | 
				
			||||||
 | 
					                sed -i -e "s/^saveMixdown=.*/saveMixdown=\"${saveMixdown}\"/" -e "s/^oggBitrate=.*/oggBitrate=\"${oggBitrate}\"/" "${config}/config" &&
 | 
				
			||||||
 | 
					                    dialog --msgbox "Save mixdown: ${saveMixdown}" -1 -1
 | 
				
			||||||
 | 
					            ;;
 | 
				
			||||||
            "sound driver")
 | 
					            "sound driver")
 | 
				
			||||||
                soundDriver="$(dialog --yes-label "alsa" \
 | 
					                soundDriver="$(dialog --yes-label "alsa" \
 | 
				
			||||||
                    --no-label "jack" \
 | 
					                    --no-label "jack" \
 | 
				
			||||||
@@ -190,6 +226,16 @@ configure_ninjam() {
 | 
				
			|||||||
    exit 0
 | 
					    exit 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					save_files() {
 | 
				
			||||||
 | 
					    if [[ "${saveMixdown}" == "disabled" ]]; then
 | 
				
			||||||
 | 
					        return
 | 
				
			||||||
 | 
					    elif [[ "${saveMixdown}" == "wav" ]]; then
 | 
				
			||||||
 | 
					        echo "-writewav"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        echo "-writeogg ${oggBitrate}"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Configuration stuff
 | 
					# Configuration stuff
 | 
				
			||||||
config="${XDG_CONFIG_HOME:-${HOME}/.config}/tojam"
 | 
					config="${XDG_CONFIG_HOME:-${HOME}/.config}/tojam"
 | 
				
			||||||
@@ -200,6 +246,8 @@ if ! [[ -r "${config}/config" ]]; then
 | 
				
			|||||||
    # Write initial config file
 | 
					    # Write initial config file
 | 
				
			||||||
    { echo 'alsaParameters=""';
 | 
					    { echo 'alsaParameters=""';
 | 
				
			||||||
    echo 'anonymous="true"';
 | 
					    echo 'anonymous="true"';
 | 
				
			||||||
 | 
					    echo 'oggBitrate="128"';
 | 
				
			||||||
 | 
					    echo 'saveMixdown="disabled"';
 | 
				
			||||||
    echo 'saveSourceFiles="false"';
 | 
					    echo 'saveSourceFiles="false"';
 | 
				
			||||||
    echo 'soundDriver="jack"';
 | 
					    echo 'soundDriver="jack"';
 | 
				
			||||||
    echo "userName='Tojam$(date '+%S')'"; } >> "${config}/config"
 | 
					    echo "userName='Tojam$(date '+%S')'"; } >> "${config}/config"
 | 
				
			||||||
@@ -281,7 +329,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}
 | 
					$ninjam "${server}" -user "${userName}" -jack -sessiondir "${sessiondir}" ${saveSourceFiles} $(save_files)
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
$ninjam "${server}" -user "${userName}" -alsaconfig "${alsaParameters}" -sessiondir "${sessiondir}" ${saveSourceFiles}
 | 
					$ninjam "${server}" -user "${userName}" -alsaconfig "${alsaParameters}" -sessiondir "${sessiondir}" ${saveSourceFiles} $(save_files)
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user