Commit Graph

6389 Commits

Author SHA1 Message Date
Thomas Adamcik
c85323bfa0 docs: Add memory improvements 2015-04-08 01:47:57 +02:00
Thomas Adamcik
05244f7e60 models: Deprecate copy and add replace method
Changed as with the memoization copy was lying, so replace is a better name.
2015-04-08 01:41:50 +02:00
Thomas Adamcik
b7375323e9 models: Memoize identical instances automatically
This combined with the previous changes has brought the memory use for a 14k
track test-set down from about 75MB to 17MB or so. Note that this does however,
mean that copy is now lying to us as it does not such thing whenever it can
avoid it.
2015-04-08 01:14:56 +02:00
Thomas Adamcik
dd270ab87b models: Stop using globals to get model names in JSON decoding. 2015-04-08 00:36:03 +02:00
Thomas Adamcik
86481b1d50 models: Shortcut case where copy didn't change anything
We no longer copy in this case and will just give you the same instance back.
2015-04-08 00:34:02 +02:00
Thomas Adamcik
0fee1b4b11 models: Switch to slots to reduce memory usage per instance 2015-04-08 00:30:53 +02:00
Thomas Adamcik
08fd99ffdb models: Add Identifer type which interns values.
This gives some moderate memory saving since the values are used in multiple
places.
2015-04-08 00:11:23 +02:00
Thomas Adamcik
168c10448b models: Use copy.copy for creating copies 2015-04-08 00:01:37 +02:00
Stein Magnus Jodal
df1636e814 docs: Remove GStreamer mixer example 2015-04-07 00:42:39 +02:00
Stein Magnus Jodal
f743c7ed29 m3u: Add todo 2015-04-07 00:09:44 +02:00
Stein Magnus Jodal
4bb953f625 docs: Fix missing markup 2015-04-07 00:09:31 +02:00
Stein Magnus Jodal
783d461f9a Merge pull request #1107 from adamcik/feature/model-validation
Model validation
2015-04-06 23:51:09 +02:00
Thomas Adamcik
9b442e1563 review: Address review comments 2015-04-06 23:27:46 +02:00
Thomas Adamcik
8604213276 models: Remove __dict__.copy() that did not do anything 2015-04-05 13:09:19 +02:00
Thomas Adamcik
f131ba4879 models: Update copy to only validate new values. 2015-04-05 13:09:19 +02:00
Thomas Adamcik
2d03cd7290 models: Make fields handle unsetting defaults in __dict__ 2015-04-05 13:09:19 +02:00
Thomas Adamcik
7eda0160ca models: Internal attrs are no longer needed 2015-04-05 13:09:19 +02:00
Thomas Adamcik
c375d772dd models: Store field keys in models 2015-04-05 13:09:19 +02:00
Thomas Adamcik
c8693a0591 models: Simplify copy and serialize methods
We don't need to worry about internal vs external naming when doing things via
Fields.
2015-04-05 13:09:19 +02:00
Thomas Adamcik
0a2dff5a6a docs: Add model validation to changelog 2015-04-05 13:09:15 +02:00
Thomas Adamcik
73415ce60f models: Make sure del on attributes does not work 2015-04-05 13:08:15 +02:00
Thomas Adamcik
4faf4de7aa models: Convert all models to using fields. 2015-04-05 13:08:15 +02:00
Thomas Adamcik
07912e1091 models: Add fields for supporting validation of models
Feature makes use of python descriptors to hook in type checking and other
validation when fields get set.
2015-04-05 13:08:15 +02:00
Thomas Adamcik
5c0430ef4a tests: Move models tests into a directory 2015-04-05 13:08:15 +02:00
Thomas Adamcik
8f96bf0f39 tests: Fix some model use oddities 2015-04-05 13:08:15 +02:00
Stein Magnus Jodal
9ef1f91a0e Merge branch 'v1.0.x' into develop
Conflicts:
	docs/changelog.rst
