User Tools

Site Tools


tutorials:musicmaster:nexus-database-connection

MusicMaster Nexus Database Connection

In this tutorial, you will learn how to set up the MusicMaster Nexus Database connection in mAirList.

Using this method, the mAirList playout application can be attached directly to the MusicMaster database through the MusicMaster Nexus API, with no mAirList database (mAirListDB) database in between, and thus without the need for any synchronization between the MusicMaster and the automation database. This is visualized in the picture below:

The Nexus Database Connection is not part of the regular buyout licenses of mAirList. Please contact sales for licensing options and pricing.

Prerequisites

We assume that the following is available:

  • A MusicMaster database.
  • A Nexus server, or a MusicMaster Client/Server database implementing the Nexus API; the HTTP port must be reachable from the playout computer, optionally through a reverse proxy.
  • A folder with audio files, accessible through a Windows share or HTTP server; the file names (without folder) of the individual must be entered into a MusicMaster field.

Please check with MusicMaster support if you are unsure whether your MusicMaster installation provides the above requirements.

Nexus API Configuration

Before you can configure the database connection, you must set up the Nexus API in the mAirList configuration. In particular, the following fields must be mapped correctly between MusicMaster and mAirList:

  • Artist, Title and their Keywords
  • Filename
  • XML Metadata (mAirList will store additional technical metadata here)

Please follow the instructions found here: MusicMaster Nexus API Setup

Database Connection Setup

Once the Nexus API has been set up, go to the Database page in the mAirList configuration app, click Add and then MusicMaster Nexus Server. A new configuration dialog will appear.

General settings

On the first page, select the Nexus API (host, port and database name) to be used; we assume that it has been set up in the mAirList configuration correctly.

You can also enable reconciliation here. If turned on, mAirList will report all song start/stop events to MusicMaster in realtime.

Library settings

On the Library tab, specify where mAirList-specific metadata will be retrieved from and stored at.

  • MusicMaster (read/write): Metadata is retrieved from the MusicMaster database. Metadata updates go back into the MusicMaster database. All mAirList-specific fields for which no field mapping exists will be stored in an XML block inside the field mapped to XML Metadata.
  • MusicMaster (read-only): Metadata will be retrieved from MusicMaster, but mAirList will never write back any metadata updates.
  • Other database (by Internal ID) and Other database (by External ID): Allows you to use another database connection as metadata source; see section on third-party libraries below.

“Other database” requires another database attached to your mAirList instance (e.g. a mAirListDB, or a third-party database implemented through a script), you can also use that database as metadata store; only the schedule is fetched from MusicMaster then, all song metadata is fetched from the third-party database.

In the Other databases box, you can define the pattern to use for the ID, using the following variables:

  • $SONGID: The MusicMaster song ID
  • $DBID: The value of the field defined as Database ID in the System Field Mapping on the Databases tab.
  • $VERSION: The version tag; see Versioning below.

In case the ID must be extracted from the Database ID field, you can specify a regular expression to do so (Perl format, first match will be the $DBID).

Versioning is a feature used with third-party databases where multiple versions of a particular song exist; the version to play is included as an XML attribute in the schedule returned from Nexus, e.g. transition. You can adjust that name on the General tab in the configuration. You can also specify the default version in case the attribute is not present for a particular schedule entry. The version string is then available as the $VERSION variable in the ID pattern.

Content settings

When loading schedules from MusicMaster, mAirList can replace lognotes (identified by a particular title) with other content loaded from external files, e.g. logs from a third party scheduling system. This feature is configured on the Content tab.

For advertising import, specify an “import source” (file location and filename pattern), similar to the configuration of traffic logs in the mAirListDB advertising scheduling. Any number following the prefix will be treated as the ad block number, e.g. “Traffic 15” will trigger import of advertising block 15.

For other external content, specify a prefix (e.g. “EXTERNAL”) which must be followed by the name of a playlist file in the lognote title (e.g. “EXTERNAL news.m3u”). You can set a default folder where mAirList will look for the files unless an absolute filename is specified in the lognote.

For the configuration of region suffixes, see section on Regionalization below.

Colors

If a MusicMaster field was mapped as “Color” in the API setup, you can enable automatic coloring of items in the playlist based on its values. Just enter the desired mapping as <field value>=<HTML color code in the input box. For example, you can use the “Category” field for colors, and map the categories (e.g. A1, A2, B1) to colors like this:

A1=#FF0000
A2=#00FF00
B1=#FFFF00

