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 

Autorun
Goto page Previous  1, 2, 3 ... , 185, 186, 187  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
AkulaBig



Joined: 03 Dec 2008
Posts: 273

Post (Separately) Posted: Tue Apr 29, 2025 21:01    Post subject: Reply with quote

Orion9 wrote:
Вы не проверяли предложенный код?

Не проверял, так как понятно, что редрав здесь не при чем.
Orion9 wrote:
Всё работает, не выдумывайте

Мне кажется мы с вами запутались. Где я утверждаю, что что-то не работает? Работает и мой код из двух команд. Просто окно дергается, что естественно. И это отвратительно. А ваш код вообще дергается еще страшней. Ведь вы наставили задержек зачем-то. Ну и с учетом, что редрав здесь ничего не делает, еще и лишние команды. Или вы опять на ТС х32 проверяли?
Orion9 wrote:
Можно просто повесить озвучку

Ну вот у меня звук только когда я надеваю наушники слышен. И это очень редко происходит. Что мне даст озвучка? Собственно для меня приемлим единственный вариант, который мы обсудили. Это кнопка в Панели настроек. Не думаю, что эту фичу надо постоянно переключать. Так что нормальный вариант. Ну а так как пока у меня нет файла с несколькими дорожками и необходимость чтения данных из массива вызывает сомнения, пока я эту фичу не тестю дальше. Сейчас главное парсер переделать. Вроде там не трудно, но пока руки до него не дошли.
Orion9 wrote:
UTF16 без BOM он точно определяет

Если речь идет только об одной кодировке, которую плохо распознает uchardet, то может пригодится скрипт на vbs, подсмотренный мной у пользователей WinScriptsAdv?
 Hidden text

Скрипт рабочий, проверял в свое время. Но не знаю, в тему-ли?
Orion9 wrote:
а там часто за сотню улетает

У нас-же всего 60 столбцов используется. Вроде хватает. У меня есть файл с очень длинным комментом, создаваемым автоматом какой-то прогой. И он вмещается. Так что на 60 отдельных 30 слитных столбцов хватает, хоть это и не так красиво.
Orion9 wrote:
Правда я не понимаю зачем вам выводить всё

Интересно-же знать всю инфу, которая хранится в тэгах. Меня больше бесят пустые поля, которые болтаются в пользовательских колонках. Поэтому я хочу сделать так - есть набор с обязательными полями, а есть набор со всеми полями. Как-то так.
Orion9 wrote:
может быть SetFieldsParam в этом поможет?

Да не. Все имеющиеся команды работают именно с полями, а я хотел работать с заголовками. Так что просто буду выводить колонками описанными выше парами и все.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 726

Post (Separately) Posted: Wed Apr 30, 2025 13:47    Post subject: Reply with quote

AkulaBig wrote:
Не проверял, так как понятно, что редрав здесь не при чем.

Вон оно чё, Михалыч.
AkulaBig wrote:
Работает и мой код из двух команд.

Это не код. Это - цепочка команд:
Code:
 cm_SrcNextCustomView,cm_SrcPrevCustomView

Пусть Гислер для начала научится ставить условия между командами, прежде чем можно было называть это кодом.
AkulaBig wrote:
А ваш код вообще дергается еще страшней.

В этот раз, надеюсь, проверяли?
AkulaBig wrote:
Ведь вы наставили задержек зачем-то.

Чтобы буфера не перегревались. Но можете убрать задержки. Как говорила одна девушка, та, что из джаза: some like it hot.
AkulaBig wrote:
Что мне даст озвучка?

На вечный вопрос "что нам даст озвуча" мастер дзен уже ответил: "стена большая - места всем хватит", просветленные ученики смиренно отошли.
AkulaBig wrote:
Или вы опять на ТС х32 проверяли?

Не опять, а только на нём и делаю: TC x64 всерёз для работы не рассматриваю. Тем не менее, предложенный код работает и на x64.
AkulaBig wrote:
Если речь идет только об одной кодировке, которую плохо распознает uchardet, то может пригодится скрипт на vbs

Этот скрипт у меня есть. Он и сейчас вызывается в батнике f4.bat, позволяя делать умный выбор редактора. Но тип UTF без маркера BOM он определяет неправильно.
AkulaBig wrote:
Поэтому я хочу сделать так

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



Joined: 03 Dec 2008
Posts: 273

Post (Separately) Posted: Wed Apr 30, 2025 14:04    Post subject: Reply with quote

Orion9 wrote:
В этот раз, надеюсь, проверяли?

Ну конечно. Вдруг я чего-то упустил.
Orion9 wrote:
Но можете убрать задержки.

