Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[wlx/wdx] TCMediaInfo
Goto page Previous  1, 2, 3 ... 27, 28, 29 ... 38, 39, 40  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Lisabon



Joined: 18 Feb 2011
Posts: 144

Post (Separately) Posted: Mon Jan 28, 2019 01:26    Post subject: Reply with quote

Quote:
Попробуйте на этой версии, будет ли падать.

Погонял и падений с ошибками не обнаружил.

По предыдущей версии дополню, что ошибка происходит, если формируется база данных из аудиофайлов. Если база уже сформирована, то сколько не гоняй плагин, падений с ошибками не наблюдалось. Я вот думаю, что возможно не успевает формироваться(записываться) база из аудиофайлов. Может при формировании базы, создать искусственную задержку на запись в базу. Но всё это мои догадки, как там реально работает, виднее только вам.
Back to top
View user's profile Send private message
Lisabon



Joined: 18 Feb 2011
Posts: 144

Post (Separately) Posted: Mon Jan 28, 2019 11:54    Post subject: Reply with quote

1. При использовании wlx плагина, в режиме просмотра Видео (компактный), на файлах ts, tp, m2ts, mts, появляется сообщение:
Code:
Invalid operand types for ">" (NDUR > 3600000  )


2. При использовании wdx плагина, на файлах ts, tp, m2ts, mts, плагин не отдаёт информацию о длительности (duration) файла, при этом, при использовании wlx плагина на файлах ts, tp, m2ts, mts - длительность (duration) файла отображается.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 964

Post (Separately) Posted: Mon Jan 28, 2019 12:26    Post subject: Reply with quote

Lisabon wrote:
По предыдущей версии дополню, что ошибка происходит если формируется база данных из аудиофайлов.

Спасибо, важное дополнение. Проблема скорее всего связана с доступом к базе из разных потоков. Хотя по-умолчанию SQLite готова к такой работе, возможно я что-то все же не учел. Есть одна мысль, попробую вечером сделать еще тестовую версию. На всякий случай, вы обновляли версию библиотеки SQLite из последнего дистрибутива плагина?

Самое печальное, что сейчас у меня эта проблема больше никак не проявляется. Даже если запускаю одновременно две копии тотала на одном каталоге.
Back to top
View user's profile Send private message
Lisabon



Joined: 18 Feb 2011
Posts: 144

Post (Separately) Posted: Mon Jan 28, 2019 12:38    Post subject: Reply with quote

Quote:
На всякий случай, вы обновляли версию библиотеки SQLite из последнего дистрибутива плагина

Да, из последнего.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 964

Post (Separately) Posted: Thu Jan 31, 2019 13:32    Post subject: Reply with quote

Lisabon
Сделал тестовую версию, попробуйте, будет ли падать на ней.

Lisabon wrote:
на файлах ts, tp, m2ts, mts, появляется сообщение

Да, похоже на таких файлах приходит дробное значение, которое не преобразовывается автоматически в число. Замените в шаблоне строчку
Code:
nDur := Get('Duration');

на
Code:
nDur := Number(Get('Duration'));


Lisabon wrote:
wdx плагина, на файлах ts, tp, m2ts, mts, плагин не отдаёт информацию о длительности

Та же ситуация. Исправленный код поля:
Code:

        <column name="Duration">
            <unit name="hh:mm:ss" type="script">Output:=TimingFormat('%hh:%mm:%ss', Number(Duration));</unit>
            <unit name="hh:mm:ss.fff" type="script">Output:=TimingFormat('%hh:%mm:%ss.%fff', Number(Duration));</unit>
            <unit name="s" type="script">Output:=Trunc(Duration/1000);</unit>
            <unit name="z">Duration</unit>
            <unit name="Custom" type="script">
            <![CDATA[
              Output:='';
              if Not StrIsNumber(Duration) then Exit;
           nDur := Number(Duration);
              Hour:=Trunc(nDur/3600000);
              Min:=Trunc((nDur-Hour*3600000)/60000);
              Sec:=Trunc((nDur-Hour*3600000-Min*60000)/1000);
              if (Hour <> 0) then Output:=IntToStr(Hour)+' hr ';
              if  (Min <> 0) then Output:=Output+IntToStr(Min) +' min ';
              if  (Sec <> 0) then Output:=Output+IntToStr(Sec) +' sec ';
            ]]>
            </unit>
        </column>
