separated files, added config file, added variable for zenity and ffmpeg
This commit is contained in:
121
lib/logic.lib
Normal file
121
lib/logic.lib
Normal file
@@ -0,0 +1,121 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
SET_GUI_BIN="zenity"
|
||||
SET_CONV_TOOL="ffmpeg"
|
||||
|
||||
#convert youtube videos to mp3 with zenity progess bar
|
||||
backend()
|
||||
{
|
||||
|
||||
youtube-dl --output=${VIDEOFILE} --format=18 "$1" | ${SET_GUI_BIN} --progress --pulsate --title="Downloading..." --text="Downloading video, please wait.." --auto-close
|
||||
|
||||
if [ ! -f $VIDEOFILE ];then
|
||||
${SET_GUI_BIN} --error --text "Can't convert video to mp3 because it does not exist, it probably failed to download."
|
||||
exit 0;
|
||||
|
||||
elif [ -f $VIDEOFILE ];then
|
||||
${SET_CONV_TOOL} -i $VIDEOFILE -acodec libmp3lame -ac 2 -ab 128k -vn -y "$2" | ${SET_GUI_BIN} --progress --pulsate --title="Converting..." --text="Converting video to mp3.." --auto-close
|
||||
rm ${VIDEOFILE}
|
||||
|
||||
else
|
||||
echo -e "\e[1;31mERROR: It seems the video file successfully downloaded, however it was not converted to mp3 \e[0m"
|
||||
${SET_GUI_BIN} --error --text "It seems the video file successfully downloaded, however it was not converted to mp3"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#first zenity gui window (paste youtube link)
|
||||
gui()
|
||||
{
|
||||
VIDURL=$(${SET_GUI_BIN} --title="Zymp3 0.1-5" --height=${URL_BOX_HEIGHT} --width=${URL_BOX_WIDTH} --entry --text "Paste youtube link here: ")
|
||||
|
||||
if [[ $? == 0 ]] ; then
|
||||
gui2
|
||||
else
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
#second gui window to name your mp3 file
|
||||
|
||||
gui2()
|
||||
{
|
||||
AUDIOFILENAME=$(${SET_GUI_BIN} --title="Filename" --height=${FILENAME_BOX_HEIGHT} --width=${FILENAME_BOX_WIDTH} --entry --text "Name your file: ")
|
||||
|
||||
if [[ $? == 0 ]] ; then
|
||||
dconvert
|
||||
else
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#notify the user that the mp3 file has been moved to their music folder
|
||||
open()
|
||||
{
|
||||
|
||||
|
||||
if [[ $? == 0 ]] ; then
|
||||
xdg-open "${MUSICDIR}${AUDIOFILENAME}.mp3"
|
||||
else
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
|
||||
}
|
||||
|
||||
#Check if MUSICDIR exists and create the directory if not
|
||||
#move the mp3 file to the users music directory
|
||||
move()
|
||||
{
|
||||
if [ -d ${MUSICDIR} ];then
|
||||
mv -v "${AUDIOFILENAME}.mp3" ${MUSICDIR}
|
||||
elif [ ! -d ${MUSICDIR} ];then
|
||||
mkdir ${MUSICDIR}
|
||||
mv -v "${AUDIOFILENAME}.mp3" ${MUSICDIR}
|
||||
|
||||
fi
|
||||
|
||||
|
||||
}
|
||||
|
||||
checkFile()
|
||||
{
|
||||
|
||||
#check if mp3 file exists
|
||||
if [ -f "${MUSICDIR}${AUDIOFILENAME}.mp3" ];then
|
||||
notify-send "${AUDIOFILENAME}.mp3 was saved in ${MUSICDIR}"
|
||||
${SET_GUI_BIN} --question --title="Hey!" --text="I moved $AUDIOFILENAME.mp3 to $MUSICDIR, do you want to play it now?"
|
||||
|
||||
elif [ ! -f "${MUSICDIR}${AUDIOFILENAME}.mp3" ];then
|
||||
${SET_GUI_BIN} --error --text "The mp3 file was does not exist. Either the download failed or the video was not converted to mp3 properly"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
|
||||
dconvert()
|
||||
{
|
||||
|
||||
#call backend function and pass video URL and input of mp3 file
|
||||
backend "${VIDURL}" "${AUDIOFILENAME}.mp3"
|
||||
|
||||
#call the move function to send mp3 files to MUSICDIR
|
||||
move
|
||||
|
||||
#check if mp3 file is in MUSICDIR before prompting to play
|
||||
checkFile
|
||||
|
||||
|
||||
|
||||
open
|
||||
}
|
Reference in New Issue
Block a user