[wlx/wdx] TCMediaInfo

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

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

Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

AkulaBig
А разве в файле форматов не перечислены все (все ли?) поддерживаемые расширения в седьмой колонке? Как я понял, если седьмая колонка пустая, значит она соответствует первой колонке. В четвёртой колонке, судя по всему, указан тип формата (T - text, A - audio, V - видео, I - image, M - multiple?, C - compressed). Поправьте меня кто-нибудь, если не прав.
Loopback писал(а):вот только самих данных в бинарнике нет - опять же в целях экономии размера библиотеки...
Если файл имеет неправильное расширение, то MediaInfo сообщяет об этом в поле FileExtension_Invalid. Например, если переименовать файл .ogg в .tmp и открыть его в GUI библиотеки или подсказке Autorun, то появляется:

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

Формат                                   : Ogg
...
FileExtension_Invalid                    : oga ogg ogm ogv ogx opus spx
А если неправильное расширение у .mkv файла:

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

Формат                                   : Matroska
...
FileExtension_Invalid                    : mkv mk3d mka mks
Выходит, эта информация куда-то вшита в бинарник, иначе откуда она берётся?
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Loopback
Можно вас попросить в двух словах объяснить, для чего это нужно? Я понял, что должен быть файл Codecs.cfg в которых в секциях перечислены названия кодеков. Далее не понял.

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

		<separator/>
		<!-- Almost demo purpose, retrieve custom values from lists -->
		<column name="Video codec custom" type="list" list="VideoCodecs">VideoCodecID</column>
		<column name="Audio codec custom" type="script">Output:=GetListValue('AudioCodecs', Format('%4.4d', AudioCodecID), AudioCodecID);</column>
	<lists>
		<list name="VideoCodecs" type="ini" file="Codecs.cfg" section="VIDEO"/>
		<list name="AudioCodecs" type="ini" file="Codecs.cfg" section="AUDIO"/>
		<list name="MainList">
			<line name="VBR">Variable</line>
			<line name="CBR">Constant</line>
		</list>
	</lists>
Еще один момент. Я вам ранее жаловался, что при отсутствии файла TCMediaInfo.xml ТС падает. А у вас не падает. У меня файлы MediaInfo не в папке плагина лежат и к ним путь я прописываю. Похоже в этом дело. Проверил. Так и есть.

Добавлено спустя 1 час 29 минут:
Orion9 писал(а):все ли?
Ну сами видите, что не все перечислены. Я пример привел расширений, для которых в хинтах выводится куча инфы.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

AkulaBig
То есть вы хотите, чтобы Loopback сделал возможность отключения секции <Formats> ? Сейчас такой опции нет, как я понимаю. Но если её сделать, wdx будет очень медленно работать, хотя хозяин - барин )
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Orion9 писал(а):wdx будет очень медленно работать
Чтобы в этом убедиться надо это потестить. Хинты-же работают быстро, почему wdx будет работать медленно?
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Orion9 писал(а):M - multiple?
M - Menu.
Orion9 писал(а):Выходит, эта информация куда-то вшита в бинарник, иначе откуда она берётся?
Да, ошибся, эти данные всё же присутствуют в бинарнике, а в исходниках находятся в файле MediaInfo_Config_Automatic.cpp. Примерно в том же виде, как formats.csv. Но нам это ничем не поможет, поскольку в dll для их получения никаких способов нет.
AkulaBig писал(а):Можно вас попросить в двух словах объяснить, для чего это нужно? Я понял, что должен быть файл Codecs.cfg в которых в секциях перечислены названия кодеков. Далее не понял.
Старая тема. Кому-то не нравилось, как называются кодеки в MediaInfo, зато нравились имена из Codecs.cfg, который из другого плагина (Media, кажется). Вот и было сделано.

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

На самом деле при релизе эти строки надо было бы выкинуть вообще. В принципе еще не поздно.
AkulaBig писал(а): У меня файлы MediaInfo не в папке плагина лежат и к ним путь я прописываю.
Попробовал убрать библиотеки MediaInfo и конфиги из каталога плагина, не повторяется.
AkulaBig писал(а):почему wdx будет работать медленно
Один файл по запросу или сотни - разница есть, тем более что это будет происходить на каждом файле. По сети вообще стоять всё будет.
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Loopback писал(а):На самом деле при релизе эти строки надо было бы выкинуть вообще. В принципе еще не поздно.
Я сам :) Так-то да, сомнительная опция для всеобщего пользования.
Loopback писал(а):Попробовал убрать библиотеки MediaInfo и конфиги из каталога плагина, не повторяется.
А пользовательские колонки-то, где MI используется, запускаете? Я про это не писал, так как вроде само собой разумеющееся.
Loopback писал(а):По сети вообще стоять всё будет.
Ну и сделать это опционально. Зачем мне терять инфу из-за того, что кто-то по сети будет пользоваться вашим плагином? Пользовательские колонки сами по себе напрямую зависят от их количества и количества файлов. Не думаю, что поиск сотни, двух расширений займет какое-то время.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

AkulaBig писал(а):Хинты-же работают быстро, почему wdx будет работать медленно?
Имелось в виду, что пользовательские колонки будут медленно работать, так как в таком случае все файлы на панели будут открываться и обрабатываться плагином. Поиск тоже будет медленнее работать, но при поиске можно другие критерии задать, чтобы его ускорить. А также могут быть проблемы с базой, если она включена: в базу будет попадать всё, в том числе и то, что хранить в ней совершенно не нужно.

Мое мнение. Опция нужна :mrgreen:

Я серьезно. Если кто-то хочет, пусть ей пользуется, осознавая самостоятельно все риски и недостатки такого использования. Но ведь есть и свои плюсы.
Loopback писал(а):M - Menu.
Oh boy...)
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

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

Сообщение Loopback »

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

Сообщение Orion9 »

Loopback
Если будете делать опцию, то как вариант реализации могу предложить сделать переменную окружения, из которой можно будет управлять поведением на лету, меняя ее значение через тот же Autorun. Простой пользователь точно накосячить так ничего не сможет, потому что переменную ещё нужно изменить, а для этого код прописывать надо, или как-то по-другому ее менять. Но в любом из этих случаев нужно понимать, что делаешь и зачем.
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

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

Сообщение Loopback »

AkulaBig писал(а):на свалке файлов
Разумеется.
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Loopback писал(а):Разумеется.
Ну это-же нестандартная ситуация. Все-таки в основном файлы размещены по тематике.
Вопрос возник.

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

		<column name="All audio as string" type="script">
		<![CDATA[
			Output:='';
			if (A_Format <> '') then Output:=Output+GetLang('A_Fmt')+': '+A_Format+', ';
			if (A_FormatSettings <> '') then Output:=Output+GetLang('Format_Settings')+': '+A_FormatSettings+', ';
		]]>
Изображение
Как видите, GetLang('A_Fmt') не переводит из TCMediaInfo.lng. Из MediaInfo.lng все отлично. Может какую-нибудь опцию включить надо?
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

AkulaBig
В коде вижу, что для wdx загрузка TCMediaInfo.lng закомментирована. Видимо был какой-то резон так сделать, но какой именно не помню. Либо что-то связано с перекрытием строк с одинаковым идентификатором, либо просто решил, что он там не нужен и отключил в целях оптимизации.
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Понятно. А в справке написано, что читает оба языковых файла. Я просто хотел сделать сокращенные наименования для режима "Аудио одной строкой". Ладно, оставлю полные.
Ответить