Back to top
View user's profile Send private message
Lisabon



Joined: 18 Feb 2011
Posts: 144

Post (Separately) Posted: Thu Jan 31, 2019 16:19    Post subject: Reply with quote

Loopback
Quote:
Замените в шаблоне строчку

Quote:
Исправленный код поля:

Поправил в файле TCMediaInfo.xml и погонял плагин. Проблемы с отображением длительности (duration) в wdx плагине на файлах ts, tp, m2ts, mts не наблюдаю. Спасибо.

Quote:
тестовую версию, попробуйте, будет ли падать на ней

И так. Удалил файл Base.db и перезагрузил TC. Дальше переключил на пользовательский набор колонок (в моём случае Аудио), где используется wdx плагин и начал гонять по всем своим аудиофайлам. В итоге вылазят ошибки и TC подвисает.
Сами ошибки вот такие:
Code:
Crash in plugin TCMediaInfo.wdx:
External exception EEDFADE

Crash in plugin TCMediaInfo.wdx:
Access violation at address 048E3877. Write of address 00680074

Crash in plugin TCMediaInfo.wdx:
Access violation at address 048E3877. Write of address 00670065

Crash in plugin TCMediaInfo.wdx:
Access violation at address 048E3877. Write of address 00680076

Crash in plugin TCMediaInfo.wdx:
Access violation at address 048E3871. Read of address 8BB484FC

Crash in plugin TCMediaInfo.wdx:
Access violation at address 048E3877. Write of address 00650060

Crash in plugin TCMediaInfo.wdx:
Access violation at address 048E3871. Read of address 00000024

Crash in plugin TCMediaInfo.wdx:
Access violation at address 086A3877. Write of address 006C0070

Crash in plugin TCMediaInfo.wdx:
Access violation at address 086A3BF9. Write of address 0054004D

Crash in plugin TCMediaInfo.wdx:
Access violation at address 086A3BEB. Write of address 00000000

Crash in plugin TCMediaInfo.wdx:
Access violation at address 086A5610. Read of address E7FFFFFD

Crash in plugin TCMediaInfo.wdx:
Access violation at address 086A38A7. Write of address 0054004D

Crash in plugin TCMediaInfo.wdx:
Access violation at address 086A3871. Read of address FFFFFFFC


Ещё дополню. Ошибка быстрей появляется, если количество файлов в папке около 100 - 200. В папках я листаю файлы быстро, скролом мыши или с клавиатуры клавишами PageDown и PageUp.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 964

Post (Separately) Posted: Fri Feb 01, 2019 15:55    Post subject: Reply with quote

Lisabon
В общем все очень загадочно. Как ни пытаюсь, повторить не получается. Win8 у меня нет, но ни на Win7, ни на Win10 разницы нет. В то же время включить отложенную загрузку тут хотелось бы, при таком-то времени получения данных.

Конфиг использован чистый, с последней версии? Если нет, то этот параметр

Code:
<DebugMode>0</DebugMode>


равен нулю или там что-то установлено? Если что-то стоит, нужно попробовать поставить в 0.
Back to top
View user's profile Send private message
Lisabon



Joined: 18 Feb 2011
Posts: 144

Post (Separately) Posted: Fri Feb 01, 2019 16:28    Post subject: Reply with quote

Quote:
Конфиг использован чистый, с последней версии?

Конфиг брал с wdx_tcmediainfo_080_beta, но добавил свои пункты и свой файл конфигурации, я выкладывал ранее.

Quote:
то этот параметр

