[wlx/wdx] TCMediaInfo

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

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

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

Сообщение Loopback »

Flasher писал(а):Проверь с KernelBase.dll.
Не уверен, что можно просто так взять и подменить системные библиотеки. Ну и как минимум надо 32 битную семерку еще ставить. На самом деле вряд ли тут виновата именно эта библиотека.

Сегодня-завтра попробую кое-что изменить, возможно поможет.
Flasher писал(а):Ну, правильно. Где я соврал относительно указаний на моём скриншоте? Разве что ещё выступ в маленькой рамке сверху пофиксен.
Ну ты пишешь "убралась только лишняя часть справа, в остальном — по-старому". Логично предположить, что сползание рамки влево на список - осталось, а это и была главная проблема. Разница в пиксель - мелочь, наличие пространства снизу - это не баг, а так и задумано.
Flasher писал(а):Тогда, наверное, следующий релиз уже с ListLoadNext стоит выкладывать.
Я уже писал раньше, что это требует переписывания приличной части кода. Оно в планах, но к какому конкретно релизу - не знаю.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Ну и как минимум надо 32 битную семерку еще ставить. На самом деле вряд ли тут виновата именно эта библиотека.
Попробуй их с kernel32.dll положить в папку с TCMediaInfo.wdx и посмотреть, что произойдёт в 32-битном ТС.
Loopback писал(а):а это и была главная проблема. Разница в пиксель - мелочь, наличие пространства снизу - это не баг, а так и задумано.
Мелочь бросается в глаза и окно не красит. Разницы между лишним пространством снизу и слева не вижу. Два сапога пара. Смысл задумки неясен.
Loopback писал(а):Я уже писал раньше, что это требует переписывания приличной части кода. Оно в планах, но к какому конкретно релизу - не знаю.
Писал, что потребует переделки, а чего именно не писал. Релиз подразумевался вроде как текущий. Посмотри исходники CudaLister, там это есть.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Попробуй их с kernel32.dll положить в папку с TCMediaInfo.wdx и посмотреть, что произойдёт в 32-битном ТС.
Ничего не происходит, не цепляет их. По-моему, не прокатит такой фокус с системными библиотеками.
Flasher писал(а):Разницы между лишним пространством снизу и слева не вижу. Два сапога пара.
Разница есть, так как есть список (или дерево) слева, высота которого и определяет высоту диалога. При такой раскладке это стандартная практика, что на полупустой странице снизу остается пространство. И еще смысл задумки в том, чтобы изначально иметь запас пространства и не втискивать потом контролы (как в настройках ТС, например). Не вижу ничего хорошего в тесных интерфейсах.
Flasher писал(а):Писал, что потребует переделки, а чего именно не писал. Релиз подразумевался вроде как текущий.
Ну ок, значит так. Релиз подразумевался как не текущий на тот момент. Это значит один из следующих. Может и ближайший, как пойдет.
Flasher писал(а):Посмотри исходники CudaLister, там это есть.
Да как именно реализовывать-то вроде вопросов и не возникало...
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):По-моему, не прокатит такой фокус с системными библиотеками.
Да, тут, пожалуй, подмена нужна.
Loopback писал(а):так как есть список (или дерево) слева, высота которого и определяет высоту диалога.
Так логика должна подсказывать, что урезать надо и его тоже. Не будет же он поверх нижнего края окна висеть. :lol:
Loopback писал(а):чтобы изначально иметь запас пространства и не втискивать потом контролы (как в настройках ТС, например).
Т.е. настройки ТС — это нестандартная практика? :) Как раз с такой практикой, как у тебя, крайне трудно столкнуться. Пытаюсь вспомнить другие программы с таким "запасом", и что-то на ум ничего не приходит. Если бы это было стандартной практикой, я бы об этом и не писал. И потом, у тебя есть в планах добавлять туда какие-то новые контролы? Потом растянуть под них окно разве будет проблемой?
Loopback писал(а):Релиз подразумевался как не текущий на тот момент.
В фразе "может в следующей" на тот момент мог подразумеваться как раз текущий (крайний выложенный).
Loopback писал(а):Да как именно реализовывать-то вроде вопросов и не возникало.
Судил по неуверенности в словах:
Loopback писал(а):"Я так понимаю, это реализуется функцией ListLoadNext. Должно быть не очень сложно".
Думал, что есть шанс внедрить фичу без переписывания.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher
Хотел было начать отвечать по пунктам, но что-то мне кажется, что на эту переписку уходит слишком много времени. А всё равно каждый останется при своём мнении. Решил лучше сделать что-то более продуктивное :)

