Commit Graph

11 Commits

Author SHA1 Message Date
Stein Magnus Jodal
1d108752f6 core: Make events emitted on playback consistent (fixes #629)
This commit does not try to make the events correct/perfect with regard to
GStreamer states, end-of-stream signalling, etc. It only tries to make the
events work consistently across all the methods on the playback controller.

* play(track) while already playing has changed from:

  - playback_state_changed(old_state='playing', new_state='playing')
  - track_playback_started(track=...)

  to:

  - playback_state_changed(old_state='playing', new_state='stopped')
  - track_playback_ended(track=..., time_position=...)
  - playback_state_changed(old_state='stopped', new_state='playing')
  - track_playback_started(track=...)

* next() has changed from:

  - track_playback_ended(track=..., time_position=...)
  - playback_state_changed(old_state='playing', new_state='stopped')
  - track_playback_ended(track=..., time_position=0)
  - playback_state_changed(old_state='stopped', new_state='playing')
  - track_playback_started(track=...)

  to same as play() above.

* previous() has changed in the same way as next().

* on_end_of_track() has changed from:

  - track_playback_ended(track=..., time_position=...)
  - playback_state_changed(old_state='playing', new_state='playing')
  - track_playback_started(track=...)

  to same as play() above.

* stop() has reordered its events from:

  - track_playback_ended(track=..., time_position=...)
  - playback_state_changed(old_state='playing', new_state='stopped')

  to:

  - playback_state_changed(old_state='playing', new_state='stopped')
  - track_playback_ended(track=..., time_position=...)
2014-01-14 01:18:39 +01:00
Stein Magnus Jodal
05632c3b8b backend: Update backend API imports 2014-01-11 18:20:45 +01:00
Stein Magnus Jodal
6a3e322845 core: Tweak mute docs, add simple test case 2013-10-09 23:24:17 +02:00
Stein Magnus Jodal
52ee456692 tests: Import unittest directly from the stdlib 2013-04-29 19:45:25 +02:00
Stein Magnus Jodal
1ed56c9ed7 Use tracklist.add() instead of tracklist.append() 2012-11-20 21:55:51 +01:00
Stein Magnus Jodal
6f0919bda8 style: Fix flake8 warnings 2012-11-19 18:01:31 +01:00
Stein Magnus Jodal
bba9548b27 Rename 'current playlist' to 'tracklist' 2012-11-13 10:59:48 +01:00
Stein Magnus Jodal
344d5bd49d Merge pull request #238 from jodal/feature/optional-backend-providers
Make all three backend provider types optional
2012-11-13 01:41:18 -08:00
Stein Magnus Jodal
6acaa490e9 Make all strings unicode by default (fixes #224) 2012-11-13 00:18:47 +01:00
Stein Magnus Jodal
d748c07daf Update playback controller to support backends without playback support 2012-11-12 22:19:27 +01:00
Stein Magnus Jodal
c47cec9e65 Make core.playback select backend based on track URI 2012-10-28 11:10:39 +01:00