Конечно проверил. Конечно все тоже.
Orion9 wrote:
Тем не менее, предложенный код работает и на x64.

Конечно работает. Только как работает. В этом вопрос. Но вы меня заинтриговали. Обязательно проверю на х32.
Но тип UTF без маркера BOM он определяет неправильно.
Понятно. Еще есть скрипты для Акельки. Посмотрю, что там интересного.

Добавлено спустя 17 минут:

Проверил на ТС х32. Да, тут редрав похоже работает. Намного лучше, но все равно также мелькает. Но если в х64 прям свободно читаются имена следующих колонок, то на х32 я не успеваю разобрать, что там написано. Это без задержек. С задержками конечно хуже.
А представьте, это будет на каждом файле. Причем при перемещении на каждый следующий файл.
Orion9 wrote:
Ну, как сделаете, выложите полученный результат, интересно будет посмотреть, думаю, не только мне.

Конечно выложу. Но там не так просто, как я думал. Не вдаваясь глубоко в код (надеюсь у вас уже глазик не дергается от таких моих слов). я почему-то решил, что MI построчно выдает код. А оказалось, что целиком. Соответственно не так просто к полям Общие,... добавить Параметр, чтобы выровнять их по колонкам. Похоже не в одну строчку код получится.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 726

Post (Separately) Posted: Wed Apr 30, 2025 20:06    Post subject: Reply with quote

AkulaBig wrote:
Проверил на ТС х32. Да, тут редрав похоже работает. Намного лучше, но все равно также мелькает. Но если в х64 прям свободно читаются имена следующих колонок, то на х32 я не успеваю разобрать, что там написано. Это без задержек. С задержками конечно хуже.

С задержками не может быть хуже, с ними иногда может быть только лучше.

Команда SendMessage(AUTORUN_TCHANDLE, 11, 0, 0) отключает перерисовку окна, SendMessage(AUTORUN_TCHANDLE, 11, 0, 0) снова её включает. Всё, что происходит между этими командами не должно отображаться на экране. Наоборот, возможен случай, когда код, расположенный между этими командами, выполняется медленне, чем приходят возвращаемые значения. Тогда происходит выполнение последней команды SendMessage(AUTORUN_TCHANDLE, 11, 0, 0) и перерисовка экрана включается раньше, чем изменения вступили в силу. В такие моменты и нужна задержка, чтобы всё дорисовалось до конца, прежде чем окно сможет обновится командой WinRedraw.

Если у вас в х64 хуже, чем в х86, попробуйте увеличить задержку до 500мс и посмотреть, что получится, когда уже точно всё дорисовалось.
Code:
Func SrcTest(lParam)
    SendMessage(AUTORUN_TCHANDLE, 11, 0, 0)
    CommandExec cm_SrcNextCustomView
    CommandExec cm_SrcPrevCustomView
    Sleep(500)
    SendMessage(AUTORUN_TCHANDLE, 11, 1, 0)
    Sleep(10)
    WinRedraw(2)
EndFunc

Есть еще вариант с TCFS2. Попробуйте его, может он вам больше подойдет:
Code:
TCFS2 = COMMANDER_PATH & "\Tools\TCFS2\TCFS2.exe
ShellExec %TCFS2% '/ef "msg($0B, 0, 0) tcm(5501) tcm(5502) msg($0B, 1, 0) run_item(update)"'

AkulaBig wrote:
А представьте, это будет на каждом файле. Причем при перемещении на каждый следующий файл.

Я поэтому и попросил конретный код. Что можно с этими двумя командами сделать?
Code:
cm_SrcNextCustomView,cm_SrcPrevCustomView

Ну разве что посмотреть перерисовывается или не перерисовывается окно.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 273

Post (Separately) Posted: Wed Apr 30, 2025 20:47    Post subject: Reply with quote

Orion9 wrote:
Я поэтому и попросил конретный код.

Дак его написать надо сначала. А зачем его писать, если сразу понятно, что он не устроит.
Orion9 wrote:
Что можно с этими двумя командами сделать?

Вот это другое дело. Я так и понял, что мы с вами запутались. Давайте еще раз опишу подробно, что я хотел.
Получаем мы из MI Параметр (Длительность) : Значение (3 мин). Для текущего файла я пишу в CustomFields.ini Параметр в Заголовок колонки. Передергиваю команды и в Заголовках колонок видим Параметры из MI, а в Значении колонок, значение из MI. То-есть имитируем совершенно стандартный интерфейс пользовательских колонок.
Перешли на следующий файл, записали Параметры в Заголовки колонок. Опять передернули команды для отображения их на экране. Таким образом для текущего файла будут отображаться в качестве заголовок колонок Параметры из MI.
Orion9 wrote:
Есть еще вариант с TCFS2

