Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 6)

Модерирует : gyra, Maz

Maz (26-09-2022 12:52): FAR Manager (часть 7)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
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
      f,r,s0=false,-1,mf.string Panel.Item 0,0,0
      s4,s2,s3='','.wav',s0\match '(%.[a-zA-Z]+)%d*$'
      s5=s3\lower!
      if s3
        s4=s1..s3
        if s5=='.ape'
          win.MoveFile s0,s4,'r'
          f,r=true,win.system 'mac.exe "'..s4..'" "'..s1..s2..'" -d'
          if r==0
            win.DeleteFile s4
        elseif s5=='.flac'
          win.MoveFile s0,s4,'r'
          f,r=true,win.system 'flac.exe -d --delete-input-file "'..s4..'"'
        elseif s5=='.tak'
          win.MoveFile s0,s4,'r'
          f,r=true,win.system 'takc.exe -d -md5 "'..s4..'"'
          if r==0
            win.DeleteFile s4
        elseif s5=='.wv'
          win.MoveFile s0,s4,'r'
          f,r=true,win.system 'wvunpack.exe -m -d -t "'..s4..'"'
        elseif s5=='.wav'
          win.MoveFile s0,s4,'r'
          f,r=true,win.system 'flac.exe -8 --delete-input-file "'..s4..'"'
          s2='.flac'
          if r>0
            io.write '\n*** Convert to Flac fail, try convert to WavPack...\n'
            r=win.system 'wavpack.exe -m -d -t -h "'..s4..'"'
            s2='.wv'
        if f
          if r==0
            s4=s0\gsub escape(s3),s2
            i,r=0,win.MoveFile s1..s2,s4
            if r==nil
              far.Message s4..'\n\nthis file already exists\n\nto file name has been added index','[2WAV] Warning!'
              while r==nil
                i+=1
                r=win.MoveFile s1..s2,s4..i
            io.write '***  '..win.Utf8ToOem(s4)..'  - converted\n'
          else
            if r>0
              win.MoveFile s4,s0
            io.write '!!!  '..win.Utf8ToOem(s0)..'  - is not converted\n'
            far.Message s0..'\n\ncodec return: '..r..'\n\nfile is not converted','[2WAV] Warning!'
      Panel.Select 0,0,2,s0
    panel.SetUserScreen!

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 00:24 21-05-2021 | Исправлено: Alexyz21, 09:08 21-05-2021
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 6)
Maz (26-09-2022 12:52): FAR Manager (часть 7)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru