Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Autorun
Goto page Previous  1, 2, 3 ... 225, 226, 227
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Orion9



Joined: 01 Jan 2024
Posts: 1045

Post (Separately) Posted: Sat Mar 14, 2026 00:28    Post subject: Reply with quote

AkulaBig wrote:
Но есть плагин, который лишь иногда крякозябры выводит. Можно ли взять значение из плагина и прогнать его через известную функцию фикса кодировки?

AkulaBig wrote:
На нашем сайте все ExifToolWDX https://wincmd.ru/plugring/ExifToolWDX.html

Теперь понятно о каком плагине была речь.

Autorun действительно может вытянуть данные из любого wdx-плагина. Для этого используется объект Plugin
Code:
Func GetExifInfoWdx(FileName)
    Local str
    obj = Plugin("ExifToolWDX")
    If ERROR = 0 Then
       obj.FileName = FileName       
       str = obj.GetValue(215)    # поле "Comment" номер 215 в плагине
       Free(obj)
    Else
       str = "Plugin error " & ERROR
    Endif
    Return str
EndFunc

Функция вернет строку из поля Comment плагина ExifToolWDX. Но если данные хранятся в ANSI, а не в UTF-8, то результатом окажутся заменяющие символы со знаком вопроса, как у вас на картинках. И сделать с этим ничего не получится — так возвращает данные сам плагин ExifToolWDX, автор которого не предусмотрел работу с ANSI.

Остается только выводить данные в консоль и передавать их в Autorun через ProcessExecGetOutput для дальнейшей обработки.

Чем-то это похоже на проблему с кракозябрами в mp3 тегах, только здесь вместо iso-8859 выступает UTF-8. Алгоритм тоже похож: Autorun получает данные в ANSI, делает копию строки в UTF-8, разбивает обе строки на элементы и помещает их в массивы. Далее сравнивает эдементы каждого массива и делает замены при обнаружении символа 0xFFFD.
Code:
RegisterCommand 60045 "ExifInfo"

Func ExifInfo(FileName)
    Local sFile = RequestCopyDataInfo("SP") & RequestCopyDataInfo("SN")
    If Not FileExist(sFile) Then
       ShowHint("Файл не существует " & sFile)
       Return
    EndIf
    MsgBox(GetExifInfo(sFile))
EndFunc

Func GetExifInfo(FileName)
    Static a = List(), u = List(), exif = COMMANDER_PATH & "\Plugins\wlx\ExifToolView\exiftool.exe"
    Local ansi, utf8, wrong = Chr(0xFFFD)
    ProcessExecGetOutput ansi %exif% ' -G -S -lang ru "%FileName%"'
    Local nSize = StrLen(ansi)
    Local buf = Buffer(nSize)
    buf.Zero()
    buf.SetStr(ansi, 0, nSize, "ANSI")
    utf8 = buf.GetStr(0, nSize, "CP:65001")   
    Free(buf)
    a.Count = 0   
    u.Count = 0     
    a.Text = ansi   
    u.Text = utf8
    For i = 0 to u.Count - 1
       If StrPos(u[i], wrong) Then u[i] = a[i]
    Next
    Return u.text   
EndFunc

В результате "выхлоп" корректно отображает и ANSI и UTF-8, если обе кодировки присутствуют в тегах файла.

Надеюсь, это как-то поможет. Непонятно только, что вы хотите делать со всей этой огромной кучей потенциальных полей. Они ведь тоже динамически будут появляться и исчезать в зависимости от типа файлов.
AkulaBig wrote:
И про это писал. Могли-бы они использовать внешние кодеки, можно было-бы покапаться.

Под внешними кодеками вы имеете в виду переносимые вместе с плеером? Имхо, там любая поддержка должна быть. Автор годами держит проект на плаву. Но я посмотрю завтра, что там в настройках.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1045

Post (Separately) Posted: Sat Mar 14, 2026 12:51    Post subject: Reply with quote

AkulaBig
Продолжу свою мысль.

