Commit Graph

3559 Commits

Author SHA1 Message Date
Stein Magnus Jodal
66d76d38b3 http: Unbreak tests 2012-11-25 09:12:22 +01:00
Stein Magnus Jodal
c1bf69f732 http: Expose core API using JSON-RPC over WebSocket 2012-11-25 08:53:04 +01:00
Stein Magnus Jodal
90663021a4 Merge branch 'feature/json-rpc' into feature/http-frontend 2012-11-25 08:39:20 +01:00
Stein Magnus Jodal
5a05b4af9d jsonrpc: Doc diff between wrapper and inspector 2012-11-25 08:20:39 +01:00
Stein Magnus Jodal
40f4a8181d jsonrpc: Wrapper takes a mapping between mounts and objects
This is analogous to how the inspector takes a mapping between mounts and
classes.
2012-11-25 08:03:26 +01:00
Stein Magnus Jodal
569ee6c5f3 jsonrpc: Add inspector that describes the available API 2012-11-24 00:57:08 +01:00
Stein Magnus Jodal
6403e3e3d1 spotify: Reuse artist, album, and track models
This adds a module-level cache of artist, album, and track models, whose
content is almost entirely static. This cache is used when we convert from
pyspotify to Mopidy objects.

Previously, an album with 15 tracks would create 15 track objects, 15 artists
objects on the tracks, 15 album objects on the tracks, and 15 artist objects on
the 15 album objects, in total 60 objects. With this change, we only create 15
track objects, 1 album object, and 1 artist object, in total 17 objects.

Measurements with 90 playlists containing about 6500 tracks in total shows that
this reduces the number of Artist objects from 13600 to 3800, and the number of
Album objects from 6500 to 4500 objects.

An unscientific measurement of memory usage using ps(1) indicated a reduction
in RSS from 71MB to 65MB, measured right after the Spotify playlists was loaded
the first time.
2012-11-23 12:48:41 +01:00
Stein Magnus Jodal
ec639d17ae docs: Unbreak build 2012-11-23 12:47:57 +01:00
Stein Magnus Jodal
b71b0751b8 Merge remote-tracking branch 'cjohansen/patch-2' into develop
Conflicts:
	docs/installation/index.rst
2012-11-23 01:19:32 +01:00
Christian Johansen
c53f6838a6 Un-"fix" Ubuntu typo 2012-11-23 00:54:38 +01:00
Christian Johansen
18b5496aff Typo! python-pip is actually pip-python
Mass confusion: The package is called python-pip, the binary is pip-python
2012-11-23 00:46:05 +01:00
Stein Magnus Jodal
42c7db0018 Merge pull request #259 from cjohansen/patch-1
Add installation instructions for Fedora
2012-11-22 15:41:56 -08:00
Christian Johansen
622b98502c Add installation instructions for Fedora 2012-11-23 00:38:36 +01:00
Stein Magnus Jodal
29e2178a79 jsonrpc: Document encoders/decoders arguments 2012-11-22 15:31:03 +01:00
Stein Magnus Jodal
61d6de2378 jsonrpc: Support methods on the root object 2012-11-22 15:30:34 +01:00
Stein Magnus Jodal
6e2ffb0820 jsonrpc: Make dict returns from plain objects work 2012-11-22 12:11:22 +01:00
Stein Magnus Jodal
b038c4c2db Add generic JSON-RPC 2.0 object wrapper
This can wrap multiple objects, which can be both plain objects and Pykka
actors. To my knowledge, everything in the spec is supported.
2012-11-21 23:51:05 +01:00
Stein Magnus Jodal
d153fa6b59 Remove rogue commas making tuples of my strings 2012-11-21 10:42:33 +01:00
Stein Magnus Jodal
6cb2d6293d Improve fix for #256
- Forgot to decode result from glib.get_user_config_dir()
- glib.USER_DIRECTORY_MUSIC isn't always defined
2012-11-21 10:30:06 +01:00
Stein Magnus Jodal
26e6b2e730 Fix crash when XDG variables contain non-ASCII characters (fixes #256) 2012-11-21 10:20:08 +01:00
Stein Magnus Jodal
33e268c79b docs: Create changelog for v0.10 2012-11-21 10:17:25 +01:00
Stein Magnus Jodal
db5c671bd4 http: Remove the REST API 2012-11-21 02:10:32 +01:00
Stein Magnus Jodal
532a915db8 Merge branch 'develop' into feature/http-frontend 2012-11-21 02:02:58 +01:00
Stein Magnus Jodal
5a463cfef9 Release v0.9.0 2012-11-21 01:43:46 +01:00
Stein Magnus Jodal
a5d222dee3 Update changelog for v0.9.0 2012-11-21 01:43:16 +01:00
Stein Magnus Jodal
88eef7de49 Bump version number to 0.9.0 2012-11-21 01:42:51 +01:00
Stein Magnus Jodal
bb32ff6b6b mpd: Don't use the \S regexp group 2012-11-21 01:35:21 +01:00
Stein Magnus Jodal
ab906c5684 Revert "mpd: Change to interpret regexp groups with the old locale semantics"
This reverts commit 50708f9fd7.
2012-11-21 01:34:49 +01:00
Stein Magnus Jodal
50708f9fd7 mpd: Change to interpret regexp groups with the old locale semantics 2012-11-21 01:30:07 +01:00
Stein Magnus Jodal
3af3eb5127 mpd: Make 'decoders' return an empty response to please ncmpcpp 2012-11-21 01:29:14 +01:00
Stein Magnus Jodal
512b95fdb0 docs: Update changelog with MPD search/find change 2012-11-21 01:18:19 +01:00
Stein Magnus Jodal
0bc8fc6bf1 mpd: Interpret regexp groups with unicode semantics
Compiling the regexpes with either re.UNICODE or re.LOCALE both seems to fix
the mystical failure of test_listplaylistinfo.
2012-11-21 01:14:12 +01:00
Stein Magnus Jodal
09d7279b6b mpd: Compile protocol matching regexpes
This caused a single test failure, which was fixed.
2012-11-21 01:13:05 +01:00
Stein Magnus Jodal
39b9429dfc tests: Use track URIs matching the backend in use 2012-11-21 01:04:11 +01:00
Stein Magnus Jodal
dc24876f66 mpd: Allow bad 'search' requests 2012-11-21 00:49:11 +01:00
Stein Magnus Jodal
5fbb6328d6 mpd: list shouldn't return blank artist names, album names, or dates 2012-11-21 00:48:08 +01:00
Stein Magnus Jodal
72574c1ae0 mpd: listplaylists should not return playlists without a name 2012-11-21 00:32:46 +01:00
Stein Magnus Jodal
f313d9d446 spotify: Ignore playlists without a name 2012-11-21 00:23:10 +01:00
Stein Magnus Jodal
02345beb0e docs: Add major docs changes to the changelog 2012-11-20 23:57:06 +01:00
Stein Magnus Jodal
174d38b790 docs: Clean changelog for v0.9 2012-11-20 23:34:21 +01:00
Thomas Adamcik
4d908b5bf2 Merge pull request #254 from jodal/feature/playback-options-cleanup
core: Add getters/setters for consume/random/repeat/single
2012-11-20 13:49:58 -08:00
Thomas Adamcik
87fea9e12b Merge pull request #253 from jodal/feature/tracklist-cleanup
core: Tracklist cleanup
2012-11-20 13:46:47 -08:00
Stein Magnus Jodal
8f1b98b306 core: Don't fail when adding tracks after end of tracklist 2012-11-20 22:36:39 +01:00
Stein Magnus Jodal
acbde530c2 core: Add getters/setters for consume/random/repeat/single
Also, the properties and methods was sorted alphabetically. The `state` and
`time_position` properties were out of order.
2012-11-20 22:23:48 +01:00
Stein Magnus Jodal
ae9a257091 Make tracklist.add() only take and return lists 2012-11-20 22:12:09 +01:00
Stein Magnus Jodal
3dc1586213 core: Remove tracklist.append() 2012-11-20 21:55:51 +01:00
Stein Magnus Jodal
1ed56c9ed7 Use tracklist.add() instead of tracklist.append() 2012-11-20 21:55:51 +01:00
Stein Magnus Jodal
70dbf81191 mpd: Simplify 'addid' implementation using improved tracklist.add() 2012-11-20 21:55:51 +01:00
Stein Magnus Jodal
efe7247407 core: Merge functionality of tracklist.append into tracklist.add 2012-11-20 21:55:51 +01:00
Thomas Adamcik
52d643ed51 Merge pull request #252 from jodal/feature/playback-cleanup
core: Playback cleanup
2012-11-20 12:54:46 -08:00