possibly working marquee

This commit is contained in:
Logen Kain 2013-07-26 22:46:59 -05:00
parent 481199a1f3
commit 0b4ae76934

View File

@ -1,62 +1,47 @@
-- take note of YtLink, I keep passing it around in order to show it as the title bar
-- of the download window, YOU WILL HAVE TO PAY ATTENTION TO IT
-- IT GOES THROUGH FUCKING EVERYTHING
-- Also it will be replaced by what the user saves the file as
-- keep that in mind as well
require ('iuplua') require ('iuplua')
local cancelflag --set variable local cancelflag
local downloadProgress --set variable local downloadProgress
local function downloadStart(YtLink) --create button and cancle flag local function downloadStart(YtLink)
cancelButton = iup.button{ cancelButton = iup.button{
title = "Cancel", title = "Cancel",
action = function() action = function()
cancelflag = true cancelflag = true
--return iup.CLOSE --not sure if needed
end end
} }
local downloadProgress = iup.progressbar{expand="HORIZONTAL", MARQUEE="YES"} local downloadProgress = iup.progressbar{expand="HORIZONTAL", MARQUEE="YES"}
local dlgProgress = iup.dialog{ --create main window local dlgProgress = iup.dialog{
title = YtLink, title = "converting",
dialogframe = "YES", border = "YES", dialogframe = "YES", border = "YES",
iup.vbox { -- create vbox that contains said objects iup.vbox {
downloadProgress, downloadProgress,
cancelButton, cancelButton,
} }
} }
dlgProgress.size = "QUARTERxEIGHT" --should be size of dialog box dlgProgress.size = "QUARTERxEIGHT"
-- dlgProgress.menubox = "NO" -- no windows menus dlgProgress.menubox = "NO"
dlgProgress.close_cb = cancelButton.action -- calls the action of the button dlgProgress.close_cb = cancelButton.action
dlgProgress:showxy(iup.CENTER, iup.CENTER) -- show and position box dlgProgress:showxy(iup.CENTER, iup.CENTER)
return dlgProgress return dlgProgress
end end
local function DL_progress(YtLink) -- monitor download progress local function DL_progress(YtLink)
downloadStart(YtLink) -- start the progress bar downloadStart()
-- downloadProgress.value = 0 local pipe = io.popen(YtLink)
-- local pipe = io.popen(YtLink) --os.execute(YtLink)
os.execute(YtLink)
--[[repeat
local c = pipe:read() -- read the first 20 characters of each line
if c then -- if c is true then...
--downloadProgress.value = c/100 -- x out of 100 repeat
-- in this case x is the progress local c = pipe:read()
-- data we grabbed if c then
iup.Flush() -- speeds everything up considerably
-- when changing an attribute of an element, the change may not
-- take place immediately
-- in that case throw in a flush after the change
iup.LoopStep() -- required to work, also allows user to click button iup.Flush()
iup.Flush() -- added this second flush... helps a shit ton
if cancelflag then -- if cancelflag is true, then break iup.LoopStep()
-- which happens if you click the button iup.Flush()
if cancelflag then
iup.Message("Terminated", "You have canceled the conversion") iup.Message("Terminated", "You have canceled the conversion")
iup.Flush() iup.Flush()
@ -69,21 +54,16 @@ local function DL_progress(YtLink) -- monitor download progress
until not c-- creating a loop until c is not true until not c
pipe:close() -- closing the ipopen--]] pipe:close()
iup.Close() iup.Close()
return
end end
convert_mp3 = {} convert_mp3 = {}
convert_mp3.go = function(tubeLink) convert_mp3.go = function(tubeLink)
DL_progress(tubeLink) DL_progress(tubeLink)
return
end end
--if you can have your script call this one and insert the link to YtLink... win
--local YtLink = ('http://www.youtube.com/watch?v=jrmlums5bV8')
--DL_progress( YtLink)