@@ -44,7 +44,7 @@ struct sr_session_priv {
44
44
45
45
static void now_playing (sr_session_t * s , sr_track_t * t );
46
46
static void ws_auth (sr_session_t * s );
47
- static void ws_love (sr_session_t * s );
47
+ static void ws_love (sr_session_t * s , bool on );
48
48
49
49
sr_session_t *
50
50
sr_session_new (const char * url ,
@@ -190,7 +190,7 @@ check_last(sr_session_t *s,
190
190
g_queue_push_tail (priv -> love_queue , sr_track_dup (c ));
191
191
g_mutex_unlock (priv -> love_queue_mutex );
192
192
if (!priv -> api_problems )
193
- ws_love (s );
193
+ ws_love (s , true );
194
194
}
195
195
196
196
playtime = timestamp - c -> timestamp ;
@@ -505,7 +505,7 @@ sr_session_handshake(sr_session_t *s)
505
505
if (!priv -> session_key )
506
506
ws_auth (s );
507
507
else
508
- ws_love (s );
508
+ ws_love (s , true );
509
509
}
510
510
}
511
511
@@ -942,11 +942,11 @@ ws_love_cb(SoupSession *session,
942
942
943
943
if (!g_queue_is_empty (priv -> love_queue ))
944
944
/* still need to submit more */
945
- ws_love (s );
945
+ ws_love (s , true );
946
946
}
947
947
948
948
static void
949
- ws_love (sr_session_t * s )
949
+ ws_love (sr_session_t * s , bool on )
950
950
{
951
951
struct sr_session_priv * priv = s -> priv ;
952
952
SoupMessage * message ;
@@ -961,7 +961,7 @@ ws_love(sr_session_t *s)
961
961
return ;
962
962
963
963
ws_params (s , & params ,
964
- "method" , "track.love" ,
964
+ "method" , on ? "track.love" : "track.unlove " ,
965
965
"api_key" , priv -> api_key ,
966
966
"sk" , priv -> session_key ,
967
967
"track" , t -> title ,
@@ -1007,5 +1007,5 @@ sr_session_love(sr_session_t *s, const char *artist, const char *title, int on)
1007
1007
g_mutex_unlock (priv -> love_queue_mutex );
1008
1008
1009
1009
if (!priv -> api_problems )
1010
- ws_love (s );
1010
+ ws_love (s , on );
1011
1011
}
0 commit comments