Commit Graph

2728 Commits

Author SHA1 Message Date
Thomas Adamcik
eee3edf727 Turn autoaudiomixer into a bin.
This allows us to add our sub mixer that we are proxing (not sure if
GstChildProxy can be used in Python) so that state changes to the parent
propagates nicely.
2012-09-01 15:21:13 +02:00
Thomas Adamcik
03b836ed64 Removed autoaudiosink's device selection.
The way this code was testing devices locked the element to using the wrong
device. The incorrect device had a max volume of 39 on the Master track, really
making accurate volume changes impossible.

Instead of trying to make any guesses about this I'm leaving it to the element
to have sensible defaults.

Code will also ensure that it returns a newly created copy of the mixer, not
one we have already used.
2012-09-01 15:19:52 +02:00
Thomas Adamcik
40502e41e5 Update tests to catch scaling problem in mixer.
- Fixes problem where 60% became 59% due to bad rounding.
- Tests assume scale of 0-65536 which matches ALSA.
- Check all possible values of set_volume and ensure we the right value out.
2012-09-01 14:35:20 +02:00
Thomas Adamcik
9c30fab959 Switch to using a mixerbin instead of element.
- This allows us to set values like ``alsasink device=hw:1`` etc.
- Adds an intial volume to our fakemixer.
- Minor code cleanup for rescale() calls.
2012-09-01 14:33:32 +02:00
Thomas Adamcik
2b01860680 Make it possible to override GStreamer settings in tests.
- Specifically you can now pass in values instead of relying on global
  settings.
2012-09-01 14:01:11 +02:00
Thomas Adamcik
b796d7c859 Add create fakemixer element for testing.
- GStreamer tests now use this instead of a real mixer.
- fakemixer and the autoaudiomixer still need to be moved.
- We should probably use a fakesink as output as well.
2012-09-01 13:34:16 +02:00
Thomas Adamcik
2d5ba154ed Switch to module imports and with assertRaises in init_test. 2012-09-01 13:33:41 +02:00
Thomas Adamcik
55b9bc979c Merge branch 'feature/simplify-outputs' into feature/switch-to-gst-mixers
Conflicts:
	mopidy/gstreamer.py
2012-09-01 12:40:39 +02:00
Thomas Adamcik
387da58425 Deprecate and remove shoutcast settings.
I've also verfied that the examples provided will actually work.
2012-09-01 11:22:05 +02:00
Thomas Adamcik
0a86afbe31 Add audioresample and queue to pipeline, fixes #159
- Audioresample should perform as a noop in cases where no conversion is
  needed. In cases where the sink requires a fixed sample rate this will
  prevent output from breaking.

- The queue is needed to ensure that our outputs play nicely and is simply a
  continuation of the queue that was in our old Output abstraction.
2012-09-01 11:19:46 +02:00
Thomas Adamcik
703141c15b Make sure bad data to OUTPUT does not deadlock.
- Moves GStreamer initialization out of on-start as it is not obvious to me how
  to stop rest of setup on other ways.

- Note that gst.GError != gobject.GError as far as except is concerned.
2012-09-01 01:35:51 +02:00
Thomas Adamcik
0f5bf655a0 Fix import and factory sort code. 2012-08-31 00:52:30 +02:00
Thomas Adamcik
b7734f6a76 Return None for unknown volume. 2012-08-26 19:47:45 +02:00
Thomas Adamcik
b2caad4d8c Implement Mixer interface properly. 2012-08-26 19:05:59 +02:00
Thomas Adamcik
b7e59c9cef Fix comments from review. 2012-08-26 18:10:49 +02:00
Thomas Adamcik
640ad3930f Merge branch 'feature/simplify-outputs' into feature/switch-to-gst-mixers 2012-08-26 18:05:04 +02:00
Thomas Adamcik
e840bce233 Fix comments from review. 2012-08-26 18:00:53 +02:00
Thomas Adamcik
5785087c95 Add AutoAudioMixer that auto selects a suitable mixer. 2012-08-26 16:16:54 +02:00
Thomas Adamcik
6e3e1f997f Convert to only using GStreamer mixers. 2012-08-26 14:30:13 +02:00
Thomas Adamcik
915130e352 Merge branch 'feature/simplify-outputs' into feature/switch-to-gst-mixers
Conflicts:
	mopidy/gstreamer.py
	mopidy/outputs/local.py
2012-08-26 13:18:37 +02:00
Thomas Adamcik
d112dc668b Merge branch 'develop' into feature/simplify-outputs
Conflicts:
	docs/changes.rst