Тестовая версия с ListLoadNext.

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

Сообщение Flasher »

Loopback
ListLoadNext работает. Спасибо! Теперь удобно. :) Сразу по песочным часам заметил, как плагин долго (ок. 2 сек) думает перед показом инфы, чего раньше не замечал.
Экзешник (прежний) так и падает. Ну, и фиг с ним, буду через ярлык запускать, не так принципиально.

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

Сообщение Loopback »

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

Сообщение Flasher »

Loopback писал(а):Но сейчас часы необходимы, иначе вообще непонятно, что плагин что-то делает.
Грузит данные. Что ж ещё? Меня вис часов напрягает. После Ctrl+Q часы исчезают куда быстрее (до отображения), чем при переходе на следующий файл. Я бы и при переходе предпочёл не видеть часов. Опцию можно добавить?
Loopback писал(а):может еще какая мысль придет, или потом сделаю отладочную версию.
ОК.
Loopback писал(а):Когда - не знаю.
Ясно.

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

Сообщение Loopback »

Flasher писал(а): Меня вис часов напрягает.
Без часов совсем неудобно - не видно реакции на нажатие клавиш. И мне кажется это не та фича, которая требует отдельной опции.
Flasher писал(а):1. Для глав кириллица идёт кракозябрами.
Не видел такого ни на одном файле. Вроде не должно быть, это же не теги mp3. Кинь пример.
Flasher писал(а):2. В компактных режимах если текст в левой колонке больше её фиксированной ширины, то он смешивается с текстом в правой.
Да, есть такое. Пока только можно увеличить InfoLeftMargin. Тут не так просто сделать автоматическое определение ширины, т.к. придется как-то в скрипте вычислять ширину каждой строки и находить максимальную.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Без часов совсем неудобно - не видно реакции на нажатие клавиш.
Процесс отображения и есть реакция. Другой не требуется. Удобства в часах при 2 сек нет никакого, а раздражающий фактор есть.
Loopback писал(а):Кинь пример.
В ЛС — пачка.
Сей момент не всех mkv касается, хватает и беспроблемных.
Loopback писал(а):т.к. придется как-то в скрипте вычислять ширину каждой строки и находить максимальную.
А перевод строки в первой колонке не сможешь сделать? А то есть очень длинные строки, в итоге читабельность напрочь пропадает.

И почему-то кнопка вместо плагина открывает файл в Листере:

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

TOTALCMD#BAR#DATA
%COMMANDER_EXE% /O /S=L:Ptcmediainfo
%V
wcmicons.dll,47
Видео под курсором в TCMediaInfo
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Сей момент не всех mkv касается, хватает и беспроблемных.
Скачал пару штук, главы криво добавлены изначально. Они одинаково криво выглядят и в MediaInfo GUI, и в mkvtoolnix, и в MPC-HC. Не думаю, что тут можно что-то исправить.
Flasher писал(а):А перевод строки в первой колонке не сможешь сделать?
Нет.
Flasher писал(а):И почему-то кнопка вместо плагина открывает файл в Листере:
Не пользовался этим никогда... Но проблема нашлась быстро - расширение плагина wdx, а эта штука работает только если оно wlx. Похоже на баг ТС.

Анонс

В процессе многомесячного марафона по доработке конфига :) постоянно появлялась мысль, что путь с задаваемыми источниками сильно ограничивает полет фантазии. Да и в целом код был слишком сложный и не очень эффективный, при увеличении количества источников эффективность падает всё больше. В результате wdx-часть была переписана с нуля.

Теперь плагин сохраняет все непустые поля, больше не нужно беспокоиться по поводу увеличения количества источников. Все значения доступны для скриптинга (работа со значениями реализована аналогично WLX). За счет оперативного кэша в памяти, после первичной загрузки из базы плагин работает быстрее. Данные дискового кэша хранятся в базе в сжатом виде, что позволяет сохранить ее размер в разумных пределах.

Понятное дело, преемственность конфига полностью сохранить не было возможности, но переделки в настройках полей минимальны. В узле источников теперь задаются только некоторые поля, которых по умолчанию нет в кэше (*/String) или для которых требуется специальная обработка. Как следствие, новую версию придется выпустить как глобальное обновление.

