Skip to content
mrumpf edited this page Oct 22, 2012 · 16 revisions

The multi-room media manager utilities m3util provide utility functionality for managing large media libraries by using high-quality sources for tag information.

The current tools support MP3 audio only. More media formats are not likely to be added soon, as we are focusing more on the library management aspect than on support for many different audio formats. This was a very deliberate decision as supporting different formats is quite complex and gets even more complex when targeting multiple platforms.

All m3util tools operate on a fixed folder structure, which looks like this:

  • audio - The managed audio folder root. This folder can be added to any tool as the base for the whole audio library. The content of this folder is only touched by the tool chain, i.e. any manual changes will be overwritten.
  • 01-gold - High-quality tags, tagged with data from MusicBrainz
  • 02-silver - Medium-quality tags, tagged via freedb or other sources
  • 03-bronze - Low-quality tags, tagged?
  • playlist - audio playlists
  • tools - the tools for managing the library
  • bin - the binaries/shell scripts
  • etc - tool config fies
  • lib
  • java - A folder with the different Java versions
  • var - Directory structure for log files and databases
  • log - log files
  • cache
  • images - the asin image cache
  • lib
  • db - for example the Derby DB files
  • lucene - the lucene index files
  • incoming - Folder for new MP3s
  • audio - incoming audio files
  • unsorted/ - new contributions by "username"
  • cleaned - staging, for files prepared to be added to the repository
  • dupes - duplicates identified by the tool-chain

We have divided the audio folder into 3 quality categories:

  • GOLD - MusicBrainz tagged content only
  • SILVER - tagging was done by other authorities, like iTunes or Amazon for example
  • BRONZE - all the rest (we do not even know whether there are tags at all) The structure below is always [A-Z+#]//|[Singles]

The tools folder contains all the tools or the tool data, like database files or lucene index files.

The root of the folder structure can be declared in several ways:

a) Environment a1) Unix export M3_LIBRARY_HOME= a2) Windows set M3_LIBRARY_HOME=

b) Java VM Parameter -DM3_LIBRARY_HOME=

If the root of the folder structure cannot be determined, the tools will exit with an error message.

The tools can be invoked by the following command: m3util [options] [cmd-options]

The current set of m3util tools include the following functionality:

  • create an empty folder structure
  • import files into the folder structure (incl. MusicBrainz tagging)
  • create or update the index (database & lucene)
  • plainly rename files based on tag information
  • update the file-, folder- and tag-structure (based on MusicBrainz)
  • ...
Clone this wiki locally