UPDATE – A new version 2.0 (2019-05-08) is now available:
SUPPORTING CUE FILES IN MPD – ver. 2.0 (pdf, 335KB)
NOTE: This version replace any previous one, which now are deprecated. The old version 1.3 of the proposed pseudocode (who was listed here below) has been removed. The new proposed pseudocode version 2.0 is available within the provided document.
Support for CUE files in MPD and its clients is not as trivial and simple as it may appear, with respect to the syntactic and semantic consistency with the involved formats for audio metadata.
As I am interested in this subject, I have done an extensive and detailed work on this issue, which is available for download: SUPPORTING CUE FILES IN MPD (pdf, 319KB).
UPDATED version: SUPPORTING CUE FILES IN MPD – ver. 2.0 (pdf, 335KB)
In this work, the specifications of the main formats for audio metadata (CCDB (freedb and MusicBrainz), TOC/CD-TEXT, CUESHEET, Vorbis comment and, obviously, MPD tags) were first examined with the aim of overcoming the critical issues.
Having considered the results of the analisys carried out on these formats, it was possible to deepen the syntactic and semantic knowledge of the CUESHEET format, also in relation to the use conventions generally adopted in CUE files.
Then, the correlations between CUE and MPD metadata were discussed, identifying a common set of audio metadata to be supported, exactly specifying their meaning and use, and finally understanding how to establish correlations so as to ensure syntactic and semantic consistency.
Also, this has meant to precisely specify the syntactic and semantic use of the involved (standard and non-standard) CUE commands, and to define a proposal to extend the MPD specification introducing several new extra “extended” tags, that were necessary to achieve the optimal correlations.
All of this has been reported in a reference summary for CUE and MPD audio metadata (both standard and extended), which also contains the proposals to standardize and extend both the CUE commands and the MPD tags.
Finally, a pseudocode has been proposed, which implements the parsing of CUE file commands in relation to the MPD tags so as to realize the appropriate correlations between the medatates. Some synthetic examples showing what result should be obtained with this implementation were also given.
The hope is that the results and proposals of this work could be useful for improving CUE files support in MPD and its clients, so allowing users to better manage and use their CUE files to organize and listen to their digital audio collection.
The proposed pseudocode is also listed here below (please, refer to the previously indicated work for the full understanding of the code flow).
Comments and suggestions are welcome!
- old pseudocode ver. 1.3 removed (deprecated) - new pseudocode ver. 2.0 available within the provided document