TCASwitcher - переключение внутренних ассоциаций и не только

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

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

Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

burav
Спасибо!
Обновился - все хорошо работает. :)

А можно сделать переключение внутри внутренних ассоциаций?
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Orion9
А что такое "переключение внутри внутренних ассоциаций"?
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Avada
Я бывает часто проверяю спекр аудио/видео файлов:
https://www.spek.cc/p/download
Но поскольку эти файлы уже связаны внутренней ассоциацией с проигрывателем, то, чтобы не трогать внешние ассоциации и не менять секции [Associations] местами, сделал так:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utilites\TCFS2\TCFS2.exe /ei spek

%COMMANDER_PATH%\Icons\Spek\Spek.ico
Acoustic spectrum On/Off


-1
Wincmd.ini

Код: Выделить всё

[Searches]
Acoustic spectrum_SearchFor=*.aac;*.ac3;*.aif;*.aiff;*.aifc;*.afc;*.ape;*.au;*.snd;*.cda;*.dsf;*.dts;*.dtswav;*.dtshd;*.dtsma;*.eac3;*.flac;*.fla;*.m1a;*.m2a;*.mka;*.mpa;*.mp1;*.mp2;*.mp3;*.mp4;*.m4a;*.m4b;*.m4r;*.mod;*.mpc;*.mp+;*.mpp;*.ogg;*.oga;*.ogg;*.oga;*.ogx;*.ogg;*.ra;*.spx;*.oga;*.opus;*.qoa;*.svx;*.8svx;*.tak;*.tta;*.wav;*.wave;*.w64;*.bwf;*.rf64;*.wma;*.wv;*.avi;*.wmv;*.wmp;*.wm;*.asf;*.mpg;*.mpeg;*.mpe;*.m1v;*.m2v;*.mpv2;*.mp2v;*.ts;*.tp;*.tpr;*.trp;*.vob;*.ifo;*.ogm;*.ogv;*.mp4;*.m4v;*.m4p;*.m4b;*.3gp;*.3gpp;*.3g2;*.3gp2;*.mkv;*.rm;*.ram;*.rmvb;*.rpm;*.flv;*.swf;*.mov;*.qt;*.amr;*.nsv;*.dpg;*.m2ts;*.m2t;*.mts;*.dvr-ms;*.k3g;*.skm;*.evo;*.nsr;*.amv;*.divx;*.webm;*.wtv;*.f4v;*.mxf
Acoustic spectrum_SearchIn=
Acoustic spectrum_SearchText=
Acoustic spectrum_SearchFlags=0|002002000020|||||0|0|0||0000|||

[Associations]
Filter2=>Acoustic spectrum
Filter2_open=""%COMMANDER_PATH%\Utilites\Spek\Spek.exe" "%1""
TCFS2.ini

Код: Выделить всё

[Macros]
hasAcoustic=tcini(Searches, `Acoustic spectrum_SearchFlags`, `0|002002000020|||||||||0000|||`)
[Items]
spek=set_tcini(Searches, `Acoustic spectrum_SearchFlags`, `0|002002000020|||||0|0|0||0000|||`) tem(`em_spek_off`) tcm(519,1) send(`{enter}`) tcm(2945,1), test(hasAcoustic) | set_tcini(Searches, `Acoustic spectrum_SearchFlags`, `0|002002000020|||||||||0000|||`) tem(`em_spek_on`) tcm(519,1) send(`{enter}`) tcm(2945,1)
usercmd.ini

Код: Выделить всё

[em_spek_on]
cmd=%HIDCON% %COMSPEC% /c
param=copy /y "%%COMMANDER_PATH%%\Icons\Spek\2.ico" "%%COMMANDER_PATH%%\Icons\Spek\Spek.ico"

[em_spek_off]
cmd=%HIDCON% %COMSPEC% /c
param=copy /y "%%COMMANDER_PATH%%\Icons\Spek\1.ico" "%%COMMANDER_PATH%%\Icons\Spek\Spek.ico"
Вариант рабочий, но не сказать, что я им доволен. Простым пользователям, как я, не горящим большим желанием (или не имеющим на то возможности) вникать в устройство скриптов и принципы автоматизации, нужны готовые решения. Этим и цепляет TCASwitcher. Ведь кто-то уже все придумал и позаботился о тебе как о пользователе :)
Я просто давно хотел подразобраться с TCFS2, поэтому и вник немного. Кстати, если попытаться избавиться от мелькания окна соответствующей командой 2958:

Код: Выделить всё

spek=set_tcini(Searches, `Acoustic spectrum_SearchFlags`, `0|002002000020|||||0|0|0||0000|||`) tem(`em_spek_on`) tcm(2958,1) tcm(2945,1), test(hasAcoustic) | set_tcini(Searches, `Acoustic spectrum_SearchFlags`, `0|002002000020|||||||||0000|||`) tem(`em_spek_off`) tcm(2958,1) tcm(2945,1)
то значки обновляться не будут, поскольку секция [Searches] из ini-файла, похоже, при cm_ReloadFileIcons не перечитываеется, что очень жаль.
Ответить