Thomas Adamcik
54a89038d3
utils/path: Don't skip hidden files and folders in generic find code
...
Updates the local scan code to do this instead.
2014-10-15 23:45:49 +02:00
Thomas Adamcik
ebb62885cd
util/path: Add basic support for following symlinks
2014-10-15 23:44:48 +02:00
Thomas Adamcik
de5fe5ebab
tests: Add test for current find symlink handling
2014-10-15 23:43:13 +02:00
Thomas Adamcik
de4bdbec03
tests: Minor cleanup of the existing find tests
2014-10-15 23:42:15 +02:00
Thomas Adamcik
2447e2fa40
util/path: Expose errors to callers of find helper
2014-10-15 23:42:12 +02:00
Stein Magnus Jodal
c9b0101e76
docs: Make extensiondev example and API docs for validate_environment() match
...
(cherry picked from commit 31c874b3eb )
2014-10-13 23:19:30 +02:00
Stein Magnus Jodal
31c874b3eb
docs: Make extensiondev example and API docs for validate_environment() match
2014-10-12 11:40:59 +02:00
Thomas Adamcik
2665a5521b
audio: Add gst.DEBUG_BIN_TO_DOT_FILE pipeline debuging
2014-09-26 23:51:33 +02:00
Stein Magnus Jodal
130b1eb32a
docs: Define timestamp type
2014-09-23 20:55:16 +02:00
Stein Magnus Jodal
7b50855908
Merge remote-tracking branch 'mopidy/develop' into feature/history
...
Conflicts:
docs/changelog.rst
2014-09-23 20:14:40 +02:00
Thomas Adamcik
a16cac2188
Merge pull request #862 from jodal/fix/clear-current-track
...
core: Remove clear_current_track argument from stop()
2014-09-23 19:54:59 +02:00
Stein Magnus Jodal
542cd3a3bb
http: Add history controller to JSON-RPC API
2014-09-23 19:02:58 +02:00
Stein Magnus Jodal
5317834baf
history: Change size property to get_length() method
...
For consistency with tracklist.get_length() and our goal of aligning Python
and JS APIs by using less properties in the core API.
2014-09-23 18:47:54 +02:00
Stein Magnus Jodal
177f91fb27
history: Tweaking formatting and variable names
2014-09-23 18:45:24 +02:00
Stein Magnus Jodal
1f1e86023b
history: Cleanup docstrings
2014-09-23 18:44:17 +02:00
Stein Magnus Jodal
d30cf68efd
history: Raise TypeError if non-Tracks are added
2014-09-23 18:42:41 +02:00
Stein Magnus Jodal
ded43039bf
history: Keep history in private attribute
...
So it is not accessible directly from other actors.
2014-09-23 18:38:38 +02:00
Stein Magnus Jodal
f3a6c10188
history: Import entire modules
...
For concistency with other code.
2014-09-23 18:37:18 +02:00
Stein Magnus Jodal
1f9c5c609a
history: Use time.time() to get time since epoch
2014-09-23 18:34:50 +02:00
Stein Magnus Jodal
f8f06f4ec4
playback: Move comment so its next to the line it applies to
2014-09-23 18:33:24 +02:00
Stein Magnus Jodal
718405421d
history: Rename class to HistoryController
...
For consistency with other core controllers.
2014-09-23 18:32:37 +02:00
Arjun Naik
a6370b0a67
Switched track name and artist order in history object.
2014-09-23 18:09:12 +02:00
Arjun Naik
9006968f75
TrackHistory stores Ref instances. Timestamp as epoch in milliseconds also stored.
2014-09-23 18:09:12 +02:00
Arjun Naik
ed87ab8dd1
Added a playback history object to the core.
2014-09-23 18:09:11 +02:00
Stein Magnus Jodal
c629e105d7
docs: Update changelog with PR#840
2014-09-23 14:29:30 +02:00
Stein Magnus Jodal
1fcc75ba1e
Merge pull request #840 from tkem/feature/local-library-lookup-multiple
...
local: Return multiple tracks from lookup()
2014-09-23 14:14:22 +02:00
Stein Magnus Jodal
d5de898b2d
core: Remove clear_current_track argument from stop()
2014-09-23 01:10:51 +02:00
Thomas Adamcik
508391cf51
Merge pull request #855 from jodal/feature/emit-none-to-emit-eos
...
audio: Deprecate emit_end_of_stream
2014-09-22 22:58:32 +02:00
Stein Magnus Jodal
abed15b9e4
models: Make all fields default to None or empty collection
2014-09-22 22:25:42 +02:00
Stein Magnus Jodal
bdd1fb983b
models: Fix equality for fields set to the default
...
Fixes #837
2014-09-22 22:01:50 +02:00
Stein Magnus Jodal
305a76486d
models: Hide empty lists from repr()
2014-09-22 21:42:57 +02:00
Stein Magnus Jodal
00c17ae193
audio: Deprecate emit_end_of_stream
2014-09-21 21:01:11 +02:00
Stein Magnus Jodal
f58fe9a192
py3: Replace xrange() with range()
2014-09-17 20:28:07 +02:00
Stein Magnus Jodal
cd3d44ff6d
py3: Use '0o' octal literal
2014-09-16 09:48:38 +02:00
Stein Magnus Jodal
c2810d0423
py3: Fix thread import
2014-09-16 09:46:16 +02:00
Stein Magnus Jodal
4c6c7ce016
http: Update Mopidy.js to v0.4.1
2014-09-11 21:50:11 +02:00
Stein Magnus Jodal
37c736533d
Remove Pykka version check
...
This check was made redundant with our move to setuptools. The executables
made by setuptools checks if all our Python dependencies are available in the
required versions before starting Mopidy.
2014-09-09 08:38:14 +02:00
Stein Magnus Jodal
eb97b55d88
Keep gobject check together with the other checks
2014-09-09 08:35:21 +02:00
Stein Magnus Jodal
2050385a5f
Update Python and Pykka version check error messages
2014-09-09 08:24:42 +02:00
Stein Magnus Jodal
db4868207c
Print friendly error message if gobject isn't found
...
Fixes #836
2014-09-08 21:15:14 +02:00
Thomas Adamcik
ada7641ee6
audio: Remove visualizer support
2014-09-07 23:48:04 +02:00
Thomas Adamcik
3f699b97d2
audio: Split message/event teardown handler
2014-09-07 22:35:58 +02:00
Thomas Adamcik
d049b07fa9
Merge branch 'develop' into feature/audio-message-handler
2014-09-07 21:38:19 +02:00
Thomas Adamcik
e744a6da87
audio: Resolve review comments
2014-09-07 21:38:13 +02:00
Thomas Adamcik
c129cd4b24
audio: s/Triggering/Audio event/
2014-09-07 21:36:31 +02:00
Thomas Kemmer
806174916d
Change JsonLibrary.lookup to return a list
2014-09-05 05:35:18 +02:00
Stein Magnus Jodal
d41deb1844
Merge branch 'release/v0.19.x' into develop
...
Conflicts:
docs/changelog.rst
2014-09-01 23:17:00 +02:00
Stein Magnus Jodal
e1ab70e1e9
Bump version to 0.19.4
2014-09-01 23:08:59 +02:00
Thomas Kemmer
380223bb96
local: Return multiple tracks from lookup()
2014-08-30 14:02:43 +02:00
Stein Magnus Jodal
c6f88feb00
Merge branch 'release/v0.19.x' into develop
2014-08-30 00:27:07 +02:00
Stein Magnus Jodal
83e779eaaf
http: Guard against double close of WebSocket
2014-08-30 00:25:43 +02:00
Stein Magnus Jodal
fc94d0789e
Merge branch 'release/v0.19.x' into develop
2014-08-29 21:28:58 +02:00
Stein Magnus Jodal
f1096d332c
local: Move constant to Library class
...
Related to #833
2014-08-29 21:28:42 +02:00
Stein Magnus Jodal
c50641230d
Merge branch 'release/v0.19.x' into develop
2014-08-29 14:03:11 +02:00
Stein Magnus Jodal
69c3e107a2
local: Add ROOT_DIRECTORY_URI constant
...
Related to #833
2014-08-29 14:02:08 +02:00
Stein Magnus Jodal
0e60730704
backends: Update browse() signature and docs to match core implementation
...
Fixes #833
2014-08-29 13:50:12 +02:00
Stein Magnus Jodal
2830784703
Merge pull request #827 from trygveaa/fix/network-thread-issue
...
network: disable_recv before telling actor to close connection
2014-08-29 13:36:48 +02:00
Stein Magnus Jodal
a244761abc
mpd: Replace / with | instead of whitespace in playlist names
2014-08-17 23:25:09 +02:00
Stein Magnus Jodal
1484514224
main: Log uncaught exceptions
...
(cherry picked from commit 027b7a53fe )
2014-08-16 23:20:43 +02:00
Stein Magnus Jodal
027b7a53fe
main: Log uncaught exceptions
2014-08-16 23:04:01 +02:00
Stein Magnus Jodal
3c3fce0187
Merge branch 'release/v0.19.x' into develop
2014-08-15 22:52:11 +02:00
Trygve Aaberge
265951bf00
network: disable_recv before telling actor to close connection
...
As of d62ad96 , when the connection can't receive more data from the
client, it tells the actor to stop the connection and calls
disable_recv(). The actor operates in it's own thread and when it stops
the connection, disable_recv is being called again from a different
thread. Since the actor is told to stop the connection before
disable_recv is called, the two calls to disable_recv may happen
simultaneously.
This causes a race condition issue where both threads can reach past the
check that recv_id is not None before either of them set it to None. If
one of them set it to None before the other one tries to use it, an
error is raised.
This commit calls disable_recv before telling the actor to stop the
connection. Since disable_recv is a blocking call, this ensures that
recv_id is being set to None before the actor thread begins to stop the
connection.
Fixes #781
2014-08-14 01:58:48 +02:00
Trygve Aaberge
f0b66bdfcb
main: Ensure that exit_status_code always is assigned
...
KeyboardInterrupts are not always catched in commands.py. As far as I
have seen, if I/O operations are ongoing, a KeyboardInterrupt may be
raised there instead of in commands.py. In some cases, this may cause
loop.run() to return, which previously resulted in exit_status_code
being referenced before assignment.
2014-08-13 01:21:03 +02:00
Stein Magnus Jodal
ae3a932ed3
Merge branch 'release/v0.19.x' into develop
...
Conflicts:
mopidy/config/__init__.py
2014-08-12 23:54:14 +02:00
Thomas Adamcik
ac5bf9af17
audio: Move most of event handling out of audio.
...
Some of the signal handling still needs to be moved.
2014-08-11 22:33:49 +02:00
Thomas Adamcik
101b2a9817
audio: Make stream-changed correctly handle tee setup
...
For the purposes of this event we consider the outputs sink the final element.
If we don't do this we would get one event per branch, and we don't want to
track when each of them actually switches any way. So just tracking when the
tee/outputs bin gets the event is good enough for us.
As part of this I've also added 'testoutput' as a special cased output value.
This is now needed as outputs are always synced to the clock, making testing
a lot less practical.
2014-08-11 22:33:49 +02:00
Trygve Aaberge
584484379a
config: Only load .conf-files when loading directories
2014-08-11 16:21:34 +02:00
Trygve Aaberge
9e41eff187
config: Support passing directories to mopidy --config
2014-08-11 14:48:04 +02:00
Trygve Aaberge
0863a813fa
main: Return status code 1 if {Backend,Frontend,Mixer}Error is raised
2014-08-11 13:43:18 +02:00
Trygve Aaberge
bac3bfb7a2
log: Don't disable loggers when loading fileConfig
...
The default when loading config for logging from a file is to disable
existing loggers. Since some loggers are created before logging is set
up, these loggers were disabled if logging/config_file is set.
(cherry picked from commit cb0387c46d )
Conflicts:
docs/changelog.rst
2014-08-11 13:00:01 +02:00
Trygve Aaberge
cb0387c46d
log: Don't disable loggers when loading fileConfig
...
The default when loading config for logging from a file is to disable
existing loggers. Since some loggers are created before logging is set
up, these loggers were disabled if logging/config_file is set.
2014-08-11 01:42:30 +02:00
Stein Magnus Jodal
e1fda35351
config: Only log existing config files
2014-08-07 11:36:25 +02:00
Trygve Aaberge
210e1705e7
mpd: Fix list commands with 3 arguments ( fixes #817 )
...
List commands with 3 arguments should return albums, not artists.
(cherry picked from commit ec413126f1 )
2014-08-05 23:52:46 +02:00
Trygve Aaberge
ec413126f1
mpd: Fix list commands with 3 arguments ( fixes #817 )
...
List commands with 3 arguments should return albums, not artists.
2014-08-05 18:46:16 +02:00
Thomas Adamcik
fd9100a5f3
audio: Annotate code with more TODOs and questions
2014-08-03 23:57:22 +02:00
Thomas Adamcik
6b88b4f685
audio: Group playbin teardown/setup
...
This makes it possible to see that we setup and teardown the same things. Also
fixes disconnect on a signal we no longer listen to.
2014-08-03 23:57:22 +02:00
Thomas Adamcik
b8a0ca59cd
audio: Refactor softwaremixer and audio interactions
...
This rips the mixer bits and pieces that have been hiding in the audio actor to
it's own class. The software mixer now only knows about this and nothing else
from audio.
2014-08-03 23:57:22 +02:00
Thomas Adamcik
4bfc5e7a80
audio: Split out proxy setup
2014-08-03 23:57:22 +02:00
Thomas Adamcik
72ca1a74c3
audio: Unify source handlers
...
notify::source and setup-source are the same, just that setup-source is a
convenience wrapper.
2014-08-03 23:57:22 +02:00
Thomas Adamcik
d650c0ba14
audio: Split out ouput handling from audio actor
...
This also lays some basic ground work for handling multiple outputs.
2014-08-03 23:57:22 +02:00
Thomas Adamcik
b9879ef81e
audio: Improve GStreamer logging
...
This adds an extra mopidy.audio.gst logger and moves the GStreamer logging to
it. Additionally this adds more logging so we can likely get by with just
mopidy logs in more cases.
2014-08-03 23:57:22 +02:00
Thomas Adamcik
88788fddfd
audio: Use pbutils to provide usable plugin missing info
2014-08-03 23:57:22 +02:00
Thomas Adamcik
fb8b02cee9
audio: Split out appsrc handling
2014-08-03 23:57:22 +02:00
Thomas Adamcik
f0f19ebc2e
audio: Add docs to signal handler helper
2014-08-03 23:57:22 +02:00
Thomas Adamcik
531b312ace
audio: Split out the signals tracking
2014-08-03 23:57:21 +02:00
Stein Magnus Jodal
e9822117e5
Merge branch 'master' into develop
...
Conflicts:
docs/changelog.rst
2014-08-03 23:40:18 +02:00
Stein Magnus Jodal
dc80f17296
Bump version to 0.19.3
2014-08-03 23:34:25 +02:00
Stein Magnus Jodal
9260ae23a7
Merge branch 'release/v0.19.x' into develop
2014-08-03 23:13:40 +02:00
Stein Magnus Jodal
837fb00fb7
Fail early if extension doesn't implement setup()
...
Fixes #813
2014-08-03 23:13:14 +02:00
Thomas Adamcik
8376286e7e
zeroconf: Fix intermittent dbus/avahi exception
...
This fixes an issue where I sometimes would get an error from dbus
'Unable to guess signature from an empty list'. After some digging
and checking the avahi dbus specs I found they expect the text list
to have a signature of 'aay' (an array of arrays containing bytes).
So instead of using python lists we now use a 'typed' dbus array.
It is not clear to me why this is a heisenbug, but this fix does
seem to make it go away.
(cherry picked from commit 80f5c9158d )
2014-08-03 15:18:55 +02:00
Thomas Adamcik
80f5c9158d
zeroconf: Fix intermittent dbus/avahi exception
...
This fixes an issue where I sometimes would get an error from dbus
'Unable to guess signature from an empty list'. After some digging
and checking the avahi dbus specs I found they expect the text list
to have a signature of 'aay' (an array of arrays containing bytes).
So instead of using python lists we now use a 'typed' dbus array.
It is not clear to me why this is a heisenbug, but this fix does
seem to make it go away.
2014-08-03 11:43:28 +02:00
Stein Magnus Jodal
4f34f0103d
Merge pull request #680 from adamcik/feature/audio-prep-work-for-gapless
...
audio: Preparation work for gapless playback support
2014-08-02 20:55:54 +02:00
Thomas Adamcik
5d1dd1a355
review-fixes: Mostly typos etc.
2014-08-02 20:45:55 +02:00
Stein Magnus Jodal
514d83636a
docs: Add PlaylistsProvider docs
2014-08-02 00:22:38 +02:00
Thomas Adamcik
1b8feefcdc
audio: Link to context of why we demote jack sinks
...
(cherry picked from commit 29019d94af )
2014-07-30 00:30:13 +02:00
Thomas Adamcik
3f6a9acea1
Merge branch 'develop' into feature/audio-prep-work-for-gapless
2014-07-30 00:12:00 +02:00
Thomas Adamcik
29019d94af
audio: Link to context of why we demote jack sinks
2014-07-29 23:45:22 +02:00
Thomas Adamcik
1fd455a53c
Merge pull request #801 from arjunrn/develop
...
raspi: Workaround for RasPi selecting jack server.
2014-07-29 23:43:39 +02:00
Thomas Adamcik
e73159dc6c
Merge branch 'develop' into feature/audio-prep-work-for-gapless
2014-07-29 23:07:08 +02:00
Ignasi Fosch
13073362f4
Correct if .. is not None
2014-07-27 17:52:14 +02:00