[mafw-lastfm-devel] [PATCH 2/4] Use libscrobble

Felipe Contreras felipe.contreras at gmail.com
Sun Feb 21 22:29:33 EET 2010


Signed-off-by: Felipe Contreras <felipe.contreras at gmail.com>
---
 mafw-lastfm/Makefile.am   |    4 ++--
 mafw-lastfm/mafw-lastfm.c |   36 +++++++++++++++++-------------------
 2 files changed, 19 insertions(+), 21 deletions(-)

diff --git a/mafw-lastfm/Makefile.am b/mafw-lastfm/Makefile.am
index 41835bb..196fcb2 100644
--- a/mafw-lastfm/Makefile.am
+++ b/mafw-lastfm/Makefile.am
@@ -2,8 +2,8 @@ bin_PROGRAMS = mafw-lastfm
 
 mafw_lastfm_SOURCES = 		\
 	mafw-lastfm.c 		\
-	mafw-lastfm-scrobbler.c \
-	mafw-lastfm-scrobbler.h
+	scrobble.c \
+	scrobble.h
 
 mafw_lastfm_LDADD = $(MAFW_LASTFM_LIBS)
 mafw_lastfm_CPPFLAGS = $(MAFW_LASTFM_CFLAGS)
diff --git a/mafw-lastfm/mafw-lastfm.c b/mafw-lastfm/mafw-lastfm.c
index dc14f0e..25eb612 100644
--- a/mafw-lastfm/mafw-lastfm.c
+++ b/mafw-lastfm/mafw-lastfm.c
@@ -24,7 +24,7 @@
 #include <gio/gio.h>
 #include <string.h>
 
-#include "mafw-lastfm-scrobbler.h"
+#include "scrobble.h"
 
 #define WANTED_RENDERER "Mafw-Gst-Renderer"
 
@@ -55,15 +55,15 @@ metadata_callback (MafwRenderer *self,
                    gpointer user_data,
                    const GError *error)
 {
-  MafwLastfmScrobbler *scrobbler;
-  MafwLastfmTrack *track;
+  sr_session_t *scrobbler;
+  sr_track_t *track;
   GTimeVal time_val;
 
   g_get_current_time (&time_val);
 
-  scrobbler = MAFW_LASTFM_SCROBBLER (user_data);
+  scrobbler = user_data;
 
-  track = mafw_lastfm_track_new ();
+  track = sr_track_new ();
 
   track->artist = mafw_metadata_lookup_string (metadata, MAFW_METADATA_KEY_ARTIST);
   track->title = mafw_metadata_lookup_string (metadata, MAFW_METADATA_KEY_TITLE);
@@ -75,12 +75,11 @@ metadata_callback (MafwRenderer *self,
                                          state changed cb */
   track->source = 'P';
   track->album = mafw_metadata_lookup_string (metadata, MAFW_METADATA_KEY_ALBUM);
-  track->number = mafw_metadata_lookup_int (metadata, MAFW_METADATA_KEY_TRACK);
+  track->position = mafw_metadata_lookup_int (metadata, MAFW_METADATA_KEY_TRACK);
   track->length = length;
 
-  mafw_lastfm_scrobbler_enqueue_scrobble (scrobbler, track);
-
-  mafw_lastfm_track_free (track);
+  sr_session_add_track (scrobbler, track);
+  sr_session_submit (scrobbler);
 }
 
 static void
@@ -95,10 +94,8 @@ state_changed_cb (MafwRenderer *renderer,
                                         user_data);
     break;
   case Paused:
-    mafw_lastfm_scrobbler_suspend (MAFW_LASTFM_SCROBBLER (user_data));
-    break;
   case Stopped:
-    mafw_lastfm_scrobbler_flush_queue (MAFW_LASTFM_SCROBBLER (user_data));
+    sr_session_pause (user_data);
     break;
   default:
     break;
@@ -185,7 +182,7 @@ get_credentials (gchar *file,
 }
 
 static void
-authenticate_from_file (MafwLastfmScrobbler *scrobbler,
+authenticate_from_file (sr_session_t *scrobbler,
                         gchar *path)
 {
   gchar *username, *md5passwd;
@@ -193,10 +190,11 @@ authenticate_from_file (MafwLastfmScrobbler *scrobbler,
   if (!get_credentials (path, &username, &md5passwd))
     return;
 
-  mafw_lastfm_scrobbler_set_credentials (scrobbler, username, md5passwd);
-  mafw_lastfm_scrobbler_handshake (scrobbler);
+  sr_session_set_cred_hash (scrobbler, username, md5passwd);
   g_free (username);
   g_free (md5passwd);
+
+  sr_session_handshake (scrobbler);
 }
 
 static void
@@ -204,7 +202,7 @@ on_credentials_file_changed (GFileMonitor *monitor,
                              GFile *file,
                              GFile *other_file,
                              GFileMonitorEvent event_type,
-                             MafwLastfmScrobbler *scrobbler)
+                             sr_session_t *scrobbler)
 {
   gchar *path;
 
@@ -215,7 +213,7 @@ on_credentials_file_changed (GFileMonitor *monitor,
 
 static void
 monitor_credentials_file (const gchar *path,
-                          MafwLastfmScrobbler *scrobbler)
+                          sr_session_t *scrobbler)
 {
   GFile * file;
   GFileMonitor *monitor;
@@ -234,14 +232,14 @@ int main (void)
   GError *error = NULL;
   MafwRegistry *registry;
   GMainLoop *main_loop;
-  MafwLastfmScrobbler *scrobbler;
+  sr_session_t *scrobbler;
   gchar *file;
 
   g_type_init ();
   if (!g_thread_supported ())
     g_thread_init (NULL);
 
-  scrobbler = mafw_lastfm_scrobbler_new ();
+  scrobbler = sr_session_new (SR_LASTFM_URL, "maf", "0.0.1");
 
   registry = MAFW_REGISTRY (mafw_registry_get_instance ());
   if (!registry) {
-- 
1.7.0



More information about the mafw-lastfm-devel mailing list