Цель: найти способ выводить инфу о треке из фубара в irc. Несмотря на строжайший запрет использования плагинов данного типа на многих каналах, все ими пользуются. Чем ты хуже? Не хочешь пользоваться - выйти из строя и стыдиться десять минут! Я рассмотрю вариант с фубаром (foobar2000). Почему? Потому что Winamp я не люблю, не использую (почти..)), а другие плееры мне не особо понравились. Так что, если так надо - ищи в другом месте. Ближе к телу. Нам понадобится: фубар - 1шт (я использовал версию 0.8.3), плагин Text Writer - 1шт (я использовал версию 1.3.8), прямые руки и трезвая голова - по усмотрению (к сожалению, я не нашел). Твоя/моя последовательность действий: - качаем софт (и фубар и плагин я нашел на http://foobar2000.h12.ru) (от _Master-'а, все ниже сказанное справедливо для версии 0,8,3, на 0,9 не проверял! foobar2000_0.9 скачать) - устанавливаем сам плеер - распаковываем архив с плагином и помещаем файлик foo_text.dll в папочу <куда установил фубар>\components\ - запускаем плеер, лезем в опции (Foobar2000 -> Preferences), открываем закладку с настройкой плагина (Text writer). А теперь подробнее. Перво-наперво убедись, что галочка Enable text file writing стоит. Далее на вкладке General в группе Events/write file on поставь Startup, Quit, New track, Stop (normal и new track). Остальные чекбоксы в этой группе на твое усмотрение, в зависимости от знания английского языка :) В группе Timer поставь Enabled - update file every 1000 ms. В предпоследней группе поставь Write mode в Overwrite, а в последней группе Output path укажи путь для файла, в котором будет сохраняться информация о воспроизводящемся файле. Советую указать нечто, вроде C:\Windows\Temp\np.txt и запомнить это (как минимум, до конца всей этой возни). Переходим на вкладку Strings. Видим - еще четыре вкладки и два чекбокса. Чекбоксы не трогать!!! :) Объяснюсь с закладками: Playing - формат строки, когда идёт воспроизведение, Stopped - формат строки, когда фубар запущен, но ничего не воспроизводит, On quit - когда фубар не запущен, History - можно не трогать, если захочешь - сам разберешься, для чего она. Теперь подумай, как должна выглядеть строка с инфой о воспроизводящемся файле, а я пока расскажу об основных переменных, годных к потреблению: %artist% - элементарно, исполнитель %tracknumber% - номер трека (если учитывать, что многие этот тег не прописывают, то советую не использовать) %title% - титл, название трека %album% - название альбома %date% - год альбома (если учитывать, что многие этот тег не прописывают, то советую не использовать) %_playlist_number% - порядковый номер в плейлисте (не путать с номером трека) %_time_elapsed% - сколько времени прошло (в отформатированном виде, напр.: 0:41) %_time_elapsed_seconds% - прошедшее время в секундах %_time_remaining% - оставшееся время (в отформатированном виде, напр.: 1:19) %_time_remaining_seconds% - оставшееся время в секундах %_time_total% - продолжительность трека (в отформатированном виде; также можно использовать %_length%) %_time_total_seconds% - продолжительность трека в секундах (также можно использовать %_length_seconds%) %_filesize% - размер файла в байтах (вряд ли представляет особую ценность, но я как-то использовал) %_foobar2000_version% - версия фубара (напр.: foobar2000 v0.8.3) - есть и другие переменные, о них можешь узнать выбрав Tools -> Help и в директории фубара titleformat_help.html Надеюсь, перечисленное не вызовет затруднений :) Приведу пример: [b]np: %artist% - %tracknumber% - %title% - %date% - %album%[/b] [b]* UberWolf np: ДЯ - 04 - Рельсы - 2003 - Совершенная Мелоди[/b] Теперь объясню механизм действия: когда ты запускаешь фубар на воспроизведение, в файл, указанный параметром Output path, пишется инфа формата Strings->Playing или формата Strings->Stopped если ничего не проигрывается. Когда ты закрываешь фубар, пишется Strings->On quit. Нам лишь остается эту строку воткнуть в мирку. Нет, не надо открывать файлик с инфой и копировать :) Надо сокращать свое вмешательство в подобные дела, потому запускай мирку и пиши: [b]/alias /F4 /me $read(C:\Windows\np.txt)[/b] (от _Master-: если вы пользуетеся скриптом от Neor'ы, уберите скобки, то есть строка должна будет выглядеть, как /alias /F4 /me $read C:\Windows\np.txt) Жми энтер и всё, можешь выпить пива :) Полезные примечания: - можно улучшить внешний вид строки путём ее раскрашивания. НО! Цвета, да еще и в скриптах, почти нигде не приветствуются, потому используй это на свой страх и риск :) В мирке нажми Ctrl+K и запомни цифру нужного цвета. Затем получившийся 'квадратик' методом копирования можешь использовать в форматах строк, только не забывай добавлять цифру и не забывай ставить закрывающий 'квадратик'. - можно формат строки сделать более универсальным. О чем речь? Когда в файле отсутствует какой-либо тег, то Text Writer записывает вместо него вопрос (?). Можно избежать этого такой конструкцией: $if(%artist%,%artist,unknown artist). В данном случае при отсутствии тега исполнителя, будет записано unknown artist. Аналогично можно сделать и для других тегов. - если в формате тебе нужны квадратные/круглые скобки, знак валюты ($) или проценты (%), то вставляй их в одинарных кавычках. Напр.: '[' %tracknumber% ']' - в качестве альтернативного решения можно использовать плагин от винампа, но учти, что фубар будет поедать куда большее количество ресурсов... - если ты пользуешься другим irc-клиентом, то смотри в его хелпе как вставлять строку из файла. - можешь использовать другие клавиши, если F4 уже занята. Напр.: /sF4 - это Shift+F4 или /cF4 - это Ctrl+F4. (префиксы s и c соответственно для Shift и Ctrl) PS: При написании статьи пострадал канал#nnm :) (От _Master-: канал находится здесь: /server irc.nnm.ru:6667 /join #nnm заходите, будем рады видеть Вас) ÜberWolf
Другие статьи по теме
|