audio: Give the AutoPauseScale a keep_playing property
And a function to find out if we are about to pause or not. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
049eeec38a
commit
96956c730d
|
@ -65,8 +65,12 @@ class SeekScale(ScalePlus):
|
|||
class AutoPauseScale(ScalePlus):
|
||||
def __init__(self):
|
||||
ScalePlus.__init__(self, -1, 99, 1, 5)
|
||||
self.keep_playing = True
|
||||
self.set_digits(0)
|
||||
|
||||
def about_to_pause(self):
|
||||
return self.get_value() == 0
|
||||
|
||||
def format_value(self, scale, value):
|
||||
value = int(value)
|
||||
if value == -1: return "Keep Playing"
|
||||
|
@ -74,6 +78,10 @@ class AutoPauseScale(ScalePlus):
|
|||
elif value == 1: return "Next Track"
|
||||
return f"{value} Tracks"
|
||||
|
||||
def decrement(self):
|
||||
self.keep_playing = not self.about_to_pause()
|
||||
super().decrement()
|
||||
|
||||
|
||||
class VolumeScale(ScalePlus):
|
||||
def __init__(self, player):
|
||||
|
|
|
@ -145,6 +145,7 @@ class TestAutoPauseScale(unittest.TestCase):
|
|||
self.assertEqual(adj.get_upper(), 99)
|
||||
self.assertEqual(adj.get_step_increment(), 1)
|
||||
self.assertEqual(adj.get_page_increment(), 5)
|
||||
self.assertTrue(pause.keep_playing)
|
||||
|
||||
def test_autopause_scale_values(self):
|
||||
pause = scale.AutoPauseScale()
|
||||
|
@ -153,6 +154,30 @@ class TestAutoPauseScale(unittest.TestCase):
|
|||
self.assertEqual(pause.format_value(pause, 1), "Next Track")
|
||||
self.assertEqual(pause.format_value(pause, 2), "2 Tracks")
|
||||
|
||||
def test_keep_playing(self):
|
||||
pause = scale.AutoPauseScale()
|
||||
pause.set_value(2)
|
||||
|
||||
pause.decrement()
|
||||
self.assertEqual(pause.get_value(), 1)
|
||||
self.assertFalse(pause.about_to_pause())
|
||||
self.assertTrue(pause.keep_playing)
|
||||
|
||||
pause.decrement()
|
||||
self.assertEqual(pause.get_value(), 0)
|
||||
self.assertTrue(pause.about_to_pause())
|
||||
self.assertTrue(pause.keep_playing)
|
||||
|
||||
pause.decrement()
|
||||
self.assertEqual(pause.get_value(), -1)
|
||||
self.assertFalse(pause.about_to_pause())
|
||||
self.assertFalse(pause.keep_playing)
|
||||
|
||||
pause.decrement()
|
||||
self.assertEqual(pause.get_value(), -1)
|
||||
self.assertFalse(pause.about_to_pause())
|
||||
self.assertTrue(pause.keep_playing)
|
||||
|
||||
|
||||
class TestVolumeScale(unittest.TestCase):
|
||||
def test_volume_scale_init(self):
|
||||
|
|
Loading…
Reference in New Issue