Thomas Adamcik
e1ef4171b5
Merge branch 'develop' of http://github.com/mopidy/mopidy into develop
2011-04-25 20:37:50 +02:00
Thomas Adamcik
169fbae695
Fix outputs setting
2011-04-25 17:41:33 +02:00
Thomas Adamcik
eceba71273
Unify naming of output settings
2011-04-25 17:30:55 +02:00
Thomas Adamcik
5c19bf8434
Create set_properties helper for BaseOutput
2011-04-25 17:15:43 +02:00
Thomas Adamcik
1c233a3f8a
Replace CustomOutput with override for LocalOutput
2011-04-25 17:14:31 +02:00
Stein Magnus Jodal
043338d3af
Revert "Merge branch 'feature/multi-backend' into develop"
...
This reverts commit c8639f48da , reversing
changes made to 3e0a04ab91 .
2011-04-25 15:14:00 +02:00
Stein Magnus Jodal
5f7988d974
Merge branch 'develop' into feature/multi-backend
...
Conflicts:
mopidy/backends/local/__init__.py
mopidy/outputs/gstreamer.py
tests/frontends/mpd/audio_output_test.py
tests/frontends/mpd/command_list_test.py
tests/frontends/mpd/connection_test.py
tests/frontends/mpd/current_playlist_test.py
tests/frontends/mpd/dispatcher_test.py
tests/frontends/mpd/music_db_test.py
tests/frontends/mpd/playback_test.py
tests/frontends/mpd/reflection_test.py
tests/frontends/mpd/regression_test.py
tests/frontends/mpd/status_test.py
tests/frontends/mpd/stickers_test.py
tests/frontends/mpd/stored_playlists_test.py
2011-04-25 15:05:33 +02:00
Thomas Adamcik
ebe9bba9a9
Use modify_bin and set_property to construct shoutcast output
2011-04-25 01:31:29 +02:00
Thomas Adamcik
4e232c981c
Switch to modularised output for playback
2011-04-25 01:31:28 +02:00
Thomas Adamcik
f218bc060b
Don't bother with album in taginject
2011-04-25 01:31:28 +02:00
Thomas Adamcik
c7ccd0c2d4
More fixes with respect to refactoring
2011-04-25 01:31:28 +02:00
Thomas Adamcik
4a1df118fb
Move GStreamerOutput up one level to mopidy.gstreamer and rename to GStreamer
2011-04-25 01:31:28 +02:00
Thomas Adamcik
7016a20811
Kill of BaseOutput
2011-04-25 01:31:28 +02:00
Thomas Adamcik
f4db449f0e
Add set_metadata to allow taginjection for shoutcast stream
2011-04-25 01:30:48 +02:00
Thomas Adamcik
85970dbc3b
Switch to lame encoding for shoutcast
2011-04-25 01:30:48 +02:00
Thomas Adamcik
44316c7cfc
Reduce number of get_by_name lookups
2011-04-25 01:30:48 +02:00
Thomas Adamcik
9f862fe1b1
Update settings docs for shoutcast
2011-04-25 01:30:48 +02:00
Thomas Adamcik
971132d539
Support just local or shoutcast audio output
2011-04-25 01:30:48 +02:00
Thomas Adamcik
b58436aaf3
Use audioconvert to ensure that volume element is handeled
2011-04-25 01:30:47 +02:00
Thomas Adamcik
700792f4a0
Add basic streaming support
2011-04-25 01:30:47 +02:00
Thomas Adamcik
a81113e1a7
Add _build_shoutcast_description to construct shoutcast bin
2011-04-25 01:30:47 +02:00
Thomas Adamcik
ecdf689301
Factor out method to add output bin
2011-04-25 01:30:47 +02:00
Thomas Adamcik
9f77f801ba
Swith to tee based pipeline to allow for multiple outputs
2011-04-25 01:30:47 +02:00
Thomas Adamcik
aa0c309d23
Ignore tracks without uri as they are probably local files
2011-04-25 01:28:22 +02:00
Thomas Adamcik
b5b2319ac1
Use uridecodebin for all playblack
2011-04-24 18:32:45 +02:00
Stein Magnus Jodal
3e0a04ab91
Exit main thread if no actors are running
2011-04-24 01:25:10 +02:00
Thomas Adamcik
0b91b26910
Check if creation of IPv6 sockets works before using it ( fixes #75 )
2011-04-23 18:15:28 +02:00
Thomas Adamcik
f20b3b26f6
Add platform and python information to startup logging ( fixes #73 )
2011-04-23 15:08:03 +02:00
Stein Magnus Jodal
6708ab79de
Reduce log level from warning to info ( fix #71 )
2011-04-11 21:19:28 +02:00
Stein Magnus Jodal
342c13f811
Fix 'song: None' in 'status' response
2011-04-06 22:40:50 +02:00
Stein Magnus Jodal
005260eb9c
Add __repr__ to ImmutableObject to get better output from failed model comparisions in tests
2011-04-06 18:18:00 +02:00
Stein Magnus Jodal
037da6f460
Remove Playlist._tracks workaround
2011-04-06 18:01:33 +02:00
Stein Magnus Jodal
fce5964395
Remove Track._artists workaround
2011-04-06 17:54:12 +02:00
Stein Magnus Jodal
9499250a7f
Remove Album._artists workaround
2011-04-06 17:51:36 +02:00
Stein Magnus Jodal
dec1643e7f
Merge remote-tracking branch 'grunskis/develop' into develop
2011-04-05 21:37:21 +02:00
Stein Magnus Jodal
b0f92af157
Merge remote branch 'mopidy/develop' into feature/pykka-actors
2011-03-31 09:05:59 +02:00
Stein Magnus Jodal
4703783eed
Upgrade to work with final release of Pykka 0.12
2011-03-30 23:28:54 +02:00
Stein Magnus Jodal
62f07cdd7f
Sleep forever when main() is done to be able to catch KeyboardInterrupt
2011-03-30 23:08:36 +02:00
Antoine Pierlot-Garcin
e0b212a275
Spotify backend: better error handling.
2011-03-30 00:49:51 -04:00
Stein Magnus Jodal
4452957c10
Require Pykka 0.12 (not released yet)
2011-03-30 00:39:19 +02:00
Stein Magnus Jodal
5d6fc7b092
Avoid blocking forever waiting on search query responses from Spotify
2011-03-24 13:52:41 +01:00
Stein Magnus Jodal
be42217d3b
Fix 'stored_playlists does not have "playlists" attribute' error
2011-03-24 06:58:22 +01:00
Stein Magnus Jodal
168d6ea434
Replace last multiprocessing.Connection with Queue.Queue
2011-03-23 23:05:20 +01:00
Stein Magnus Jodal
b07f37117f
Fix Pylint error
2011-03-23 22:43:32 +01:00
Stein Magnus Jodal
a0805ba80f
Remove unused imports
2011-03-23 22:37:36 +01:00
Stein Magnus Jodal
d7149d8ea0
Raise EnvironmentError instead of Exception to make pylint happy
2011-03-23 22:37:20 +01:00
Stein Magnus Jodal
4f546246f8
Fix sound with Spotify backend (YAY :-) )
2011-03-23 22:24:04 +01:00
Stein Magnus Jodal
e79346b5c3
Remove unused import
2011-03-23 22:19:36 +01:00
Stein Magnus Jodal
af118a3f25
Fix future usage in LocalBackend
2011-03-21 00:18:12 +01:00
Stein Magnus Jodal
b5da3c3404
GStreamerOutput need a reference to the backend for notifying it on end of track
2011-03-20 01:37:06 +01:00
Stein Magnus Jodal
b67b579556
Spotify backend needs a reference to the output
2011-03-20 01:20:42 +01:00
Stein Magnus Jodal
4087675334
Remove unused imports
2011-03-20 01:14:51 +01:00
Stein Magnus Jodal
bcff80c714
Switch from multiprocessing.dummy to threading to fix startup issue
2011-03-20 01:14:33 +01:00
Stein Magnus Jodal
f0ebc24234
Update MPD/stored playlists
2011-03-20 01:04:18 +01:00
Stein Magnus Jodal
0de8d1b4b8
Update MPD/status
2011-03-20 00:56:43 +01:00
Stein Magnus Jodal
21153dd52b
Update MPD/regression tests
2011-03-20 00:29:43 +01:00
Stein Magnus Jodal
2e1ea8080e
Update MPD/reflection
2011-03-20 00:21:43 +01:00
Stein Magnus Jodal
cbe727d2bd
Update MPD/playback
2011-03-20 00:19:30 +01:00
Stein Magnus Jodal
dad2422a96
MpdDispatcher requires a mixer to be running
2011-03-20 00:10:14 +01:00
Stein Magnus Jodal
7206d68648
Remove mixer from the Backend API as it is independent
2011-03-20 00:02:32 +01:00
Stein Magnus Jodal
517a2a9356
Update MPD/music_db
2011-03-19 18:05:09 +01:00
Stein Magnus Jodal
0d57a74cb3
Update MPD/current_playlist
2011-03-19 17:55:05 +01:00
Stein Magnus Jodal
462f9d3afb
Make dummy library available through actor proxies
2011-03-19 17:55:04 +01:00
Stein Magnus Jodal
c67eb4b973
Make backend providers traversable so they can be set up for tests
2011-03-19 17:55:04 +01:00
Stein Magnus Jodal
a4a015af1d
Update MPD/audio_output
2011-03-19 17:54:57 +01:00
Stein Magnus Jodal
49d62aecab
Do not give MpdDispatcher an MpdSession object yet, as it is not needed to get current tests passing
2011-03-19 15:55:25 +01:00
Stein Magnus Jodal
46c6ee68df
Fix ~200 backend tests
2011-03-10 23:19:44 +01:00
Stein Magnus Jodal
985213ffa2
Remove unused import
2011-03-09 21:46:18 +01:00
Stein Magnus Jodal
9b77d34e24
Move AlsaMixer initialization to post_start()
2011-03-09 21:41:32 +01:00
Stein Magnus Jodal
8c163104d1
Reimplement sending of started/stopped_playing events from the backend to interested frontends
2011-03-09 21:37:47 +01:00
Stein Magnus Jodal
650f777306
Reimplement pause on lost play token and setting of stored playlists
2011-03-09 21:37:00 +01:00
Stein Magnus Jodal
d8ea7ea884
Lookup other actors by their known superclasses
2011-03-09 19:30:12 +01:00
Stein Magnus Jodal
ab1f9d0cc6
Add Spotify URI to loading tracks so they can be played
2011-03-09 09:45:52 +01:00
Stein Magnus Jodal
0575d5d3be
Use Actor.post_start() to do actor setup in the actor's own thread
2011-03-08 23:28:24 +01:00
Stein Magnus Jodal
7f725e8c78
Upgrade to Pykka 0.10
2011-03-08 23:20:42 +01:00
Stein Magnus Jodal
a88cf1e2ca
Hook an MpdDispatcher directly onto each MpdSession
2011-03-08 21:08:45 +01:00
Stein Magnus Jodal
65c64b4a8a
Actorify backends
2011-03-08 20:39:50 +01:00
Stein Magnus Jodal
3a3777e93e
Update Spotify backend enough to make it start without errors
2011-03-07 22:59:25 +01:00
Stein Magnus Jodal
f0fd2c9df2
Change XXXs to TODO-PYKKA to easier find them again
2011-03-07 22:52:04 +01:00
Stein Magnus Jodal
d75ca5b4e8
Make MpdFrontend start
2011-03-07 22:42:55 +01:00
Stein Magnus Jodal
43cb8d077c
Actorify LastfmFrontend
2011-03-07 22:41:07 +01:00
Stein Magnus Jodal
18e252a9d3
Strip FrontendBase to a minimum
2011-03-07 22:36:23 +01:00
Stein Magnus Jodal
38e5cec0f0
Partly actorify MpdFrontend
2011-03-07 22:35:22 +01:00
Stein Magnus Jodal
ab01828c05
Strip Backend to a minimum
2011-03-07 22:19:23 +01:00
Stein Magnus Jodal
6a78f11383
Remove mpd_format() from CurrentPlaylistController
2011-03-07 22:15:45 +01:00
Stein Magnus Jodal
b88d8d5d8a
Actorify mixers
2011-03-07 22:03:11 +01:00
Stein Magnus Jodal
3a1de6578d
Remove unused BaseProcess and strip queue stuff from BaseThread
2011-03-07 21:37:55 +01:00
Stein Magnus Jodal
3d56188619
Convert GstreamerOutput to an actor
2011-03-07 21:36:26 +01:00
Stein Magnus Jodal
9dafc6ebe9
Remove lifetime methods from output API
2011-03-07 21:35:14 +01:00
Stein Magnus Jodal
4749e77f1d
Replace CoreProcess with simple setup functions
2011-03-07 21:34:38 +01:00
Stein Magnus Jodal
0acaa8f285
Log startup message directly from setup_logging
2011-03-07 21:33:53 +01:00
Stein Magnus Jodal
9fc7e013ff
Move main() into mopidy.core
2011-03-07 20:11:34 +01:00
Stein Magnus Jodal
163ead53da
Add 'play -1' support when playing
2011-02-12 02:03:18 +01:00
Stein Magnus Jodal
15c992e06a
Add 'play -1' support, which fixes resume in MPoD
2011-02-12 01:45:36 +01:00
Martins Grunskis
e2c0096f5f
there is no num_tracks in some of my mp3s
2011-02-09 18:57:39 +02:00
Martins Grunskis
159831c6e7
mopidy-scan fails if track has no artist name
...
stack trace:
Traceback (most recent call last):
File ./scan, line 27, in <module>
for a in tracks_to_tag_cache_format(tracks):
File /home/martins/source/mopidy/mopidy/frontends/mpd/translator.py, line 138, in tracks_to_tag_cache_format
_add_to_tag_cache(result, *tracks_to_directory_tree(tracks))
File /home/martins/source/mopidy/mopidy/frontends/mpd/translator.py, line 151, in _add_to_tag_cache
_add_to_tag_cache(result, *entry)
File /home/martins/source/mopidy/mopidy/frontends/mpd/translator.py, line 156, in _add_to_tag_cache
track_result = dict(track_to_mpd_format(track))
File /home/martins/source/mopidy/mopidy/frontends/mpd/translator.py, line 28, in track_to_mpd_format
('Artist', artists_to_mpd_format(track.artists)),
File /home/martins/source/mopidy/mopidy/frontends/mpd/translator.py, line 88, in artists_to_mpd_format
return u', '.join([a.name for a in artists if a])
TypeError: sequence item 0: expected string or Unicode, NoneType found
2011-02-09 18:48:15 +02:00
Stein Magnus Jodal
e150a24dfe
Review patch for GH-63
...
- Moved mask_value_if_secret til after the method using it. Most
important/interesting method first, lower level/more detailed later.
- Made the logic in mask_value_if_secret simpler to understand, I think,
by making the two different cases more obvious.
- Split the test in two, as it actually tested two different cases.
- Changed the test names to explain what should happen, and not just
what is tested.
- Add a new test that tests the case which caused the crash: a setting
being None.
2011-02-09 17:08:40 +01:00
Martins Grunskis
f33c65ddfe
mopidy --list-settings fails on fresh install
2011-02-09 17:05:29 +02:00
Stein Magnus Jodal
5e87dcbfff
Add 'date' query support to 'find' and 'search' to improve ncmpcpp media library browsing
2011-01-28 11:52:18 +01:00
Stein Magnus Jodal
7f86026588
Fix typo, redirect stderr
2011-01-26 00:07:17 +01:00
Stein Magnus Jodal
242f27f943
Use subprocess instead of os.popen
2011-01-26 00:04:23 +01:00
Stein Magnus Jodal
11edbc160b
Special case get_version() to include git revision id if we're running from a git repo
2011-01-25 22:03:28 +01:00
Stein Magnus Jodal
e1668efff6
Show version number in log output
2011-01-25 20:12:09 +01:00
Stein Magnus Jodal
2bef4f2e49
Ready for v0.4.0 development
2011-01-22 14:03:13 +01:00
Stein Magnus Jodal
2a1a3a8f0d
Fix crash on failed lookup of URI from Spotify
2011-01-22 00:43:45 +01:00
Stein Magnus Jodal
5d4c13268f
Revert "Remove int to string conversions needed for pylast < 0.5.7"
...
This reverts commit 62111c277c . The issue
is not fully fixed in pylast yet.
2011-01-22 00:10:52 +01:00
Stein Magnus Jodal
62111c277c
Remove int to string conversions needed for pylast < 0.5.7
2011-01-21 23:57:38 +01:00
Stein Magnus Jodal
f28a62b4a2
Update Last.fm frontend to catch new exceptions thrown by pylast 0.5.7
2011-01-21 23:55:55 +01:00
Stein Magnus Jodal
be09a8a62a
Catch exceptions thrown by pylast on connection problems
2011-01-21 22:45:31 +01:00
Stein Magnus Jodal
1625c1e080
Be consistent in use of unicode string
2011-01-21 16:44:24 +01:00
Stein Magnus Jodal
55b32065a8
Expose MPD error codes as constants on the MpdAckError exception, to avoid use of magic values in the other exceptions
2011-01-21 16:38:16 +01:00
Stein Magnus Jodal
e1197ed84c
Change default value of MPD_SERVER_PASSWORD from False to None
2011-01-21 16:31:35 +01:00
Stein Magnus Jodal
7f4ce3be8a
Fix SettingsProxy.__getattr__ to support settings that are None or 0.
2011-01-21 16:29:04 +01:00
Stein Magnus Jodal
4953a80cce
Add FIXME's to 'commands' and 'notcommands', as they currently do not care if the client is authenticated or not
2011-01-21 02:20:07 +01:00
Stein Magnus Jodal
775ec64976
Test and improve password handling in MpdSession
2011-01-21 02:15:27 +01:00
Stein Magnus Jodal
00897e9024
Improve MPD_SERVER_PASSWORD description
2011-01-21 00:18:04 +01:00
Stein Magnus Jodal
af0f80d238
Add MPD_SERVER_PASSWORD to list of relevant frontend settings
2011-01-21 00:17:30 +01:00
Stein Magnus Jodal
8f0e00e1d7
Implement 'password' command which will be reached post-auth
2011-01-21 00:17:01 +01:00
Stein Magnus Jodal
37b1ec018f
Merge branch 'develop' into feature/mpd-password
2011-01-20 19:39:01 +01:00
Stein Magnus Jodal
2992a81ce0
Fix crash in lastfm frontend on tracks that does not contain the expected data
2011-01-20 17:05:32 +01:00
Stein Magnus Jodal
e7ed28d0d4
Fix crash in NadMixer when using unicode strings for settings
2011-01-15 14:00:35 +01:00
Stein Magnus Jodal
4eb694c84b
Catch and log pylast.WSError
2011-01-15 12:51:20 +01:00
Stein Magnus Jodal
317492098a
Merge branch 'develop' into feature/mpd-password
2011-01-11 22:15:02 +01:00
Stein Magnus Jodal
a9461df4a0
Merge branch 'develop' into feature/multi-backend
2011-01-11 22:10:40 +01:00
Stein Magnus Jodal
65f8acb287
Split Spotify playlist refreshing out of metadata updated callback
2011-01-11 22:09:51 +01:00
Stein Magnus Jodal
9f5e97d14b
Make all tests pass without having pyserial installed
2011-01-10 23:18:12 +01:00
Stein Magnus Jodal
c2c39acbe8
Tweak log messages
2011-01-10 17:03:54 +01:00
Stein Magnus Jodal
099544d915
Rename libspotify backend to simply 'spotify', as suggested by adamcik and knutz3n half a year ago
2011-01-10 16:48:42 +01:00
Stein Magnus Jodal
8503fe7b9e
pylast 0.5 seems to prefer unicode over utf-8 encoded bytestrings
2011-01-10 16:08:05 +01:00
Stein Magnus Jodal
3eb1d47765
Fix seek for Droid MPD
2011-01-09 23:46:03 +01:00
Stein Magnus Jodal
469e5fa189
Fix volume setting for Droid MPD
2011-01-09 23:38:46 +01:00
Stein Magnus Jodal
a14f114d2a
Fix crash for Spotify users with playlist folders
2011-01-09 22:54:18 +01:00
Stein Magnus Jodal
dbbde5fdd6
Update Last.fm frontend to use pylast>=0.5 and the new Scrobbling 2.0 API
2011-01-08 03:48:16 +01:00
Stein Magnus Jodal
7f70d68eda
Merge branch 'hotfix/crash-when-missing-lastfm' into develop
...
Conflicts:
docs/changes.rst
docs/installation/index.rst
mopidy/__init__.py
2011-01-07 20:41:09 +01:00
Stein Magnus Jodal
d32d4b2cad
Release v0.2.1
2011-01-07 20:38:48 +01:00
Stein Magnus Jodal
7dce103d90
Fix crash in Last.fm frontend if pylast was not installed or frontend not configured
2011-01-07 20:18:40 +01:00
Stein Magnus Jodal
18caae4b18
Simplify dependency list
2010-12-28 15:12:04 +01:00
Stein Magnus Jodal
2d7ac22567
docs: Update all Git repo references
2010-11-23 09:38:47 +01:00
Stein Magnus Jodal
0b9d7bbd3f
Switch main GitHub repo from jodal/mopidy to mopidy/mopidy
2010-11-23 09:01:44 +01:00
Stein Magnus Jodal
1c48c7ab2f
Show 320kbit bitrate in MPD if SPOTIFY_HIGH_BITRATE=True
2010-11-23 01:31:49 +01:00
Stein Magnus Jodal
360cf4d036
Merge branch 'develop' into feature/multi-backend
2010-11-23 01:15:15 +01:00
Johannes Knutsen
73ed9920c4
Document the default value on the Spotify preferred bitrate setting
2010-11-23 00:36:02 +01:00
Johannes Knutsen
975b264c2d
set connection connected after preferred bitrate is set
2010-11-23 00:33:14 +01:00
Johannes Knutsen
133a22ef97
add SPOTIFY_HIGH_BITRATE setting to enable streaming of Spotify's high bitrate streams
2010-11-23 00:26:23 +01:00
Stein Magnus Jodal
1f9414d2a7
Return None from GStreamerOutput.get_position() upon failure
2010-11-03 23:38:27 +01:00
Stein Magnus Jodal
4b13dd9046
Remove LocalPlaybackController which is now redundant
2010-11-03 23:34:08 +01:00
Stein Magnus Jodal
4515f0764e
Use time position from output if provided, else internally calculated position
2010-11-03 23:33:53 +01:00
Stein Magnus Jodal
52cdaa9d4f
Output.get_position() should return None if position is unknown
2010-11-03 23:33:10 +01:00
Stein Magnus Jodal
be225c23f1
Simplify DummyBackend instantiation
2010-11-03 23:31:11 +01:00
Stein Magnus Jodal
7accf783ca
Remove call to stop() on LocalPlaybackController init
2010-11-03 23:23:30 +01:00