audio: Clean up loading tracks
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
39794c0830
commit
8e509345bf
|
@ -25,7 +25,6 @@ def SeekControl():
|
|||
def play_track(track):
|
||||
if track == Player.track:
|
||||
return False
|
||||
Player.uri = None
|
||||
Player.load_track(track)
|
||||
Player.playing = True
|
||||
return True
|
||||
|
|
|
@ -14,14 +14,14 @@ class Player(bass.BassPlayer):
|
|||
def __init__(self):
|
||||
bass.BassPlayer.__init__(self)
|
||||
self.Autopause = scale.AutoPauseScale()
|
||||
self.track = None
|
||||
|
||||
self.bus.connect("message::eos", self.next)
|
||||
self.bus.connect("message::tag", self.on_tag)
|
||||
|
||||
self.Artwork = artwork.Artwork()
|
||||
|
||||
self.track = tagdb.Tracks[settings.get_int("audio.trackid")]
|
||||
self.load_set_state(self.track, Gst.State.PAUSED)
|
||||
self.load_track(tagdb.Tracks[settings.get_int("audio.trackid")])
|
||||
if self.track:
|
||||
self.track.add_to_playlist("Previous")
|
||||
|
||||
|
@ -32,26 +32,13 @@ class Player(bass.BassPlayer):
|
|||
return ret
|
||||
|
||||
def load_track(self, track):
|
||||
prev = self.track
|
||||
self.track = track
|
||||
if track is not None:
|
||||
settings.set("audio.trackid", track.trackid)
|
||||
self.uri = track.filepath().absolute().as_uri()
|
||||
self.emit("track-changed", prev, self.track)
|
||||
|
||||
def load_set_state(self, track, state):
|
||||
self.uri = None
|
||||
self.load_track(track)
|
||||
if track is not None:
|
||||
self.playbin.set_state(state)
|
||||
self.emit("track-changed", self.track, track)
|
||||
|
||||
def next(self, *args):
|
||||
if self.play_percent > (2 / 3):
|
||||
self.track.played()
|
||||
|
||||
(track, cont) = tagdb.Stack.next()
|
||||
state = Gst.State.PLAYING if cont else Gst.State.PAUSED
|
||||
self.load_set_state(track, state)
|
||||
self.load_track(track)
|
||||
self.playing = cont
|
||||
|
||||
def on_tag(self, bus, message):
|
||||
taglist = message.parse_tag()
|
||||
|
@ -66,10 +53,15 @@ class Player(bass.BassPlayer):
|
|||
def playpause(self, *args): self.playing = not self.playing
|
||||
|
||||
def previous(self, *args):
|
||||
self.uri = None
|
||||
self.load_track(tagdb.Stack.previous())
|
||||
self.playing = True
|
||||
|
||||
@GObject.Signal(arg_types=(tagdb.track.Track, tagdb.track.Track))
|
||||
def track_changed(self, prev, new):
|
||||
pass
|
||||
if prev and self.play_percent > (2 / 3):
|
||||
prev.played()
|
||||
|
||||
self.track = new
|
||||
if self.track:
|
||||
settings.set("audio.trackid", new.trackid)
|
||||
self.uri = new.filepath().absolute().as_uri()
|
||||
|
|
Loading…
Reference in New Issue