Main dialog: bitrate, play file dropdown, changelog viewer

This commit is contained in:
silvernode 2013-08-05 07:22:05 -05:00
parent 007ff260f7
commit bf81bd3369
6 changed files with 64 additions and 50 deletions

View File

@ -1 +0,0 @@
local format = 1

View File

@ -1,4 +1,5 @@
#Mandy - current version: 0.5.0 #Mandy
###current version: 0.6.0
##About ##About
@ -215,7 +216,7 @@ Thanks!
[1]: http://lua.org [1]: http://lua.org
[2]: http://www.tecgraf.puc-rio.br/iup/ [2]: http://www.tecgraf.puc-rio.br/iup/
[3]: http://i.imgur.com/P2rMTiM.png [3]: http://i.imgur.com/btD0dJc.png
[4]: http://i.imgur.com/1AcLZk6.png [4]: http://i.imgur.com/1AcLZk6.png
[5]: http://sourceforge.net/projects/iup/files/ [5]: http://sourceforge.net/projects/iup/files/
[6]: http://sourceforge.net/projects/canvasdraw/files/ [6]: http://sourceforge.net/projects/canvasdraw/files/

View File

@ -2,16 +2,15 @@ TODO:
key: + = to add, - = to remove, x = completed, # = comment key: + = to add, - = to remove, x = completed, # = comment
xAdd option for multiple audio formats x Add option for multiple audio formats
+Dynamic libraries + Dynamic libraries/package IUP
+Create custom url entry dialog x Option play file once finished
+Create dialog asking to play finished file or not + Fix FFMPEG MARQUEE bar
+Fix FFMPEG MARQUEE bar x Make cancel button exit in url dialog
xMake cancel button exit in url dialog x Fix progress bar cancel button
xFix progress bar cancel button x Display current action in progressbar instead of youtube link itself
xDisplay current action in progressbar instead of youtube link itself x Url validation
xUrl validation x place spaces in file name with dashes/underscores
xplace spaces in file name with dashes/underscores x Append extensions to file name in save dialog unless exists
xAppend extensions to file name in save dialog unless exists
+Percentage in progress bar --- not possible with iUP +Percentage in progress bar --- not possible with iUP
#possibly more later #possibly more later

View File

@ -1,7 +1,16 @@
***CHANGELOG*** ***CHANGELOG***
Version 0.6.0 (8-5-13)
* Set the default settings in 'mandy.cfg'
* Can now select audio bitrate
* Autoremove old video files from /tmp
* Added option to play completed file
- Still unknown bug with 'converting' bar
Version 0.5.0 (7-31-13) Version 0.5.0 (7-31-13)
*added audio format selection for mp3. ogg, and flac *added audio format selection for mp3. ogg, and flac
-autoplay has been removed, users now play files manually -autoplay has been removed, users now play files manually

View File

@ -1,6 +1,11 @@
cfg_table = { cfg_table = {
format = "ogg", --0 for mp3, 1 for ogg, 2 for flac --Change default audio format and bitrate within the quotes
bitrate = "320k" --Values for format: mp3, ogg, flac
--Values for bitrate: 320k, 192k, 160k, 128k, 96k
format = "ogg",
bitrate = "320k",
playFile = "no",
} }

View File