Advanced Settings

On the Advanced tab, specify an optional name for this database unter which is is displayed in the mAirList GUI. The default is just “Database”.

Adding Music

New audio files can be added to the MusicMaster library in two ways:

  1. Manually, by creating the song in MM and entering all details by hand. Make sure that the exact file name is entered into the corresponding field.
  2. Automatically using the Nexus Importer tool found in the mAirList Start Menu group. This tool will fetch a list of all files contained in the MusicMaster library, then scan the audio folder for new files, and add the files to the MusicMaster library. Any existing file tags (ID3 etc.) will be parsed and translated to the respective MusicMaster fields.

Beginning with mAirList 6.3.8, the Nexus Importer can also be integrated into the MusicMaster GUI by the means of a User Button by adding the following to MusicMaster.ini:

[UserButton1]
Tooltip=Look for New Files in mAirList
Image=C:\mAirList\Icons\nexusimporter.ico
App=C:\Program Files (x86)\mAirList 6.3\mAirList.exe
CommandScript="-mode nexusimporter -songid " & mm.GetField(1)

If you are working with more than one MusicMaster database, you must additionally pass the name of the database on the command line:

CommandScript="-mode nexusimporter -database """ & mm.DatasetLogo & """ -songid " & mm.GetField(1)

In that case, all databases must be registered in the Nexus API configuration of mAirList. In order to identify the database, mAirList will first compare the value to the Nexus ID, then to the alias set in the Nexus API configuration.

Editing Music

Generally, all library maintenance should be performed from inside MusicMaster.

There are a few things however that cannot be edited easily from MusicMaster. In particular the cue markers, as MusicMaster does not have any built-in editing tool.

If you need to edit any fields that are not easily accessible from MusicMaster, you have the option to use mAirList's File Tagger tool, found in the mAirList Start Menu Group. The File Tagger is basically a browser (as found in the main playout window) and an item properties dialog (the same that you get when you double-click an item in the playout).

In the browser part, click Add and add a new Database pane. This will give you access to all MusicMaster categories and the songs inside them. Double-click a song to edit its properties. When you are finished, don't forget to click Export → Export to Database in order to store your changes permanently inside the MusicMaster library.

Starting with mAirList 6.3.8, another way to edit items has been established: The Nexus Editor, integrated into MusicMaster via a User Button:

[UserButton2]
Tooltip=Edit song in mAirList
Image=C:\mAirList\Icons\nexuseditor.ico
App=C:\Program Files (x86)\mAirList 6.3\mAirList-tmp.exe
CommandScript="-mode nexuseditor -songid " & mm.GetField(1)

When working with more than one database, you must pass the database name on the commandline, and it must match the Nexus database ID or alias set in the config (see comments above):

CommandScript="-mode nexuseditor -database """ & mm.DatasetLogo & """ -songid " & mm.GetField(1)

Regionalization

Regionalization (region splitting) is a feature in mAirList which provides special “Region Container” playlist items that have different content for multiple regions, routed to separate audio outputs or streams.

mAirList can create region containers from items found in a Nexus Schedule. This requires a little bit of preparation:

First, we need to define a filename suffix for each region to be used. Imagine you are broadcasting to three regions “A-Town”, “B-Town” and “C-Town”. We will use the following filename suffixes: -ATOWN, -BTOWN, -CTOWN. We enter these suffixes on the Content tab in the database connection properties:

So for example, a regionalized jingle “jingle1” must exist in three versions:

jingle1-ATOWN.mp3
jingle1-BTOWN.mp3
jingle1-CTOWN.mp3

These should all have the same duration obviously. But most importantly, they must all reside in the same Windows folder.

In the MusicMaster library, set up a new YesNo field (e.g. “Regionalized”) and tick it for the above items. Don't forget to map it to “Regionalized” in the mAirList Nexus API setup.

Then create a category+clock that will schedule one of the regionalized versions, e.g. jingle1-ATOWN.mp3 - which one doesn't really matter.

Now when mAirList encounters the jingle1-ATOWN.mp3 file in the schedule and notices that it's a regionalized item, it will gather the matching items for the other regions (based on the filename suffixes) and create a Region Container from all of them.

Automation Setup

(work in progress)

Similar to mAirListDB automation setup, see here: Music Scheduling with mAirListDB

tutorials/musicmaster/nexus-database-connection.txt · Last modified: 2020/11/23 16:46 by tw

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki