The sources module should choose between picking the next song from the playlist or the queue. It should also be in charge of tracking the current song id.
101 lines
1.6 KiB
Python
101 lines
1.6 KiB
Python
# Bryan Schumaker (11/23/2010)
|
|
|
|
import prefs
|
|
import audio
|
|
from libsaria import callbacks
|
|
libsaria = None
|
|
sources = None
|
|
library = None
|
|
playlist = None
|
|
queue = None
|
|
|
|
expand = None
|
|
exists = None
|
|
|
|
pause_after = False
|
|
prefs.init("libsaria.random", False)
|
|
|
|
def init():
|
|
global libsaria
|
|
import libsaria
|
|
|
|
def init2():
|
|
global sources
|
|
global library
|
|
global playlist
|
|
global expand
|
|
global exists
|
|
global queue
|
|
|
|
expand = libsaria.path.expand
|
|
exists = libsaria.path.exists
|
|
sources = libsaria.sources
|
|
library = sources.library
|
|
playlist = sources.playlist
|
|
queue = sources.queue
|
|
|
|
def pick_next():
|
|
global pause_after
|
|
file = sources.next()
|
|
load(file)
|
|
if pause_after == True:
|
|
pause()
|
|
else:
|
|
play()
|
|
pause_after = False
|
|
|
|
def catch_eos(*args):
|
|
library.inc_count()
|
|
pick_next()
|
|
|
|
def next():
|
|
pick_next()
|
|
|
|
def play():
|
|
audio.play()
|
|
|
|
def pause():
|
|
audio.pause()
|
|
|
|
def playing():
|
|
return audio.get_state() == audio.gst.STATE_PLAYING
|
|
|
|
def do_pause_after(*args):
|
|
global pause_after
|
|
pause_after = True
|
|
|
|
def toggle_play():
|
|
if audio.get_state() == audio.gst.STATE_PAUSED:
|
|
play()
|
|
else:
|
|
pause()
|
|
|
|
def stop():
|
|
audio.stop()
|
|
|
|
def seek_forward():
|
|
libsaria.audio.seek(5)
|
|
|
|
def seek_backward():
|
|
libsaria.audio.seek(-5)
|
|
|
|
def set_volume(prcnt):
|
|
audio.set_volume(prcnt)
|
|
callbacks.set_volume(prcnt)
|
|
|
|
def set_rand(rand):
|
|
prefs.set("libsaria.random", rand)
|
|
|
|
def set_like(like=None):
|
|
sources.set_attr("like", like)
|
|
callbacks.like_song(like)
|
|
|
|
def get_like():
|
|
return sources.get_attrs("like")
|
|
|
|
def load(file):
|
|
file = expand(file)
|
|
if not exists(file):
|
|
return False
|
|
audio.load_file(file)
|