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 ... 28, 29, 30 ... 49, 50, 51  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: 147

Post (Separately) Posted: Sat Feb 09, 2019 22:19    Post subject: Reply with quote

Loopback
Quote:
Выложил дебажку


1.
Quote:
лучше запускать при выключенной базе

В файле конфигурации:
Code:
  <MemoryBase>False</MemoryBase>
  <UseBase>False</UseBase>

Выдало с начала одну ошибку. В окне с ошибкой нажал на кнопку ОК. ТС не завис и плагин продолжал работать. Через некоторое количество папок выдало ешё раз ошибку. Снова в окне с ошибкой нажал на кнопку ОК. ТС не завис и плагин продолжал работать. Через некоторое количество папок, ТС завис.
Вот ссылка на debug.log - Скачать

2. В файле конфигурации:
Code:
  <MemoryBase>False</MemoryBase>
  <UseBase>True</UseBase>


2.1 ТС завис без ошибок.
Попытка №1 - ссылка на debug.log - Скачать
Попытка №2 - ссылка на debug.log - Скачать

2.2 Выдало с начала одну и единственную ошибку. В окне с ошибкой нажал на кнопку ОК. ТС не завис и плагин продолжал работать. Скорость работы плагина уменьшилась на небольшое время, через несколько папок, скорость работы увеличилась. Еще через некоторое время, плагин перестал работать, а именно перестал выдавать информацию в поля, на всех полях данных было пусто. ТС не завис.
Вот ссылка на debug.log - Скачать
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Sun Feb 10, 2019 02:06    Post subject: Reply with quote

Lisabon
Спасибо за тестирование, непосредственная причина пока непонятна, но видно некоторые странности:

1. Почему-то на поле "All audio as string" (и только на нем) работа переходит из фонового в основной поток. Такого быть не должно. Я у себя попробовал добавить это поле, но такой картины не наблюдаю.

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

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



Joined: 18 Feb 2011
Posts: 147

Post (Separately) Posted: Sun Feb 10, 2019 11:54    Post subject: Reply with quote

Loopback
Quote:
на поле "All audio as string"

Поле "All audio as string" у меня используется в "HintsCustomField"
Code:
[HintsCustomField]
0exts=*.669; *.aac; *.ac3; *.adt; *.adts; *.adx; *.aif; *.aifc; *.aiff; *.aix; *.alac; *.amf; *.amr; *.ape; *.apl; *.au; *.bwf; *.caf; *.dff; *.dsf; *.dts; *.dtshd; *.eac3; *.far; *.fla; *.flac; *.it; *.kar; *.m1a; *.m2a; *.m4a; *.m4b; *.m4p; *.mid; *.midi; *.mka; *.mo3; *.mod; *.mp+; *.mp1; *.mp2; *.mp3; *.mpa; *.mpc; *.mpga; *.mtm; *.nst; *.ofr; *.ofs; *.oga; *.ogg; *.okt; *.opus; *.ptm; *.ra; *.rma; *.rmi; *.s3m; *.snd; *.spx; *.stm; *.tak; *.tta; *.ult; *.umx; *.wav; *.wma; *.wsd; *.wv; *.xm
0fields=[=tcmediainfo.All audio as string]


При работе с контекстным плагином, скорей всего попадает курсор на аудиофайл. Начинает дополнительно работать "HintsCustomField" и наверное поэтому начинает работать основной и фоновый поток.

Добавлено...
Quote:
Сделал вторую дебажку с более подробным выводом

В файле конфигурации:
Code:
  <MemoryBase>False</MemoryBase>
  <UseBase>False</UseBase>

1. TC падает.
Ссылка на debug.log - Скачать

2. ТС не падает, но через некоторое время, перестаёт работать плагин. Плагин выдаёт пустые значения в полях.
Ссылка на debug.log - Скачать

3. Выскочили две ошибки в процессе. ТС падает.
Ссылка на debug.log - Скачать

4. В WinCmd.ini убрал "HintsCustomField" в которой используется "All audio as string". При тестировании wdx-плагина, ошибки не появлялись и ТС не падал.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Sun Feb 10, 2019 20:24    Post subject: Reply with quote

