Commit Graph

1104 Commits

Author SHA1 Message Date
Stein Magnus Jodal
fd86b7173c core: Add playlist to playlist_changed() event 2012-11-16 23:50:01 +01:00
Stein Magnus Jodal
87ba412942 models: Make TlTrack an ImmutableObject 2012-11-16 15:01:37 +01:00
Stein Magnus Jodal
cfac728def tests: Don't use indexes into TlTracks 2012-11-16 14:57:25 +01:00
Stein Magnus Jodal
0e7f867d67 core: Test tracklist event trigging 2012-11-16 13:54:55 +01:00
Stein Magnus Jodal
d378fd7160 tests: Move events tests from tests/backends/ to tests/core 2012-11-16 11:53:48 +01:00
Stein Magnus Jodal
476df7a14d core: Add tracklist_changed() event 2012-11-16 11:43:49 +01:00
Stein Magnus Jodal
fff70c46a6 core: Make tracklist.append() return the appended TlTracks 2012-11-16 10:26:45 +01:00
Stein Magnus Jodal
684586dd18 mpris: Update for MPRIS 2.2 compliance 2012-11-15 09:04:21 +01:00
Thomas Adamcik
4d4c560882 Merge pull request #240 from jodal/feature/audio-state-events
Audio state events
2012-11-14 15:00:09 -08:00
Stein Magnus Jodal
3a24deaec3 Rename 'stored playlists' to 'playlists' 2012-11-14 09:23:19 +01:00
Stein Magnus Jodal
87ce7bbe11 audio: Maintain state and trigger events based on GStreamer state changes 2012-11-14 01:49:17 +01:00
Stein Magnus Jodal
76b1fa8e1b audio: Add state_changed(old_state, new_state) event 2012-11-13 20:31:38 +01:00
Stein Magnus Jodal
42fdaf3ff0 audio: Move tests to make room for more audio tests 2012-11-13 20:26:05 +01:00
Stein Magnus Jodal
dc356a81fd Merge branch 'feature/rename-cp-to-tracklist' into develop
Conflicts:
	docs/changes.rst
	mopidy/frontends/mpd/protocol/current_playlist.py
