Implemented audio format selection for ogg, mp3, and flac
This commit is contained in:
parent
bfae1feed1
commit
9d8c206c2a
64
mandy.lua
64
mandy.lua
@ -7,8 +7,13 @@ require('ffmpeg_progress')
|
||||
|
||||
--Main url entry box
|
||||
function url_entry()
|
||||
res, url = iup.GetParam("Mandy 0.4 - Enter URL", nil,
|
||||
"Enter Youtube URL: %s\n", "")
|
||||
local url = ""
|
||||
local format = 0
|
||||
res, url, format = iup.GetParam("Mandy 0.4 - Enter URL", nil,
|
||||
"Enter Youtube URL: %s\n"..
|
||||
"Select an audio format: %l|mp3|ogg|flac|\n", url, format)
|
||||
|
||||
gFormat = sel_Codec(format)
|
||||
if res == true then
|
||||
if string.match(url, "youtube.com/watch") then
|
||||
return url
|
||||
@ -23,28 +28,43 @@ function url_entry()
|
||||
end
|
||||
|
||||
|
||||
--Ask user to select a codec
|
||||
function sel_Codec()
|
||||
--make format dropdown menu items work
|
||||
function sel_Codec(x)
|
||||
if x == 0 then
|
||||
local mp3 = ".mp3"
|
||||
print("Selected "..mp3)
|
||||
return mp3
|
||||
elseif x == 1 then
|
||||
local ogg = ".ogg"
|
||||
print("Selected "..ogg)
|
||||
return ogg
|
||||
elseif x == 2 then
|
||||
local flac = ".flac"
|
||||
print("Selected "..flac)
|
||||
return flac
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
--Ask user to set directory
|
||||
function set_dir()
|
||||
|
||||
getPath = iup.filedlg{dialogtype = "SAVE", title="Save file...",
|
||||
filter="*.mp3", filterinfo="mp3",
|
||||
filter="*.mp3; *.ogg; *.flac",
|
||||
directory=".",
|
||||
file="*.mp3"}
|
||||
file=""}
|
||||
|
||||
getPath:popup(iup.ANYWHERE, iup.ANYWHERE)
|
||||
|
||||
local status = getPath.status
|
||||
|
||||
if status == "1" or status == "0" then
|
||||
if string.match(getPath.value, "%.mp3") then
|
||||
if string.match(getPath.value, "%"..gFormat) then
|
||||
local savedPath = getPath.value
|
||||
return savedPath
|
||||
|
||||
else
|
||||
local savedPath = getPath.value..".mp3"
|
||||
local savedPath = getPath.value..gFormat
|
||||
return savedPath
|
||||
|
||||
end
|
||||
@ -66,14 +86,40 @@ function ytDl(x)
|
||||
return tmpPath2
|
||||
end
|
||||
|
||||
--optional function to implement autoplay
|
||||
function ask_play(x)
|
||||
play = ""
|
||||
res, play = iup.GetParam("Play now?", nil,
|
||||
"Do you want to play the file now? %t\n", play)
|
||||
|
||||
if res == true then
|
||||
io.popen("notify-send 'The file was saved to' "..x)
|
||||
io.popen("xdg-open "..x)
|
||||
else
|
||||
return false
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
function ffmpeg(tmpPath, dirD)
|
||||
|
||||
local subSpaces = string.gsub(dirD, " ", "\\ ")
|
||||
local mp3 = "ffmpeg -i "..tmpPath.." -acodec libmp3lame -ac 2 -ab 192k -vn -y "..subSpaces
|
||||
local ogg = "ffmpeg -i "..tmpPath.." -acodec libvorbis -ac 2 -ab 192k -vn -y "..subSpaces
|
||||
local flac = "ffmpeg -i "..tmpPath.." -acodec flac -ac 2 -ab 192k -vn -y "..subSpaces
|
||||
|
||||
if gFormat == ".mp3" then
|
||||
local flag = convert_mp3.go(mp3)
|
||||
elseif gFormat == ".ogg" then
|
||||
local flag = convert_mp3.go(ogg)
|
||||
elseif gFormat == ".flac" then
|
||||
local flag = convert_mp3.go(flac)
|
||||
else
|
||||
if not flag then return false end
|
||||
|
||||
end
|
||||
io.popen("notify-send 'The file was saved to' "..subSpaces)
|
||||
io.popen("xdg-open "..subSpaces)
|
||||
end
|
||||
|
||||
--put everything into a table to use local functions globally
|
||||
|
Loading…
x
Reference in New Issue
Block a user