esline="%+%-%*%.%%%?%^%$%(%)%[%]" escape=(x)-> x\gsub "(["..esline.."])","%%%1" Macro area:"Shell" key:"F2" flags:"EmptyCommandLine EnableOutput" description:"2WAV: FLAC<=>WAV; APE,TAK,WV=>WAV" condition:-> APanel.Prefix=="" action:-> panel.GetUserScreen() s1="~music~" if not APanel.Selected Panel.Select 0,1,1,0 while APanel.SelCount>0 Panel.SetPosIdx 0,1,1 r,f,s0=-1,false,mf.string Panel.Item 0,0,0 s4,s2,s3="",".wav",s0\match "(%.[a-zA-Z]+)%d*$" if s3 s4=s1..s3 if s3==".ape" win.MoveFile s0,s4,'r' r,f=os.execute "mac.exe \""..s4.."\" \""..s1..s2.."\" -d",true if r==0 win.DeleteFile s4 elseif s3==".flac" win.MoveFile s0,s4,'r' r,f=os.execute "flac.exe -d --delete-input-file \""..s4.."\"",true elseif s3==".tak" win.MoveFile s0,s4,'r' r,f=os.execute "takc.exe -d -md5 \""..s4.."\"",true if r==0 win.DeleteFile s4 elseif s3==".wv" win.MoveFile s0,s4,'r' r,f=os.execute "wvunpack.exe -d -y \""..s4.."\"",true elseif s3==".wav" win.MoveFile s0,s4,'r' r,f=os.execute "flac.exe -8 --delete-input-file \""..s4.."\"",true s2=".flac" if f if r==0 s4=s0\gsub escape(s3),s2 i,r=0,win.MoveFile s1..s2,s4 if r==nil msgbox "[2WAV] Warning!",s4.."\n\nthis file already exists\n\nto file name has been added index" while r==nil i=i+1 r=win.MoveFile s1..s2,s4..i io.write "*** "..s4.." - converted\n" else if r>0 win.MoveFile s4,s0 io.write "!!! "..s0.." - is not converted\n" msgbox "[2WAV] Warning!",s0.."\n\ncodec return: "..r.."\n\nfile is not converted" Panel.Select 0,0,2,s0 panel.SetUserScreen() |