Lisabon wrote:
Поле "All audio as string" у меня используется в "HintsCustomField"

Да, вот про подсказки забыл совершенно. Добавил у себя, появились вызовы из основного потока, хотя падений все равно нет.

Lisabon wrote:
В WinCmd.ini убрал "HintsCustomField" в которой используется "All audio as string". При тестировании wdx-плагина, ошибки не появлялись и ТС не падал.

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

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



Joined: 18 Feb 2011
Posts: 147

Post (Separately) Posted: Sun Feb 10, 2019 23:29    Post subject: Reply with quote

Loopback
Quote:
Тестовая версия здесь. Обязательно в конфиге отключите отладку

В файле конфигурации попробовал с такими параметрами:
Вариант №1
Code:
        <MemoryBase>False</MemoryBase>
        <UseBase>True</UseBase>
        <DebugMode>0</DebugMode>


и

Вариант №2
Code:
        <MemoryBase>False</MemoryBase>
        <UseBase>False</UseBase>
        <DebugMode>0</DebugMode>

и погонял.
Падений ТС не было, ошибок тоже не было, плагин работал без проблем. По ходу проблему решили. Спасибо!
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Mon Feb 11, 2019 00:23    Post subject: Reply with quote

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



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Mon Feb 11, 2019 20:55    Post subject: Reply with quote

Версия 0.8.1

Скачать

Список обновлений:

+ функция TimingFormat теперь возвращает пустую строку, если значение тайминга не может быть перобразовано в число
* WLX: удалены функции FieldGetFirst/FieldGetNext, используйте цикл с GetCount и Get
* WDX: удалена поддержка скриптов от ранних бет, в случае, если у вас еще есть такие, просто вручную уберите секцию "var" и "." после последнего "end"
- WDX: исправлена работа поля типа "список"
* изменения в системе записи отладочной информации
- WDX: исправлены падения плагина на некоторых системах после включения фоновой загрузки полей в 0.8.0
- исправлен баг с инсталляцией, конфигурация-пример не копировалась в рабочую
Back to top
View user's profile Send private message
Viman



Joined: 10 Jan 2005
Posts: 37
Location: Moscow

Post (Separately) Posted: Tue Feb 12, 2019 11:56    Post subject: Reply with quote

При попытке просмотра или быстрого просмотра папки вывод информации перехватывает плагин и выводит в режиме Аудио (компактный) такой текст:
Quote:
Script error : Invalid operand types for ">" (NDUR > 3600000 )

в Видео (компактный):
Quote:
Script error : Invalid parameters, function NUMBER (NUMBER ( GET ( 'Duration' ) ) )

Если попытаться переключиться на По-умолчанию (кстати, здесь тире не ставится), то Total Commander закрывается без каких-либо сообщений.
Windows 10 Pro 1809 x64, Total Commander 9.21a x64.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Tue Feb 12, 2019 14:08    Post subject: Reply with quote

Viman wrote:
просмотра или быстрого просмотра папки

Ого, вот это косяк Smile На папки плагин вообще не должен открываться. Спасибо, поправлю.

Viman wrote:
кстати, здесь тире не ставится

Знаю, просто почему-то очень не нравится вид этой фразы без дефиса. Но вообще, конечно, надо будет написать правильно.
Back to top
View user's profile Send private message
Viman



Joined: 10 Jan 2005
Posts: 37
Location: Moscow

Post (Separately) Posted: Tue Feb 12, 2019 16:30    Post subject: Reply with quote

Loopback wrote:
Знаю, просто почему-то очень не нравится вид этой фразы без дефиса.

Может, назвать этот режим Расширенный или Подробный? А то как-то интересно получается, что по факту по умолчанию отображается не он, а краткий режим.

Кстати, если уж речь об этом режиме. А можно ли в нём добиться отображения длительности в формате hh:mm:ss.fff?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Tue Feb 12, 2019 18:32    Post subject: Reply with quote

Viman wrote:
А то как-то интересно получается, что по факту по умолчанию отображается не он, а краткий режим.

