Commit Graph

2391 Commits

Author SHA1 Message Date
Stein Magnus Jodal
c03d99e55b mpd: Use bytestring for **kwargs key (#302) 2013-01-03 22:46:29 +01:00
Thomas Adamcik
ea5bb18d53 audio: Update mixer track selection logic (fixes #307)
We now ensure that the track we choose has one or more volume channels we can
control. This change also fixes that fact the MIXER_TRACK setting would not
work if we happened to find a track that was flaged as MASTER OUPUT before
finding the right label, so far no one has reported this as an issue.
2013-01-03 22:24:58 +01:00
Thomas Adamcik
855987447b audio: Docstring typo typo fixing. 2013-01-03 15:51:09 +01:00
Thomas Adamcik
364f0c68e8 audio: Unwrap line that was less than 80 chars. 2013-01-03 15:47:03 +01:00
Thomas Adamcik
d5b19ab213 audio: Docstring typo fixing. 2013-01-03 15:45:48 +01:00
Thomas Adamcik
88398ea355 Add new mopidy.audio.utils functions (fixes #301).
Adds functions to create buffers, calcalute buffer durations based on number of
samples and the sample rate and converting milliseconds to gst internal clock
time.

This also alows for the removal of all gst imports outside of mopidy.audio.
2013-01-03 15:35:52 +01:00
Thomas Adamcik
8d2656f75c Temporary workaround for #300
Likely cause of this issue is libspotify getting the intial seek to early. We
have not yet had time to dig beyond this point and develop has been broken for
to long due to this. As such this work aroundly simply ignores the first seek
to position zero outright, this avoiding what is likely a race condition in
libspotify.

Next step will be to create a minimal libspotify/pyspotify test case for this
to verify that assumption and hopefully figure out a correct fix. We also need
to look into if the intial seek can be avoided in gstreamer.
2013-01-03 14:27:13 +01:00
Stein Magnus Jodal
ef3d5e92ce scanner: Fix optparse on early 2.6 (#302) 2013-01-03 13:14:21 +01:00
Stein Magnus Jodal
5ff8ea451f More **kwargs key fixing (#302) 2013-01-03 12:58:08 +01:00
Stein Magnus Jodal
d34ba24cfe Use bytestrings for the keys of **kwargs dicts
Python < 2.6.5rc1 does not work with unicode keys. Fixes #302.
2013-01-03 10:04:05 +01:00
Stein Magnus Jodal
62cbcee5d7 Fix Python 2.6.0/2.6.1 support (fixes #302) 2013-01-02 23:40:59 +01:00
Stein Magnus Jodal
fa929fd01d docs: Add more periods for consistency 2013-01-02 22:36:29 +01:00
Stein Magnus Jodal
bd8ab175ed docs: Add period for consistency 2013-01-02 22:35:43 +01:00
Stein Magnus Jodal
af6ee16b3a Fix flake8 warnings 2013-01-02 22:25:55 +01:00
Stein Magnus Jodal
f4251e63fa Merge pull request #295 from adamcik/feature/streaming-backend
Add basic streaming backend support.
2013-01-02 13:25:03 -08:00
Stein Magnus Jodal
dfa0d648f9 scanner: Support symlinks 2013-01-02 21:39:14 +01:00
Thomas Adamcik
ca82565b08 audio: Move supported URI checking to mopidy.audio.utils
In order to avoid gstreamer imports leaking into more of our code I'm moving
this to a new utils class in audio.
2013-01-01 17:31:17 +01:00
Thomas Adamcik
5dd7f4b07a core: Update BaseLibraryProvider to not require refresh, search or find_exact.
These methods may now return None, and the core code has been updated to filter
out missing SearchResults.
2013-01-01 17:30:51 +01:00
Thomas Adamcik
341dea7262 stream backend: Add StreamBackend, fixes #151
Adds a basic streaming backend simply handles streaming audio and nothing else.
I.e. no metadata beyond the URI we where given. #270 still needs to be solved
for actual metadata to make sense in this backend.
2013-01-01 17:30:38 +01:00
Thomas Adamcik
4f11ac77ae settings: Update settings validator to support empty iterables. 2013-01-01 17:30:24 +01:00
Stein Magnus Jodal
ea431c2f18 Revert "spotify: Remove gst import from spotify.playback module"
This reverts commit b4028e9c57.
2012-12-27 21:00:37 +01:00
Stein Magnus Jodal
b4028e9c57 spotify: Remove gst import from spotify.playback module 2012-12-27 20:58:05 +01:00
Stein Magnus Jodal
f9c50051c2 Revert "spotify: Remove gst import from spotify.playback module"
This reverts commit 0459f037a4.
2012-12-27 20:53:20 +01:00
Stein Magnus Jodal
0459f037a4 spotify: Remove gst import from spotify.playback module 2012-12-27 20:44:19 +01:00
Thomas Adamcik
ce750ddbf9 Fix racecondition triggered KeyError in our DebugThread. 2012-12-27 03:28:44 +01:00
Thomas Adamcik
8a0c48e61e Add timestamp and duration to all spotify buffers.
This fixes the issue where pausing playback would show the time of the last
timestamped buffer instead of the current time. We also make sure to reset the
time when we start a new track. This was done by overriding the play method on
the session manager as it is also used for pausing, resuming and stopping.

Ideally this should probably be reworked to avoid the gst import in
mopidy.backends.spotify.playback, but for now this should do.
2012-12-27 00:30:03 +01:00
Thomas Adamcik
3a4a9e60e0 Fix use of threading.Event for Python 2.6 and clear connected state.
threading.Event's wait method returns None on python pre 2.7, which means all
searches would fail. This also corrects that fact that we weren't clearing the
connected threading event on disconnects. I did not add any tests for this at
this time as I just want to get the fix out.
2012-12-24 13:55:46 +01:00
Stein Magnus Jodal
5f1a750504 Merge pull request #289 from jodal/feature/spotify-to-use-gst-time
Make Spotify backend use GStreamer for time position and seek
2012-12-24 03:08:55 -08:00
Stein Magnus Jodal
f0ba9dd31c Bump version number to 0.11.0 2012-12-24 10:48:29 +01:00
Stein Magnus Jodal
5842eabf87 Merge remote-tracking branch 'trygveaa/lookup-not-unavailable' into develop 2012-12-24 02:17:35 +01:00
Trygve Aaberge
31ddbbc017 spotify: Use TRACK_AVAILABLE constant 2012-12-24 02:07:34 +01:00
Stein Magnus Jodal
cde29d9946 Merge pull request #292 from trygveaa/lookup-not-unavailable
spotify: Only return available tracks from lookups
2012-12-23 16:45:24 -08:00
Trygve Aaberge
75279721fb spotify: Return [] instead of None in _lookup_track 2012-12-24 01:41:08 +01:00
Trygve Aaberge
2a487ecd30 spotify: Fix flake8 warnings 2012-12-24 01:40:41 +01:00
Stein Magnus Jodal
c218375100 audio: Move Spotify appsrc caps out of audio 2012-12-24 01:40:35 +01:00
Stein Magnus Jodal
fdd4ac19ae spotify: Fix wrong search return type 2012-12-24 01:21:08 +01:00
Stein Magnus Jodal
30a78ba84b mpd: Minor refactoring 2012-12-24 01:09:50 +01:00
Trygve Aaberge
8da2495e83 spotify: Only return available tracks from lookups 2012-12-24 00:29:37 +01:00
Stein Magnus Jodal
a1cfc74d29 Merge branch 'develop' into feature/mpd-album-artist-search-results
Conflicts:
	docs/changes.rst
2012-12-23 18:49:51 +01:00
Stein Magnus Jodal
58cbbe8cb3 Merge pull request #287 from jodal/feature/search-result-model
Add SearchResult model
2012-12-23 09:47:11 -08:00
Stein Magnus Jodal
eec6c271c2 spotify: Refactor URI lookup 2012-12-23 18:41:07 +01:00
Stein Magnus Jodal
524bfc9317 local: Use 'file:search' as uri for search results for now 2012-12-23 18:32:52 +01:00
Stein Magnus Jodal
5d707e3918 settings: Fail if BACKENDS/FRONTENDS setting isn't iterable (fixes #278) 2012-12-23 15:42:49 +01:00
Stein Magnus Jodal
c7656cdc15 spotify: Replace wall clock timer with GStreamer timer 2012-12-23 12:34:24 +01:00
Stein Magnus Jodal
9fa0f5213e audio: Setup appsrc with seek-data callback 2012-12-23 12:30:02 +01:00
Stein Magnus Jodal
167932278b audio: Remove blocking get_state() calls in get_position() and seek() 2012-12-23 12:26:56 +01:00
Stein Magnus Jodal
8fcc7966b2 spotify: Create SpotifyTrack with uri if lookup track isn't loaded 2012-12-23 12:25:20 +01:00
Stein Magnus Jodal
ce318316a3 mpd: Don't restart current track before seek 2012-12-23 12:20:34 +01:00
Stein Magnus Jodal
54662479ef mpd: Limit use of fake tracks in 'find` responses
If searching for exact artist, don't include fake artist tracks.
If searching for exact album, don't include fake album tracks.

This makes sure that ncmpcpp's media library doesn't include the magic
artist-track in an artist's album listing, and that it doesn't include the
magic album-track in an album's track listing.
2012-12-22 12:49:27 +01:00
Stein Magnus Jodal
04be75ed97 mpd: Add album date to 'fake' tracks 2012-12-22 02:12:07 +01:00