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
@ -215,7 +216,7 @@ Thanks!
[1]: http://lua.org
[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
[5]: http://sourceforge.net/projects/iup/files/
[6]: http://sourceforge.net/projects/canvasdraw/files/

View File

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

View File

@ -1,7 +1,16 @@
***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)
*added audio format selection for mp3. ogg, and flac
-autoplay has been removed, users now play files manually

View File

@ -1,6 +1,11 @@
cfg_table = {
format = "ogg", --0 for mp3, 1 for ogg, 2 for flac
bitrate = "320k"
--Change default audio format and bitrate within the quotes
--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
function url_entry()
local changeLog = io.popen("changelog.txt", "r")
local format = sel_format()
local bitRate = sel_bitrate()
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"..
"Audio Options %t\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"..
"Changelog %m\n", url, format, bitRate, multiLine)
"Select the bitrate: %l|320 kb/s|192 kb/s|160 kb/s|128 kb/s|96 kb/s|\n"..
"Play file when finished?: %l|no|yes|\n"..
"Changelog: %m\n",
url, format, bitRate, playNow, changeLog)
gPlay = ask_play(playNow)
gFormat = sel_Codec(format)
gBitrate = bit_logic(bitRate)
if res == true 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
else
iup.Message("Error", "The URL is not a youtube link")
@ -68,6 +67,15 @@ function sel_bitrate()
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
function sel_Codec(x)
@ -93,7 +101,7 @@ function bit_logic(x)
print ("Selected "..b320k)
return b320k
elseif x == 1 then
local b192k = "b192k"
local b192k = "192k"
print ("Selected "..b192k)
return b192k
elseif x == 2 then
@ -108,10 +116,6 @@ function bit_logic(x)
local b96k = "96k"
print ("Selected "..b96k)
return b96k
elseif x == 5 then
local b32k = "32k"
print ("Selected "..b32k)
return b32k
end
end
@ -158,19 +162,11 @@ end
--optional function to implement autoplay
function ask_play(x)
local play = ""
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
function ask_play(x, y)
if x == 0 then
return false
elseif x == 1 then
return true
end
end
@ -187,7 +183,6 @@ function ffmpeg(tmpPath, dirD)
if gBitrate == "160k" then gBitrate = "160k" end
if gBitrate == "128k" then gBitrate = "128k" end
if gBitrate == "96k" then gBitrate = "96k" end
if gBitrate == "32k" then gBitrate = "32k" end
local subSpaces = string.gsub(dirD, " ", "\\ ")
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)
if not flag then return false end
--end
--io.popen("notify-send 'The file was saved to' "..subSpaces)
ask_play(subSpaces)
io.popen("notify-send 'The file was saved to' "..subSpaces)
io.close()
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
--put everything into a table to use local functions globally