Посмотрю.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 726

Post (Separately) Posted: Thu May 01, 2025 13:40    Post subject: Reply with quote

AkulaBig wrote:
Давайте еще раз опишу подробно, что я хотел.

Вывести в колонки все данные MediaInfo в удобоваримом виде не получится, уже обсуждалось. Зачем бегать по кругу?
AkulaBig wrote:
Таким образом для текущего файла будут отображаться в качестве заголовок колонок Параметры из MI.

Не лучше ли просто нажать CTRL+Q и увидеть все данные файла в противоположной панели в нормальном виде. А если нужно предварительно узнать, есть ли у файла тэги, то можно подключить плагин AnyTag и его специальные поля:
Code:
%_tag%    Available tag types in file
%_tag_read%    Displayed tag type
%_tag_size%    Size of all tags in bytes
%_tag_size_appended%    Size of all appended tags in bytes
%_tag_size_prepended%    Size of all prepended tags in bytes

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



Joined: 03 Dec 2008
Posts: 273

Post (Separately) Posted: Thu May 01, 2025 19:46    Post subject: Reply with quote

Orion9 wrote:
Не лучше ли просто нажать CTRL+Q и увидеть все данные файла в противоположной панели в нормальном виде.

Да вариантов может быть много. Кому что нравится. А БП у меня файлы проигрывает, а не тэги показывает. Так что надо еще 4 нажимать.
Orion9 wrote:
Вывести в колонки все данные MediaInfo в удобоваримом виде не получится, уже обсуждалось. Зачем бегать по кругу?

Объяснение очень простое. Меня просто выбешивают пустые колонки, получаемые от ручного назначения. А тут я вижу всю инфу о файле. Да, уже сейчас меня все устраивает в хинтах. Ну и пусть будет тоже самое в колонках. Я удивлен, что вы такой конструктивный человек к этой идее так скептически отнеслись.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 726

Post (Separately) Posted: Thu May 01, 2025 23:56    Post subject: Reply with quote

AkulaBig wrote:
к этой идее так скептически отнеслись

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



Joined: 03 Dec 2008
Posts: 273

Post (Separately) Posted: Fri May 02, 2025 07:44    Post subject: Reply with quote

Orion9 wrote:
это не значит, что будет удобно

Что тут неудобного?

Понятно, что далее в колонках параметры в колонке не соответствуют друг-другу, но строка-то читается нормально.

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

Добавлено спустя 2 часа 23 минуты:

Orion9 wrote:
Есть еще вариант с TCFS2.

Вроде нормально получается. Правда окно скрывается и вновь появляется. Но строка заголовка не мелькает и список файлов не мелькает. По крайней мере есть смысл код попробовать написать.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 726

Post (Separately) Posted: Sat May 03, 2025 13:02    Post subject: Reply with quote

AkulaBig wrote:
Что тут неудобного?

А что удобного? Но если хотите пользоваться, то, наверное, это имеет право на жизнь, никто ведь не запрещает.
AkulaBig wrote:
Вот надо форматирование правильно сделать.

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

Для примера взял 20 колонок, но можно и 30, если это максимальное число:
 Hidden text

Так как есть ограничение, то можно попробовать двигать окно данных, вернее сдвигать его построчно или от источника к источнику.
 Hidden text

Кнопка будет управлять движением. Alt - сдвиг на 20 строк. Alt+Shift - сдвиг назад на 20 строк. Ctrl - сдвиг на следующий источник. Ctrl+Shift - сдвиг на предыдущий источник. Простое нажатие на кнопку сбрасывает номер строки и номер источника в 0. Вызов с Shift меняет тип подсказки.

Глобальные переменные желательно объявить сразу после Pragma AutorunPluginFields "C1:::JoinHint" в файле autorun.cfg, иначе при старте ТС могут появляться сообщения об ошибках (если пользовательские колонки уже загружены, а функция JoinHint начинает выполняться раньше, чем переменные были инициализированы):
Code:
Global MI_LINE = 0, MI_SOURCE = 0, MI_HINT = 1

Остальной код может быть в отдельном модуле:
 Hidden text

Вряд ли это можно считать готовым решением, но как рабочий пример вдруг наведёт на какие-то другие мысли и идеи использования.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 273

Post (Separately) Posted: Sat May 03, 2025 14:29    Post subject: Reply with quote

Orion9 wrote:
рабочий пример вдруг наведёт на какие-то другие мысли и идеи использования.

Да, интересное решение, как уместить 60 столбцов в 20. Тогда не надо мучиться с форматированием. Я-то пошел по пути размещения 60 в 30. Но для этого надо как-то названия секций отделить в отдельный непарный столбец. При этом чтобы в хинтах названия секций присутствовали.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 726

Post (Separately) Posted: Sun May 04, 2025 12:53    Post subject: Reply with quote

AkulaBig wrote:
Я-то пошел по пути размещения 60 в 30

Да можно и 30 сделать, не проблема. Но я не уверен, что от этого лучше станет: вывод больше похож на изучение дампа, со всеми вытекающими. Наверняка можно что-то ещё придумать, что облегчит работу с таким набором. Сделать, например, кнопку разворота на весь экран и обратно, чтобы видеть больше информации:
Code:
[em_toggle_panel_size]
cmd=%COMMANDER_PATH%\Tools\TCFS2\TCFS2.exe
param=/ef "tcm(if(sepPos < 45, 909, if(sepPos > 55, 909, 910)))"

Но я всё же придерживаюсь, что отображение такого объёма излише. Попробуйте лучше плагин AnyTag и такой набор колонок:
Code:
Headers29=Tags\nTag Read\nTags Size\nBOF\nEOF\nArt\nID3v2\nUnknown
Contents29=[=anytag.Tag]\n[=anytag.Tag Read]\n[=anytag.Tag Size]\n[=anytag.Prepended]\n[=anytag.Appended]\n[=anytag.Covers]\n[=anytag.ID3v2 Encoding]\n[=anytag.ID3v2 Unknown]

Размеры колонок и опции на усмотрение, файл шаблона anytag.any такого содержания:
 anytag.any

Это только пробная версия, т.к. плагин ещё нужно изучить, но информацию о тегах он показывает интересно. Всё сразу видно: какие тэги, сколько байт они занимают, сколько байт в начале файла, сколько в конце, сколько обложек в тэгах, какая кодировка ID3v2, есть ли неизвестные фремы ID3v2. В общем, имхо, больше и не нужно. Единственное, к чему можно привлечь Autorun, использовать функцию SizeFormat(), чтобы отформатировать байты. Хотя у плагина есть и свои скриптовые функции, но их может не хватить.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 273

Post (Separately) Posted: Sun May 04, 2025 14:18    Post subject: Reply with quote

Orion9 wrote:
Попробуйте лучше плагин AnyTag и такой набор колонок

Я все никак не могу понять. Зачем мне AnyTag, если и сейчас у меня через TCMediaInfa выводится заданный набор колонок? Вся соль-то в том, чтобы вывести все заполненные поля, а не заданные. Из которых многие будут пустыми.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 273

Post (Separately) Posted: Mon May 05, 2025 18:20    Post subject: Reply with quote

Orion9
Наконец-то я алгоритм понял для создания пользовательских колонок, как хотелось мне. И понял, что технически это возможно, но визуально не годится. Если для активной строки будет отображаться заголовок, не соответствующий другим строкам, ни один пользователь этого не поймет.
Поэтому я пошел по самому простому пути. Просто вывожу в колонку два поля из Autorun и все. Конечно намного было-бы лучше, когда каждая колонка из Autorun выводится в свою пользовательскую колонку. Но раз более 30 колонок не может быть. Придется смириться.
Можете конечно посмотреть, раз вы хотели, но там ничего интересного нет. Чисто визуально оценить. Ну и я пока не переработал остальные наборы. Они будут соответствовать информации в хинтах.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 726

Post (Separately) Posted: Sat May 10, 2025 12:47    Post subject: Reply with quote

AkulaBig wrote:
Поэтому я пошел по самому простому пути. Просто вывожу в колонку два поля из Autorun и все.

Большой погоды это не сделало. Вывод по-прежнему не смотрится и остаётся тяжёлым для восприятия: если просматривать список, который содержит одинаковые параметры кодирования и похожие по струкруре теги (например, дискография отдельных исполнителей или студийные сборники песен), какую-то пользу ещё можно извлечь, в остальных случаях найти применение такому набору очень трудно.
AkulaBig wrote:
Можете конечно посмотреть, раз вы хотели, но там ничего интересного нет. Чисто визуально оценить.

Скачал и посмотрел всю сборку. Останавливаться на достигнутом, конечно, не нужно. Нужно и дальше навешивать фич при помощи Autorun и выводить сборку в топ. И всё же для начала, будь я на вашем месте, я сделал бы верхнее меню.
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 ... , 185, 186, 187  Next
Page 186 of 187

 
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