Orion9

|
Posted: Mon Nov 25, 2024 01:20 Post subject: |
|
|
Loopback
Ну и зверя же вы сделали! Играться с ним можно бесконечно Жаль, что в ближайшее время у меня не будет такой возможности, но оторваться и правда невозможно! )
И всё-таки я поймал рыбу своей мечты
 autorun.cfg Code: |
Pragma AutorunPluginFields "C1:::BigHint" "C2:::BigHint" "C3:::BigHint" "C4:::BigHint" "C5:::BigHint" "C6:::BigHint" "C7:::BigHint" "C8:::BigHint" "C9:::BigHint" "C10:::BigHint" "C11:::BigHint" "C12:::BigHint" "C13:::BigHint" "C14:::BigHint" "C15:::BigHint" "C16:::BigHint" "C17:::BigHint" "C18:::BigHint" "C19:::BigHint" "C20:::BigHint" "C21:::BigHint" "C22:::BigHint" "C23:::BigHint" "C24:::BigHint" "C25:::BigHint" "C26:::BigHint" "C27:::BigHint" "C28:::BigHint" "C29:::BigHint" "C30:::BigHint" "C31:::BigHint" "C32:::BigHint" "C33:::BigHint" "C34:::BigHint" "C35:::BigHint" "C36:::BigHint" "C37:::BigHint" "C38:::BigHint" "C39:::BigHint" "C40:::BigHint" "C41:::BigHint" "C42:::BigHint" "C43:::BigHint" "C44:::BigHint" "C45:::BigHint" "C46:::BigHint" "C47:::BigHint" "C48:::BigHint" "C49:::BigHint" "C50:::BigHint" "C51:::BigHint" "C52:::BigHint" "C53:::BigHint" "C55:::BigHint" "C55:::BigHint" "C56:::BigHint" "C57:::BigHint" "C58:::BigHint" "C59:::BigHint" "C60:::BigHint"
Func BigHint(FileName, FieldIndex, UnitIndex)
Static idx = 0
Static pipe, c = 0, f = 0, _
sMI = %COMMANDER_PATH% & "\Plugins\arc\MediaInfo\MediaInfo.exe", _
pMI = %COMMANDER_PATH% & "\Plugins\arc\MediaInfo\"
If Not IsPressed (0x11) Then Return
#f = f + 1
If FieldIndex = 1 Then
idx = 0
ProcessExecGetOutput /C:65001 pipe %sMI% ' --Language=file://ru.csv "%FileName%"' %pMI%
If IsPressed (0x5B) Then
idx = 50
Endif
#c = c + 1
#OutputDebugString("Autorun: f = " & f & " c = " & c & "idx=" & idx)
Endif
Return TrimSpaces(StrPart(pipe, auLF, FieldIndex + idx))
EndFunc
Func TrimSpaces(String)
Local a, b
If Not StrPos(String, ":") Then Return String
a = StrPart(String, ":", 1)
b = StrPart(String, ":", 2)
Return StrTrim(a) & ": " & StrTrim(b)
EndFunc
|
 [HintsCustomField] Code: | 22exts=*.*
22fields=[=autorun.C1]\n[=autorun.C2]\n[=autorun.C3]\n[=autorun.C4]\n[=autorun.C5]\n[=autorun.C6]\n[=autorun.C7]\n[=autorun.C8]\n[=autorun.C9]\n[=autorun.C10]\n[=autorun.C11]\n[=autorun.C12]\n[=autorun.C13]\n[=autorun.C14]\n[=autorun.C15]\n[=autorun.C16]\n[=autorun.C17]\n[=autorun.C18]\n[=autorun.C19]\n[=autorun.C20]\n[=autorun.C21]\n[=autorun.C22]\n[=autorun.C23]\n[=autorun.C24]\n[=autorun.C25]\n[=autorun.C26]\n[=autorun.C27]\n[=autorun.C28]\n[=autorun.C29]\n[=autorun.C30]
23exts=*.*
23fields=[=autorun.C31]\n[=autorun.C32]\n[=autorun.C33]\n[=autorun.C34]\n[=autorun.C35]\n[=autorun.C36]\n[=autorun.C37]\n[=autorun.C38]\n[=autorun.C39]\n[=autorun.C40]\n[=autorun.C41]\n[=autorun.C42]\n[=autorun.C43]\n[=autorun.C44]\n[=autorun.C45]\n[=autorun.C46]\n[=autorun.C47]\n[=autorun.C48]\n[=autorun.C49]\n[=autorun.C50]\n[=autorun.C51]\n[=autorun.C52]\n[=autorun.C53]\n[=autorun.C54]\n[=autorun.C55]\n[=autorun.C56]\n[=autorun.C57]\n[=autorun.C58]\n[=autorun.C59]\n[=autorun.C60] |
Пришлось разбить на поля, поскольку юниты внутри поля оставляют пустоты. Заодно выяснил, что на один шаблон можно повесить только 30 полей. Но я думаю, больше и не надо, а то подсказка совсем за экран вылезет.
В общем, удержание Ctrl добавляет к подсказке данные из MediaInfo, а точнее первые 60 строк. Удержание Win+Ctrl добавляет с 50-ой строки. Нужна консольная утилита MediaInfo и последняя версия Autorun со всеми последними субплагинами. Результат мне очень понравился, хотя над форматом вывода еще можно работать и пробовать его улучшать.
Quote: | А кстати, зачем её вообще использовать? Эта функция сейчас в некотором роде атавизм. Можно же просто записать: |
Да как-то упустил такое. А разве переменная не раскроется?
Quote: | В принципе можно всё сильно упростить, если просто придумать кастомный формат меню и научить ShowPopupMenu его понимать. |
Можно и отдельную функцию сделать с другим именем. В моем понимании меню должно быть примерно таким:
https://www.autohotkey.com/docs/v2/lib/Menu.htm
Чисто визуально и по функционалу, а реализация все-равно от пользователя будет скрыта. Можно и тектом наполнять.
Забыл еще про GetState написать, что к библиотекам хотелось бы еще дату изменения файлов выводить. Не хватает, как мне показалось  |
|