opium_inside 24.04.2010 14:01
Скрипты — небольшой now-playing между mocp и pidgin
По просьбе Главного начинаю выкладывать некоторые скрипты для пополнения функционала mocp.Собственно, первый скрипт, написан на python с использованием D-bus. По вызову скрипта статус пиджина меняется на название текущего воспроизводимого трека.
В файле конфигурации mocp (~/.moc/config) есть строка вида "# OnSongChange = «/home/...». Файл, путь к которому передаётся в качестве аргумента этому параметру, и будет выполняться при смене трека. Можно туда прописать адрес данного скрипта, и он будет выполняться при каждой смене песни. Если место уже занято (например и чаще всего OSD), а автосмену статуса охота, то будет разумно добавить в конец OSD-скрипта строчку вида
python ~/.moc/scriptname.py
ner_uto 24.04.2010 17:48 #
+ 0 -
А можно код прокомментировать? А то вдруг чего захочется под себя подпилить:)
Код писался давно, на основе чьего-то чужого, тоже не комментированного кода, мои знания питона находятся где-то в районе плинтуса (я больше по Perl-у и *sh), поэтому писалось в основном интуитивно... но я попробую. :)
Какие версии pidgin и D-bus требуются?
pidgin >= 2.5.2 (возможна работа на более ранних версиях, не тестировалось)
D-bus, насколько я помню, может похвастаться тем, что не ломает свой API, поэтому даже самый заядлый Debian'щик не уйдет обиженным.
D-bus, насколько я помню, может похвастаться тем, что не ломает свой API, поэтому даже самый заядлый Debian'щик не уйдет обиженным.
На Ubuntu 8.10 заработало :)
И так: 1) не плохо бы довершить статью, дабы дополнить полное how-to, чтобы переключение статусов сменялось автоматически при запуске очередного трека.
2) в pidgin, в истории статусов сохраняется все статусы, в том числе и проигрываемые треки... Это не годится никуда :(
2) в pidgin, в истории статусов сохраняется все статусы, в том числе и проигрываемые треки... Это не годится никуда :(
В файле конфигурации mocp (~/.moc/config) есть строка вида "# OnSongChange = «/home/...». Файл, путь к которому передаётся в качестве аргумента этому параметру, и будет выполняться при смене трека. Можно сразу раскоментировать строку и прописать в качестве параметра что-то вроде «home/username/.moc/osd.sh».
Нашёл, только конечно не плохо было бы каждый скрпит хотябы копипастить этот текст.
Нашёл, только конечно не плохо было бы каждый скрпит хотябы копипастить этот текст.
Да чтож я такой не терпеливый, подскажите как сделать, чтобы показывалось не таг, а имя файла. :)
Поменял Title на File, и стало показывать полный путь. - Полный путь до файла это КРУТО! Но у меня имя пользователя в системе не пристойное. :( Надо бы на ~ поменять, или обрезать :)
Реквестирую: сделать имя файла вместо тага, но преобразовать его в: ~/music/my_song.mp3 , сделать свою надпись в конце вида powered by mocp! Для изуверов можно парсить uname -a :)
Лично я не отношусь к числу лиц, которые любят хвастаться своим плеером/системой прямо в статусе im, но идея забавная) Попробую выполнить реквест на досуге. Если есть энтузиазм, с радостью включу в скрипт патч :) А пока займусь комментированием кода чтобы в этом индийском безобразии можно было хоть как-то разобраться кому-то кроме меня.
Ох, давненько я хотел подобной штуки, просто дорвался :)
Хочется взрослому дядечке поиграться с этим как дитя...
Можно писать не uname конечно, но писать что-то своё.
Хочется взрослому дядечке поиграться с этим как дитя...
Можно писать не uname конечно, но писать что-то своё.
могу, конечно, дополнить. Но сам использую забинденную под это дело кнопочку на мультимедиа-клавиатуре (бывают моменты, когда хочется поделиться музыкой со всем миром, но они у меня бывают нечасто). Сейчас допишу.
2) Это, конечно, печально. Но ничего поделать не могу. Есть предложения по тому как это исправить?
2) Это, конечно, печально. Но ничего поделать не могу. Есть предложения по тому как это исправить?
2) к сожалению нету... Это надо копать исходники pidgin на предмет очистки статусов, да ещё и через D-bus. Это конечно весьма не просто :(
Мои знания в python вообще никакие.
В общем хотелось бы и к тагам и к файлам парсить что-то своё, и имя файла выводить с тильдой.
Я понимаю, что оно всё Вам на фиг не надо. Но очень уж я просто давно хотел такой возможности, поэтому очень обрадовался, когда прочитал про "Наше Радио" и про push статуса pidgin.
С тагами конечно беда, часть в CP, часть в UTF, часть без оных... Но да ладно.
Если не трудно, реализуйте добавление своей надписи. В pithon только интуитивно понимаю чего делает код, но сам не асилю.
Мои знания в python вообще никакие.
В общем хотелось бы и к тагам и к файлам парсить что-то своё, и имя файла выводить с тильдой.
Я понимаю, что оно всё Вам на фиг не надо. Но очень уж я просто давно хотел такой возможности, поэтому очень обрадовался, когда прочитал про "Наше Радио" и про push статуса pidgin.
С тагами конечно беда, часть в CP, часть в UTF, часть без оных... Но да ладно.
Если не трудно, реализуйте добавление своей надписи. В pithon только интуитивно понимаю чего делает код, но сам не асилю.
Я рад, что кому-то кроме меня пригодилось это поделие :) Спасибо за участие.
Я, к сожалению, сейчас имею довольно плотный рабочий график, но я с удовольствием повожусь на досуге с вашим реквестом.
По части "добавить в статус что-то своё в конец", это элементарно реализуется в течение 10 минут правки кода, только еще не придумал как было бы изящнее эту надпись сделать по выбору пользователя. Все-таки зашивать её прямо в код было бы слишком грубо, даже если это будет глобальная переменная в самом верху над шабангом с комментарием. Думаю, будет приниматься в качестве первого аргумента к скрипту.
В плане добавить тильду вместо /home/user/, тут всё сложнее. Мы не сами получаем имя файла, мы его принимаем из stdout самого mocp, а там оно указано именно так. Можно, конечно, сочинить регекспу, которая бы меняла все что перед вторым слешем включительно на ~, это я тоже смогу. Но, повторюсь, мои знания питона относятся к "могу с перловским акцентом сказать пару фраз с разговорником", поэтому подождем питонистов. Может кто-то захочет включиться) Если нет, завтра будем потихоньку быдлокодить.
Я, к сожалению, сейчас имею довольно плотный рабочий график, но я с удовольствием повожусь на досуге с вашим реквестом.
По части "добавить в статус что-то своё в конец", это элементарно реализуется в течение 10 минут правки кода, только еще не придумал как было бы изящнее эту надпись сделать по выбору пользователя. Все-таки зашивать её прямо в код было бы слишком грубо, даже если это будет глобальная переменная в самом верху над шабангом с комментарием. Думаю, будет приниматься в качестве первого аргумента к скрипту.
В плане добавить тильду вместо /home/user/, тут всё сложнее. Мы не сами получаем имя файла, мы его принимаем из stdout самого mocp, а там оно указано именно так. Можно, конечно, сочинить регекспу, которая бы меняла все что перед вторым слешем включительно на ~, это я тоже смогу. Но, повторюсь, мои знания питона относятся к "могу с перловским акцентом сказать пару фраз с разговорником", поэтому подождем питонистов. Может кто-то захочет включиться) Если нет, завтра будем потихоньку быдлокодить.
Я понял, там mocp -i вывод используется, я его посмотрел разумеется. Да, каким-нибудь awk или sed или чего там самим python вывод просто обрезать, чтобы было: ./song.mp3 -- так думаю проще будет. Не обязательно ~.
В общем уже пару часов пользуюсь. Рад пока дико. :) Так я давно этого всего хотел. Linux уже три года как одна система, а такой я ребёнок иногда ещё. :)
Да, про аргумент не плохо сказали, но можно и глобальную перменную.
Я вижу, что код не сложный совсем, но так как нету опыта, могу лишь комментировать и просить, ну и тестировать. :)
В общем уже пару часов пользуюсь. Рад пока дико. :) Так я давно этого всего хотел. Linux уже три года как одна система, а такой я ребёнок иногда ещё. :)
Да, про аргумент не плохо сказали, но можно и глобальную перменную.
Я вижу, что код не сложный совсем, но так как нету опыта, могу лишь комментировать и просить, ну и тестировать. :)