audio: Move play_track() out of the Player
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
b95ad55c9a
commit
39794c0830
|
@ -20,3 +20,12 @@ def NowPlaying():
|
|||
|
||||
def SeekControl():
|
||||
return scale.ScaleButtonBox(scale.SeekScale(Player))
|
||||
|
||||
|
||||
def play_track(track):
|
||||
if track == Player.track:
|
||||
return False
|
||||
Player.uri = None
|
||||
Player.load_track(track)
|
||||
Player.playing = True
|
||||
return True
|
||||
|
|
|
@ -65,14 +65,10 @@ class Player(bass.BassPlayer):
|
|||
def pause(self): self.playing = False
|
||||
def playpause(self, *args): self.playing = not self.playing
|
||||
|
||||
def play_track(self, track):
|
||||
if track == self.track:
|
||||
return False
|
||||
self.load_set_state(track, Gst.State.PLAYING)
|
||||
return True
|
||||
|
||||
def previous(self, *args):
|
||||
self.play_track(tagdb.Stack.previous())
|
||||
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):
|
||||
|
|
|
@ -1,11 +1,25 @@
|
|||
# Copyright 2021 (c) Anna Schumaker.
|
||||
import audio
|
||||
import pathlib
|
||||
import tagdb
|
||||
import unittest
|
||||
|
||||
test_album = pathlib.Path("./data/Test Album/")
|
||||
|
||||
class TestAudio(unittest.TestCase):
|
||||
def test_audio_init(self):
|
||||
self.assertIsInstance(audio.Player, audio.player.Player)
|
||||
|
||||
def test_audio_play_track(self):
|
||||
lib = tagdb.Library.add(test_album)
|
||||
lib.scan().join()
|
||||
track = [ t for t in lib.tracks if t.tracknumber == 1 ][0]
|
||||
|
||||
self.assertTrue(audio.play_track(track))
|
||||
self.assertTrue(audio.Player.playing)
|
||||
self.assertFalse(audio.play_track(track))
|
||||
audio.Player.playing = False
|
||||
|
||||
def test_audio_widgets(self):
|
||||
seeker = audio.SeekControl()
|
||||
|
||||
|
|
|
@ -59,7 +59,6 @@ class TestPlayer(unittest.TestCase):
|
|||
self.assertEqual(settings.get_int("audio.trackid"), self.track.trackid)
|
||||
self.assertEqual(play.get_state(), Gst.State.READY)
|
||||
self.assertEqual(self.changed, (None, self.track) )
|
||||
self.assertFalse(play.play_track(self.track))
|
||||
|
||||
tagdb.tags.User["Previous"].tracks.clear()
|
||||
play2 = player.Player()
|
||||
|
|
|
@ -22,7 +22,7 @@ Selection.set_model(FilterModel)
|
|||
|
||||
def on_row_activate(view, position):
|
||||
track = FilterModel.get_item(position)
|
||||
if audio.Player.play_track(track) == True:
|
||||
if audio.play_track(track):
|
||||
Model.tag.track_selected(track)
|
||||
tagdb.save()
|
||||
|
||||
|
|
Loading…
Reference in New Issue