Страница 4 из 74

Добавлено: Чт авг 12, 2010 11:45
Loopback
ask-rus
Мне кажется, пусть лучше в одной будут. Потом сделаю как с TCTorrent - будет объединенный плагин + отдельно wdx.

Добавлено: Чт авг 12, 2010 12:09
Avada
Loopback
В таком случае разделять действительно нет смысла, а надо просто чуть изменить заголовок. Сделано.

Добавлено: Чт авг 12, 2010 12:25
Bartholomeo
Loopback
Еще. Изменил в Plugin Manager ассоциацию с "MULTIMEDIA & FORCE" на "MULTIMEDIA", внутр. просм. и быстр. просм. стали подцеплять нормально. Отбражение стало не в двоичном коде, а как надо "графика и т.п."
Еще раз спасибо.

Добавлено: Чт авг 12, 2010 12:56
Alextp
заглянул случайно.
Кажется надо делать ассоц-ю не "MULTIMEDIA & FORCE" а "MULTIMEDIA | FORCE" т.к. иначе плагин активиз. только при force , т.е. при вызове ручном режима 4.

Добавлено: Чт авг 12, 2010 21:12
Loopback
Alextp
Да, вполне возможно.

Добавлено: Пт авг 20, 2010 11:46
Bartholomeo
Фантазирую. А возможно ли сделать так, чтобы инфо показывалось во всплывающей подсказке при наведении курсора мыши на медиафайл?

Добавлено: Пт авг 20, 2010 16:08
Loopback
Bartholomeo
Гислер эти фантазии давно воплотил, у тотала есть такой стандартный функционал. В подсказку для заданного типа файла выводится информация из полей wdx-плагина. Смотри в настройках, "Содержимое панелей - Пользовательские".

Добавлено: Сб авг 21, 2010 01:32
Bartholomeo
Loopback
Спасибо, напомнил, а то я маразмирую. У меня уже к jpg было настроено - забыл.
--------------
Loopback, у меня wdx показывает все, что нужно только для divx, avi (с WMV3, DX5, XviD внутри) и mp4.

В остальных видео (wmv, mpg, mpeg) не показывает нужный мне stream size с любым string - ни в колонках, ни, соответственно, в подсказке. А wlx для этих типов отражает. Пробовал поместить mpg в mkv, безрезультатно. А вот если wmv3 (в vdub) или mpg (в avidemux) сохранить в avi (stream copy), то тогда wdx отображает stream size.

Для flv (vp6,7, avc) wdx не показывает ничего (в форматы добавил), wlx и в GUI отражается.

Еще. Попробовал обновить библиотеку (на MediaInfo_DLL_0.7.34_Windows_i386) в wdx, - заменил библиотеку копированием, обновил, как в инструкции, батником saveprops.bat текстовый файл allprops.txt, но плагин перестал работать.

MediaInfoActiveX.dll зарегистрирован, все перезапускал, как надо.

Нужно ждать доработки плагина(ов) или это я что-то не так сделал?

Добавлено: Вс авг 22, 2010 01:27
Loopback
С окончанием жары возникло вдруг непреодолимое желание поправить, наконец, этот плагин :) Желанию противиться не стал. В общем, пришлось переписать почти с нуля, поскольку изначально он все же получился довольно корявым. Всё сильно изменилось, поэтому к сожалению, тому кто уже делал свои настройки к старой версии, придется всё делать заново.

1. Конфиг хранится в XML. На мой взгляд, структуру стало хранить несравненно удобнее и логичнее.
2. Добавлена база для ускорения загрузки информации. То что я ранее говорил насчет скорости Sqlite можно спокойно забыть.
3. Значение колонки можно собирать на основе нескольких полей MediaInfo.
4. Для скриптинга теперь используется Pascal Script, с точки зрения возможности поддержки юникода, к тому же он развивается.
5. Плагин теперь юникодный.

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

Скачать

Bartholomeo писал(а):В остальных видео (wmv, mpg, mpeg) не показывает нужный мне stream size
Попробуй новую версию с новой библиотекой. Если не заработает, надо искать, в какое поле библиотека выводит нужную инфу. По-идее, всё, что видно в листерном плагине, может быть получено отдельно, надо только найти нужное поле.
Bartholomeo писал(а):Еще. Попробовал обновить библиотеку (на MediaInfo_DLL_0.7.34_Windows_i386)
В новой версии исправлено.
Bartholomeo писал(а):MediaInfoActiveX.dll зарегистрирован
А вот это для плагина не нужно совершенно. Никакого ActiveX-а, я это дело не люблю :)

Добавлено: Вс авг 22, 2010 01:56
Bartholomeo
Loopback
Качаю. Не терпится испытать. Спасибо!
------
Loopback, при установке (и далее при обращении к плагину) выскакивает окошко TCMediaInfo
Compiler error in column 'Audio codec custom'
[Error] (1:68): Unknown identifier 'AudiocodecID'
При добавлении колонки Аудиокодек (польз) плагин отображает Error, а Видеокодек (польз) работает.

