Loopback
|
Posted: Wed Oct 19, 2022 17:26 Post subject: |
|
|
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>
|
|
|