Это сделано умышленно. Режим по умолчанию - это так называемый режим вывода Inform, просто выдающий все имеющиеся непустые поля. Там достаточно много информации, часто не представляющей интереса, а та, которая интересна - разбросана между неинтересной, и все это еще бывает не умещается на одном экране. Особенно это касается аудио и текстовых потоков в видео, как правило самую полезную информацию по ним можно уместить в одну строчку. Поэтому и возникла идея сделать максимально компактный шаблон с наиболее важной информацией.

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

Viman wrote:
А можно ли в нём добиться отображения длительности в формате hh:mm:ss.fff?

Нет, в Inform ничего менять нельзя. Только через свой шаблон.
Back to top
View user's profile Send private message
Viman



Joined: 10 Jan 2005
Posts: 37
Location: Moscow

Post (Separately) Posted: Tue Feb 12, 2019 19:08    Post subject: Reply with quote

Loopback wrote:
Режим по умолчанию - это так называемый режим вывода Inform, просто выдающий все имеющиеся непустые поля.

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

Loopback wrote:
Только через свой шаблон.

А можно где-то посмотреть правила его формирования?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Tue Feb 12, 2019 21:16    Post subject: Reply with quote

Viman wrote:
Поэтому и возникла мысль о его переименовании в Расширенный или Подробный. И это, по-моему, будет даже как-то более логично выглядеть рядом с кратким.

Когда будет сделан расширенный режим, этот я вообще думал убрать, ну или так и назвать его "Inform" и поместить где-нибудь в конце. В нем всё без перевода идет, мне это не очень нравится.

Viman wrote:
А можно где-то посмотреть правила его формирования?

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



Joined: 10 Jan 2005
Posts: 37
Location: Moscow

Post (Separately) Posted: Wed Feb 13, 2019 11:47    Post subject: Reply with quote

Loopback wrote:
справка полная уже есть

Вот как всегда, справку читаем в последнюю очередь. Каюсь.
Спасибо.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Thu Feb 21, 2019 21:31    Post subject: Reply with quote

Версия 0.8.2 бета, скачать можно здесь.

Из основного, добавлен новый режим просмотра, аналогичный стандартному Inform, но корректно (надеюсь) переводящий необходимые строки. Он теперь будет основным.

В принципе, мой список планируемого пуст, если всё нормально, то скоро будет релиз.

Единственная проблема остается в том, что я не могу в скриптах протестировать разделы типов содержимого: Menu (кроме глав), Image и Other - я так и не смог найти файлы, где были бы эти данные, и даже не очень представляю, как они должны выглядеть.

Список обновлений:
* WLX: небольшие правки в "компактных" режимах просмотра
* WDX: обновлены и локализованы скрипты колонок
+ узел <funclibraries>, где можно задавать библиотеки функций, используемых в разных скриптах
+ функция GetLang, вызываемая без параметров, возвращает текущий идентификатор языка (ENG, RUS...)
+ функция GetLang теперь глобальная и может использоваться как в WLX, так и в WDX
- WLX: исправлена проблема загрузки плагина, если предварительно не был загружен WDX-плагин
+ WDX: добавлена опция DataAutoUpdate для автоматического обновления записей базы после добавления нового источника
+ добавлен "Полный" режим просмотра, показывает все непустые поля без дополнительной обработки
+ обновлен файл MediaInfo.lng
- исправлено создание allprops.txt (стандартный вывод библиотеки обрезает некоторые длинные имена полей)
- исправлена работа функции StrIsNumber
- WLX: исправлено появление горизонтальной полосы прокрутки тогда, когда в ней нет необходимости
+ WLX: добавлен новый режим просмотра "По умолчанию", старый переименован в "Стандартный Inform"
+ StrPos теперь умеет искать с заданной позиции
* небольшие внутренние изменения
* удалены старые файлы справки readme_*.html
+ добавлена английская справка
- WLX: плагин больше не будет пытаться открывать каталоги
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 ... 28, 29, 30 ... 49, 50, 51  Next
Page 29 of 51

 
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