@ -7,32 +7,31 @@ require('ffmpeg_progress')
--Main url entry box --Main url entry box
function url_entry() function url_entry()
local changeLog = io.popen("changelog.txt", "r")
local format = sel_format() local format = sel_format()
local bitRate = sel_bitrate() local bitRate = sel_bitrate()
local url = "" local url = ""
local multiLine = "changeLog" local playNow = sel_play()
local changeLog = "* Set the default settings in 'mandy.cfg'\n"..
"* Can now select audio bitrate\n"..
"* Autoremove old video files from /tmp\n"..
"* Added option to play completed file\n"..
"- Still unknown bug with 'converting' bar\n"
res, url, format, bitRate, multiLine = iup.GetParam("Mandy 0.5.0 - Enter URL", nil, res, url, format, bitRate, playNow, changeLog = iup.GetParam("Mandy 0.6.0 (alpha)", nil,
"Enter Youtube URL: %s\n".. "Enter Youtube URL: %s\n"..
"Audio Options %t\n".. "Audio Options %t\n"..
"Select an audio format: %l|mp3|ogg|flac|\n".. "Select an audio format: %l|mp3|ogg|flac|\n"..
"Select the bitrate: %l|320 kb/s|192 kb/s|160 kb/s|128 kb/s|96 kb/s|32 kb/s|\n".. "Select the bitrate: %l|320 kb/s|192 kb/s|160 kb/s|128 kb/s|96 kb/s|\n"..
"Changelog %m\n", url, format, bitRate, multiLine) "Play file when finished?: %l|no|yes|\n"..
"Changelog: %m\n",
url, format, bitRate, playNow, changeLog)
gPlay = ask_play(playNow)
gFormat = sel_Codec(format) gFormat = sel_Codec(format)
gBitrate = bit_logic(bitRate) gBitrate = bit_logic(bitRate)
if res == true then if res == true then
if string.match(url, "youtube.com/watch") then if string.match(url, "youtube.com/watch") then
--local format_config = io.open("Config.txt", "w")
--format_config:write("local format = "..format)
--format_config:close()
--local bitrate_config = io.open("Config.txt", "w")
--bitrate_config:write("local bitrate = "..bitRate)
--bitrate_config:close()
return url return url
else else
iup.Message("Error", "The URL is not a youtube link") iup.Message("Error", "The URL is not a youtube link")
@ -68,6 +67,15 @@ function sel_bitrate()
end end
end end
function sel_play()
local playFile = cfg_table["playFile"]
if playFile == "no" then return 0
elseif playFile == "yes" then return 1
else return 0
end
end
--make format dropdown menu items work --make format dropdown menu items work
function sel_Codec(x) function sel_Codec(x)
@ -93,7 +101,7 @@ function bit_logic(x)
print ("Selected "..b320k) print ("Selected "..b320k)
return b320k return b320k
elseif x == 1 then elseif x == 1 then
local b192k = "b192k" local b192k = "192k"
print ("Selected "..b192k) print ("Selected "..b192k)
return b192k return b192k
elseif x == 2 then elseif x == 2 then
@ -108,10 +116,6 @@ function bit_logic(x)
local b96k = "96k" local b96k = "96k"
print ("Selected "..b96k) print ("Selected "..b96k)
return b96k return b96k
elseif x == 5 then
local b32k = "32k"
print ("Selected "..b32k)
return b32k
end end
end end
@ -158,19 +162,11 @@ end
--optional function to implement autoplay --optional function to implement autoplay
function ask_play(x) function ask_play(x, y)
local play = "" if x == 0 then
res, play = iup.GetParam("Play now?", nil,
"Do you want to play the file now? %t\n")
if res == true then
io.popen("notify-send 'The file was saved to' "..x)
io.close()
io.popen("xdg-open "..x)
io.close()
return true
else
return false return false
elseif x == 1 then
return true
end end
end end
@ -187,7 +183,6 @@ function ffmpeg(tmpPath, dirD)
if gBitrate == "160k" then gBitrate = "160k" end if gBitrate == "160k" then gBitrate = "160k" end
if gBitrate == "128k" then gBitrate = "128k" end if gBitrate == "128k" then gBitrate = "128k" end
if gBitrate == "96k" then gBitrate = "96k" end if gBitrate == "96k" then gBitrate = "96k" end
if gBitrate == "32k" then gBitrate = "32k" end
local subSpaces = string.gsub(dirD, " ", "\\ ") local subSpaces = string.gsub(dirD, " ", "\\ ")
local codec = "ffmpeg -i "..tmpPath.." -acodec "..gFormat.." -ac 2 -ab "..gBitrate.." -vn -y "..subSpaces local codec = "ffmpeg -i "..tmpPath.." -acodec "..gFormat.." -ac 2 -ab "..gBitrate.." -vn -y "..subSpaces
@ -195,9 +190,15 @@ function ffmpeg(tmpPath, dirD)
local flag = convert_mp3.go(codec, tmpPath) local flag = convert_mp3.go(codec, tmpPath)
if not flag then return false end if not flag then return false end
--end io.popen("notify-send 'The file was saved to' "..subSpaces)
--io.popen("notify-send 'The file was saved to' "..subSpaces) io.close()
ask_play(subSpaces) if gPlay == true then
io.popen("xdg-open "..subSpaces)
io.close()
elseif gPlay == false then
print ("You chose not to open the file")
end
end end
--put everything into a table to use local functions globally --put everything into a table to use local functions globally