Skip to main content

Complicated CD player

Project description

codplayer - a complicated disc player
=====================================

This is a music player for old farts who insist on listening to albums
and like staring at a shelf full of discs to select the right music,
but still would like to have all the music on a file server.

Therefore, the main user interface is the CD itself. Insert a disc
and it will be simultaneously ripped to a file server and played. The
second time the same disc is inserted, it will be played directly from
the ripped files.

Apart from providing backup of your music, having a soft copy of the
discs allows them to be edited. Some use cases for this include:

* Add artist, title and track information
* Cut out annoying intros and boring extra tracks
* Shuffle the tracks of compilation albums
* Link multi-disc albums so all the discs are played in sequence


Installation
============

Installation and configuration instructions are provided in
[`INSTALL.md`](https://github.com/petli/codplayer/blob/master/INSTALL.md).


License
=======

Copyright 2013-2014 Peter Liljenberg <peter.liljenberg@gmail.com>

codplayer is licensed under an MIT license, please see the file
LICENSE.


Third-party sources
------------------

jQuery is licensed under an MIT license:
* Copyright (c) 2005, 2013 jQuery Foundation, Inc.

mustache.js is licensed under an MIT license:
* Copyright (c) 2009 Chris Wanstrath (Ruby)
* Copyright (c) 2010 Jan Lehnardt (JavaScript)

The icon font was generated from http://icomoon.io/


Architecture
============

At the heart of codplayer is the disc database and the player daemon.
Supplementing these are various control interfaces and database
administration UIs.

The target system setup is to run the player deamon on a fanless,
diskless small computer hooked up to the hifi in the living room,
which is connected over the LAN to a file server which holds the disc
database. The web control interface and the the database
administration web GUI can be hosted on the file server.


The disc database
-----------------

Each CD is stored in a directory of its own, with the raw PCM data and
the table of contents stored in files. The format of the database is
described in the documentation for the class codplayer.db.Database.
The disc database must be accessible in the file system of the player.


The player daemon
-----------------

codplayerd links the CD reader and the sound output device with the
disc database, ripping and playing disc. It is controlled over ZeroMQ
sockets or via a FIFO in the file system. The current state is sent
to ZeroMQ subscribers, but can also be read from a local file.


Player interfaces
-----------------

codplayer is intended to support different platforms and control
interfaces. E.g.:

* codctl - command line interface
* codmousectl - use a wireless USB mouse as remote control
* Web interface (a simple one is in `controlwidget`)
* Control apps (none implemented yet)
* Physical button and LED display interfaces (not implemented either)


Database administration
-----------------------

A web GUI for administering the discs in the database is provided via
the REST API provided by `codrestd`. Current features:

* Browse discs, show track listings
* Edit disc and track details
* Fetch disc and track details from Musicbrainz
* Play discs in a codplayer deamon (which may be on another computer)

Low-level administration is also possible with `codadmin`, run it with
`--help` to see available commands.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codplayer-0.9.1.tar.gz (248.1 kB view details)

Uploaded Source

Built Distribution

codplayer-0.9.1-py2.7-linux-x86_64.egg (290.3 kB view details)

Uploaded Source

File details

Details for the file codplayer-0.9.1.tar.gz.

File metadata

  • Download URL: codplayer-0.9.1.tar.gz
  • Upload date:
  • Size: 248.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for codplayer-0.9.1.tar.gz
Algorithm Hash digest
SHA256 56f151b78092aa14a6d8a7dcfd0ba0dbb90c3adc26927d51f91b4fb799095a9b
MD5 a08d90a21d960e25d872af2e9e6a8d87
BLAKE2b-256 0f96a389dfad4097a6f7ae45dc02bc57809242e84042bebd3e59bd2bef9df8ca

See more details on using hashes here.

File details

Details for the file codplayer-0.9.1-py2.7-linux-x86_64.egg.

File metadata

File hashes

Hashes for codplayer-0.9.1-py2.7-linux-x86_64.egg
Algorithm Hash digest
SHA256 262302fab7f713c6a64ad65b6112402065c80e927c33f2b2e3ed8c58d58d75ec
MD5 1f6e4316bb65b949394f5e5c4b79afec
BLAKE2b-256 4ead1902118af81cd3bbdba694997aaf1a56346ce13340ae56b6752cd84daa4c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page