2012-08-26 12:44:48 +02:00
Thomas Adamcik
343207ebe2 Update docs with latest OUTPUT changes and fix issues raised in review of pull request. 2012-08-26 12:37:23 +02:00
Thomas Adamcik
7948921510 Make settings.OUTPUT a GStreamer bin description. 2012-08-26 12:18:28 +02:00
Stein Magnus Jodal
2262bf91d5 Fix crash in 'playlistinfo' when called with a songpos not matching an CPID (fixes #162) 2012-08-24 00:21:03 +02:00
Stein Magnus Jodal
6e9dd194df Use current_playlist.length instead of len(current_playlist.tracks) 2012-08-24 00:16:33 +02:00
Thomas Adamcik
c565e274a5 Replace OUTPUTS with OUTPUT and switch to simple outputs that return a gst.Bin 2012-08-23 23:44:05 +02:00
Thomas Adamcik
5790d0ba07 Add removal of multiple outsputs support to changelog. 2012-08-23 01:13:08 +02:00
Thomas Adamcik
5769ec6910 Merge branch 'develop' into feature/simplify-outputs 2012-08-23 01:11:50 +02:00
Thomas Adamcik
f995b2f1de Continue ripping out multi output support. 2012-08-23 01:07:22 +02:00
Stein Magnus Jodal
8849c99675 Use recommended shebang for Python scripts 2012-08-23 00:24:13 +02:00
Thomas Adamcik
74a58be60c Merge branch 'develop' into feature/simplify-outputs
Conflicts:
	docs/changes.rst
	mopidy/gstreamer.py
2012-08-23 00:06:01 +02:00
Stein Magnus Jodal
935382bf35 Merge pull request #157 from adamcik/feature/debug-proxy 2012-08-22 14:58:47 -07:00
Thomas Adamcik
1649abc410 Add debug-proxy to 0.8 changelog. 2012-08-22 23:42:57 +02:00
Thomas Adamcik
4ff5c2e992 Add color to console output and fix some things from review. 2012-08-22 23:16:03 +02:00
Thomas Adamcik
8f7961064a Add debug proxy helper.
Tool sits in front of MPD and Mopidy proxying commands to both. Only the
reference backend's replies are passed to the client. All requests are logged,
but only the response's unified diff is displayed.

Intended use case is quick and simple protocol implementation comparisons.
2012-08-22 15:59:03 +02:00
Stein Magnus Jodal
ce60030fe5 Release v0.7.3 2012-08-11 03:38:38 +02:00
Stein Magnus Jodal
9049037557 Update changelog for v0.7.3 2012-08-11 03:38:07 +02:00
Stein Magnus Jodal
52e242cbe1 Update version number to 0.7.3 2012-08-11 03:37:55 +02:00
Stein Magnus Jodal
d78d62c68c Hack to speed up Spotify backend startup with clean cache from 35s to 12s
The time Improvement is probably a magnitude or two larger on outdated caches.
2012-08-11 00:39:00 +02:00
Stein Magnus Jodal
436fd7815d Move the Spotify cache to a subdir of the Mopidy cache 2012-08-11 00:37:40 +02:00
Stein Magnus Jodal
f392a7cccb Update changelog 2012-08-11 00:29:04 +02:00
Stein Magnus Jodal
d6f17b4cf0 Decode messages from IOError before logging them
IOError messages are bytestrings, often in the language of the system, so they
may include non-ASCII characters. Thus, we must decode them using the locale's
preferred encoding to get Unicode objects we safely can pass on for logging
the IOError.
2012-08-10 23:17:41 +02:00
Stein Magnus Jodal
0e66ffe6a5 Add locale_decode util function that decodes bytestrings using the current locale's encoding 2012-08-10 23:12:04 +02:00
Stein Magnus Jodal
ca706ae978 Release v0.7.2 2012-05-07 22:56:24 +02:00
Stein Magnus Jodal
1f12951fa2 Prepare for maintenance release 2012-05-07 22:56:09 +02:00
Stein Magnus Jodal
aac7f73868 Fix typo 2012-04-22 01:41:12 +02:00
Stein Magnus Jodal
de7b165028 Merge branch 'master' into develop
Conflicts:
	docs/changes.rst
	mopidy/__init__.py
	tests/version_test.py
2012-04-22 01:31:47 +02:00
Stein Magnus Jodal
1dae3442e0 Release v0.7.1 2012-04-22 01:30:20 +02:00
Stein Magnus Jodal
4ea3bb1167 Don't override notify_main_thread, which has a sensible default implementation 2012-04-22 01:26:27 +02:00
Stein Magnus Jodal
a987f7e5c1 It's 'Last.fm', not 'Last.FM' 2012-03-08 09:52:55 +01:00