Introduction
============

Why MusicMuster?
----------------

In January 2022 I started my show on `Mixcloud
<https://www.mixcloud.com/KeithsMusicBox/>`. Until then, my show had
been on an internet radio station which required me to use a Windows
playout system. As I only use Linux, I had to set up a Windows PC
specifically for that purpose. The system I had to use had what I felt
were shortcomings in various areas.

Once I moved to Mixcloud I searched for a Linux equivalent that didn't
have the same shortcomings but was unable to find one that met my
criteria. I decided to see how practical it would be to write my own,
and MusicMuster was born.

What is MusicMuster?
--------------------

It is a Linux-based music player. Whilst it could be used as a general
home music player, there are much better applications for that role.
**MusicMuster** has been specifically designed to support the
production of live internet radio shows.

Features
--------

* Database backed
* Can be almost entirely keyboard driven
* Open multiple playlists in tabs
* Play tracks from any playlist
* Add notes/comments to tracks on playlist
* Automatatic colour-coding of notes/comments according to content
* Preview tracks before playing to audience
* Time of day clock
* Elapsed track time counter
* Time to run until track starts to fade
* Time to run until track is silent
* Graphic of volume from 5 seconds (configurable) before fade until
  track is silent
* Optionally hide played tracks in playlist
* Button to drop playout volume by 3dB for talkover
* Playlist displays:
    * Title
    * Artist
    * Length of track (mm:ss)
    * Estimated start time of track
    * Estimated end time of track
    * When track was last played
    * Bits per second (bitrate) of track
    * Length of leading silence in recording before track starts
    * Total track length of arbitrary sections of tracks
    * Commands that are sent to OBS Studio (eg, for automated scene
      changes)
* Playlist templates
* Move selected or unplayed tracks between playlists
* Download CSV of tracks played between arbitrary dates/times
* Search for tracks by title or artist
* Automatic search of current and next track in Wikipedia
* Optional search of any track in Wikipedia
* Optional search of any track in Songfacts


Requirements
------------

.. note:: MusicMuster has only been tested on Debian 12, "Bookworm";
   however, it should run on most contemporary Linux systems.

The :doc:`installation` page explains how to build MusicMuster in its
own environment which will automatcally install all requirements
except the database. The current version of MusicMuster uses MariaDB
version 10.11; however, any recent version of MariaDB should suffice.

MusicMuster is a Python 3 application and requires Python 3.8 or
later.


Feedback, bugs, etc
-------------------

Please send to keith@midnighthax.com

Keith Edmunds,
July 2023
