[wlx/wdx] TCMediaInfo

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

790, Orion9
Суть проблемы в принципе понятна, но решать ее по-хорошему надо так, как вы и пытались в той теме, т.е. со стороны поиска, исключая в конкретном поисковом запросе сетевые пути.

Проверил, что выдаёт FileX, на локальных файлах F, на сетевых (что на UNC путях, что на смонтированных) - N. А должен Fixed и Network соответственно (ну или локализованное имя). Т.е. ошибка в плагине, скорее всего с типами строк, поэтому он выдает неверную строку и сравнение не работает. Причём поменять вручную в ini не получается, т.к. эта колонка типа MultipleChoice и подставляемое значение должно быть строго равно одному из предопределенных значений.
Orion9 писал(а):А лучше отдельное поле, где можно будет проверять условие.
Если имеется в виду реализовать в плагине дополнительное поле, что-то вроде "тип диска", то это проблематично, поскольку текущая реализация заточена на получение данных из библиотеки. Воткнуть туда стороннее поле непросто.

Если же делать xml-опцию, то она будет применяться везде: в поиске, просто при заходе на сетевой ресурс, при работе подсказок. Не самый лучший вариант.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Спасибо за развернутый ответ. Вроде, все понятно. Я тоже заметил через WDX Guide, что он отображает только одну букву, но думал, что так и задумано, пока не проверил на практике.
Жаль, что в вашем плагине нельзя реализовать такую опцию, было бы удобно. Что ж... будем искать другие варианты :)
790
Сообщения: 357
Зарегистрирован: Сб авг 09, 2008 18:08

Сообщение 790 »

Loopback
Я правильно понимаю, мы обсуждаем wdx TCMediaInfo, а не FileX ?
Я правильно понял, что сама "база" занимается поиском в т.ч. на сетевом диске и поэтому запрет на поиск по шаблонам ТС там ничего не даёт? т.е. надо применять "санкции" к базе/плагину, чтоб оно не лезло куда не надо? Или это не так?
Я могу сказать, что на FTP, так сказать, "диске", к которому не применены никакие исключения, видео-файлы показаны с цветами как на локальных (т.е. как в шаблоне поиска) и значками ассоциированного плеера. Плагин wdx TCMediaInfo ничего там не делает, "база" не обновляется.
TC 11.58 32/64, Win10x64

Cuda уехал text, он был ещё вчераа...
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

790 писал(а):Я правильно понимаю, мы обсуждаем wdx TCMediaInfo, а не FileX ?
И то, и другое. Я выше писал о том, что для поиска с исключением сетевых каталогов правильнее использовать плагин FileX, а конкретно колонку "Тип диска". К сожалению, он имеет баг именно в работе этой колонки. Если бы он работал как надо, то пример поискового запроса, предложенного Orion9, работал бы без скриптовых заморочек.

Суть в том, чтобы первым стояло условие проверки типа диска. Тогда если он сетевой, то проверка последующих условий, которые включают вызов TCMediaInfo, выполняться не будет.
790 писал(а):Я правильно понял, что сама "база" занимается поиском в т.ч. на сетевом диске и поэтому запрет на поиск по шаблонам ТС там ничего не даёт? т.е. надо применять "санкции" к базе/плагину, чтоб оно не лезло куда не надо? Или это не так?
"База" это часть плагина и сама по себе поиском заниматься, разумеется, не может. Плагин же работает только тогда, когда TC выполняет функцию ContentGetValue плагина и передаёт в неё имя файла. В этом случае идет проверка по базе, есть ли такое имя. Если есть, берутся сохраненные данные, если нет - выполняется получение данных через библиотеку MediaInfo и они записываются в базу. По своей инициативе плагин никогда никуда не лезет. Тотал же может вызывать функцию плагина из разных мест, где используются макросы запроса данных плагина: при включенных пользовательских колонках, при выводе подсказки, поиск с использованием плагинов и т.д.
790 писал(а):Плагин wdx TCMediaInfo ничего там не делает, "база" не обновляется.
А много ли плагинов могут работать в панели FTP? Наскидку только встроенный tc-плагин, и то только отдельные поля. На самом деле я как-то не особо интересовался, что там происходит, что-то плагину наверняка передается, но он явно не может такие пути обработать.
790
Сообщения: 357
Зарегистрирован: Сб авг 09, 2008 18:08

Сообщение 790 »

В общем, во всём виноваты "Внутренние ассоциации" :D Это они запускают плагин. Плагин определяет что "Commercial name содержит" такой-то тип аудио, и "Внутренние ассоциации" подставляют нужную иконку перед названием видео.
Это не супер-быстрый процесс - файлы-то большие, но на локальных дисках не заметно. А вот на сетевом... Если на лёгком (для роутера) PPTP VPN это не слишком напрягает, то на шифрованных соединениях открытие папки с видео-файлами вводит ТС в полный ступор!
Удаляю настройки "Внутренних ассоциаций" - всё прекрасно: нет иконок - нет проблемы.
TC 11.58 32/64, Win10x64

