libsaria: Add a load_playlist() callback

Called when playlists are loaded from file.
This commit is contained in:
Bryan Schumaker 2011-05-01 09:41:47 -04:00
parent 96b237631e
commit bc54ef0a98
3 changed files with 8 additions and 2 deletions

View File

@ -28,3 +28,7 @@ def set_volume(prcnt):
on_get_art = null_cb on_get_art = null_cb
def get_art(file, id): def get_art(file, id):
on_get_art(file, id) on_get_art(file, id)
on_load_playlist = null_cb
def load_playlist():
on_load_playlist()

View File

@ -4,6 +4,7 @@ import libsaria
from libsaria import path from libsaria import path
from libsaria.sources import library from libsaria.sources import library
from libsaria.sources import playlist from libsaria.sources import playlist
from libsaria import callbacks
import libsaria.xm as xml import libsaria.xm as xml
add_child = xml.add_child add_child = xml.add_child
@ -62,6 +63,7 @@ def decode_xspf(child):
except: except:
pass pass
playlist.save() playlist.save()
callbacks.load_playlist()
def encode_xspf(doc, node, id): def encode_xspf(doc, node, id):
filepath = get_attrs(id, "filepath") filepath = get_attrs(id, "filepath")
@ -193,7 +195,7 @@ def import_xml(file):
doc = xml.parse(fin) doc = xml.parse(fin)
child = xml.child(doc) child = xml.child(doc)
if child.nodeName == "playlist": if child.nodeName == "playlist":
libsaria.event.call("LOADPLAYLIST", decode_xspf, child) decode_xspf(child)
elif child.nodeName == "library": elif child.nodeName == "library":
import_library(child) import_library(child)

View File

@ -38,7 +38,7 @@ callbacks.on_get_art = on_get_art
def on_load_playlist(*args): def on_load_playlist(*args):
playlist.refresh() playlist.refresh()
invite("POSTLOADPLAYLIST", on_load_playlist) callbacks.on_load_playlist = on_load_playlist
def on_load_library(*args): def on_load_library(*args):
library.refresh() library.refresh()