Страница 40 из 74
Добавлено: Вс авг 11, 2019 00:41
Flasher
Loopback писал(а):запомнить индекс того, там где будет "Yes".
А что именно должно возврашать Yes? Get?
Loopback писал(а):Те, что в unit, будут работать только в панелях.
А как-то скрытно продублировать их нельзя?
Loopback писал(а):Только убрать узлы <separator> из конфига.
Тогда разделитель и из диалога "Выбор поля плагина" исчезнет? Этого нужно избежать.
Loopback писал(а):когда добавляешь в конфиг источники
В конфиг? Может, в базу?
Loopback писал(а):а для имеющихся файлов в добавленных источниках нет данных.
Т.е. с отключённым автообновлением разные наборы колонок для тех же групп файлов применять нельзя? Я наткнулся на это через поиск по полю и вывод на панель, если что.
И это относится только в показу в колонках? Или в подсказках тоже будут дыры?
Тестировал вывод лирики, кстати? У меня так и не получилось. И что, если для подсказок некие символы менять на '\n'? Тотал поймёт, что нужен перевод строки?
Добавлено: Вс авг 11, 2019 11:52
Loopback
Flasher писал(а):А что именно должно возврашать Yes? Get?
Тут же не листер, Get не работает. Нужно создать источник(и) по полю Default для всех потоков аудио.
Flasher писал(а):А как-то скрытно продублировать их нельзя?
Что значит продублировать? Плагин по запросу тотала возвращает данные и тип данных, который может отличаться от изначально заданного для колонки. Дальше я уже ничего не контролирую.
Flasher писал(а):Тогда разделитель и из диалога "Выбор поля плагина" исчезнет? Этого нужно избежать.
Исчезнет. Не избежать. В Тотале вообще-то не предусмотрены сепараторы, это просто такое же поле, как другие.
Flasher писал(а):В конфиг? Может, в базу?
Ну ты же базу напрямую не редактируешь? Добавляешь в конфиг, в базе они потом создаются.
Flasher писал(а):Т.е. с отключённым автообновлением разные наборы колонок для тех же групп файлов применять нельзя?
Почему нельзя? Можно, но без включенного автообновления обновляться они автоматически не будут.
Панели, подсказки - без разницы. Есть данные в базе - будет показано, нет данных - не будет.
Flasher писал(а):Тестировал вывод лирики, кстати? У меня так и не получилось. И что, если для подсказок некие символы менять на '\n'? Тотал поймёт, что нужен перевод строки?
Нет, я думал вы там уже пришли к чему-то. Проверил, лирика из файла отображается, но коряво, конечно.
Переносы наверно должен понять, они же используются в синтаксисе подсказок. [s]Но это не точно.[/s] Не работают.
Добавлено: Вс авг 11, 2019 14:57
Flasher
Loopback писал(а):Нужно создать источник(и) по полю Default для всех потоков аудио.
Как? В column есть выжимка по unit. А в source что?
И что будет идентификатором для потоков? Как мне дальше не/получить Yes? Во всём конфиге это слово фигурирует только в отношении листерного Get. А в справке про него вообще ни слова.
Loopback писал(а):Что значит продублировать?
Указать с каждым из типов.
Loopback писал(а):Не избежать.
Тогда проехали.
Loopback писал(а):Почему нельзя? Можно, но без включенного автообновления обновляться они автоматически не будут.
Нельзя — в фигуральном смысле. Т. е. теряется КПД от такого подхода.
Но угловые скобки в любом случае в порядок привести стоит.
Loopback писал(а):Добавляешь в конфиг, в базе они потом создаются.
А, не о тех источниках подумал.
Loopback писал(а):Проверил, лирика из файла отображается, но коряво, конечно.
Добавляю по строчке:
- <source name="AudioResolution" field="BitDepth" context="Audio"/>
<source name="Lyrics" field="Lyrics" context="Audio"/>
...
- <column name="Resolution">AudioResolution</column>
<column name="Lyrics">Lyrics</column>
Ничего в колонку/подсказку по [=tcmediainfo.Lyrics] не выводится.
Loopback писал(а):Не работают.
А если на символы CR/LF менять?
Забыл написать — в конфиге на нескольких строках в отступах пробелы остались.
Добавлено: Вс авг 11, 2019 19:14
Loopback
Flasher писал(а):Как? В column есть выжимка по unit. А в source что?
Типа такого. Не тестировал, кроме того тут по идее еще Forced надо учитывать.
Код: Выделить всё
<source name="DefStream" field="Default" context="Audio" stream="*"/>
...
<column name="DefLang" type="script">
<![CDATA[
idx := 0;
for i := 1 to AudioStreamCount do
begin
res := StrPart(DefStream, ' / ', i);
if (res = 'yes') then
begin
idx:=i;
break;
end;
end;
if idx > 0 then Output:=StrPart(AudioLanguageList, ' / ', idx);
]]>
</column>
Flasher писал(а):Указать с каждым из типов.
Не понял, что где указывать.
Flasher писал(а):Нельзя — в фигуральном смысле. Т. е. теряется КПД от такого подхода.
Но угловые скобки в любом случае в порядок привести стоит.
Да ничего тут не теряется. Скобки поправлю, это последствие исправления бага с MultiSeparator.
Flasher писал(а):Ничего в колонку/подсказку по [=tcmediainfo.Lyrics] не выводится
Lyrics находится в глобальном контексте:
Код: Выделить всё
<source name="Lyrics" field="Lyrics"/>
...
<column name="Lyrics">
<unit name="replace" type="script">Output:=StrReplace(Lyrics, '/ ', '');</unit>
</column>
Flasher писал(а):А если на символы CR/LF менять?
Попробую, без правки плагина пока служебные символы вставить нельзя.
Добавлено: Вс авг 11, 2019 21:52
Flasher
Loopback писал(а):Не тестировал, кроме того тут по идее еще Forced надо учитывать.
Forced — это что?
Код: Выделить всё
res := StrPart(DefStream, ' / ', i);
if (res = 'yes') then
Так. А что должен возращать отдельно DefStream? Мне ничего не выдаёт. Соответственно, и со скриптом не работает. По логике StrPart там должно быть что-то типа "no / yes / no".
Loopback писал(а):Не понял, что где указывать.
Ладно, не суть. Тогда лучше убрать unit-ы и сделать два раздельных поля.
Loopback писал(а):Да ничего тут не теряется.
Как же. Сам пишешь:
Loopback писал(а):без включенного автообновления обновляться они автоматически не будут.
Loopback писал(а):Lyrics находится в глобальном контексте:
А, ясно. Как тут не хватает регулярок, чтобы от Title: ... artist: ... album: ... music : ... lyrics: избавиться. Может, внедришь?
Loopback писал(а):Попробую
ОК.
Добавлено: Пн авг 12, 2019 11:43
Loopback
Flasher писал(а):Мне ничего не выдаёт.
Наверно, тестируешь на mp4? Это фича mkv, на других ничего не будет выдаваться. Forced - принудительное включение потока, я так понимаю, в первую очередь для субтитров сделано.
Flasher писал(а): Тогда лучше убрать unit-ы и сделать два раздельных поля.
Не в дефолтном конфиге.
Flasher писал(а):Может, внедришь?
Не знаю. Без поддержки массивов кроме замены ничего вменяемого из этого не выйдет.
Flasher писал(а):ОК
Замена на CR/LF не работает.
Добавлено: Ср авг 14, 2019 04:51
Flasher
Loopback писал(а):Наверно, тестируешь на mp4? Это фича mkv, на других ничего не будет выдаваться.
И на mkv тоже тихо.
Loopback писал(а):Без поддержки массивов кроме замены ничего вменяемого из этого не выйдет.
Так замена и нужна.
Loopback писал(а):Замена на CR/LF не работает.
Жаль.
P.S.: Технические неисправности с машиной возникли. Не мог раньше ответить.
Добавлено: Чт авг 15, 2019 21:43
Loopback
Flasher писал(а):И на mkv тоже тихо.
Сравнение вот так запиши, в остальном работает.
Flasher писал(а):Так замена и нужна.
Посмотрим, но не обещаю.
Добавлено: Чт авг 15, 2019 22:12
Flasher
Loopback писал(а):Сравнение вот так запиши, в остальном работает.
Да. Теперь показывает. Не на всех mkv, как и не на всех mp4/m4v, кстати.
Забил в поиск
^N.+ по полю DefSream. Оказалось, что есть переведённые видео вообще без Yes (No / No[ / No]). И их куда больше, чем "No[ / Yes / No]", которых вообще единицы. Но в подавляющем большинстве Yes стоит первым.
Добавлено: Пт авг 16, 2019 20:07
Loopback
Конфиг + тестовая версия.
Косяк с <empty> исправил, но данные в базе теперь надо надо обновить.
Всё, завтра-послезавтра релиз.
Добавлено: Вс авг 18, 2019 22:33
Flasher
Loopback писал(а):Посмотрим, но не обещаю.
В текущей версии ждать не стоит?
Бага нет. Числовые типы все (кроме несогласованного) на месте.
Правки хелпа — в ЛС.
Add: Уже не первый раз сталкиваюсь с ситуацией, когда при 28 добавленных колонках данные для последней (например, "Коды языков Аудио") не отображались. После добавки 29-й стали отображаться, но и в новой (например, "Всё аудио строкой") попало всё из предыдущей.

Добавлено: Пн авг 19, 2019 23:16
Loopback
Flasher писал(а):В текущей версии ждать не стоит?
Нет. Встроенный дельфийский использовать не хочу, слишком тяжелый он для одной функции. Однако нашелся еще один вариант, неожиданно обновившийся после многих лет мой любимый
TRegExpr. Но его надо будет тестировать, в частности по поддержке юникода и х64, поэтому не в этой версии точно.
Flasher писал(а):Уже не первый раз сталкиваюсь с ситуацией, когда при 28 добавленных колонках данные для последней (например, "Коды языков Аудио") не отображались. После добавки 29-й стали отображаться, но и в новой (например, "Всё аудио строкой") попало всё из предыдущей.
Что-то вот так сразу не смог повторить. Да и лирику я когда тестировал фактически повторил описанный порядок, тоже не было аномалий.
Добавлено: Вт авг 20, 2019 00:13
Flasher
Loopback писал(а):поэтому не в этой версии точно.
ОК. Подожду.
Loopback писал(а):Что-то вот так сразу не смог повторить.
Без отладочных механизмов я тебе вряд ли что-то новое напишу. Кроме:
Код: Выделить всё
<MemoryBase>False</MemoryBase>
<UseBase>True</UseBase>
Кстати,
косяк с TCMediaInfo.exe удалось побороть?
Добавлено: Вт авг 20, 2019 12:59
Loopback
Flasher писал(а):Кстати, косяк с TCMediaInfo.exe удалось побороть?
Не знаю, у меня он ни разу не проявлялся. Попробуй вариант из сегодняшнего релиза, кое-что поправил, что потенциально могло влиять, но опять же, для меня ничего не изменилось.
Добавлено: Вт авг 20, 2019 16:06
Flasher
Loopback
Попробовал. То же самое. В общем, заменил vbs-ом на 79 байт:
Код: Выделить всё
CreateObject("WScript.Shell").Run "rundll32 TCMediaInfo.wdx,OpenConfigDialog"
Вообще диалог хорошо бы ужать до рамок первой страницы с кнопкой 'Закрыть' под ними. Рамки, кстати, гуляют по ширине.
По правкам хелпа ты кое-что упустил. См. в ЛС.