curds: Send next-track notification when changing tracks

This lets the UI know that something changed so scrolling can happen in
the UI.

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2019-04-25 13:39:38 -04:00
parent 2815724b5c
commit 2d6d4444bf
2 changed files with 11 additions and 0 deletions

View File

@ -6,6 +6,7 @@ from . import genre
from . import library
from . import node
from . import previous
from .. import notify
import random
@ -38,6 +39,7 @@ class PlaylistRoot(node.PlaylistNode):
self.lookup("Previous").add(self.track)
self.current_changed(old)
notify.notify("next-track", self.track)
return self.track
def peek(self, n):

View File

@ -23,6 +23,7 @@ class TestPlaylistRoot(unittest.TestCase):
tags.clear()
library.reset()
notify.register("new-playlist", self.on_new_playlist)
notify.register("next-track", self.on_next_track)
notify.register("playlist-changed", self.on_playlist_changed)
try:
@ -32,12 +33,14 @@ class TestPlaylistRoot(unittest.TestCase):
self.cb_plist = None
self.cb_index = None
self.cb_first = None
self.cb_track = None
self.cb_change = [ ]
def tearDown(self):
notify.cancel("new-track", self.playman.lookup("Collection").add)
notify.cancel("new-track", self.playman.lookup("Genres").new_track)
notify.cancel("new-playlist", self.on_new_playlist)
notify.cancel("next-track", self.on_next_track)
notify.register("playlist-changed", self.on_playlist_changed)
library.stop()
@ -49,6 +52,9 @@ class TestPlaylistRoot(unittest.TestCase):
def on_playlist_changed(self, plist):
self.cb_change.append(plist)
def on_next_track(self, track):
self.cb_track = track
def test_root_init(self):
self.assertIsInstance(self.playman, root.PlaylistRoot)
self.assertIsInstance(self.playman, node.PlaylistNode)
@ -99,6 +105,7 @@ class TestPlaylistRoot(unittest.TestCase):
self.assertEqual(self.playman.track, track1)
self.assertEqual(clist.current, 0)
self.assertEqual(track1, clist[0])
self.assertEqual(self.cb_track, track1)
self.assertEqual(len(prev), 1)
self.assertEqual(prev[0], track1)
@ -107,12 +114,14 @@ class TestPlaylistRoot(unittest.TestCase):
self.assertEqual(self.playman.track, track2)
self.assertEqual(clist.current, 1)
self.assertEqual(track2, clist[1])
self.assertEqual(self.cb_track, track2)
self.assertEqual(len(prev), 2)
self.assertEqual(prev[0], track2)
self.assertEqual(prev[1], track1)
self.assertEqual(self.playman.previous(), track1)
self.assertEqual(self.cb_track, track2)
self.playman.reset()
self.assertEqual(len(self.playman.lookup("Previous")), 0)