WAC (WinAmp Controller) 1.5.1 Autor: D1P (no_spam@students.ru) On Russian --- Простенькая программа, позволяющая управлять плеером WinAmp из командной строки. Поставялется вместе с FS-плагином TWinAmp для Total Commander. Список параметров командной строки: prev - выбрать предыдущий трек play - играть pause - пауза stop - стоп next - играть следующий трек fforward - на 5 секунд вперёд frewind - на 5 секунд назад startlist - в начало листа endlist - в конец листа aontop - переключение режима "поверх всех" repeat - переключение режима повтора плейлиста shuffle - переключение случайного выбора трека ttf - переход на 10 треков вперёд ttr - переход на 10 треков назад ivol - увеличить громкость dvol - уменьшить громкость my_s - послать WinAmp команду, где "s" - номер команды. Полный список команд смотрите на NSDN (он обновляется от версии к версии), для примера попробуйте my 40045 ("play"). Внимание, начиная с версии 1.5 формат команды "my" изменился; теперь для разделения команды используется знак подчёркивания, а не пробел. ------------------------------------------- Команды для частичной совместимости с некоторыми multimedia-клавиатурами (см. ниже) ------------------------------------------- ppp - если WinAmp не запущен, запускает его. Если Винамп запущен работает как нажатие "Play/Pause". Примечание: путь к Winamp берётся из первой строчки файла ws.ini. menu - вызывает на экран меню управления WinAmp. - Начиная с версии 1.5 WAC поддерживает передачу сразу нескольких параметров (до 255) в командной строке, то есть вполне можно написать wac /play fforward pause - прога поймёт, только смысла из этого... Начиная с версии 1.5 WAC может обрабатывать глючные multimedia-клавиатуры. Когда я купил себе такую клавиатуру (BTC 9000AU), радости не было предела. Несколько дополнительных кнопок управления мультимедиа-плеером весьма повышали удобство работы за компьютером. Но, как оказалось, не всё так прелестно. Во-первых, клавиатура изначально заточена под Windows Media Player, а вернее - WMP заточен под такие клавиатуры, то есть команды от драйвера клавиатуры передаются именно в WMP. Но я не люблю WMA, я люблю WinAmp. WinAmp же научился работать с такими клавиатурами только начиная с версии 5.03, если не ошибаюсь. Во-вторых, работая с WinAmp через эту клавиатуру я обнаружил несколько досадных просчётов в реализации этой поддержки. Более подробно: Рассмотрим как это всё работает в моём случае. Я нажимаю какую-либо мультимедийную клавишу (они соответствуют обычным кнопкам управления WinAmp), управляющая программа (программа, позволяющая переназначать мультимедийные клавиши) получает команду от драйвера, и, в свою очередь, отсылает сигнал системе, где они обрабатываются WMP или WinAmp. Надо сказать, что без присутствия управяющей программы в памяти мультимедийные клавиши у меня работать отказались, на другом же компьютере всё работало и без установки такой программы, хотя остальные параметры системы были одинаковыми. И тут как раз возникают глюки. Во-первых, при получении команды окно WinAmp становится активным, и это очень, очень бесит. Во-вторых, не все кнопки транслируются корректно. Например кнопка "play/pause" должна действовать так: если плеер не включен, он должен включиться, если он включен и проигрывания трека не начато, то трек возпроизводится, если плеер воспроизводит трек, то срабатывает пауза. Так вот, эта кнопка по умолчанию загружает тот самый WMP, и поделать с этим ничего нельзя, и ещё она не хочет включать паузу - т.е. всегда срабатывает как "Play". Ага... бесит. Ну и ещё несколько недочётов, о которых не считаю нужным упоминать. Возможно такие глюки проявляются только у меня, а может быть - и нет, но в любом случае я решил исправить это. К счастью, программа управления поддерживает переназначение клавиш, на которые можно поставить выполнение какой-нибудь программы, "нажатие" определённого сочетания обычных клавиш или помещения в буфер обмена Windows произвольного текста. С помощью этих возможностей я и реализовал управление Винампом в WAC 1.5. Я изменяю схему. Теперь программа управления при нажатии на кнопку вызывает WAC с параметрами определяющими действие WinAmp, а уже WAC, как обычно контролирует WinAmp. И никаких недочётов. Конечно, было и другое решение - например назначить какое-то клавиатурное сочетание в Global Hotkeys, а потом заставлять управляющую программу выполнять это сочетание... Но полностью это проблему не решает - например, на вызов WinAmp мне приходится ставить ещё одну мультимедиа-кнопку, а это не совсем удобно. К тому же, WAC, как мне известно работает и с другими плеерами, которые мультимедийные клавиатуры не поддерживают. - Как сделать, чтобы кнопки управления WinAmp отображались на тулбаре: Щёлкните на тулбаре правой кнопкой мыши и выберите "изменить". Добавьте новую кнопку. В строке "Команда" пропишите путь к wac.exe, включая имя файла. В строке "Параметры" пропишите нужный вам параметр, например "play" (без кавычек). Выберите нужную иконку для отображения на кнопке. Нажмите "ОК". Пользуйтесь. On English --- It's simple program, which can control the popular WinAmp mediaplayer from command line. Program distribute with TWinAmp plugin for Total Commander. List of command line parameters: prev - select a previous track play - plays a track pause - pause playing stop - stop playing next - select a next track fforward - go forward on 5 seconds in track frewind - rewind 5 seconds startlist - go to first track in playlist endlist - go to last track on playlist aontop - sets "Always on top mode" for WinAmp repeat - sets "Repeat" mode for WinAmp shuffle - sets "Shuffle" (random) mode for WinAmp ttf - goes on 10 tracks forward ttr - goes on 10 tracks backward ivol - increase volume dvol - decrease volume my_s - send command to WinAmp, where "s" are command number. Full commands list you may view in NSDN (it constantly refreshes), as sample you may try 40045 (works as "play" command). ppp - if player not runned, then run it. If player runned then works as "Play/Pause". (Player path gets from wac.ini first line). menu - shows WinAmp maun menu on screen. --- And... learn Russian to that understand humor (it's joke ;))