--!movie
--!encoding=utf-8
global $
----------------------------------------
-- Download a file via HTTPS (asynchronous/non-blocking mode)
----------------------------------------
on startMovie
_player.debugPlaybackEnabled = 1
-- libs
$.import("curl")
-- get a CURL handle (xtra instance)
ch = $.curl.init()
-- specify options
ch.setOption($.curl.CURLOPT.URL, "https://valentin.dasdeck.com/xtras/curl_xtra/.test/test.mp3")
ch.setOption($.curl.CURLOPT.SSL_VERIFYPEER, 0)
ch.setOption($.curl.CURLOPT.NOPROGRESS, 0)
-- specify local download target file
ch.setDestinationFile($.PATH & "downloaded.mp3")
-- use "detached" callback for progress feedback (allowing full debugging)
$.curl.setProgressCallbackDetached(ch, #slotCurlProgress)
-- use "detached" callback for final result feedback (allowing full debugging)
$.curl.execAsyncDetached(ch, #slotCurlResult)
end
----------------------------------------
-- Show download progress in message window
-- @callback
----------------------------------------
on slotCurlProgress (dltotal, dlnow)
if dltotal>0 then put (dlnow*100/dltotal) && "%"
end
----------------------------------------
-- Show final result in message window
-- @callback
----------------------------------------
on slotCurlResult (res)
put "slotCurlResult", curl_error(res) -- res=0 => "No error"
end