Код:
<DebugMode>0</DebugMode>
равен нулю или там что-то установлено?

Когда тестировал wdx_tcmediainfo_080_beta, то значение было True.
Когда тестировал tcmeadiainfo_test_20190131, то значение было 0.

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

Добавлено...
Попробовал с чистым файлом конфигурации, без моих добавок, взятый из wdx_tcmediainfo_080_beta и тоже выдаёт ошибки с подвисанием ТС.

Если никак не получится сие поправить, то можно ли добавить новую опцию, которая давала возможность, включать/отключать отложенную загрузку?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 13639
Location: Москва

Post (Separately) Posted: Fri Feb 01, 2019 17:02    Post subject: Reply with quote

Lisabon wrote:
добавить новую опцию
А разве UseBase/MemoryBase не то? В хелпе дано описание.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Lisabon



Joined: 18 Feb 2011
Posts: 144

Post (Separately) Posted: Fri Feb 01, 2019 18:07    Post subject: Reply with quote

Flasher
Не то, но попробовал изменить опцию MemoryBase с False на True, чтобы база создавалась в памяти, а не на диске, и плагин держится дольше, прежде чем выдаст ошибки.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 964

Post (Separately) Posted: Fri Feb 01, 2019 18:28    Post subject: Reply with quote

Lisabon
Была такая мысль, хотя это будет костыль, а не решение.

Кстати, а если совсем отключить базу, тоже падает?

Flasher
Нет, MemoryBase просто создает временную базу в памяти, а не на диске, т.е. кэширование работает до закрытия тотала.

Отложенное получение данных это другое. Если загрузка данных занимает много времени, тотал может загружать плагин в фоновом потоке. Соответственно окно тотала не тупит при получении данных. Вот тут-то и начинаются проблемы.
Back to top
View user's profile Send private message
Lisabon



Joined: 18 Feb 2011
Posts: 144

Post (Separately) Posted: Fri Feb 01, 2019 20:50    Post subject: Reply with quote

Loopback
Quote:
Кстати, а если совсем отключить базу, тоже падает?

Падает.

Может расширенную дебаг-версию плагина сделать, чтобы фиксировала всё, что происходит во время работы плагина, может так можно отловить баг.
Back to top
View user's profile Send private message
BeTeP



Joined: 31 Mar 2005
Posts: 79
Location: Санкт-Петербург

Post (Separately) Posted: Fri Feb 01, 2019 21:19    Post subject: Reply with quote

Lisabon wrote:
Ещё дополню. Ошибка быстрей появляется, если количество файлов в папке около 100 - 200.

Лично у меня плагин работает нормально, никаких ошибок. Даже в папках с количеством файлов 300+. Нормально работает и со своим конфигом и с конфигом, который идёт в комплекте с плагином.
Windows 7 (х64). ТС 9.21a (32 bit).
Так же, ради любопытства, проверял плагин на ТС 8.01 (32 bit) и ТС 8.52а (64 bit) - никаких проблем.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 964

Post (Separately) Posted: Fri Feb 01, 2019 23:20    Post subject: Reply with quote

Lisabon
Понятно, ну хотя бы круг поиска немного сужается, значит проблема на этапе получении данных из библиотеки, либо со скриптингом.

Да, надо будет дебажку сделать, может что-то прояснится.

BeTeP
Ну вот и у меня тоже, тестовый каталог более 500 файлов, проблем нет. Но во всяком случае у Lisabon проблема четко проявляется при включении фоновой загрузки, так что она есть.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 964

Post (Separately) Posted: Sat Feb 09, 2019 20:05    Post subject: Reply with quote

Lisabon
Выложил дебажку. Наверно, раз проблема проявляется без базы, лучше запускать при выключенной базе, меньше лишнего будет писать в лог. Включать отладку в конфиге необязательно, тут она включена принудительно.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 27, 28, 29 ... 38, 39, 40  Next
Page 28 of 40

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group