Метасимволы. Подстановка предопределенного параметра при заполненном поле; применение команды к выбранным

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
Post Reply
S.A.
Posts: 61
Joined: Mon 17 Nov, 2014 19:52
Been thanked: 7 times

Метасимволы. Подстановка предопределенного параметра при заполненном поле; применение команды к выбранным

Post by S.A. »

С помощью !?<title>?<init>! удобно делать псевдоинтерфейсы.
Идея: было бы здорово располагать метасимволом для вставки чего-то предопределенного (параметра), если поле ввода (значение) не пустое — что-то в духе

Code: Select all

!?<title>?¿<нечто>¡<init>!
Для наглядности:

Code: Select all

C:\apps\ffmpeg\bin\ffmpeg.exe -i "!.!" !?$$map?¿-map ¡! !?$$codec?¿-codec ¡! !?$$rate?¿-ar ¡! !?$$bitrate?¿-b:a ¡! "!".!?$$e&xtension?!

Code: Select all

╔═════════════════════ convert file to whatever ═════════════════════╗
║ map                                                                ║
║[0:0...............................................................]║
║ codec                                                              ║
║[..................................................................]║
║ rate                                                               ║
║[44100.............................................................]║
║ bitrate                                                            ║
║[256k..............................................................]║
║ extension                                                          ║
║[mp3...............................................................]║
╟────────────────────────────────────────────────────────────────────╢
║                         { OK } [ Cancel ]                          ║
╚════════════════════════════════════════════════════════════════════╝
При заполненных полях автоматически получаем подставленные параметры, при незаполненных — все пусто:

Code: Select all

C:\apps\ffmpeg\bin\ffmpeg.exe -i blabla.flac -map 0:0 -ar 44100 -b:a 256k blabla.mp3
Вторая идея навеяна тем, что я повадился запихивать в пользовательское меню и ассоциации команды вида

Code: Select all

lua:if APanel.Visible then Keys('CtrlG') print("C:\\apps\\ffmpeg\\bin\\ffmpeg.exe -i \"!!.!!\" !?$$-map -codec -ar -b:a?! \"C:\\tmp\\muzak\\!!.!?$$e&xtension?!\"") Keys('Enter') end
Идея: метасимвол по типу !&, но применяющий команду к выбранным a'la СtrlG или через CtrlG.

Upd: вторая идея очень сомнительна, наверное — проще сделать какой-то шаблон типа такого и запихивать туда что требуется, еще и Far не залипает на время выполнения:

Code: Select all

@start /MIN "blabla" cmd /C for %s in (!&) do @ffmpeg -i %s !?$$-map -codec -ar -b:a?! C:\tmp\muzak\\"%~ns".!?$$e&xtension?!
Last edited by S.A. on Wed 12 Aug, 2020 09:49, edited 4 times in total.
Post Reply

Return to “Предложения и идеи”