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 

Single Post  Topic: [wlx/wdx] TCMediaInfo 
Author Message
Loopback



PostPosted: Wed Oct 19, 2022 17:26    Post subject: Reply with quote

790 wrote:
Ну хотя бы режим просмотра можно было бы и запомнить без правки xml?

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

790 wrote:
А для компакт-режима и галочек-то не много надо...

Еще раз, весь вывод полностью формируется скриптом, в том числе для компактного режима. О каких галочках тут вообще может идти речь?

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

790 wrote:
Как отключить ненужное в "Video (compact)" ? Я там пробовал ковыряться, но всё это приводило только к краху плагина.
Заранее извиняюсь, у каждого свои потребности, это только моё личное мнение

К краху вряд ли, наверно просто сообщение выводилось об ошибке?

И да уж, требования весьма специфические. Впрочем, резать проще, чем добавлять, вот упрощенный
вариант по перечисленным хотелкам. Можно заменить им узел Video (Compact) или добавить отдельно перед ним.

Code:

         <view name="Video (790)" extensions="AVI,DIVX,MPG,MPEG,MPE,DAT,ASF,VOB,MKV,OGM,M2TS,TS,MTS,MOV,WMV,MP4,M4V,AVC,FLV,D2V">
         <![CDATA[
            uses 'Common';

            if Get('Cover') <> '' then LineAddCover('', 5, 5);

            LineAddHeader(GetName('General'));
            AddCheck('Title', 'General');

            LineAddText(GetName('Duration'), FormatDuration(Get('Duration', 'General')));

            if GetCount('Video') > 0 then
            begin
               LineAddHeader(GetName('Video'));
               for i:=0 to GetCount('Video')-1 do
               begin
                  sName:='['+String(i)+'] ';

                  stream := Get('Width', 'Video', i) + 'x' + Get('Height', 'Video', i);
                  dar := Get('DisplayAspectRatio/String', 'Video', i);
                  if dar <> '' then stream := stream + ' (' + dar + ')';

                  LineAddText(sName, stream);
               end;
            end;

            if GetCount('Audio') > 0 then
            begin
               LineAddHeader(GetName('Audio'));
               for i:=0 to GetCount('Audio')-1 do
               begin
                  sName:='['+String(i)+'] ';
                  sTitle := Get('Title', 'Audio', i);

                  stream:=sTitle;
                  sCN := Get('Channel(s)', 'Audio', i);
                  if sCN <> '' then stream:=stream + ' (' + FormatChannels(sCN) + ')';

                  LineAddText(sName, stream);
               end;
            end;

            // add line if value is not empty
            procedure AddCheck(Field, Context);
            begin
               R:=Get(Field, Context);
               if R = '' then Exit;
               LineAddField(Field, Context);
            end;
         ]]>
         </view>

View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group