From 99771a34fbb69c781e34060ef94216b20320ff3b Mon Sep 17 00:00:00 2001 From: Bryan Schumaker Date: Sat, 30 Apr 2011 13:05:22 -0400 Subject: [PATCH] libsaria: on_like() callback This replaces the LIKE event for setting if the user likes the current song. --- libsaria/callbacks.py | 4 ++++ libsaria/controls.py | 4 +++- ocarina/body/footer/__init__.py | 4 ++-- ocarina/body/footer/nowplaying.py | 3 +-- ocarina/callbacks.py | 6 +++--- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/libsaria/callbacks.py b/libsaria/callbacks.py index bca610dd..4e6ce86c 100644 --- a/libsaria/callbacks.py +++ b/libsaria/callbacks.py @@ -14,3 +14,7 @@ def pause(): on_load = null_cb def load_file(file): on_load(file) + +on_like = null_cb +def like_song(like): + on_like(like) diff --git a/libsaria/controls.py b/libsaria/controls.py index dc9a2fc3..ff8f4bb1 100644 --- a/libsaria/controls.py +++ b/libsaria/controls.py @@ -2,6 +2,7 @@ import prefs import audio +from libsaria import callbacks libsaria = None sources = None library = None @@ -96,7 +97,8 @@ def set_rand(rand): prefs.set("libsaria.random", rand) def set_like(like=None): - return call("SETLIKE", sources.set_attr, "like", like) + sources.set_attr("like", like) + callbacks.like_song(like) def get_like(): return sources.get_attrs("like") diff --git a/ocarina/body/footer/__init__.py b/ocarina/body/footer/__init__.py index e141ee33..7eb28202 100644 --- a/ocarina/body/footer/__init__.py +++ b/ocarina/body/footer/__init__.py @@ -65,5 +65,5 @@ def on_load(): tiny.on_load() detailed.on_load() -def on_like(): - detailed.nowplaying.on_like() +def on_like(like): + detailed.nowplaying.on_like(like) diff --git a/ocarina/body/footer/nowplaying.py b/ocarina/body/footer/nowplaying.py index b2ea7bce..8a770937 100644 --- a/ocarina/body/footer/nowplaying.py +++ b/ocarina/body/footer/nowplaying.py @@ -62,8 +62,7 @@ def set_art(path): height = 64 ARTWORK.set_image(path, height) -def on_like(): - like = controls.get_like() +def on_like(like): def _on_like1(like): LIKE.set_active(like == True) DISLIKE.set_active(like == False) diff --git a/ocarina/callbacks.py b/ocarina/callbacks.py index 92cb48e1..c252e98c 100644 --- a/ocarina/callbacks.py +++ b/ocarina/callbacks.py @@ -24,9 +24,9 @@ def on_load(file): body.cur_page_goto() callbacks.on_load = on_load -def on_like(*args): - footer.on_like() -invite("POSTSETLIKE", on_like) +def on_like(like): + footer.on_like(like) +callbacks.on_like = on_like def on_getart(path, id): cur_id = libsaria.sources.get_attrs("id")