Cuda уехал text, он был ещё вчераа...
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Loopback писал(а):А много ли плагинов могут работать в панели FTP? Наскидку только встроенный tc-плагин, и то только отдельные поля.
Ни одного не будет. Об этом много раз предупреждалось везде и всюду. А работают там на самом деле не отдельные поля встроенного плагина, а типовые колонки из стандартного подробного режима представления.
Даже самая богатая фантазия
Не представит себе наши безобразия.
bbd
Сообщения: 8
Зарегистрирован: Вт сен 30, 2008 21:51

Сообщение bbd »

Подскажите, плиз, что и где можно поправить (или настроить), чтобы для видеофайла, в колонке "число потоков", показывалось не общее число (videoaudiotextmenu), а только число аудио потоков (чтобы на вложенном скрине были "Число потоков" 1 и 2, а не 1111 и 12). Изображение

Спасибо.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

bbd
В колонке поменяйте представление по умолчанию на "Число потоков" с выбором единицы "Только аудио".

Изображение
790
Сообщения: 357
Зарегистрирован: Сб авг 09, 2008 18:08

Сообщение 790 »

Всем спасибо! Вопрос решился. Походу, это уже старость, рассеяный склероз начинается...
Плагин тут не причём. Раз уж виноваты "Внутренние ассоциации", то там и надо было копать. Просто создав условия для определённых значков, я не создал условие для отсутствия этих условий на сетевом диске Z: или \\ :oops:
Сделал, поднял приоритет на самый верх - заработало!
TC 11.58 32/64, Win10x64

Cuda уехал text, он был ещё вчераа...
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Обновил версию с накопленными изменениями, на wincmd.ru.

* обновлен русский перевод для новых полей MediaInfo
* обновлена библиотека MediaInfo до версии 24.05
+ добавлены опции MediaInfoPathXP и MediaInfo64PathXP для XP-версий MediaInfo
+ WLX: список теперь получает фокус при первом нажатии стрелок клавиатуры
+ CFG: добавлено большое число поддерживаемых расширений
+ CFG: опция Formats может быть записана в несколько строк
+ CFG: добавлена пустая библиотека UserFunc для пользовательских функций
- CFG: многочисленные мелкие исправления
- WLX: исправлено наложение длинного текста из первой колонки на информацию
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Loopback писал(а):Обновил версию с накопленными изменениями, на wincmd.ru.
Спасибо за проделанную работу.

Был один недостаток, связанный с базой. Когда скачиваешь файл и он еще недокачался, если в этот момент навести на него указатель мыши, то в базу попадут пустые поля, которые так и будут потом отображаться в подсказке при повторных наведениях.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Orion9 писал(а):Был один недостаток, связанный с базой. Когда скачиваешь файл и он еще недокачался, если в этот момент навести на него указатель мыши, то в базу попадут пустые поля, которые так и будут потом отображаться в подсказке при повторных наведениях.
Суть понятна. Наверно, не только курсор навести, при настроенном наборе колонок тоже может быть.

Вообще плагин не добавляет файл в базу, если библиотека возвращает ошибку. Проблема в том, что MediaInfo на таких файлах её не возвращает. Однако поскольку тегов и прочего еще нет, добавляются пустые данные. Как отличить докачанный файл от недокачанного - вот в чём вопрос. Думаю со 100% надежностью это в принципе сделать невозможно.

Что в теории может помочь - перед добавлением в базу проверять, что все поля пустые. Если хотя бы одно поле содержит данные, значит всё в порядке.

Но тут есть сомнения:
- если MediaInfo может возвращать неполные данные (например, битрейт получен, а тег еще нет), то в таких случаях метод не поможет.
- если окажется так, что в нормальном файле действительно нет данных, для которых настроены источники, плагин будет пытаться перечитывать его каждый раз. Хотя вероятность такого представляется незначительной.

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

В любом случае это костыль. Самый надежный способ - чтобы качалка меняла расширение файла на временное до момента полного скачивания :)
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

В любом случае это костыль.
Ну, нам на костылях бегать не впервой, и какие-то проверки, наверное, все же нужны. Но можно сделать еще, например, чтобы при зажатом Ctrl плагин перечитывал файл(ы) заново? Думаю, это могло бы решить проблему, которая хоть и не часто, но возникает.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Orion9 писал(а):чтобы при зажатом Ctrl плагин перечитывал файл(ы) заново
Очень не нравится идея такого использования привязки поведения к клавишам. Похожая штука сделана в плагине wcres (разное поведение в зависимости от включенного Scroll Lock), и я с этим когда-то словил немало неприятных минут. Лучше поискать какие-то другие варианты.
macleod
Сообщения: 6
Зарегистрирован: Ср апр 10, 2024 22:34

перевод

Сообщение macleod »

Как можно изменить язык приложения? В файле TCMediaInfo.lng я добавил перевод на другой язык, но не понял, как активировать этот язык.
Ответить