Если выводить поля из exiftool, то без фильтра, видимо, не получится обойтись. Автор ExifToolWDX.wdx использует для этого шаблоны Config*.txt, где можно самостоятельно указывать, какие поля выводить, а какие нет. Подход, в целом, на мой взгляд, правильный — лучше сходу все-равно не придумаешь. Однако шаблоны не обновлялись 10 лет, а exiftool за это время далеко ушел. Минус подхода еще в том, что для того, чтобы сделать жадный до полей шаблон, придется с головой уйти в изучение всех мета-данных, которые выводит exiftool. Задача тягомотная, на мой взгляд, и не стоит усилий, особенно на фоне тормозов это утилиты. Вот если нужно вывести что-то конкретное, типа гео-данных, тогда да. А в остальном же...

В общем, глянул я последний MPC-BE — у него кодеки вшиты прямо в EXE — куда же еще лучше? Но в настройках можно и на внешние преключиться при желании. Странно, что автор сам не сделал плагин для ТС за все эти годы, неужели никто его не просил.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 518

Post (Separately) Posted: Sat Mar 14, 2026 23:17    Post subject: Reply with quote

Orion9
Личку проверьте
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 518

Post (Separately) Posted: Sun Mar 15, 2026 07:03    Post subject: Reply with quote

Orion9 wrote:
Непонятно только, что вы хотите делать со всей этой огромной кучей потенциальных полей. Они ведь тоже динамически будут появляться и исчезать в зависимости от типа файлов.

Я-же конкретно для определенных расширений буду поля получать. Например, для доков Title, Author, ... Как я вам показал на скринах. На данный момент нет ни одного плагина, который выводит эти поля у всех файлов определенного расширения. Странно это.
Orion9 wrote:
Минус подхода еще в том, что для того, чтобы сделать жадный до полей шаблон, придется с головой уйти в изучение всех мета-данных, которые выводит exiftool.

Мне не нужен жирный шаблон в этот раз. Просто листер-плагином смотрю, как называется поле и прописываю его в Config.txt.
Orion9 wrote:
Под внешними кодеками вы имеете в виду переносимые вместе с плеером?

Нет. Под внешними кодеками я понимаю внешние кодеки Smile А MPC умеет работать только со встроенными. Вот и получается, что для внутреннего плеера надо использовать свои кодеки, а для MPC свои. Причем одинаковые. Масло, масляное. Вот если-бы MPC умел использовать внешние кодеки, это была-бы прога огонь. Но тем не менее написал я для вас плагин. Пока черновик. Все в личке.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1045

Post (Separately) Posted: Sun Mar 15, 2026 13:41    Post subject: Reply with quote

AkulaBig wrote:
Я-же конкретно для определенных расширений буду поля получать. Например, для доков Title, Author

Ну тогда понятно. Может и стоит попробовать, но работать будет все-равно медленно. Хотя болван вроде подсказывает, как можно ускориться:
 Hidden text

Думаю, можно опцию -stay_open для начала попробовать, а также добавить исключение в Windows Defender.
AkulaBig wrote:
Но тем не менее написал я для вас плагин

А почему для меня то? Laughing Но спасибо — никто прежде не писал для меня плагинов Laughing

Ладно, шутки в сторону. Посмотрел, потестировал немного и... Ну разве вы не видите, как все намного лучше стало, чёрт возьми! Совсем другой вид! Таким и пользоваться сразу хочется.

Плагин, конечно, крашится местами при закрыти или сохранении настроек, но большинство главных функций работает (переключение дорожек, переключение титров, нормализация звука, клавиши воспроизведения "вперед назад" и т.д.) — тему оформления тоже удалось поменять на темную. Не получилось только яркость добавить прибавить — крашится плагин, как он и крашится при сохранении настроек, но настройки применяются при перезапуске.

Что больше всего бросилось в глаза — плеер не переходит в полноэкранный режим — верхняя часть окна остается видимой. А в остальном же недурно, очень даже недурно для первой альфа-версии.

