tba 2025 J5
xbMusic is a Joomla 5 component designed with two main objectives:
- To provide an interface to my personal music library which consists of a mix of LPs, CDs, and MP3 files. All CD's have been ripped to MP3, and some of the rarer old LPs that are not available in any other format have been transferred, clicks and all, to MP3.
- To provide a better management interface and listener information system for a specialist internet radio station running Azuracast.
For my own collection I find the various Music Player apps on any platform pretty inadequate. Typically tagging is restricted to ID3 genres. The ID3 metadata format is inconsistent and poorly defined as it has grown. I wanted to have a single database of all my music, whatever the format, and the ability to categorise it and tag it in whatever way I see fit. I wanted to be able to use the metadata to easily build playlists and find related material.
Similarly for the radio station the Azuracast management interface is a bit limited and I wanted to be able to build a website that would not only show the current playing song and artist, but also other information like album, genres, release info, links to artist websites, commentary and reviews. I also need to be able to build playlists in a much more flexible way and schedule them more flexibly and with a more listener-friendly format to show the schedule.
NB Links in this article may not be working, this is very much a work in progress. I have a partial Alpha pre-release candidate which I will make available for comment derckly and I will be making the project public on github.
Documentation Roadmap Changelog
Currently the status is very much "in-development". There is a working backend for import, editing and listing details of tracks, songs, artists, albums.
- Dashboard - a summary of the counts of items, categories, tags, and other information about the component
- Tracks - list of all tracks in database with sorting and filtering options.
- Track:Import/Create/Edit - Tracks can be imported by reading the ID3 data (if available) from the MP3 file. This will simultaneously create songs, artists and albums if they don't already exist
- Songs - list of all songs in database with sorting and filtering options.
- Song:Create/Edit -
- Artists - list of all artists in database with sorting and filtering options.
- Artist:Create/Edit -
- Albums - list of all albums in database with sorting and filtering options.
- Album:Create/Edit -
- Playlists - list of all playlists in database with sorting and filtering options.
- Playlist:Create/Edit -
- Categories - list of xbMusic categories with counts of items assigned
- Category:Items - list of individual items assigned to a category
- Tags - list of all tags assigned to xbMusic items
- Tag:Items - list of xbMusic and other component items assigned to a given Tag
- DataManager - provides facilities for managing data. Currently only bulk import of multiple tracks from ID3 data in files in a folder is available
The basic item is the Track (usually represented by an file).
A track may consist of one or more Songs (or instrumental pieces). A song may be found on one or more tracks
A track may have one or more Artists. An Artist may appear on many tracks.
A track may appear on one album. If not assigned to an album it is listed as a Single track. Obviously an album may have many tracks, songs, and artists.
Thus the data structure consists of separate tables for each type of item, and several linking tables for the many-to-many relationships.
Source code, issue reporting and discussion is available on GitHub
xbMusic Roadmap
towards version 1.0
- Backend views as above
- Frontend views to be defined
- will include Artist, Album and Song lists and detail views for
possible modules
- currently on Azuracast playing with various display options
- Schedule for one day
xbMusic Changelog