2012-11-13 19:09:18 +01:00
Stein Magnus Jodal
cc39853638 mpd: Normalize file/filename filters to uri filters 2012-11-13 11:53:47 +01:00
Stein Magnus Jodal
4f0a708411 mpd: Allow 'file' key to 'search' and 'find' 2012-11-13 11:34:48 +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
1b5b7abfdd Allow settings prefixed with 'CUSTOM_' (fixes #204) 2012-11-13 00:44:07 +01:00
Stein Magnus Jodal
6acaa490e9 Make all strings unicode by default (fixes #224) 2012-11-13 00:18:47 +01:00
Stein Magnus Jodal
92bd599ecf Update stored playlists controller to support backends without playlists 2012-11-12 22:38:49 +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
6f32d72792 Update the library controller to support backends without a library 2012-11-12 21:41:48 +01:00
Stein Magnus Jodal
49cf1ab8aa Require at least one frontend and one backend 2012-11-08 14:43:21 +01:00
Stein Magnus Jodal
197447c0cb Remove ancient despotify settings check 2012-11-08 14:42:06 +01:00
Stein Magnus Jodal
f08fba954e Update to work with current develop 2012-11-03 22:03:26 +01:00
Stein Magnus Jodal
938524e67e Merge branch 'develop' into feature/stored-playlists-cleanup 2012-11-03 22:02:19 +01:00
Stein Magnus Jodal
d985b8be38 Fix plchanges so it returns nothing when nothing has changed 2012-11-01 23:28:19 +01:00
Stein Magnus Jodal
60112897d2 MPD: Support listplaylist{,info} without quotes around spaceless playlist name (fixes #218) 2012-11-01 22:29:11 +01:00
Stein Magnus Jodal
8c9a3d6df2 Slugify local playlist names to make them safe to use in paths (#217) 2012-11-01 12:46:29 +01:00
Fred Hatfull
a5b454acc0 Fixes support for MPD find/search by filename
Extends `find_exact` and `search` in mopidy.backends.local.library
to support the `filename` query field. This field can get passed in
from the MPD frontend and would break with a `LookupError` when used.
This patch fixes the issue and introduces two new tests to cover the
added functionality.
2012-10-31 23:45:13 -07:00
Stein Magnus Jodal
6c49a7fc52 Make core.stored_playlists.save() support multibackend (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
3d05f3c65f Change stored_playlists.delete() to accepting an URI (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
f9f6f9394d Remove stored_playlists.rename() (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
06bcad2db9 Make local.stored_playlists.save() capable of renaming playlists (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
51aab4f138 Make local stored playlists set and use URIs (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
d8378e9284 Set URI on local playlists when reading from disk (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
fd88b974e8 Make core.stored_playlists.refresh() support multibackend (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
8cc1896b9d Make core.stored_playlists.lookup() support multibackend (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
e2474da1ef Make core.stored_playlists.create() support multibackend (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
0ddbb4e28a Make core.stored_playlists.playlists read-only (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
a679a47212 Minor test updates 2012-10-31 15:27:04 +01:00
Stein Magnus Jodal
ae344e937b Merge branch 'master' into develop
Conflicts:
	docs/changes.rst
	mopidy/__init__.py
	mopidy/audio/__init__.py
	mopidy/backends/dummy.py
	mopidy/backends/local/__init__.py
	mopidy/backends/spotify/__init__.py
	mopidy/utils/__init__.py
	mopidy/utils/network.py
	tests/version_test.py
2012-10-30 18:13:28 +01:00
Stein Magnus Jodal
5d5f0cc6e3 Bump version number to v0.8.1 2012-10-30 17:57:25 +01:00
Stein Magnus Jodal
f1e2cff3e0 Update to work with Pykka 1.0 2012-10-30 16:28:20 +01:00
Stein Magnus Jodal
d60bb57f5f Test new Album.date attribute 2012-10-30 10:18:40 +01:00
Stein Magnus Jodal
1014c6e373 Include both involved backends in the error message 2012-10-29 10:50:18 +01:00
Stein Magnus Jodal
4a79b559d5 Fail if two backends claims to handle the same URI schema 2012-10-29 10:31:35 +01:00
Stein Magnus Jodal
9a617b1803 Improvements after code review 2012-10-28 20:58:51 +01:00
Stein Magnus Jodal
0641d2d207 Make core.stored_playlists.playlists support multiple backends 2012-10-28 11:10:40 +01:00
Stein Magnus Jodal
a35deec050 Make core.library support multiple backends 2012-10-28 11:10:39 +01:00
Stein Magnus Jodal
c47cec9e65 Make core.playback select backend based on track URI 2012-10-28 11:10:39 +01:00
Stein Magnus Jodal
7b9c682e95 Make core.uri_schemes include URI schemes from all backends 2012-10-28 11:10:39 +01:00
Stein Magnus Jodal
2d92a7a228 Start multiple backends 2012-10-27 14:55:09 +02:00
Stein Magnus Jodal
956655f742 Update tests to use tracks with valid URIs 2012-10-27 14:53:35 +02:00
Stein Magnus Jodal
d685fe554c Simplify pykka imports 2012-10-26 22:57:41 +02:00
Stein Magnus Jodal
587dde287f Update to work with Pykka 1.0 2012-10-26 22:32:06 +02:00
Stein Magnus Jodal
c915c197dd Formatting 2012-10-25 22:49:47 +02:00
Stein Magnus Jodal
8683537816 Don't use command_list as both bool and list (#211) 2012-10-17 01:43:22 +02:00
Stein Magnus Jodal
afdc665ac0 Use deps.{platform_info,python_info} in log 2012-10-16 22:26:28 +02:00
Stein Magnus Jodal
5a0529b142 Empty utils/__init__.py 2012-10-16 21:36:51 +02:00
Stein Magnus Jodal
d4f5d02c72 Move MpdSession to a session module 2012-10-16 16:13:23 +02:00
Stein Magnus Jodal
d9d6a3d5b6 Move exceptions to mopidy.exceptions 2012-10-16 16:08:46 +02:00
Stein Magnus Jodal
ac60bcdf8e Fix all flake8 warnings in tests (#211) 2012-10-16 14:43:31 +02:00
Stein Magnus Jodal
c115cf123f MPD: Use core actor passed to frontend 2012-09-28 00:48:28 +02:00
Stein Magnus Jodal
9fd3e93cb6 MPRIS: Use core actor passed to frontend 2012-09-28 00:48:28 +02:00
Stein Magnus Jodal
706b6c6d3f Pass core actor to frontends 2012-09-28 00:48:24 +02:00
Stein Magnus Jodal
63cd153b1b Let NetworkServer pass protocol_kwargs on 2012-09-28 00:48:23 +02:00
Stein Magnus Jodal
e7f08a7a20 Rename mopidy.{listeners.BackendListener => core.CoreListener} 2012-09-27 20:35:39 +02:00
Stein Magnus Jodal
2fdeec9f5a Move controllers to a new core actor
The frontends use the new core actor, while the core actor uses the backend.

This is a step towards supporting multiple backends, where the core actor will
coordinate the backends.
2012-09-27 20:35:39 +02:00
Stein Magnus Jodal
5265609610 MPRIS: New BackendListener.seeked() signature 2012-09-26 22:12:38 +02:00
Stein Magnus Jodal
66f476e85a Fix typo 2012-09-26 10:08:59 +02:00
Stein Magnus Jodal
81fca7d686 Switch to time position from provider 2012-09-25 11:18:27 +02:00
Stein Magnus Jodal
12d6ce53dd Send new time position to 'seeked' listeners 2012-09-25 11:18:27 +02:00
Stein Magnus Jodal
28e5ed8b2e Send old and new state to playback_state_changed listeners 2012-09-25 11:18:26 +02:00
Stein Magnus Jodal
b3f3cfe2a0 Use assert{Less,Greater}[EEqual] in tests 2012-09-25 11:18:26 +02:00
Stein Magnus Jodal
7d4b605ee5 Update version number to 0.8.0 2012-09-20 01:01:38 +02:00
Stein Magnus Jodal
6451519d2a MPD: Support 'playid 0' without quotes around id 2012-09-20 00:28:30 +02:00
Stein Magnus Jodal
52c7726de2 MPD command 'close' does not return 'OK'
Test broke when Pykka actors started processing the actor inbox before
stopping themselves.
2012-09-19 01:50:48 +02:00
Thomas Adamcik
5a47dfe159 Update import style in tests.utils.path 2012-09-16 22:44:15 +02:00
Thomas Adamcik
a707daf458 Add tests for expand_path and fix ordering.
Expansions need to happen before abspath is called or else result is wrong.
2012-09-16 22:26:44 +02:00
Thomas Adamcik
6cc57701f9 Update parse_m3u to allow caller to decide what location playlist is relative to. 2012-09-16 19:28:15 +02:00
Thomas Adamcik
7ceb530064 Updated find files to ignore hidden files and folders. 2012-09-16 18:14:11 +02:00
Stein Magnus Jodal
a8d1d41ab3 Use assertIn and assertNotIn in tests 2012-09-15 17:46:25 +02:00
Stein Magnus Jodal
2ba05f9405 Add PlaybackState enum 2012-09-14 01:17:55 +02:00
Stein Magnus Jodal
aab37302a1 Rename mopidy.gstreamer to mopidy.audio 2012-09-14 01:05:42 +02:00
Stein Magnus Jodal
0559213da3 Move backend controllers to mopidy.core 2012-09-13 23:41:20 +02:00
Stein Magnus Jodal
7525cad94c Let Track.date be an ISO-8601 string
This lets us have less precision than full dates. E.g. Spotify tracks only got
release year, not full release date.

The original MPD server regularly expose data like this as "Date: 1977", so we
don't need to fake more precision for MPD's sake.
2012-09-12 23:06:06 +02:00
Stein Magnus Jodal
dbf7030d5b Fix crash in local backend when looking up unknown path 2012-09-11 23:23:36 +02:00
Stein Magnus Jodal
4bffea8b1f Test the GStreamer class as an actor
The test should use the same interface and code paths as production code.
2012-09-10 00:34:12 +02:00
Thomas Adamcik
db3a201795 Fix tests and update docs with #150 fix. 2012-09-09 22:09:23 +02:00
Stein Magnus Jodal
e948a51310 Remove duplicate tearDown() 2012-09-08 23:05:31 +02:00
Stein Magnus Jodal
e3ba389996 Make MPRIS frontend handle unknown volume 2012-09-08 01:24:48 +02:00
Stein Magnus Jodal
21a85c0898 Merge pull request #178 from adamcik/feature/serialize
Imutable object serialization support
2012-09-05 16:57:24 -07:00
Thomas Adamcik
59dc48e982 Merge branch 'develop' into feature/serialize 2012-09-06 00:03:33 +02:00
Thomas Adamcik
6805c16b1a Add .serialize() method to ImutableObjects.
Should be useful for things like dumping to json.
2012-09-05 23:54:37 +02:00
Thomas Adamcik
b0d6dc3e0c Remove injected gstreamer settings. 2012-09-05 22:42:09 +02:00
Thomas Adamcik
1255b87877 Try running with fakesink for gstreamer test. 2012-09-05 01:26:05 +02:00
Thomas Adamcik
c71202c2be Remove all of mopidy.mixers and tests.mixers modules. 2012-09-04 00:54:28 +02:00
Thomas Adamcik
4ffd06736e Update MPD frontend to use playback volume API. 2012-09-04 00:52:12 +02:00