Показано с 1 по 10 из 18

Тема: Можно ли отображать в Бате названия песен из WinAmp'а?

  1. #1
    Lisits
    Guest

    Можно ли отображать в Бате названия песен из WinAmp'а?

    ???Как уговорить Бат дописывать в конец сообщений названия песен, играющих в WinAmp'е? Говорят, есть такой специальный плугин, не знаете, где его добыть?

  2. #2
    Vlad2000
    Vlad2000 вне форума
    Участник
    Регистрация
    07.11.2002
    Сообщений
    159

    Re:Можно ли отображать в Бате названия песен из WinAmp'а?

    NNCron может выводить в файл название песни, которую играет WinAmp. В файл nncron.tab в каталоге NNCron нужно добавит следующее :

    Код:
     #( general_now_playing
    \ Don't forget to disable 'Scroll song title in the Windows taskbar'
    \ checkbox in Winamp options
    \ NoActive
    SingleInstance
    <(
    : NP_TEXT S" np: " ;
    : STOPPED_TEXT S" [PC Cooler]" ;
    : PAUSED_TEXT S" [paused]" ;
    : NP_FILE S" c:\UTILS\temp\np.txt" ;
    VARIABLE WINAMP_STATUS
    CREATE WINAMP_TITLE 256 ALLOT
    CREATE WINAMP_NEW_TITLE 256 ALLOT
    )>
    Time: *
    Also
    WatchProc: "winamp.exe"
    Rule: PROC-EXIST: "winamp.exe"
    Action:
    BEGIN
    WIN-EXIST: "Winamp v1.x"
    WHILE
    \ Getting track title from Winamp window caption.
    \ You may need to change this regexp.
    RE-MATCH: "%FOUND-WINDOW%" "/\d+\. (.*) - Winamp/"
    IF
    104 0 1024 WIN-HWND SendMessageA WINAMP_STATUS !
    WINAMP_STATUS @ 3 =
    IF
    S" %$1%%PAUSED_TEXT%" EVAL-SUBST WINAMP_NEW_TITLE PLACE
    ELSE
    WINAMP_STATUS @ 1 <>
    IF
    S" %$1%%STOPPED_TEXT%" EVAL-SUBST WINAMP_NEW_TITLE PLACE
    ELSE
    $1 WINAMP_NEW_TITLE PLACE
    THEN
    THEN
    WINAMP_NEW_TITLE COUNT WINAMP_TITLE COUNT COMPARE
    IF
    WINAMP_NEW_TITLE COUNT WINAMP_TITLE PLACE
    FILE-WRITE: "%NP_FILE%" "%NP_TEXT%%WINAMP_NEW_TITLE COUNT%"
    THEN
    THEN
    \ Change pause length to suit your needs
    PAUSE: 4000
    REPEAT
    \ Emptyiing 'np.txt' when Winamp is inactive.
    \ You may use smth like this:
    \ FILE-WRITE: "%NP_FILE%" "%NP_TEXT%Winamp not active"
    FILE-WRITE: "%NP_FILE%" " "
    )#
    Где c:\UTILS\temp\np.txt нужно заменить на путь к файлу, в котором будет записываться название проигрываемой песни.

    Затем необходимо прописать в нужном шаблоне TheBat следующую строку:
    %PUT="c:\UTILS\temp\np.txt", где c:\UTILS\temp\np.txt опять-таки меняем на нужный путь.
    Пример задачи взят из хелпа к NNCron .

  3. #3
    Vlad2000
    Vlad2000 вне форума
    Участник
    Регистрация
    07.11.2002
    Сообщений
    159

    Re:Можно ли отображать в Бате названия песен из WinAmp'а?


    В дополнение к теме:
    Ссылки на Now Playing плагины для WinAmp:

    Gen_Np Plugin

    Advanced Now Playing

    Вот аналогичный плагин к Quintessential Player:
    Now Playing

    В настройках плагина к задаём путь к файлу, в который будет выводиться название песни, проигрываемой в данный момент. Затем необходимо прописать в нужном шаблоне TheBat следующую строку:
    %PUT="c:\UTILS\temp\np.txt", где c:\UTILS\temp\np.txt опять-таки меняем на нужный путь.

  4. #4
    djdance
    djdance вне форума
    Участник
    Регистрация
    22.12.2002
    Сообщений
    57

    Re:Можно ли отображать в Бате названия песен из WinAmp'а?

    крон - ужасное решение
    адвансед - маленький, но работает только по НАЖАТИЮ на кнопки винампа
    ген-нп - лучший из вышеизложенного
    (там надо не забыть ОТКЛЮЧИТЬ oem conversion чтобы руссишь был)

    хотелось бы еще, чтобы silence & incative заменялись на случайные фразы… может бат случайную строчку вставлять (речь не о девизах)?

  5. #5
    Vlad2000
    Vlad2000 вне форума
    Участник
    Регистрация
    07.11.2002
    Сообщений
    159

    Re:Можно ли отображать в Бате названия песен из WinAmp'а?

    Цитата Сообщение от djdance
    крон - ужасное решение
    Чем?
    может бат случайную строчку вставлять (речь не о девизах)?
    Используйте %COOKIE="ПутЬ" для вставки случайной фразы из файла.

  6. #6
    djdance
    djdance вне форума
    Участник
    Регистрация
    22.12.2002
    Сообщений
    57

    Re:Можно ли отображать в Бате названия песен из WinAmp'а?

    крон… его работа слишком заметна (Интел1гиг, вынь98)
    имхо это из пушки по воробьям
    и какие-то глюки с ним, не всегда срабатывает, например, критичен к загрузке системы..

    насчет %COOKIE="ПутЬ":
    я имею в виду такую логику работы:
    если winamp остановлен или выгружен, то np пишет заранее заготовленную фразу типа "тишина".
    как составить выражение для БАТа, чтобы вместо слова "тишина" подгружались %COOKIE="ПутЬ" ?

  7. #7
    Vlad2000
    Vlad2000 вне форума
    Участник
    Регистрация
    07.11.2002
    Сообщений
    159

    Re:Можно ли отображать в Бате названия песен из WinAmp'а?

    Пробегал по Батталку шаблон от Alexander Kiselev, который вообще убирает вывод строки с Now Playing, если WinAmp неактивен, но я его найти никак не могу.

  8. #8
    akiselev
    akiselev вне форума
    Участник
    Регистрация
    02.11.2002
    Сообщений
    796

    Re:Можно ли отображать в Бате названия песен из WinAmp'а?

    Вот, ловите, кому надо, прямиком от автора

    Аюшки вам!

    Таки возникла у меня некая идейка по поводу сопряжения WinAmp'ового плагина NP с
    Батом. Проблема заключается в следующем: какие-то mp3-файлы имеют теги, какие-то
    -- нет, кроме того, WinAmp при помощи известного плагина умеет и ra проигрывать
    (излишне добавлять, что их у меня тоже есть…), там уже о тегах разговора нет
    вообще. Наконец, по большей части WinAmp и вовсе выключен, и тогда довольно
    глупо всем и каждому сообщать в подписи, мол, WinAmp inactive. Приемлемое (для
    меня:-)) решение выглядит вот так:

    ==8<=======================<cut here>=======================>8==
    %If:"%SetPattRegExp=""(?im)(\|{3})""%RegExpMatch=" "%PUT='F:\Bat!\cookies\winamp.txt'""">" ":%-
    "
    ---
    WinAmp:%SetPattRegExp=""(?im)\|{3}(.*(\[.*?\])?)""%RegExpMatch=""%PUT='F:\Bat!\cookies\winamp.t xt'""":%-
    '%If:"%SetPattRegExp=""(?im)\A\s*(\[)""%RegExpMatch=""%PUT=''F:\Bat!\cookies\winamp.tx t''""">" ":%-
    "":%-
    "
    ---
    WinAmp:
    %SetPattRegExp=""(?im)\A(\s*\d*\s*\-\s*)?(.*?(\[.*?\]|\Z))""%RegExpBlindMatch=""%PUT=''F:\Bat!\cookies\ winamp.txt''""%SubPatt=""2"""'
    ==8<=======================<cut here>=======================>8==

    Ну, или примерно так:-) NP при этом настраиваем примерно в таком духе:

    filename for NP: F:\Bat!\Cookies\winamp.txt (если не так, то надо соответственно
    поменять пути в регекспе во всех местах, разумеется:-))

    NP string format: %7 ||| %2 (%1; %3) %6
    ~~~ вот это _должно_ быть!

    String when inactive: [inactive]
    String when stopped: [stopped]
    String when paused: [paused]

    Теперь в чем идея? Вначале макрос проверяет, есть ли mp3 тег в проигрываемом
    файле. Фокус в том, что при наличии такого тега NP напишет в файл что-то вроде:
    БГ - Nuit De Noel ||| Nuit De Noel (БГ; Песни Вертинского)

    А при отсутствии, соответственно:
    Nuit De Noel
    и больше ничего. Вот наличие трех вертикальных палок и проверяется. Если они
    _есть_ -- выдается при помощи регекспа то, что внизу, в моей подписи. В
    противном случае -- еще одна проверка: не стоит ли в начале winamp.txt
    открывающая квадратная скобка (что должно указывать на [inactive], [paused] или
    [stopped] без названия композиции _вообще_: такое мне тоже встречалось…),
    если да -- ничего не выдавать, а если нет -- обработать winamp.txt чуть
    иначе (в частности, выкинуть номер трека в начале композиции, если он
    там есть) и выдать. Получается что-то типа

    ---
    WinAmp: Пес Дуглас

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

    Ну и, как обычно, comments, suggestions & bug reports (боже сохрани:-))) are
    welcomed here: <akiselev@mph.phys.spbu.ru> (а _не_ в группу!)

    HTH (хоть кому-то:-))

    ЗЫ. У меня: WinAmp 2.71, NP plugin 1.23. Как все понимают, от версий может много
    чего зависеть, к сожалению:-(

    ЗЗЫ. Приветик персонально Слэшу, без его inspiration я бы так и не созрел до
    применения %If:-). Может, и рекурсию какую придумаю со временем:-))

    ЗЗЗЫ. Прошу сильно не пинать: да, таки изврат, но см. сабж.

    --
    С уважением, Александр
    ---
    WinAmp: Пес Дуглас (БГ; Песни Вертинского)
    ---

  9. #9
    Vlad2000
    Vlad2000 вне форума
    Участник
    Регистрация
    07.11.2002
    Сообщений
    159

    Re:Можно ли отображать в Бате названия песен из WinAmp'а?

    Alexander Kiselev:
    Спасибо !

  10. #10
    djdance
    djdance вне форума
    Участник
    Регистрация
    22.12.2002
    Сообщений
    57

    Re:Можно ли отображать в Бате названия песен из WinAmp'а?

    обращаюсь к рюхам по регекспам: упростите указанный выше скрипт, оставив только функциональность по "["!

Похожие темы

  1. html агент в Бате, где можно н-ти по нему доки?
    от Loubov в разделе The Bat!: вопросы и ответы
    Ответов: 2
    Последнее сообщение: 07.03.2005, 21:21
  2. Можно ли в бате править письма или писать комментарии?
    от EliteR в разделе The Bat!: вопросы и ответы
    Ответов: 7
    Последнее сообщение: 31.01.2005, 13:46
  3. MOVED: Можно ли отображать в Бате названия песен из WinAmp'а?
    от Vadim в разделе The Bat!: вопросы и ответы
    Ответов: 0
    Последнее сообщение: 15.07.2003, 19:57
  4. Можно ли в The_Bat поменять названия полей адресной книги?
    от uxxuz в разделе Архив первого форума
    Ответов: 4
    Последнее сообщение: 15.10.2002, 13:52