Showing posts with label dbus. Show all posts
Showing posts with label dbus. Show all posts

Thursday, June 17, 2010

Last.fm Proxy with DBus interface

I just realized I haven't made a public announcement regarding an application that constitutes a critical piece of my Rhythmbox arsenal:  " lastfm-proxy-dbus ".

This Linux Gnome application serves as "proxy" to a Last.fm user's scrobbling history. The data collected through this proxy serves to populate the "playcount" field of Rhythmbox's database.

More information can be found here.

Monday, February 8, 2010

Last.fm Web Service desktop interface through DBus

Not too long ago, I started my quest to Music Library Faiyland (my daughter would love this quote). On this journey, I have completed a couple of intermediate steps ( Rhythmbox plugin - Syncing with Last.fm and Rhythmbox plugin for Last.fm desktop client ) and now I am happy to announce another milestone: a DBus accessible interface to Last.fm's Web Service API.

API
The current DBus interface is rudimentary but can be easily extended ( I have abstracted Last.fm's API to a manageable degree ). I will certainly be expanding the methods in the near future based on my needs and "customer feedback" ;-) Below is a non-exhaustive list of the API:

  • Account related:
    • get/set Username
    • getAuthUrl : retrieve a URL for authenticating the service against a user
    • setApiKey , setSecretKey
  • Track related
    • track.addTags
    • track.getTags
    • track.removeTag

I have only implemented these methods because they get me what I need at the moment: the possibility to "rate" my music tracks through a hack using the tags to hold the rating for a track. E.g. a 5 stars track would get "R5" as tag.

Message Based Design Technique
In this project, I have further experimented with a design technique based on "Message Passing". I have made some notes on the subject here.

Project
The home page of this project can be found on my Github repository.  A Debian package can be found on my Launchpad PPA.

Thursday, October 8, 2009

Erlang DBus Client Interface Library

When working on Linux, it is hard to ignore DBus for communicating with applications around the Desktop. Since I love Erlang so much, I wanted the capability to interface with DBus through Erlang scripts and/or applications hence I crafted an interface library.


The project in question is available at Erlang-DBus on GoogleCode. Note that the Erlang Port API library is also required: EPAPI.