[wlx/wdx] TCMediaInfo

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

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

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

Сообщение Loopback »

Mellomann
Какие-то стремные хостинги, вместо исходного файла отдают подозрительный exe, c прицепленным оверлеем зипом. Выковырял, но экзешник запускать не рискнул :)

В общем, попробовал MediaInfo c офсайта, файлы, у которых теги в UTF-8 (flac) и UTF-16 - показывает правильно. Те, у которых теги в win1251 (оба Кипеловых) - коряво. То, что библиотека показывает правильно - наверняка можно исправить, с другими надо тестировать.
Аватара пользователя
Mellomann
Сообщения: 709
Зарегистрирован: Пн сен 07, 2009 00:44

Сообщение Mellomann »

Loopback
Не-не, никаких exe я не делал, я простой zip паковал.
Я уже давно имею дело с этим унибайтом-тройкой и пока никто не жаловался. Там просто надо не по первой попавшейся жать, а чуть ниже малозаметное "бесплатное скачивание" и только НЕ с рекламного хоста superrar.

Если сильно стрёмный - вот другие:
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Потестировал я кодировки. Для тех файлов, где теги UTF8/16 исправил.

А вот что делать с остальными - непонятно. Вместо того, чтобы перекодировать строку, хотя бы с дефолтными системными настройками, библиотека их отдает в очень оригинальном виде. Вот так выглядит строка "Каратэ":

Изображение

Т.е. берется каждый символ кириллицы, и к нему вторым байтом добавляется 0x00. И это очень плохо, поскольку полученные таким образом "юникодные" символы формально валидны, и отображают те европейские символы, что мы и видим. Как понять, что выданный поток - реальный юникод или вот такой "псевдоюникод" - не представляю.

Пробовал ANSI версию функции - она выдает уже искаженный текст.

[s]Но что самое удивительное, если получать информацию функцией "MediaInfo_Inform" (которую использует листерная часть), то теги возвращаются правильно закодированными во всех случаях.[/s]
Последний раз редактировалось Loopback Пт июл 20, 2012 15:36, всего редактировалось 1 раз.
Аватара пользователя
Mellomann
Сообщения: 709
Зарегистрирован: Пн сен 07, 2009 00:44

Сообщение Mellomann »

И что делать?
AnyTag както-же определяет что где...
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Mellomann писал(а):AnyTag както-же определяет что где...
AnyTag работает непосредственно с файлом, в этом случае нет особых проблем отличить, в юникоде тег или в ANSI. TCMEdiaInfo же работает с результатом, который выдает MediaInfo. И результат этот таков, что я не вижу возможности отличить правильный от неправильного.

[s]Пока единственный путь, который видится здесь - приделать костыль в виде получения значения некоторых полей из вывода функции MediaInfo_Inform, которая работает правильно. За счет некоторого замедления работы, понятное дело. Тут плохо то, что многие названия полей библиотеки и заголовки строк вывода MediaInfo_Inform даже не связаны напрямую (пример Encoded_Library -> Writing library), т.е. без явного указания заголовка не обойтись.

С другой стороны, при использовании базы замедление будет заметно только при первичном получении данных. Попробую сделать так.[/s]

Этот вариант отпадает. Вышенаписанное актуально только для старых версий библиотеки. В новых версиях неправильный юникод выдается всегда.
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Win7x64 SP1, TC 8.1 x32, плагин последний тестовый, MediaInfo 0.7.58.
Полное подвисание Тотала при работе с недоделанными AC3.

Кодирую аудио в соневской оф.тузле Sonic Foundry Sound Forge.
Пока аудио кодируется - если пытаться подвести мышку к файлу (настроена выпадающая подсказка через TC Mediainfo) или же включить колонки с плагином TC Mediainfo - то Тотал полностью подвисает.
Сэмпл пока предоставить не получается, при обрыве кодирования Тотал отвисает, а в процессе кодирования файл не копируется.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