Пока версия имеет статус альфы, основной функционал должен работать, кое-какие дополнительные возможности пока совсем не реализованы, в частности диалог обслуживания.

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

Сообщение Flasher »

Loopback писал(а):Не думаю, что тут можно что-то исправить.
Основная масса отображает слово Глава в ANSI вместо UTF-8.

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

en:Глава 1
en:глава 1
Разве проблема определить кодировку?
Loopback писал(а):Нет.
А строку из второй колонки перенести на дополнительную? А то картинка такая себе:
Изображение
Loopback писал(а):Не пользовался этим никогда...
Удивительно. Нужная вещь, особенно для тестов.
Loopback писал(а):а эта штука работает только если оно wlx. Похоже на баг ТС.
Привязал к относительной символьной ссылке wlx\TCMediaInfo.wlx. Результат:

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

Crash in plugin TCMediaInfo.wlx:ListLoadW:
Access violation at address 02E0BAFF. Read of address 0000003C
Вообще это сообщение стало часто появлятся и при стандартных вызовах. Вдобавок ещё это: Error in configuration file! Please check it's structure. Файл неважен. И после первого всплыва ошибка остаётся всюду до переоткрытия ТС. Но и после перезапуска может сразу появляться.

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

Сообщение Loopback »

Flasher писал(а):Разве проблема определить кодировку?
Если UTF8 еще можно определить, то попробуй определи, что было написано тут:

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

[]绗?01 绔?
[]绗?02 绔?
[]绗?03 绔?
Flasher писал(а):А строку из второй колонки перенести на дополнительную?
Легко, переноси. Вместо одного вызова LineAddText будет два, первый выводит заголовок, второй - данные.
Flasher писал(а):Привязал к относительной символьной ссылке wlx\TCMediaInfo.wlx. Результат:
Делал то же самое, никаких падений. Файл конфига рядом со вторым файлом есть?
Flasher писал(а):В альфе ряд колонок из прежнего дефолтного конфига не отображается.
Потому что сделан на основе не окончательной версии конфига. На это пока можно не обращать внимания.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Если UTF8 еще можно определить
Нужно.
Loopback писал(а):то попробуй определи, что было написано тут:
Там реальный косяк. Он единственный. Больше таких не попадалось.
Loopback писал(а):Легко, переноси.
Так я тебе это предлагаю сделать. Прежде всего проверять ширину текста и в случае невмещения создавать вторую строку. Или ты считаешь, что то, что я привёл на скриншоте, — это нормальное положение вещей?
Loopback писал(а):Файл конфига рядом со вторым файлом есть?
Ага, теперь понял свою ошибку. Ну, там ещё MediaInfo.dll, Sqlite3.dll и lng ? должны быть. Проще тогда всё к wlx цеплять. Тебе, наверно, стоит заменить расширения и type=wlx в pluginst.inf.
Loopback писал(а):На это пока можно не обращать внимания.
Понятно. Тогда напиши, как конфиг будет готов.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Нужно.
Да что-то сомневаюсь, что прям так уж нужно. Из-за нескольких криворуко сделанных файлов придется городить целый огород и как-то вписывать эту проверку в скрипт, замедляя и так небыструю работу. Скорее всего придется добавлять отдельную функцию. И главное в чём профит? Узнать, что написано "Глава"? Все равно в плеерах отображаться будет криво.
Flasher писал(а):Прежде всего проверять ширину текста и в случае невмещения создавать вторую строку.
Посмотрим. Наверно, все же в первую очередь можно сделать динамическое положение разделителя по самой широкой строке, чтобы хотя бы не накладывалось. Остальные украшательства потом.
Flasher писал(а):Тебе, наверно, стоит заменить расширения и type=wlx в pluginst.inf.
Плагин уже идет как контентный на wincmd.ru.

Вообще для этих целей интересный подход применен в плагине Imagine. Там весь функционал в одной dll, а разные типы плагинов реализованы врапперами. Возможно, имеет смысл такой вариант, раз уж в ТС нет удобной работы с мультиплагинами в одном файле.
Flasher писал(а):Понятно. Тогда напиши, как конфиг будет готов.
Конфиг сейчас вторичен. Интересно, как в целом со стабильностью и скоростью работы.
Ответить