From ed2e5b882b1c78f70b7323e382cdff4b829b696f Mon Sep 17 00:00:00 2001 From: Bryan Schumaker Date: Fri, 12 Nov 2010 08:04:26 -0500 Subject: [PATCH] Playlist next() The playlist can play the next song in the playlist. --- libsaria/collection/__init__.py | 4 ++-- libsaria/collection/playlist.py | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/libsaria/collection/__init__.py b/libsaria/collection/__init__.py index 46e662b3..50d85ac2 100644 --- a/libsaria/collection/__init__.py +++ b/libsaria/collection/__init__.py @@ -67,12 +67,12 @@ def change_score(): def plist_next(): change_score() - choose_next() + playlist.next() def catch_eos(*args): inc_count(cur_lib_id) inc_score(cur_lib_id) - choose_next() + playlist.next() libsaria.event.invite("POSTEOS", catch_eos) diff --git a/libsaria/collection/playlist.py b/libsaria/collection/playlist.py index 52b933f1..18d5f79b 100644 --- a/libsaria/collection/playlist.py +++ b/libsaria/collection/playlist.py @@ -2,12 +2,14 @@ import libsaria from libsaria.collection import library +call = libsaria.event.call song_list = None song_set = None -filtered = False -visible = None +filtered = False +visible = None +cur_index = -1 def add_id(id): global song_list @@ -56,3 +58,16 @@ def is_visible(id): if filtered == True: return id in visible return True + +def seq_next(): + global cur_index + global song_list + cur_index += 1 + while is_visible(song_list[cur_index]) == False: + cur_index += 1 + return song_list[cur_index] + +def next(): + id = seq_next() + return call("NEXT", library.play_id, id) +