2015-04-05 02:14:19 +02:00
Stein Magnus Jodal
5d94a265cd docs: Tweak changelog 2015-04-05 02:13:30 +02:00
Stein Magnus Jodal
0930cff933 Merge pull request #1101 from adamcik/fix/1097-delayed-volume
Delayed volume fixes
2015-04-05 02:06:40 +02:00
Thomas Adamcik
bee0a4c4d5 docs: Add audio volume changes to changelog 2015-04-03 14:48:09 +02:00
Thomas Adamcik
db48845e91 audio: Adjust queue sizes.
These are mostly just gut feeling guesses. We should really start exposing at
least a few of these as settings soon.
2015-04-03 14:43:44 +02:00
Thomas Adamcik
9f90b37aa5 audio: Limit post tee queue size
Not sure how small we can safely make this, but basically with the volume
element in front of the tee we "need" this as small as possible so the volume
changes fell snappy. Alternative would be one volume element per tee branch.
2015-04-03 14:43:44 +02:00
Thomas Adamcik
e76c3c9012 audio: Remove notify::mute/volume from software mixer
These will never be triggered externally when using plain software volume.
2015-04-03 14:43:44 +02:00
Thomas Adamcik
8236417e9d audio: Move software volume into audiosink.
This turns off playbin controlled volume, which implies that pulsesink volume
can no longer be controlled by Mopidy. This is likely something we have to
break, or at least rethink for multiple output support any way.

With this change we now have software volume after our large queue, which
means volume changes should happen much faster.
2015-04-03 14:43:44 +02:00
Thomas Adamcik
2234a04fc7 audio: Make outputs helper only handle tee-ing.
The queue which is needed for gapless has been moved up to a
audio-sink bin which also wraps the outputs.
2015-04-03 14:43:44 +02:00
Stein Magnus Jodal
b34b1c2620 Fix indentation issues found with autopep8 2015-04-03 00:06:47 +02:00
Stein Magnus Jodal
c4940cbea2 autopep8: Add space after class signature/docstring 2015-04-03 00:05:26 +02:00
Thomas Adamcik
83c3d0013f Merge pull request #1096 from jodal/feature/faster-travis-build
travis: Use new faster build infrastructure
2015-04-02 21:41:43 +02:00
Stein Magnus Jodal
2bc63ec027 audio: Skip MP3 tests if missing plugin 2015-04-02 20:53:29 +02:00
Stein Magnus Jodal
9b03eeeb8b Merge pull request #1090 from adamcik/fix/deprecation-warnings
Add `warnings.warn` everywhere and make mopidy "deprecation warnings safe"
2015-03-31 21:33:48 +02:00
Thomas Adamcik
28237df303 core: Fix deprecation message 2015-03-31 21:04:23 +02:00
Thomas Adamcik
e2faf7f083 docs: Update docstring and changelog 2015-03-31 00:02:02 +02:00
Thomas Adamcik
887c0774fb review: Update wording deprecation messages 2015-03-30 23:56:59 +02:00
Thomas Adamcik
f78973074e mpd: Only loop over tracks in lsinfo/listallinfo 2015-03-30 23:51:36 +02:00
Thomas Adamcik
9ede14f4a1 tests: Convert to using deprecation helpers across the board. 2015-03-30 23:50:54 +02:00
Thomas Adamcik
bd1e822fea utils: Create warn and ignore deprecation warning helpers
This moves all the deprecation warnings messages to a central place so that it
is easy to match against them without having to redefine the same regex all
over the place.

Each message has been given a message id which is more or less
module.func:extra-info. This is not intended to be parsed, just used in tests
when using the ignore helper.
2015-03-30 23:48:08 +02:00
Stein Magnus Jodal
860ea7cb81 travis: Use correct APT source name
Ref APT source addition in
travis-ci/apt-source-whitelist@af532b06aa
2015-03-30 22:39:58 +02:00
Stein Magnus Jodal
385e9ac421 travis: Use new faster build infrastructure 2015-03-30 22:18:29 +02:00
Thomas Adamcik
d44e8ff6f7 core: Add warning when doing library.search with a query.
Tests and code that rely on this are not yet "warnings safe".
2015-03-29 23:27:42 +02:00
Thomas Adamcik
f4c93619d1 core: Make core tracklist.add(tracks=...) deprecation safe 2015-03-29 23:11:00 +02:00
Thomas Adamcik
dc673d554c tests: Ignore deprecated tracklist.add(tracks=...) in local tests
Note, this is mostly because these tests are just core tests in disguise and
need a lot more love than I can give them right now.
2015-03-29 23:11:00 +02:00