[wlx/wdx] TCMediaInfo

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

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

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):запомнить индекс того, там где будет "Yes".
А что именно должно возврашать Yes? Get?
Loopback писал(а):Те, что в unit, будут работать только в панелях.
А как-то скрытно продублировать их нельзя?
Loopback писал(а):Только убрать узлы <separator> из конфига.
Тогда разделитель и из диалога "Выбор поля плагина" исчезнет? Этого нужно избежать.
Loopback писал(а):когда добавляешь в конфиг источники
В конфиг? Может, в базу?
Loopback писал(а):а для имеющихся файлов в добавленных источниках нет данных.
Т.е. с отключённым автообновлением разные наборы колонок для тех же групп файлов применять нельзя? Я наткнулся на это через поиск по полю и вывод на панель, если что.
И это относится только в показу в колонках? Или в подсказках тоже будут дыры?

Тестировал вывод лирики, кстати? У меня так и не получилось. И что, если для подсказок некие символы менять на '\n'? Тотал поймёт, что нужен перевод строки?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):А что именно должно возврашать Yes? Get?
Тут же не листер, Get не работает. Нужно создать источник(и) по полю Default для всех потоков аудио.
Flasher писал(а):А как-то скрытно продублировать их нельзя?
Что значит продублировать? Плагин по запросу тотала возвращает данные и тип данных, который может отличаться от изначально заданного для колонки. Дальше я уже ничего не контролирую.
Flasher писал(а):Тогда разделитель и из диалога "Выбор поля плагина" исчезнет? Этого нужно избежать.
Исчезнет. Не избежать. В Тотале вообще-то не предусмотрены сепараторы, это просто такое же поле, как другие.
Flasher писал(а):В конфиг? Может, в базу?
Ну ты же базу напрямую не редактируешь? Добавляешь в конфиг, в базе они потом создаются.
Flasher писал(а):Т.е. с отключённым автообновлением разные наборы колонок для тех же групп файлов применять нельзя?
Почему нельзя? Можно, но без включенного автообновления обновляться они автоматически не будут.
Панели, подсказки - без разницы. Есть данные в базе - будет показано, нет данных - не будет.
Flasher писал(а):Тестировал вывод лирики, кстати? У меня так и не получилось. И что, если для подсказок некие символы менять на '\n'? Тотал поймёт, что нужен перевод строки?
Нет, я думал вы там уже пришли к чему-то. Проверил, лирика из файла отображается, но коряво, конечно.

Переносы наверно должен понять, они же используются в синтаксисе подсказок. [s]Но это не точно.[/s] Не работают.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Нужно создать источник(и) по полю Default для всех потоков аудио.
Как? В column есть выжимка по unit. А в source что?
И что будет идентификатором для потоков? Как мне дальше не/получить Yes? Во всём конфиге это слово фигурирует только в отношении листерного Get. А в справке про него вообще ни слова.
Loopback писал(а):Что значит продублировать?
Указать с каждым из типов.
Loopback писал(а):Не избежать.
Тогда проехали.
Loopback писал(а):Почему нельзя? Можно, но без включенного автообновления обновляться они автоматически не будут.
Нельзя — в фигуральном смысле. Т. е. теряется КПД от такого подхода.
Но угловые скобки в любом случае в порядок привести стоит.
Loopback писал(а):Добавляешь в конфиг, в базе они потом создаются.
А, не о тех источниках подумал.
Loopback писал(а):Проверил, лирика из файла отображается, но коряво, конечно.
Добавляю по строчке:
  • <source name="AudioResolution" field="BitDepth" context="Audio"/>
    <source name="Lyrics" field="Lyrics" context="Audio"/>
...
  • <column name="Resolution">AudioResolution</column>
    <column name="Lyrics">Lyrics</column>
Ничего в колонку/подсказку по [=tcmediainfo.Lyrics] не выводится. :?
Loopback писал(а):Не работают.
А если на символы CR/LF менять?

Забыл написать — в конфиге на нескольких строках в отступах пробелы остались.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Как? В column есть выжимка по unit. А в source что?
Типа такого. Не тестировал, кроме того тут по идее еще Forced надо учитывать.

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

<source name="DefStream" field="Default" context="Audio" stream="*"/>
...
<column name="DefLang" type="script">
<![CDATA[
idx := 0;
for i := 1 to AudioStreamCount do
begin
  res := StrPart(DefStream, ' / ', i);
  if (res = 'yes') then
  begin
    idx:=i;
    break;
  end;
end;
if idx > 0 then Output:=StrPart(AudioLanguageList, ' / ', idx);
]]>
</column>

Flasher писал(а):Указать с каждым из типов.
Не понял, что где указывать.
Flasher писал(а):Нельзя — в фигуральном смысле. Т. е. теряется КПД от такого подхода.
Но угловые скобки в любом случае в порядок привести стоит.
Да ничего тут не теряется. Скобки поправлю, это последствие исправления бага с MultiSeparator.
Flasher писал(а):Ничего в колонку/подсказку по [=tcmediainfo.Lyrics] не выводится
Lyrics находится в глобальном контексте:

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

	<source name="Lyrics" field="Lyrics"/> 
       ...
	<column name="Lyrics"> 
	  <unit name="replace" type="script">Output:=StrReplace(Lyrics, '/ ', '');</unit> 
	</column>
