Skip to main content
jCoderZ.org / Java tooling collective
m3dditieZ wordmark

Project 03 / media libraries

Managing your digital music.

The m3dditieZ projects are grouped around the concept of organizing MP3 libraries, based on high quality metadata. A defined folder layout keeps a library readable without any special software.

Language
C and Java
Components
5
Source
Subversion
Artefacts
Maven
Wiki pages
8 archived
Latest work
0.1.3 tag

The name

Where m3dditieZ comes from.

The name was born at a brainstorming session about finding a name for a set of somehow related MP3 and audio projects.

The name m3dditieZ, said as moddities, is a combination of the terms mp3 and oddities, shortened to moddities. Two letter substitutions followed: the letter s became the digit 3, and the letter s became the letter Z.

The same Z convention runs through the other project names on this site. The group explains it in the fawkeZ FAQ: the domain jcoders.org had already been registered, so Z was adopted for all plural forms.

The organising concept

The projects are grouped around organizing MP3 libraries based on high quality metadata. They do not provide any tools for tagging MP3 files. That job is left to a separate tagger application.

The tool chain uses the metadata that the tagger has added and organizes the files into a folder structure. Any metadata changes are applied automatically when the tool is run again.

The motivation behind the projects was that the group was not satisfied with any known existing tools for dealing with MP3 libraries, especially when the goal is to use high quality metadata. A file system layout was therefore defined in which MP3 files can easily be located without any additional software, simply by browsing folders with a favourite file manager.

Library fundamentals explains that layout in more detail.

Software

Five parts of the tool chain.

The software covers playback, network access, metadata and the library layout itself. Some parts were still open work when the archive was frozen.

Player

A C implementation of the UPnP media renderer interfaces, targeted at playing MP3 on a playback device.

Server

A server that provides MP3 library access to the network through UPnP, a web interface and other surfaces.

Control point

The client side of the UPnP model. This part was open work, with the design still under discussion at the end of the archive.

Library layout

The folder conventions that make a library readable without special software.

The Java metadata binding completes the set. It provides the general purpose bridge between the Java tools and the metadata that the tagger produced.

Repositories

Where the artefacts lived.

The project published Maven artefacts and kept an OpenWRT package directory in the same Subversion repository.

RepositoryPathContents
Snapshot/repos/maven2-snapshot/Builds from the current development line.
Releases/repos/maven2/Released artefacts.
OpenWRT/svn/m3dditiez/trunk/openwrt/Package files for an embedded distribution.

The paths are kept as they were recorded. The repository folders themselves are no longer served by this archive; the Maven wiki page describes how the repositories were used.

Start here

The library idea, explained.

One page describes the layout that everything else depends on. Two more describe the player and the server.

All 8 wiki pages