LonerD
Ну, багом в полном смысле бы я это не назвал. Файлы некорректные, да еще и открытые другим приложением, причем скорее всего эксклюзивно.

Если отключить плагин, как реагирует на этот файл сам тотал по F3?
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Если отключить плагин, как реагирует на этот файл сам тотал по F3?
"Нет доступа или файл уже используется". И Тотал таким образом реагирует, и AIMP, и гекс-редактор HxD выдают подобное сообщение при попытке открыть этот файл.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

LonerD
Понятно. Ну, можно попробовать добавить проверку возможности доступа к файлу перед передачей управления библиотеке. Раз уж она так болезненно на такие файлы реагирует.
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Loopback
А планируется ли дальнейшее развитие wlxMediaInfo ?
Хотелось бы тоже 64-битную версию.
И очень не хватает отображения всей информации, длинные строки не влезают в ширину панели - неплохо бы добавить горизонтальную полосу прокрутки, а для поля Encoding settings - удобно если бы был перенос по словам.
Возможность задания цвета фона как в TCTorrent тоже была бы не лишней (но это менее актуально).
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

LonerD писал(а):А планируется ли дальнейшее развитие wlxMediaInfo ?
Да, но точно без таких наворотов, как в TCTorrent. Вот только время пока ничего не позволяет.
LonerD писал(а):Хотелось бы тоже 64-битную версию.
В последней версии wlx совмещен с wdx, в том числе и в 64-битной версии.
LonerD писал(а):И очень не хватает отображения всей информации, длинные строки не влезают в ширину панели - неплохо бы добавить горизонтальную полосу прокрутки, а для поля Encoding settings - удобно если бы был перенос по словам.
Прокрутка ок, насчет переносов не знаю.
LonerD писал(а):Возможность задания цвета фона как в TCTorrent тоже была бы не лишней (но это менее актуально).
Уже реализовано в невыложенной версии.
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

В последней версии wlx совмещен с wdx, в том числе и в 64-битной версии.
Я уже почитал ридми и прикрутил wlx, но ещё не успел написать об этом :)
Наверное, в дальнейшем стоит добавить автоматическую установку wlx-варианта, потому как не все догадаются что он вообще имеется. :roll:
Прокрутка ок, насчет переносов не знаю.
А хотелось бы, и это вполне реализуемо. В первую очередь из-за Encoding settings (настройки кодирования в AVC) - очень уж длинное там поле и прокрутка будет большой. Опционально - или прокрутка или переносы. Если есть сложности в реализации, то при переносах меня бы устроил даже простейший вариант - если следующая буква текста не помещается в ширину панели, она отображается с новой строки.
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Можно ли в плагине настроить поиск с операцией больше-меньше?
Например, найти все файлы, аудиобитрейт которых >192 Kbps ?
При поиске поле "Операция" не содержит вариантов сравнения.
(для сравнения - в плагине mediainfo от tbeu присутствует сравнение).

Возможно, здесь можно как-то через регулярные выражения указать, что значение должно быть >192 ?
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

LonerD
Это видимо потому, что все поля в плагине - строки. Можно попробовать сделать вывод числовым. Для этого в соответствующую колонку нужно добавить ColumnOutputType="ft_numeric_32":

Код: Выделить всё

<column name="Audio Bitrate">
            <unit name="Bps" ColumnOutputType="ft_numeric_32">AudioBr</unit>
            <unit name="KBps" type="script" ColumnOutputType="ft_numeric_32"><![CDATA[if (AudioBr <> '') then Output:=Format('%f', AudioBr/1000);]]></unit>
</column>
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

все поля в плагине - строки
Только Encoded Date содержит возможность сравнения больше-меньше.
А хотелось бы иметь возможность гибкого поиска по битрейту аудио и видео, по ширине и высоте (например, поиск HD-видео, у которого высота >=720), по времени (например, больше часа/меньше часа).
Можно попробовать
Попробовать или это должно работать?
У меня ничего не изменилось в диалоге поиска после добавления этих строк.
Ответить