Squirreltech

July 29, 2011

pianobar man!

Filed under: music, Ubuntu — squirreltech @ 4:16 am

Pianobar is a command line client for pandora… I am beginning to feel that it is a must have for any home automation directed squirrel, especially if he already has a pandora account.

I was searching for details on this mysterious “eventcmd” that I saw referenced somewhere as a way to get information out of pianobar when you did an action. Apparently people really want to post their current song to last.fm. Whatever. But I couldn’t find many details about the syntax and such, until this one that referenced a man page!! Duh. I somehow figured that since it didn’t have much documentation on the web site, there just wasn’t much at all.

Well, to help anyone else in this situation, i’ll paste it here for the google crawlers to find. I found it very useful, most especially the part about “ctl” as a command interface….. this means I can write some kind of gui front end to start, stop, change play from my phone. Awesome.

pianobar(1)                                                        pianobar(1)

NAME
       pianobar - console pandora.com music player

SYNOPSIS
       pianobar

DESCRIPTION
       pianobar  is  a  lightweight  console music player for the personalized
       online radio pandora.com.

FILES
       $XDG_CONFIG_HOME/pianobar/config or ~/.config/pianobar/config
              Per-user configuration file. See CONFIGURATION.

       /etc/libao.conf or ~/.libao
              Global/per-user audio output configuration. See libao documentaâ
              tion at http://xiph.org/ao/doc/config.html

CONFIGURATION
       The  configuration file consists of simple key = value lines. Each terâ
       minated with a newline (\n) character. Keys and values  are  both  case
       sensitive. act_*-keys control pianobar's key-bindings.

       act_help = ?
              Show keybindings.

       act_songlove = +
              Love currently played song.

       act_songban = -
              Ban  current  track.  It  will  not be played again and can only
              removed using the pandora.com web interface.

       act_stationaddmusic = a
              Add more music to current station.  You  will  be  asked  for  a
              search  string. Just follow the instructions. If you're clueless
              try '?' (without quotes).

       act_bookmark = b
              Bookmark current song or artist.

       act_stationcreate = c
              Create new station. You have to enter a search string and select
              the song or artist of your choice.

       act_stationdelete = d
              Delete current station.

       act_songexplain = e
              Explain why this song is played.

       act_stationaddbygenre = g
              Add genre station provided by pandora.

       act_history = h
              Show history.

       act_songinfo = i
              Print information about currently played song/station.

       act_addshared = j
              Add shared station by id. id is a very long integer without "sh"
              at the beginning.

       act_songmove = m
              Move current song to another station

       act_songnext = n
              Skip current song.

       act_songpause = p
              Pause/Continue

       act_quit = q
              Quit pianobar.

       act_stationrename = r
              Rename currently played station.

       act_stationchange = s
              Select another station.

       act_songtired = t
              Ban song for one month.

       act_upcoming = u
              Show next songs in playlist.

       act_stationselectquickmix = x
              Select quickmix stations.

       act_voldown = (
              Decrease volume.

       act_volup = )
              Increase volume.

       audio_format = {aacplus,mp3,mp3-hifi}
              Select audio format. aacplus is default if both libraries (faad,
              mad)  are  available. mp3-hifi is available for Pandora One cusâ
              tomers only.

       autostart_station = stationid
              Play this station when starting up. You can get the stationid by
              pressing i or the key you defined in act_songinfo.

       ban_icon = </3
              Icon for banned songs.

       control_proxy = http://host:port/
              Non-american  users  need  a  proxy to use pandora.com. Only the
              xmlrpc interface will use this  proxy.  The  music  is  streamed
              directly.

       event_command = path
              File that is executed when event occurs. See section EVENTCMD

       history = 5
              Keep a history of the last n songs (5, by default). You can rate
              these songs.

       love_icon = <3
              Icon for loved songs.

       password = plaintext_password
              Your pandora.com password. Plain-text.

       proxy = http://host:port/
              Use  a  http  proxy.  Note  that  this  setting  overrides   the
              http_proxy environment variable.

       sort  =  {name_az,  name_za,  quickmix_01_name_az, quickmix_01_name_za,
       quickmix_10_name_az, quickmix_10_name_za}
              Sort station list by  name  or  type  (is  quickmix)  and  name.
              name_az   for  example  sorts  by  name  from  a  to  z,  quickâ
              mix_01_name_za by type (quickmix at the bottom) and name from  z
              to a.

       user = your@user.name
              Your pandora.com username.

       volume = 0
              Initial volume correction in dB. Usually between -30 and +5.

REMOTE CONTROL
       pianobar  can be controlled through a fifo. You have to create it yourâ
       self by executing

        mkfifo ~/.config/pianobar/ctl

       Adjust the path if you set up a $XDG_CONFIG_HOME.  Afterwards  you  can
       write commands directly into the fifo. Example (next song):

        echo -n 'n' > ~/.config/pianobar/ctl

       n is the keybinding for "next song". If you customized your keybindings
       you have to use these characters to control pianobar.   This  behaviour
       may change in the future!

       Another example:

        while true; do;
           nc -l -p 12345 -s localhost localhost > ~/.config/pianobar/ctl;
           sleep 1;
        done

        echo -ne 'n\x1a' | nc -q 0 127.0.0.1 12345

EVENTCMD
       pianobar  can  report  certain "events" to an external application (see
       CONFIGURATION ). This application is started with  the  event  name  as
       it's  first  argument. More information (artist, title, album, stationâ
       Name, error code, error description, song length in milliseconds,  ratâ
       ing, album art url) is supplied through stdin.

       Currently  supported events are: artistbookmark, songban, songbookmark,
       songexplain, songfinish, songlove, songmove, songshelf, songstart, staâ
       tionaddmusic,  stationaddshared, stationcreate, stationdelete, stationâ
       fetchplaylist, stationquickmixtoggle, stationrename

       An example script can be found in the contrib/ directory of  pianobar's
       source distribution.

AUTHOR
       Lars-Dominik Braun <lars@6xq.net>

                                                                   pianobar(1)

Create a free website or blog at WordPress.com.