Mopidy Audio Server
Go to file
Stein Magnus Jodal 6403e3e3d1 spotify: Reuse artist, album, and track models
This adds a module-level cache of artist, album, and track models, whose
content is almost entirely static. This cache is used when we convert from
pyspotify to Mopidy objects.

Previously, an album with 15 tracks would create 15 track objects, 15 artists
objects on the tracks, 15 album objects on the tracks, and 15 artist objects on
the 15 album objects, in total 60 objects. With this change, we only create 15
track objects, 1 album object, and 1 artist object, in total 17 objects.

Measurements with 90 playlists containing about 6500 tracks in total shows that
this reduces the number of Artist objects from 13600 to 3800, and the number of
Album objects from 6500 to 4500 objects.

An unscientific measurement of memory usage using ps(1) indicated a reduction
in RSS from 71MB to 65MB, measured right after the Spotify playlists was loaded
the first time.
2012-11-23 12:48:41 +01:00
bin scanner: Move main() function from bin/ to mopidy.scanner 2012-11-14 20:45:24 +01:00
data Merge branch 'develop' into feature/mpris-frontend 2011-01-11 22:11:56 +01:00
docs Merge remote-tracking branch 'cjohansen/patch-2' into develop 2012-11-23 01:19:32 +01:00
mopidy spotify: Reuse artist, album, and track models 2012-11-23 12:48:41 +01:00
requirements spotify: Require pyspotify 1.9 2012-11-20 14:26:06 +01:00
tests Bump version number to 0.9.0 2012-11-21 01:42:51 +01:00
tools Make all strings unicode by default (fixes #224) 2012-11-13 00:18:47 +01:00
.gitignore Ignore .idea 2011-06-06 18:51:10 +02:00
.mailmap Add .mailmap for mapping of git Author tags belonging to the same person 2012-09-12 12:06:30 +02:00
.travis.yml travis: Don't break the build when apt-get update fails 2012-11-08 23:23:55 +01:00
LICENSE Source code license is now Apache License v2.0. Documentation license is CC BY-SA 3.0 Unported License. 2010-08-13 20:41:40 +02:00
MANIFEST.in Add MANIFEST.in to MANIFEST.in 2011-06-12 01:40:11 +02:00
pylintrc Ignore select pylint refactoring recommendations 2012-10-17 01:13:34 +02:00
README.rst docs: How to use Mopidy and Rygel with UPnP clients 2012-11-05 22:42:47 +01:00
setup.cfg Revert "Make nosetests only look in tests/ for tests to run" 2012-10-31 10:55:19 +01:00
setup.py distutils doesn't like unicode in its package lists 2012-11-13 20:01:57 +01:00
tox.ini Make tox work by allowing the use of global site-packages 2011-06-15 22:17:35 +02:00

******
Mopidy
******

.. image:: https://secure.travis-ci.org/mopidy/mopidy.png?branch=develop

Mopidy is a music server which can play music both from your local hard drive
and from Spotify. Searches returns results from both your local hard drive and
from Spotify, and you can mix tracks from both sources in your play queue. Your
Spotify playlists are also available for use, though we don't support modifying
them yet.

To control your music server, you can use the Ubuntu Sound Menu on the machine
running Mopidy, any device on the same network which can control UPnP
MediaRenderers, or any MPD client. MPD clients are available for most
platforms, including Windows, Mac OS X, Linux, Android and iOS.

To get started with Mopidy, check out `the docs <http://docs.mopidy.com/>`_.

- `Documentation <http://docs.mopidy.com/>`_
- `Source code <http://github.com/mopidy/mopidy>`_
- `Issue tracker <http://github.com/mopidy/mopidy/issues>`_
- `CI server <http://travis-ci.org/mopidy/mopidy>`_
- IRC: ``#mopidy`` at `irc.freenode.net <http://freenode.net/>`_
- `Download development snapshot <http://github.com/mopidy/mopidy/tarball/develop#egg=mopidy-dev>`_