Именно поэтому я у вас спросил зачем вам тратить время на этот exiftool с его тормозами и кракозябрами, когда есть более интересные вещи, которые буквально ждут ваших знаний и умений. По потенциалу и популярности плагин TCMPC-HC может обойти саму суматру и ирфана, вопрос только будете вы этим заниматься или не будете. Если будете, окей. А если не будете, никто вас не обязывает Smile
AkulaBig wrote:
А MPC умеет работать только со встроенными.

Все там с этим в порядке (пишу навсидку, но уверен, что именно так), это скорее у Гислера может что-то не работать, поскольку он весьма посредственно добавил поддержку плеера. Претензий то никаких — он ведь, в конце концов, не видеоплеер разрабатыват, но мне от этого как должно стать легче?
AkulaBig wrote:
Вот если-бы MPC умел использовать внешние кодеки, это была-бы прога огонь.

Посмотрите Настройки -> Внешние фильтры -> Добавить -> Файл... Все должно работать.
AkulaBig wrote:
Вот и получается, что для внутреннего плеера надо использовать свои кодеки, а для MPC свои.

Если я буду пользоваться MPC, зачем мне встроенный плеер со своими кодеками? Это сразу под ноль пойдет Laughing

Папка MPC занимает всего 53,5 мегабайта, причем ее можно оптимизировать. Например, выкнуть лишние языки и библиотеку mediainfo.dll, которая нужна только, чтобы посмотреть свойства файла. Если mediainfo.dll нет в каталоге, то в окне свойств не будет этой вкладки, всего-то.

В общем, если будете серьезно заниматься плагином, выкладывайте первую стабильную версию на сайт для проб, тестов и обратной связи. А здесь, пожалуй, больше нет смысла офтопить.

P.S. Кстати, дайте попробовать свой черновик другим пользователям, чего тут секретного )
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 518

Post (Separately) Posted: Sun Mar 15, 2026 14:47    Post subject: Reply with quote

Orion9 wrote:
А здесь, пожалуй, больше нет смысла офтопить.

Дак поэтому я вам в личку и пишу. Действительно не надо здесь офтопить. На это пост отвечу коротко и все.
Orion9 wrote:
Посмотрите Настройки -> Внешние фильтры -> Добавить -> Файл... Все должно работать.

Я уже давно все испробовал. Внешние кодеки там нельзя использовать по любому пути. Так что это не решение проблемы.
Orion9 wrote:
В общем, если будете серьезно заниматься плагином, выкладывайте первую стабильную версию на сайт для проб, тестов и обратной связи. А здесь, пожалуй, больше нет смысла офтопить.

P.S. Кстати, дайте попробовать свой черновик другим пользователям, чего тут секретного )

Дак у меня на ру-борде площадка. А вы туда не ходите.
Orion9 wrote:
Плагин, конечно, крашится местами при закрытии или сохранении настроек

Изменение настроек я даже не пробовал. Он и при просмотре крашит, что недопустимо. Только не плагин, а MPC-HC Smile
В общем буду пробовать MPC-BE. Использование старых версий MPC-HC не вариант.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 518

Post (Separately) Posted: Sun Mar 15, 2026 22:10    Post subject: Reply with quote

Orion9 wrote:
В результате "выхлоп" корректно отображает и ANSI и UTF-8, если обе кодировки присутствуют в тегах файла.

Отлично работает. Спасибо.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1045

Post (Separately) Posted: Sun Mar 15, 2026 23:40    Post subject: Reply with quote

AkulaBig wrote:
А вы туда не ходите.

На руборду? Неее, туда я ни ногой — там скоро всех попереловят по одному — доходитесь по запрещенным сайтам Laughing

На самом деле не вижу больших проблем. Если будет что написать, напишем хоть черту лысому на кулички )

Mrak_Tlen
FallenAngel
Я оставил вам сообщение в ЛС по части Autorun, не пропустите, здесь легко можно не заметить оповещение.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 225, 226, 227
Page 227 of 227

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group