Flasher писал(а):А если на символы CR/LF менять?
Попробую, без правки плагина пока служебные символы вставить нельзя.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Не тестировал, кроме того тут по идее еще Forced надо учитывать.
Forced — это что?

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

  res := StrPart(DefStream, ' / ', i);
  if (res = 'yes') then 
Так. А что должен возращать отдельно DefStream? Мне ничего не выдаёт. Соответственно, и со скриптом не работает. По логике StrPart там должно быть что-то типа "no / yes / no".
Loopback писал(а):Не понял, что где указывать.
Ладно, не суть. Тогда лучше убрать unit-ы и сделать два раздельных поля.
Loopback писал(а):Да ничего тут не теряется.
Как же. Сам пишешь:
Loopback писал(а):без включенного автообновления обновляться они автоматически не будут.
Loopback писал(а):Lyrics находится в глобальном контексте:
А, ясно. Как тут не хватает регулярок, чтобы от Title: ... artist: ... album: ... music : ... lyrics: избавиться. Может, внедришь?
Loopback писал(а):Попробую
ОК.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Мне ничего не выдаёт.
Наверно, тестируешь на mp4? Это фича mkv, на других ничего не будет выдаваться. Forced - принудительное включение потока, я так понимаю, в первую очередь для субтитров сделано.
Flasher писал(а): Тогда лучше убрать unit-ы и сделать два раздельных поля.
Не в дефолтном конфиге.
Flasher писал(а):Может, внедришь?
Не знаю. Без поддержки массивов кроме замены ничего вменяемого из этого не выйдет.
Flasher писал(а):ОК
Замена на CR/LF не работает.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Наверно, тестируешь на mp4? Это фича mkv, на других ничего не будет выдаваться.
И на mkv тоже тихо.
Loopback писал(а):Без поддержки массивов кроме замены ничего вменяемого из этого не выйдет.
Так замена и нужна.
Loopback писал(а):Замена на CR/LF не работает.
Жаль.

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

Сообщение Loopback »

Flasher писал(а):И на mkv тоже тихо.
Сравнение вот так запиши, в остальном работает.

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

if (StrLower(res) = 'yes') then 
Flasher писал(а):Так замена и нужна.
Посмотрим, но не обещаю.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Сравнение вот так запиши, в остальном работает.
Да. Теперь показывает. Не на всех mkv, как и не на всех mp4/m4v, кстати.
Забил в поиск ^N.+ по полю DefSream. Оказалось, что есть переведённые видео вообще без Yes (No / No[ / No]). И их куда больше, чем "No[ / Yes / No]", которых вообще единицы. Но в подавляющем большинстве Yes стоит первым.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Конфиг + тестовая версия.

Косяк с <empty> исправил, но данные в базе теперь надо надо обновить.

Всё, завтра-послезавтра релиз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Посмотрим, но не обещаю.
В текущей версии ждать не стоит?

Бага нет. Числовые типы все (кроме несогласованного) на месте.
Правки хелпа — в ЛС.


Add: Уже не первый раз сталкиваюсь с ситуацией, когда при 28 добавленных колонках данные для последней (например, "Коды языков Аудио") не отображались. После добавки 29-й стали отображаться, но и в новой (например, "Всё аудио строкой") попало всё из предыдущей. :?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):В текущей версии ждать не стоит?
Нет. Встроенный дельфийский использовать не хочу, слишком тяжелый он для одной функции. Однако нашелся еще один вариант, неожиданно обновившийся после многих лет мой любимый TRegExpr. Но его надо будет тестировать, в частности по поддержке юникода и х64, поэтому не в этой версии точно.
Flasher писал(а):Уже не первый раз сталкиваюсь с ситуацией, когда при 28 добавленных колонках данные для последней (например, "Коды языков Аудио") не отображались. После добавки 29-й стали отображаться, но и в новой (например, "Всё аудио строкой") попало всё из предыдущей.
Что-то вот так сразу не смог повторить. Да и лирику я когда тестировал фактически повторил описанный порядок, тоже не было аномалий.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):поэтому не в этой версии точно.
ОК. Подожду.
Loopback писал(а):Что-то вот так сразу не смог повторить.
Без отладочных механизмов я тебе вряд ли что-то новое напишу. Кроме:

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

		<MemoryBase>False</MemoryBase>
		<UseBase>True</UseBase>
Кстати, косяк с TCMediaInfo.exe удалось побороть?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Кстати, косяк с TCMediaInfo.exe удалось побороть?
Не знаю, у меня он ни разу не проявлялся. Попробуй вариант из сегодняшнего релиза, кое-что поправил, что потенциально могло влиять, но опять же, для меня ничего не изменилось.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback
Попробовал. То же самое. В общем, заменил vbs-ом на 79 байт:

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

CreateObject("WScript.Shell").Run "rundll32 TCMediaInfo.wdx,OpenConfigDialog"
Вообще диалог хорошо бы ужать до рамок первой страницы с кнопкой 'Закрыть' под ними. Рамки, кстати, гуляют по ширине.

По правкам хелпа ты кое-что упустил. См. в ЛС.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить