[wlx/wdx] TCMediaInfo

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Loopback писал(а):разделитель легко сымитировать обычным объявлением колонки, и оно будет работать:
Loopback писал(а):При добавлении любых других символов специальное значение имени теряется и получается обычное поле
Проверил. Так и есть. То-есть для этого оператора вы используете функционал ТС и изменить это нельзя.
Orion9 писал(а):Не уверен, что мне понравились названия полей формата G_*, V_* и A_*.
У меня вообще половина полей нет из стандартного файла настройки :)
А между тем я все объяснил в посте. Катастрофически не хватает длины, предоставленной Гислером. Поэтому пришлось сокращать названия полей. Хотя-бы удалось сохранить перевод в стиле MI. Так-то и перевод желательно сократить.
Orion9 писал(а): нет привычных полей All video as string и All audio as string
По той-же причине. Катастрофически не хватает 32 полей. Из-за этого и составные поля появились. Не везде они красиво смотрятся. Где инфа короткая, а названия полей длинные, не очень. Но по другому никак.
Orion9 писал(а):При этом в ваших полях зачем-то используется слэш - 4:3/
В действительности это самый визуально заметный разделитель. Попробую запятые. Это не принципиальный вопрос. Главное чтобы хорошо было видно, что инфа разделена. Поймут-ли это с запятыми, надо смотреть.
Orion9 писал(а):И кстати, добавьте в сборку WDX Guide, пользователям он тоже будет нужен, даже тем, кто им не пользуется.
Да, да. Как и редактор конфигурации. Вещь отличная, но никто им пользоваться не будет. А там и до пяти браузеров совсем близко :lol: Я позиционирую свою сборку как сборка для новичков и никто не будет пользоваться этими прожками. Хотя сами по себе они очень круты.
Добавил инфу по картинкам. Пользовательские поля по картинкам пока не доделаны, так как там еще из других плагинов инфа нужна. По картинкам MI не всю инфу выдает. В принципе доп информацию в хинтах видно.
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Loopback
Понятно, что названия колонок в файле настройки все разные. Сама логика заставляет так сделать. Но в языковом файле TCMediaImage полей с одинаковым названиями масса. В языковом файле самой MI названия одинаковы и только сгруппированы по разделам.
Создаем пользовательские колонки с одинаковым переводом. Например:
G_CodecID=Идентификатор кодека
V_CodecID=Идентификатор кодека
Добавляем в этот набор любое поле из любого плагина. Либо просто удаляем строку. Главное выполнить какое-нибудь действие. Теперь комментим перевод в языковом файле. И что мы видим?
Вместо V_CodecID написано G_CodecID. То-есть первый по порядку одинаковый перевод.
Если настроить колонки без перевода, а потом перевод раскомментить, все нормально работает.
Долго я над этим глюком бился. Думал ТС чудит из-за длинны данных. Но нет, локализовал ошибку.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

AkulaBig
Что-то до конца так и не понял что к чему. Полагаю, речь идет о пользовательских колонках в тотале с использованием двух разных полей плагина, имеющих одинаковый перевод. Вот только отображением и обработкой локализованных названий wdx-полей занимается исключительно сам тотал. Возможно, проблема возникает, когда он преобразовывает локализованное имя обратно в фактическое имя поля.
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Да, вы все поняли. Ответ ясен. Буду Гислеру писать.
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Переписка с Гислером всегда радует. Кому хочется поржать, можете почитать https://www.ghisler.ch/board/viewtopic. ... 7cb42f7f52
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Я не нашел, где смеяться. Это же очевидно, что невозможно сделать поддержку такого сценария для колонок, редактируемых в виде простого текста. Переведённые строки должны хоть чем-то отличаться, чтобы их можно было преобразовать обратно в правильные английские имена полей. Я бы не назвал это багом, скорее "by design". Да и сценарий крайне редкий и специфичный.
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Loopback писал(а):Переведённые строки должны хоть чем-то отличаться, чтобы их можно было преобразовать обратно в правильные английские имена полей.
А зачем их преобразовывать? Работать с английскими названиями полей, а перевод просто подставлять. Объясните тогда какое преобразование происходит у плагинов без перевода? Вот именно из-за этого какой-то странный дизайн. Если-бы перевод был обязателен, тогда нет вопросов. При этом никакой ошибки не выдается. Фича нигде не описана. Просто автоматом подставляется левое значение и все. Поэтому и смешно.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

AkulaBig писал(а): а перевод просто подставлять
Подставлять куда? :D
AkulaBig писал(а):автоматом подставляется левое значение
Не левое, а первое попавшееся. Ну вот представим перевод:

Filed1=Поле
Filed2=Поле

Допустим, добавляем сначала Filed2, потом Filed1. Но в переведенном виде они будут одинаковы. Вот тотал начинает парсить строку, которую сваял пользователь:

[=plug.Поле] бла бла [=plug.Поле]

Как он должен понять, что "Поле" и "Поле" - исходно были разные поля? Если перебор при поиске соответствия идёт от начала списка, то он, естественно, в обоих случаях подставит Filed1. Вроде это вполне очевидно.
AkulaBig писал(а):Если-бы перевод был обязателен
Перевод не обязателен, можно просто отказаться вообще от локализации полей (удалить их из локализации). Я серьёзно: ведь по сути кроме как в редакторе они нигде больше не используются, и сделаны исключительно для удобства редактирующего. А если согласно вашему предложению использовать в тексте английские поля, то теряется сам смысл локализации, да и вообще глупо получается - в списке выбирается локализованное имя, а в редактор вставляется английское.

Впрочем, дело хозяйское, плагина это всё не касается, пусть с этим разбирается Гислер. Хотя более чем уверен, что тема уйдет в раздел "никогда не будет реализовано", ибо вряд ли он захочет ломать работающий механизм.
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Loopback писал(а):вряд ли он захочет ломать работающий механизм
Я понял, что вы хотите мне объяснить. Понятно, что при данном алгоритме парсинг происходит просто по названию поля. И то, о чем пишу я, не реализуемо. Но я имею ввиду, что надо именно сам алгоритм менять.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

AkulaBig писал(а):Катастрофически не хватает 32 полей.
Почему вы попутно не попросили Гислера добавить побольше полей?
AkulaBig писал(а):Работать с английскими названиями полей, а перевод просто подставлять.
С этим соглашусь. Обратное выглядит как недоработка, которая, кстати, мне тоже не нравится. И которая очень похожа на проблемы с меню "Запуск" и многоязычностью.
Loopback писал(а):А если согласно вашему предложению использовать в тексте английские поля, то теряется сам смысл локализации
Может смысл в локализации и есть, но что она не до конца продумана - это факт. Ну на кой мне при выборе полей из плагинов видить вперемешку русские и английские поля из разных плагинов? Смахивает на проблему с меню "Запуск", как я уже написал выше. Стоит только переключиться на английский, как всё меню сразу перемешается - часть на английском, часть на русском. Шляпа.
Loopback писал(а):Хотя более чем уверен, что тема уйдет в раздел "никогда не будет реализовано", ибо вряд ли он захочет ломать работающий механизм.
Маэстро на старости лет ломать точно ничего не будет, и это факт. Нужно с ним смириться и юзать Autorun, где возможно. Это моё кредо и стиль жизни )
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Orion9 писал(а):Почему вы попутно не попросили Гислера добавить побольше полей?
Дак просили уже. Ответ-то я читал.
Orion9 писал(а):Может смысл в локализации и есть, но что она не до конца продумана - это факт.
Основной смысл локализации, что в название поля автоматом ставится имя на русском. Но посмотрим данный случай. Я все-же сейчас локализацию привел в соответствие с требованиями Гислера. И получился вот такой перевод:
было - V_CodecID=Идентификатор кодека
стало - V_CodecID=КодекIDВидео
Кому нужны такие названия полей? Мне не нужны. Думаю никому не нужны. А значит локализация не нужна. Названия полей приходится писать вручную.
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Loopback
Я конечно понимаю, что ваши силы сейчас брошены на Autorun. Но не могли-бы доделать TCMediaInfo? Ведь навряд-ли его в дальнейшем надо будет сильно переделывать. Если только какие-то мелкие ошибки возникнут.
Сейчас существенным является только ключ FixCP. Чтобы можно было вывод Inform делать без крякозябр. Без этого плагин получается недоделанным. А распознавание расширений. И что там еще, я уже подзабыл :) не так существенно. У меня сейчас wdx-часть меня полностью устраивает. xml полностью рабочий. А работа wlx не устраивает. Хочется выставить показ Inform, а не могу из-за крякозябр.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

AkulaBig
Да он в какой-то степени сделан, могу дать предварительную версию, вот .

Добавлена опция FixTagEncoding (в главном узле опций), по умолчанию и при отсутствии будет = 0 (всё выключено). Может содержать сумму значений:
1 — включение модуля постпроцессинга «fix_cp» для wdx;
2 — включение исправления в функциях Get и LineAddField для wlx;
4 — включение исправления для режима «Стандартный Inform» для wlx.

Так что если нужно включить "исправления" (буду их в кавычках указывать, т.к. это такое себе исправление) везде, то нужно использовать <FixTagEncoding>7</FixTagEncoding>.

Добавлена опция IgnoreExtensions (будет только в справке), по умолчанию false, если true - проверка по списку расширений будет отключена.
AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

Loopback
<FixTagEncoding>7</FixTagEncoding> работает отлично. Прошу уточнить. Как это работает для wdx? Удалил в колонках process="fix_cp", появились крякозябры.
IgnoreExtensions тоже работает прекрасно. И тоже вопрос. Я правильно понимаю, что при <IgnoreExtensions>True</IgnoreExtensions> список расширений комментить не надо? Он не будет влиять на работу?
А в общем огромное спасибо за проделанную работу. Теперь я спокоен. Полностью законченный плагин.
Конечно хотелось-бы релиза. Но это уже ваше дело. Для меня главное, что все работает как надо.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

AkulaBig писал(а): Как это работает для wdx?
В смысле - как? Примерно так же, как для wlx, только здесь если есть fix_cp - к тексту источника применяется исправление.
AkulaBig писал(а):Я правильно понимаю, что при <IgnoreExtensions>True</IgnoreExtensions> список расширений комментить не надо?
Верно.
AkulaBig писал(а):Конечно хотелось-бы релиза
Да может и доделаю, в принципе хватает для релиза. Два бага - со слешем в именах полей и включённым по умолчанию "исправлением" вполне значимы. Только нужно пройтись по ветке на предмет исправлений в конфиге, еще что-то там с ft_numeric_floating было, и перевод добавить для новых полей со слешем.
Ответить