И еще. Я так понял, если не буду использовать базу, то в xml должен поставить <UseBase>False</UseBase>?
----
ТС 7.55а, ХР3

Добавлено: Вс авг 22, 2010 11:53
Loopback
Bartholomeo писал(а):при установке (и далее при обращении к плагину) выскакивает окошко TCMediaInfo
Да... в последний момент удалил строчку из конфигурации, только удалил по ошибке определение источника вместо колонки. Залил обновленную версию (ссылка та же), там правильный TCMediaInfo.sample.xml. Или можешь просто в узел "sources" добавить строчку

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

<source name="AudioCodecID" field="CodecID" context="Audio"/>
Bartholomeo писал(а):Я так понял, если не буду использовать базу, то в xml должен поставить <UseBase>False</UseBase>?
Совершенно верно. Тогда можно даже Sqlite3.dll удалить.

Добавлено: Вс авг 22, 2010 14:53
ProgMan13
Если запущено две копии тотала и обе пытаются писать в один файл - будут проблемы. Хотя читать могут оба спокойно.
Мутексы в помощь. Перед запись создать мутекс, после - разрушить. Потом перед записью проверять наличие мутекса, например, секунд 10, если мутекс не разрушен - просто не записывать.
02.03.10 Fixed: when TC was started from two different user names (via Runas), the second one couldn't write to the log file and access the thumbs database (requires security descriptor in CreateMutex to allow it)
Эта цитата из истории TC показывает возможные проблемы доступа.

Добавлено: Вс авг 22, 2010 16:16
Bartholomeo
Loopback
Да. Спасибо. Теперь устанавливается без ошибок.
Loopback, никак не осилю xml. Мне нужно получить StreamSize/String5: With proportion, он же, по-моему, просто StreamSize/String.
Я вставил в узел источников строку <source name="VideoStreamSize" field="StreamSize/String5" context="Video"/>, а в узел колонок в секции <!-- Video --> строку <column name="VideoStreamSize">type="template">StreamSize/String5</column>. Результата никакого. Пробовал просто <column name="VideoStreamSize">StreamSize/String5</column> - то же. Также и для Audio.

Как мне поступить?

Добавлено: Вс авг 22, 2010 16:24
MVV
Loopback писал(а):Правда, что касается базы, осталась одна проблема, которую пока не знаю, как решить. Если запущено две копии тотала и обе пытаются писать в один файл - будут проблемы. Хотя читать могут оба спокойно. Как корректно понять, что в данный момент в базу другим
ProgMan13 писал(а):процессом выполняется запись - неясно.
Мутексы в помощь. Перед запись создать мутекс, после - разрушить. Потом перед записью проверять наличие мутекса, например, секунд 10, если мутекс не разрушен - просто не записывать.
А по-моему, тут спокойно и без мутексов можно обойтись - сам файл отлично сыграет роль мутекса:

Если надо выполнить запись в базу, чтобы вторая копия не смогла одновременно записать в тот же файл, но могла читать в это время, открываем файл на запись с флагом одновременного доступа FILE_SHARE_READ и без флага FILE_SHARE_WRITE. А если нужно, чтобы вторая копия и читать файл не могла, пока первая пишет в него, открываем без флагов одновременного доступа. После записи, естественно, закрываем файл. При этом при попытке открыть файл из другой копии в доступе будет отказано - и можно будет те же 10 секунд выждать и попытаться еще раз. В функции CreateFile за одновременный доступ отвечает параметр dwShareMode. И, по идее, более высокоуровневые средства записи в файл тоже должны поддерживать нечто подобное.

Добавлено: Вс авг 22, 2010 17:42
Loopback
ProgMan13 писал(а):Мутексы в помощь. Перед запись создать мутекс, после - разрушить.
Возможно, таким путем и придется пойти. Но хотелось бы найти родные средства Sqlite для управления общим доступом.
Bartholomeo писал(а):Мне нужно получить StreamSize/String5: With proportion,
Всё сделано почти правильно, только в тексте колоночного узла должно быть не имя поля MediaInfo, а имя источника. Вот так:

<column name="Video Stream Size">VideoStreamSize</column>
MVV писал(а):Если надо выполнить запись в базу, чтобы вторая копия не смогла одновременно записать в тот же файл, но могла читать в это время, открываем файл на запись с флагом одновременного доступа FILE_SHARE_READ и без флага FILE_SHARE_WRITE.
Тут немного сложнее, поскольку всеми файловыми операциями занимается библиотека. Функция sqlite3_open не принимает никаких флагов. В общем, если встроенных средств не найдется, мутексы выглядят более реальным решением.

В целом, Sqlite очень неплохо документирована, буду искать. Просто думал может кто-то с ней уже имел дело.