Avatar
Linux, textfiler & minimalism
10 Maj 2008

Rhythmbox NowPlaying script för XChat

Här är ett sctipt skrivet av DrMegaHertz som visar vilken musik du spelar i XChat. Jag har gjort ett par mindre förändringar på det: Dels lade jag till årtal för albumet och ändrade hur raden visas, det ser nu ut såhär:

NP: Ayla - Sun is coming out [Trance Voices Vol 6][2003][3:07/3:47]

Kopiera koden och spara den med namnet np.py och placera filen i katalogen ~/.xchat2, för att sedan aktivera det går du in i menyn Windows / Plugins and Scripts. Klicka på knappen Load och leta reda på ditt script där.

#!/bin/python2

__module_name__ = "X-Chat Rhythmbox Script"
__module_version__ = "1.0"
__module_description__ = "Prints Rhythmbox info"
__module_author__ = "Marcus Fredrikson <drmegahertz@gmail.com>"

import xchat
import commands

def cb_rbx_help(word, word_eol, userdata):
print "----------------------------------------------------------"
print "/rbx      Shows the current song being played in Rhythmbox"
print "/rbx_help Prints a list of available commands"
print "/rbx_next Jumps to the next track in the Rhythmbox playlist"
print "/rbx_play Play/Pause Rhytmbox"
print "/rbx_prev Jumps to the previous track in the Rhythmbox playlist"

return xchat.EAT_ALL

# Print info about the current track
def cb_rbx_info(word, word_eol, userdata):
artist = commands.getoutput("rhythmbox-client --print-playing-format %ta")
track = commands.getoutput("rhythmbox-client --print-playing-format %tt")
album = commands.getoutput("rhythmbox-client --print-playing-format %at")
elapsed_time = commands.getoutput("rhythmbox-client --print-playing-format %te")
total_time = commands.getoutput("rhythmbox-client --print-playing-format %td")
year = commands.getoutput("rhythmbox-client --print-playing-format %ay")

xchat.command("say 02NP:02 %s - %s [%s][%s][%s/%s]" % (artist, track, album, year, elapsed_time, total_time))

return xchat.EAT_ALL

def cb_rbx_next(word, word_eol, userdata):
commands.getoutput("rhythmbox-client --next")
return xchat.EAT_ALL

def cb_rbx_prev(word, word_eol, userdata):
commands.getoutput("rhythmbox-client --previous")
return xchat.EAT_ALL

def cb_rbx_pause(word, word_eol, userdata):
commands.getoutput("rhythmbox-client --play-pause")
return xchat.EAT_ALL

# Hook callbacks
xchat.hook_command("np", cb_rbx_info, help="Prints Rhythmbox Info")
xchat.hook_command("rbx_next", cb_rbx_next, help="Jumps to the next song")
xchat.hook_command("rbx_prev", cb_rbx_prev, help="Jumps to the previous song")
xchat.hook_command("rbx_play", cb_rbx_pause, help="Play/Pause Rhythmbox playback")
xchat.hook_command("rbx_help", cb_rbx_help, help="Show list of commands")

# Print nag
print "%s %s by %s Successfully loaded!" % (__module_name__, __module_version__, __module_author__)
print "Type /rbx_help for a list of available commands."

För att sedan posta vad man spelar i XChat skriver man /np i kanalen.

Rhythmbox XChat IRC

Återkoppling

Min blogg består av 100% statisk HTML-kod och saknar därför ett kommentarssystem. Om du vill lämna återkoppling, diskutera eller fråga något går det bra att göra det via e-post, XMPP och Mastodon.