You are on page 1of 89

Making the Most of MusicMaster From the IT Perspective

Revised 3/5/2012

Table of Contents:
Introduction Hardware Requirements Database Design Computer Specifications Internet Connection Operating System Requirements Additional Requirements System Info Utility Software and Security Key Installation Check for Updates Network License Manager Installation Firewall Proxy Server Support Interfacing with Other Software Synchronizing with a Third Party Database Export File Designer Export to Automation Export to Web Log Reconciliation Importing Traffic Export to Affiliate/Import from Network Enterprise Nexus Program Options User Commands Lines User Rights Custom Backups Broadcast Week Tools, Options Special History Reports Virtual Breaks VBScript Commands 2 2 2 2 4 4 6 6 7 7 8 9 9 10 24 38 39 44 51 56 69 69 73 73 74 77 79 79 80 83 86

Introduction
We know that as the IT person at your station you may not be familiar with MusicMaster for Windows. This guide is a look at some of the complex features of the software. This document is divided into three sections: Hardware Interfacing with other Software Program Options

Hardware
This section includes information the hardware requirements associated with MusicMaster. This section includes information on Database Design Computer Specifications System Info Utility Software and Security Key Installation Check for Updates Network License Manager Firewall Proxy Server Support

Database Design:
MusicMaster for Windows is written in Microsoft Visual Studio programming tools with an Access Database. There is also an option to hold the data in SQL Server with Version 5.0.

Computer Specifications:
Minimum Hardware Requirements: Please note that these minimum requirements are designed to give adequate performance when running a simple database on the local hard drive of a standalone computer. A simple database is defined not only by the number of songs (less than 10,000), but also the number and complexity of the rules. When using larger databases and when operating in a network/multi-user environment, we strong recommend that you exceed the minimum recommendations and use the best hardware you can get. You should be using a computer system that will provide very good performance for the operating system that you are using.

With Windows 2000, we recommend at least a Pentium 4, 2.8Ghz or equivalent with a minimum of 512Mb of RAM. For Windows XP, we recommend a at least Pentium 4, 2.8Ghz or equivalent with a minimum of 1Gb of RAM. If you are using Windows Vista, we recommend at least a Pentium 4, 3.0 Ghz or equivalent or any Core Duo processor and a minimum of 1Gb RAM. The program also works on Windows 7. With this operating system, we recommend the compatibility tab of the icon properties be set to run in Windows XP compatibility mode using the run as administrator option. After installing any required prerequisites, MusicMaster for Windows will need a minimum of 100Mb of hard disk space for program installation and a single moderate-sized database. Your computer must also have one free USB port where you can connect the MusicMaster Security Key. This is required to operate the software.

Optimum Hardware Requirements:


Using the minimum recommended hardware, MusicMaster should well on a standalone computer using a small to moderate-sized database. Users that want to operate multiple databases, open more than one database at a time, use MusicMaster on a network or with an Enterprise master database should consider using more optimal hardware. For best performance, we recommend Windows 2000 or Windows XP Professional. As of this writing, an optimal computer system will have at least the performance of a Pentium 4, 3.0Ghz or any Core Duo processor with 1Gb of RAM. The program will also benefit greatly if the database is stored on a fast hard drive. Most new hard drives operate at 7200rpm or greater. Newer Serial ATA (SATA) drives give excellent performance. Keep in mind that the speed of the software through the network will be impacted by several things, including the connection between your workstation and the server where the data is located, other traffic on the server as well as complexity of the database. Databases run off the network will almost always be slower than if that same database was run on the local drive. Monitor Recommendations: We recommend a computer with a minimum resolution of 1024x768. This is just a minimum though. You can open many optional floating and docking panels in MusicMaster, so you will benefit from having screen resolutions of 1280x1024 or greater. We also have users who use dual screens to take advantage of all the screens MusicMaster has to offer. Network Recommendations: If you will be operating MusicMaster across a local area network, it is recommended that you store your database on an actual server computer. This computer should be

one that is not restarted on a regular basis, and that isnt used for too many other purposes. The MusicMaster software does not need to be installed on the server, only the database files should reside there. MusicMaster can be quite data intensive, therefore you should always have a highspeed network connection between your MusicMaster workstation and the server where the database is located. We recommend the use of a 100Mb connection or faster between each MusicMaster workstation and the server where the databases are stored. Prices have dropped for even faster 1000Mb connections, so this should be strongly considered. We do not recommend the use of 10Mb Ethernet connection, VPN or any wireless network. One exception to this would include the use of remote control software such as Citrix, pcAnywhere, VNC, GoToMyPC or similar. As an option, we also offer a Network Security Key. This can be used to license many computers on the same local area network using only a single Security Key that is located on one network computer. When this option is used, the other MusicMaster workstations do not need a free USB port for this device. The Security Key will only be physically connected to a single computer and only that computer needs a USB port to host it. When using a Network Security Key, the host computer must also run a special license manager utility. This computer does not need to have a copy of MusicMaster installed on it. The purpose of this host computer is simply to manage the software license for all of the MusicMaster computers on your network.

Internet Connection:
Program and license updates can be received through the Internet. We recommend that you have Internet access on the computers where you plan to install and operate MusicMaster for Windows. There are special settings available that you can use if you are operating behind a firewall or proxy server that blocks direct access to the Internet. Please note that MusicMaster currently only requires Internet access when it is checking for new program updates and to upgrade your Security Key license when you install a major version of MusicMaster. When planning your hardware, keep in mind that a small and limited MM/Win singleuser operation would work fine on the lower end of these suggestions. Larger and more complex installations with multiple users on a network, Enterprise databases, and tens of thousands of songs should plan on working at the higher end of these requirements.

Operating System Requirements:


MusicMaster for Windows can be installed on many versions of Microsoft Windows including 2000 Professional (service pack 4 or later), XP (service pack 2 or later), Vista and Windows 7 (using Windows XP Service Pack 2 compatibility). Depending on the version of Windows you have, and other software that you may have installed, you might need to update certain Windows system components. Windows 2000 and Windows XP can be used just as they come, but also benefit from some updates that have been released since the initial release of those operating systems. MusicMaster for Windows is no longer supported on earlier Windows operating systems.

The following are some minimum requirements that must be satisfied before you can install MusicMaster for Windows: Update your operating system with the latest service pack. We recommend that you install the very latest Service Pack, and all available critical security updates for Windows. These can be obtained from the Microsoft Windows Update website. Microsoft Data Access Components (MDAC) 2.6 or later. This is also known as MDAC. These updates are available from: http://www.microsoft.com/data. It is very important that you have the latest MDAC components installed on your computer. Special notes about how to install these updates can be found in the System folder on the MusicMaster for Windows CD-ROM. Microsoft Jet Provider 4.0 SP-6 or later. This is also known as the Access database driver. These updates are available from: http://www.microsoft.com/data. It is very important that you have the latest Jet driver installed on your computer. Special notes about how to install these updates can be found in the System folder on the MusicMaster for Windows CD-ROM. Microsoft Internet Explorer 5.0 or later. Install the newest version available. Minimal installation is acceptable, and Internet Explorer does NOT need to be the default browser on your system. This is available from: http://www.microsoft.com/windows/ie/download/default.htm Microsoft XML Parser 3.0 or later. This is available from: http://www.microsoft.com/xml. This will automatically be installed with the latest version of Internet Explorer. Microsoft Script Control 1.0 or later. This is available from: http://www.microsoft.com/scripting. This is included with newer versions of Microsoft Windows and will automatically be installed with the latest version of Internet Explorer. Installers for each of these components are also available in the System folder on the MusicMaster for Windows CD-ROM. Many of these installers are for newer versions than the minimum required by MusicMaster for Windows. If you receive Error 429 or 430 when launching MusicMaster, you probably need to update one or more of these components. We also provide a System Information utility that will appear in the MusicMaster program group of your Start menu. This utility will show your installed components, and whether or not any upgrades are required. Please note that MusicMaster for Windows has been developed and tested primarily on Windows 2000 and Windows XP, and we highly recommend the use of these operating systems.

Additional Requirements:
MusicMaster for Windows uses a license key that must be detected before MusicMaster will function on your computer. This is generally a small plug that must be attached to an empty USB 1.1 or USB 2.0 port. Other key types may be available if you cannot use the USB plug. Please contact your MusicMaster sales rep for more information and any additional costs. MusicMaster contains an audio player that allows you to listen to the music in your database. You will need to encode information about the location and type of each audio file to use this function. The MusicMaster audio player is compatible with any audio files that can be played in Microsoft Windows Media Player. Other proprietary and non-standard audio files or files using variable-bit-rate encoding will probably not work within MusicMaster. MusicMaster supports any type of Windows compatible printers. MusicMaster reports can include color and graphics, so a color printer is a plus.

System Info Utility


MusicMaster contains a utility that allows you to determine if your operating system can run MusicMaster for Windows. It is likely you will only use this option upon initial installation of the software. Should it be needed, you will be able to Copy the information to the Clipboard and then paste it in an e-mail to your Music Scheduling Consultant. Anything in green means the System Components are satisfactory. Should you see yellow or red, those Components will need updating.

Software and Security Key Installation

don't connect the usb dongle before installing the software. the software installs the drivers. download the *.exe from our support site, double click it and follow the instructions.

Place the disc into your CD-ROM drive. The MusicMaster Setup program will run automatically. (If you have disabled the Windows Auto-Run feature, you can browse to the CD-ROM drive and double-click SETUP.EXE) Follow the prompts on your screen to review the license agreement and install the software. If this is a first-time installation, we recommend that you select the setup option to add a MusicMaster icon to your desktop. We recommend that you restart Windows after installing MusicMaster for the first time. After youve done that, the enclosed security key should be connected to a free USB port on the computer. This key must be installed to activate the software. (Note: You may see the Windows New Hardware Wizard the first time you attach the security key. If youve already installed MusicMaster, all drivers for the key should already be loaded on your computer. Once the software is installed, and the key is in place, double-click the MusicMaster for Windows icon and start making your station sound better the MusicMaster way!

Check for Updates


Theres no need to worry if you have the most up-to-date version of MusicMaster for Windows. Go to Help, Check for Update to find out. The Update Wizard will open indicating what version you are on.

When you click next, the Wizard will use your Internet connection to check for any updates. You will either get a screen indicating you have the most up-to-date version or it will indicate a newer update is available and ready for you to download. Note: You must close MusicMaster to install the new version.
only needed if usb key is not installed on the local pc where MusicMaster is installed. In general for multi-user-licenses. (red dongle)

Network License Manager Installation

If you choose to use a network license, the following explains how this works and the installation. Please note that MusicMaster network security keys are red, and security keys for individual workstations are green. You cannot use a green key with the network license manager software. When using a network security key, you only need a single security key to license all MusicMaster workstations on a network. The network key should be installed on a computer that will be running and available 24/7. MusicMaster will search for this computer and security key each time a workstation launches MusicMaster, and periodically while MusicMaster is running. In the default configuration, MusicMaster will use the TCP/IP protocol and port number 475. You may need to adjust your firewall hardware and/or software to allow for this communication. The computer where you install the network key can be a Windows server machine, or it can run a Windows client operating system. MusicMaster for Windows does not need to be installed on the computer where you place the network security key. We strongly recommend that you use a computer running Windows NT, 2000 or XP, and that you install the license manager as a service. Install the security key software on the server first. After this is complete, then you can connect the security key to an available USB port. (Note: parallel port network keys are also available. There may an additional charge for a non-USB security key). You must have administrative privileges to install this software. Run the SETUP program on the CD-ROM to install the security key license manager software. Under Windows NT/2000/XP you will have the option to install this as an application or as a service. We recommend you install as a service if possible. This allows the license manager to be running and available even when no user is logged in to this computer. If you install as an application, you will have the option to automatically launch the license manager at startup. You should now restart Windows one time, and then attach the security key to an available USB port. You may optionally install the license monitor utility. This utility allows you to see how many workstations are active at any given time. This is not required for use with MusicMaster. The installer for this utility is HaspMonitorSetup_142.exe. Each workstation that will use this network key must have a copy of the Nethasp.ini file added to the MusicMaster program folder. You do not need to make any changes in this file, but it must be present for MusicMaster to begin searching for the network key. There are many settings in this file that can help if a workstation has problems

finding the security license manager. Most are self-explanatory within this file, but please contact your MusicMaster Scheduling Consultant if you require assistance. MusicMaster should now start up normally and locate the network security key. You may notice a slightly longer delay when starting MusicMaster with a network key versus a locally connected key. This is normal due to the required network communications. If the network key is not located, you will see a message that you need to license the software before you can use it.

Firewall Proxy Server Support


The MusicMaster Upgrade Assurance feature communicates with the upgrade server at A-Ware Software to authorize the first usage of a new version of MusicMaster. The software attempts to contact the server at services.a-ware.com on port 80. The actual IP address is 216.170.134.226. In addition, MusicMaster can also perform this communication through a Proxy server, if necessary. To enable this function, you must create or edit the file MusicMaster.ini in the MusicMaster program folder. This can be done with a text file editor such as Windows Notepad. You will need to add a [Proxy] section to the file with the following lines. Just add in the values specific to your network. Once you restart MusicMaster, the Proxy server should be used instead of a direct connection. [Proxy] ; Name or IP address of a proxy server Server= ; Port for the proxy server (default 80) Port= ; A user name if Basic authentication is to be used for the proxy. User= ; A password if Basic authentication is to be used for the proxy Password= ; An authorization string to be sent to the proxy server Authorization=

Interfacing with other Software


MusicMaster is very flexible in how it integrates with other third-party software. This section includes information on the various types of interfaces available: Synchronizing with a Third-Party Database Export File Designer Export to an Automation System Export to the Web Reconciling an Aired Log Importing Traffic Using a Master Database (Enterprise) Export to Affiliate / Import from Network

Synchronizing with a Third-Party Database


External Synchronization is a feature designed to import songs and song changes from an external software system as well as export songs that are added, deleted or changed in MusicMaster. Using this feature, you can automatically import new songs and song changes from an external software system, and also export information about songs that are added, deleted or changed in MusicMaster. Once configured, the importing of information can happen automatically when a database is opened. Exporting of information can automatically happen when the database is closed. The user can also run these functions at any time using the Database, Library, Synchronize menu option. Common Usage: Many stations use automation software. This type of software typically uses its own complex database that manages its audio file inventory and assigns unique IDs to those audio files. The External Synchronization process can help improve your workflow. If you did not use this feature, you would have to enter all song values twice, once in the automation software and once more in MusicMaster. With the feature, and the different modes available, you can keep your MusicMaster database up-to-date automatically. Some stations also get their new music through a digital delivery service. These services typically provide text metadata about the songs that are downloaded in a format that can be imported into MusicMaster. External Library Synchronization can make this happen automatically. Another common use could allow you to import fresh research scores. As long as a common piece of information is available in the database of MusicMaster and the third party software package, it may be possible to synchronize database information between the systems using this feature. For this process to work, MusicMaster and the third party software must both follow a system of importing and exporting data in shared files that each software package can access. MusicMaster can work with a variety of file formats, including delimited or fixed ASCII, Excel, dBase, and XML file. This system can work whether all song changes are written to a single file, or each change is written to an individual file. Following are some basic examples of what you might do: Lets say you add new songs to your automation software. Using the External Synchronization process, you can import the basic fields into your MusicMaster database. These might include Artist, Title, Runtime and automation software ID. As part of the import process you might create a special category, say NEW, for these songs to appear in. Once they are in MusicMaster, you can add any other information you might need, like keywords, and move it into the appropriate category.

10

Lets say your automation software allows you to edit the information it has. This might be used to update the Runtime of a song. You can use External Synchronization to take that information and update what appears in MusicMaster, updating only a specific field. Certainly its not uncommon to update the information in your MusicMaster database. Every time a change is made, External Library Synchronization can be set up to write an export file. This file then updates the automation software. The descriptions below include many more options. DEFINITION FILE: The key to setting up External Library Synchronization is the creation of an appropriate definition file for MusicMaster. This file defines the type and location of the import files to load data from, and the type and location of export files that MusicMaster can create. A number of different file types are supported, and can be defined using the commands in the definition file. Definition files used by MusicMaster for Windows are formatted as basic Windows .DEF files. These are very easy to create and edit using any basic text file editor, such as Windows NotePad. The following reference describes the sections, keys and values that can be used in this file. The file can have two components: Import and Export. You do not need both. Some sections apply to both areas. These will be discussed first and then youll find sections for Import and Export. Section Reference: [Description] The Description section is required and should generally be the first section in every MusicMaster definition file. This section provides a display name for the definition file and defines its purpose. Keys Name= Type= Sample: [Description] Name=Automation Interchange Type=LibSynch (Required) All definition files in MusicMaster must have the .DEF extension. MusicMaster will only recognize files with this extension. The file name should be in the format of xxxx_Import.def where xxxx can be replaced with the name of the system or other identifier. For the External Synchronization process to run automatically when opening the database the file structure would be the database name_Synch.def. For example, a database called Sample would have an External Synchronization file name of Value Required Display name for definition file. Any text string is acceptable. Required Definition file type or purpose. Must be =LibSynch

11

Sample_Synch.def . A file set up in this way would also activate the Run the default synchronization button when you open the utility. Section Reference: [LibSynch] This section is required, but it can be blank. Keys AddMsg= LogFile= Sample: [LibSynch] AddMsg=1 LogFile=1 IMPORT: This section must be present when importing from another system. Section Reference: [Import] Keys SourceType= Value Determines the type of input file. Choices include: AsciiD Delimited ASCII text file (IOStandard) AsciiF Fixed-length ASCII text file (IOStandard) AsciiS Used when the file type is delimited by the field name surrounded by some type of delimiter character like square brackets. XML Imports from an XML file Dbase Imports from a dBase data file MSExcel Imports from a Microsoft Excel spreadsheet ADORS Imports from a Microsoft ADO Recordset. This can be used with MS Access, SQL Server, etc. MultiAsciiD Imports multiple Delimited ASCII text files at once (IOStandard) MultiAsciiF Imports multiple Fixed-length ASCII text files at once (IOStandard) MultiFLAC Imports metadata from Flac-type audio files including all the fields defined in the Vorbis comment section and stream information including runtime (MM:SS and seconds), sample rate, bits per sample, number of samples, channels, MD5, signature and vendor ID. MultiXML Imports multiple XML data files that contain metadata about a single song MultiMP3 MP3 ID3v1 tag import Defines the path where the input file can be located, relative to the MusicMaster program folder. (Example: C:\Logs\) Defines the input filename or filename specification. Can include some date/time macros. (Examples: @m1@d1@y1.ASC, HISTORY.DBF) Value Provides a message box to the user when songs are added. 0=No; 1=Yes Writes synch details to a text file. 0=No; 1=Yes

SourcePath= SourceSpec=

12

Sample: [Import] SourceType=AsciiD (Required) SourcePath=A:\ (Required) SourceSpec=*.ASC (Required) Section Reference: [ImportProperties] Note: [ImportProperties] is a subsection of [Import] Keys DateFilter= Value Used when doing multi-file imports. This option allows you to set a date/time value so the program will ignore any files where the modification time is later than the specified value. This can be used in conjunction with the [LibImportProperties] option of AutoDateFilter, which will set the DateFilter value automatically when you run External Library Synchronization. Used when the SourceType=AsciiD. This indicates what character is the delimiter. For example if the pipe is the delimiter, youd indicate Delimiter=| The default is tab. You can either leave the line as Delimiter= or Delimiter=tab to accomplish this. Can be used to designate whether the input file contains a header row. 0=No header; 1=Header is available. 1 This will remove quotes in the field. This is primarily used in comma delimited files that have information surrounded by quotation marks. x is the number of bytes in each input record. This would be used when you are reading a fixed-length ASCII file where each record does not end with a carriage return/line feed pair or when records may contain embedded control characters. Every record is assumed to be this exact length. Used when you want to search any subfolders of the path. 0=import from the specified path only; 1=search subfolders Can be used to sort the list of imported file names before importing data. 0=default; 1=Sort the list Translates hex characters to other text characters. Values are separated by a comma.

Delimiter=

Header= Quotes= RecLen=x

Recurse= SortFiles= TransVal= Sample:

[ImportProperties] Header=0 Delimiter=, Here is an example of what a TransVal line might look like: TransVal=&H02=[,&H03=] This example converts character 02 to left bracket and character 03 to right bracket. Section Reference: [ImportFields]

13

Note: [ImportFields] is a subsection of [Import] Keys Fldx= x must be a unique value for each defined field. (Fld1, Fld2, etc.) Value For a fixed length ASCII file, you will specify a field name followed by a pipe character, and then the start column and field length; i.e., Field1=CutID|1,8 For delimited ASCII when no header is present, you will simply specify a field name for each field in the order that they appear in the input file. For dBase and Excel import files this section is optional since the field names from the actual input file will be used. Sample: Fld1=AutomationNumber Fld2=Title Fld3=Artist Fld4=Empty Fld5=Year Fld6=AutomationCategory Fld7=AddDate Fld8=999999 Fld9=AddDate2 Fld10=Intro Fld11=Ending Fld12=Runtime Section Reference: [ImportValidation] Note: [ImportValidation] is a subsection of [Import] This subsection is optional and defines validation filters that are performed against the data rows in the input file. Only rows that pass these validation tests will be imported. When this section is not defined, all input rows will be considered. Keys Valx= x must be a unique value for each defined filter. (Val1, Val2, etc.) Value A valid Script expression to perform against the input rows.

Section Reference: LibImport [Liblmport] This section controls the import of data from an external system into MusicMaster. Keys Mode= Value This option restricts imports. Options include:

14

Add - Adds all songs as new songs into MusicMaster Update - Updates songs that already exist in MusicMaster, skipping songs that dont exist in the database. Add + Update - Adds songs that are not found AND updates existing songs AddNew - Only adds any songs that do not already exist in MusicMaster Sample: [LibImport] Mode=Add Section Reference: [LiblmportProperties] Note: [LibImportProperties] is a subsection of [LibImport] Keys AutoDateFilter= DeleteSource= SourceID= Value A value of 1 automatically sets the [ImportProperties] DateFilter property to the date/time each time External Library Synchronization is run. This option determines if the import file is deleted after being read. 0=No; 1=Yes This option is used to define how to find a matching song between the import file and MusicMaster. This option is used in conjunction with LocalID. Both must be present. SourceID is the definition of the unique Song ID in the Import file. This is typically a field. It should be noted that you can just list the field here. If there are differences in field lengths for the field you are matching, a script function will likely be necessary. The example below shows how that script would look. This option is used to define how to find a matching song between the import file and MusicMaster. This option is used in conjunction with SourceID. Both must be present. LocalID is the definition of the matching Song ID in MusicMaster. This is typically a field, but can include script. This option restricts the lookup of matching songs. This can be useful if you want to bypass a hold or rest category. The list would include only those categories you wish to search. If this option is used, ExcludeCat cannot be used. This option indicates the categories to skip. If this option is used, IncludeCat cannot be used. This will allow blank and missing fields from the field map to delete existing data from those fields. Without this command, the default behavior is to import new values, but leave data alone in MusicMaster when no data is provided in a field from the external file.

LocalID=

IncludeCat=

ExcludeCat= UpdateBlanks=True

Sample: [LibImportProperties] DeleteSource=0 SourceID=(im.InFld(CutID)) (Required)

15

LocalID=(mm.GetField(101))

(Required)

Section Reference: [LibImportMap] Note: [LibImportMap] is a subsection of [LibImport] Section Reference: [LibImportMapAdd] Note: [LibImportMapAdd] is a subsection of [LibImportMap] Section Reference: [LibImportMapUpdate] Note: [LibImportMapUpdate] is a subsection of [LibImportMap] Keys Mapx=FieldNumber,Name x must be a unique value for each defined field. (Map1, Map2, etc.) Value This section lists the fields you will be importing. The Field Number can be found under Dataset, Library, Fields; and, the Name is the name of the field as listed in Import Fields.

Each of the three sections above works the same way. You map the MusicMaster field number (See Fields), the Source field name and any optional script commands. You can use [LibImportMap] by itself. If you want different mappings for adds versus updates, you can then add the option [LibImportAdd] and [LibImportUpdate] sections. Following are several samples: [LibImportMap] [LibImportMapAdd] Map1=12,Length,mid(im.CurrentValue,4,5) Map2=104,MusicID Map3=108,Performer Map4=109,Title Map5=3,,"NEW" In the above example, Map1 equals Field 12 in the MusicMaster database and has a source file field name of Length. [LibImportMapUpdate] Map1=12,Length,mid(im.CurrentValue,4,5) Map2=104,MusicID Map3=108,Performer Map4=109,Title In the above example, Map3 equals Field 108 in the MusicMaster database and has a source file field name of Performer. EXPORT:

16

This section must be present when exporting MusicMaster changes Section Reference: [Export] Keys OutputType= Value Determines the type of output file. Choices include: AsciiD Exports multiple Delimited ASCII text files at once (IOStandard) AsciiF Fixed-length ASCII text file (IOStandard) MSExcel - Exports a MS Excel file. dBase Exports a dBase file XML Exports an XML file The Path where you would send the export file along with the name of the file.

OutputFile= Sample:

[Export] OutputType=AsciiF OutputFile=C:\Temp\Library.asc Section Reference: [ExportProperties] Note: [ExportProperties] is a subsection of [Export] Keys Append= BaseTag= RecTag= Sample: [ExportProperties] Append=1 Section Reference: [ExportFields] Note: [ExportFields] is a subsection of [Export] This section determines what fields are determined, indicating the column and length to be exported. Keys Fldx= x must be a unique value for each defined field. Value For a fixed length ASCII file, you will specify a field name followed by a pipe character, and then the start column and field length; i.e., Field1=CutID|1,8 Value Allows MusicMaster to continue appending changes to an existing file. 0=No; 1=Yes Note: This option is only available for ASCIIF and ASCIID output file types. Songs - This is the base XML tag that contains the song records Song This is the XML tag used for the actual song records

17

(Fld1, Fld2, etc.)

For delimited ASCII when no header is present, you will simply specify a field name for each field in the order that they appear in the input file. For dBase and Excel import files this section is optional since the field names from the actual input file will be used. For XML files, fields are given a name used to populate them, then a pipe character, and then are defined as tags or attributes. For instance, Name1|field1

In the example below for an AsciiF file type, Field 1 is the Disc field, starting at column 1, exporting eight characters. [ExportFields] Fld1=Disc|1,8 Fld2=Artist|9,35 Fld3=Title|44,35 Fld4=Intro|79,8 Fld5=Runtime|87,5 Fld6=Spacer1|92,1 Fld7=Ending|93,4 Fld8=Spacer2|97,1 Fld9=Notes|98,10 Fld10=Extra|108,64 There is an optional third piece of data you can add that specifies the row number. Let's say you wanted to put everything starting with the Intro field on a second row. You need to designate row 2 in that third position, and also recalculate the start columns for the new row. [ExportFields] Fld1=Disc|1,8,1 Fld2=Artist|9,35,1 Fld3=Title|44,35,1 Fld4=Intro|1,8,2 Fld5=Runtime|9,5,2 Fld6=Spacer1|14,1,2 Fld7=Ending|15,4,2 Fld8=Spacer2|19,1,2 Fld9=Notes|20,10,2 Fld10=Extra|30,64,2 Section Reference: LibExport This section controls the export of song changes in MusicMaster. [LibExport] Keys Mode= Value This option restricts exports. Options include: Add Exports new song adds only

18

Update Exports songs that have changed since the last export Delete Exports deleted songs only Add+Update+Delete Exports Adds, Updates and Deletes Sample: [LibExport] Mode=Add+Update+Delete Section Reference: [LibExportProperties] Note: [LibExportProperties] is a subsection of [LibExport] Keys Filter= Value A filter is used to export only those songs that match your filter criteria.

For instance, lets say you had the letter A in a field as part of your automation number and only wanted to export those songs. You would add a line Filter=mid(mm.GetField(102),2,1)="A" This is translated as: Go to field ID 102. Start at the second character in that field and take one character. If that character is A, export the song. Section Reference: [LibExportFields] Note: [LibExportFields] is a subsection of [LibExport] Keys Fldx=Name x must be a unique value for each defined field. (Fld1, Fld2, etc.) Value This section lists the fields you will be exporting.

This section assigns a unique name for each field you wish to export. The map sections are used to indicate which MusicMaster data to export in each of those fields. Section Reference: [LibExportMap] Note: [LibExportMap] is a subsection of [LibExport] [LibExportMapAdd] Note: [LibExportMapAdd] is a subsection of [LibExportMap] [LibExportMapUpdate] Note: [LibExportMapUpdate] is a subsection of [LibExportMap] [LibExportMapDelete] Note: [LibExportMapDelete] is a subsection of [LibExportMap]

19

Each of the four sections works the same way. You map the MusicMaster field number (See Dataset, Library, Fields), the Source field name and any optional script commands. You can just use [LibExportMap] by itself or if you want different mappings for adds, updates or deletes, you can use the optional [LibExportMapAdd], [LibExportMapUpdate] and [LibExportMapDelete] sections. Sample: [LibExportFields] Fld1=Command Fld2=ID Fld3=Runtime Fld4=Artist Fld5=Title In the above example, Fld3 equals the Runtime field. [LibExportMap] ; Generic Default Map Section [LibExportMapAdd] Map1=12,Runtime,mid(mm.CurrentValue,1,2) + mid(mm.CurrentValue,4,2) Map2=108,Artist Map3=109,Title Map4=0,Command,"AddNew" Map5=1,ID In the above example, Map3 equals field 109 in the MusicMaster database and has a source name of Title. [LibExportMapUpdate] Map1=12,Runtime,mid(mm.CurrentValue,1,2) + mid(mm.CurrentValue,4,2) Map2=108,Artist Map3=109,Title Map4=0,Command,"Updated" Map5=1,ID In the above example, Map2 equals field 108 in the MusicMaster database and has a source name of Artist. [LibExportMapDelete] Map1=12,Runtime,mid(mm.CurrentValue,1,2) + mid(mm.CurrentValue,4,2) Map2=108,Artist Map3=109,Title Map4=0,Command,"Delete" Map5=1,ID In the above example, Map1 equals field 12 in the MusicMaster database and has a source name of Runtime.

20

If you are using an XML Export, here is additional information on how that would be constructed: Sample XML Export section: [Export] OutputType=XML OutputFile=C:\Test.xml [ExportProperties] BaseTag=Songs RecordTag=Song [ExportFields] Example 1: Adding a field value in its own tag. This adds a tag called field1 with the song data as the tag value <Song><field1>value</field1></Song> Fld1=Name1|field1 Example 2: Adding a field as an attribute of a specified tag. This adds a tag called record and adds the field value as an attribute of that tag called field1 Song><record field1="value" /></Song> Fld2=Name2|record@@field1 Example 3: Adding a field as an attribute of the record tag. The record tag is defined in the [ExportProperties] section as the main tag for each song exported. This adds a field to that tag as an attribute with a designated name. In this sample, field 1 is an attribute of the Song tag <Song field1="value" /> Fld3=Name3|@@field1 Filenames for this section can contain the current data, a unique number or data from one of the fields you are exporting. The following macros enable this functionality: %%DATE(format)%% %%UNIQUE%% %%FLD(name)%%

Here is a sample of how the whole file might look for importing information from an automation system. In this example, an .ASC file is used for importing the AutomationNumber, Title, Artist, Year, AutomationCategory, AddDate, Intro, Runtime and Ending on any new songs. This file will also check to see if any changes have been made. If any are found, only the Intro, Runtime and Ending will be adjusted. [Description] Name=Automation Import Type=LibSynch

21

[LibSynch] AddMsg=1 LogFile=1 [Import] SourceType=AsciiD SourcePath=A:\ SourceSpec=*.ASC [ImportProperties] Header=0 Quotes=1 Delimiter=, [ImportFields] Fld1=AutomationNumber Fld2=Title Fld3=Artist Fld4=Empty Fld5=Year Fld6=AutomationCategory Fld7=AddDate Fld8=999999 Fld9=AddDate2 Fld10=Intro Fld11=Ending Fld12=Runtime [ImportValidation] [LibImport] Mode=Add+Update [LibImportProperties] DeleteSource=0 SourceID=AutomationNumber LocalID=101 [LibImportMap] [LibImportMapAdd] Map1=101,AutomationNumber Map2=103,Title Map3=102,Artist Map4=110,AutomationCategory Map5=100,Intro Map6=109,Ending Map7=12,Runtime Map8=3,,"NEW" [LibImportMapUpdate] Map1=107,Intro Map2=109,Ending

22

Map3=12,Runtime Here is a simple example of how the whole file might look for exporting information to a file. In this example, a delimited file will be created when adds or changes occur in the database. When found, the artist and title will be exported.

[Description] Name=LibExport Type=LibSynch [LibSynch] AddMsg=1 LogFile=1 [Export] OutputType=AsciiD OutputFile=C:\TEMP\LIBRARY.CSV [ExportProperties] [ExportFields] Fld1=Artist Fld2=Title [LibExport] Mode=Add+Update+Delete [LibExportFields] Fld1=Artist Fld2=Title [LibExportMapAdd] Map1=102,Artist Map2=134,Title [LibExportMapUpdate] Map1=102,Artist Map2=134,Title

Again, these two samples show how a file would look when only importing or exporting. All of these options could be combined into one file that is doing both.

23

Export File Designer


The MusicMaster Export Designer is used to create exports from MusicMaster to third-party software, like an automation system. This section will go over the basic elements of the Designer followed by each section individually. You can launch the Export Designer, by going to your Start button, select Programs and then MusicMaster. In the options listed, you will see the MusicMaster Export Designer. When launched, you will be prompted to pick the dataset to use. This typical Windows search box will show you the datasets available:

When you pick your dataset, a second box will pop up that will allow you to choose the Design Type (either a Schedule Export or a Library Export). Should you have no designs, you can then select New.

24

If you pick New, you will be asked to name the design. Typically you would want to name this something so it make sense when it appears in the program; i.e., Export for "Automation System X." You will also choose whether the file is a Delimited or Fixed-Length ASCII text file.

The following is an example of a Fixed-Length ASCII text file design. The same designer is user to create the Delimited ASCII text file.

25

The Design page has three main areas, Design Pages, Design Page: "X" and Field Properties: Design Pages: Design Pages lists the types of pages available for configuration. These include Song This will export song card fields Break This will export lognote information Spot - If you are importing traffic spots, this will export them Traffic Merge This will export traffic merge points File Header This is the information that will appear at the top of each file File Footer This is the information that will appear at the bottom of each file Day Header This is the information that will appear at the beginning of each day Day Footer This is the information that will appear at the end of each day Hour Header This is the information that will appear at the top of each hour Hour Footer This is the information that will appear at the bottom of each hour Each of these design pages will have specific fields that will be available to you. For instance, on a Song page, all the fields in your data will be available to you. On a Break page, you will have fewer options. Please see the specific sections below for full details on each page. Some fields appear on all pages: Comment - This is an internal note to help clarify for you what the field does. Element Counter Counts the number of elements in a log. If used on a File Header line, the program will go back at the end of the export to update the Header with the final values. Fixed Text This option allows you to place specific text in the export file. Line Break This will create a line break in the export file.

26

Script Function This advanced option will let you modify the data on the export. Spacer This option allows you to add spaces into your design. Song Counter Counts the number of songs in a log. . If used on a File Header line, the program will go back at the end of the export to update the Header with the final values. Above the listing of the various design pages is this set of icons:

These icons allow you to add or delete additional lines for Song, Break and Spot lines. The last icon is design properties. These additional lines will allow you to create custom filters and control which elements use each design page. These pages can be ordered in the list by a simply click and drag/drop. Each exported element works from the top of the list until it finds a matching design page with no filter or where the element matches the filter. The list should be ordered so that the pages with the least matches are on the top and the most matches on the bottom. You might also consider setting up the last design page for that element in such a way to catch all the remaining lines. If this is not done, it could be possible that some elements would not be exported. The design properties icon will give you different choices depending upon the type of line you are working on. Song: Page Name allows you to name the page. The Category Filter is where you will control what elements will use this design page. Options include music or non-music categories as well as picking specific categories.

27

Break: Page Name allows you to name the page. The Break Prefix is where you will control what elements will use this design page. For instance, you may have some breaks that start with a square bracket and some that do not. You can put [ in the Break Prefix line and then configure how those lines will export. A second line can then be used with no Break Prefix listed, which will ensure all other lines are exported.

Note: Due to the ability to add and delete lines in the export designer, designs made in 3.0sr4 and above cannot be used by previous versions. Older designs will automatically convert to the new format.

Design Page: "X"


Design Page: "X" where "X" is replaced by one of the page types listed above. This will ensure that you are on the right line when making a design. This section is where you will pick the specific fields you want. In the example below, the Design Page is for the Song and the drop-down box shows the options available

28

Field Properties:
Field Properties: "X" where "X" is replaced by one of the pages types listed above. This will ensure that you are on the right line when making any properties changes. This section is where you would configure specific properties for the option picked, including length. In the example below, the Design Page is for the Song and the line for Artist is highlighted. The Properties box shows the length of the field at 35 characters.

29

Other Notes:
Field Order - When creating an export (whether for a Schedule or Library export), you can adjust the field order after the file by clicking on the field and moving the line up or down to the new location. When you have finished making your design, you do need to go to File, Save to save your work.

30

Song
The Song line will allow you to configure how the songs look when exported.

All fields in your data will be available in the drop-down box. The most commonly used fields will be listed first, followed by an alphabetical list of fields.

31

Break
The Break line will allow you to configure how the lognotes or other break elements look when exported.

32

Spot
The Spot line will allow you to configure how the commercials will look when exported.

33

Traffic Merge
The Traffic Merge line will allow you to configure how the traffic merge points will look when exported.

34

File Header and File Footer


The File Header line will allow you to configure a header at the top of each file.

The File Footer line will allow you to configure the footer at the bottom of each file.

35

Day Header and Day Footer


The Day Header line will allow you to configure a header at the start of each day.

The Day Footer line will allow you to configure the footer at the bottom of each day.

36

Hour Header and Hour Footer


The Hour Header line will allow you to configure a header at the start of each hour.

The Hour Footer line will allow you to configure the footer at the end of each hour.

37

Export to Automation
When you convert to MusicMaster, we will get a sample of the file you currently export to your automation system. We will mimic that design using the Export Designer discussed above. The file will be included in your database so that you switch to MusicMaster seamlessly. Otherwise, files for the many automation systems have already be pre-built. Contact your Music Scheduling Consultant if you have any questions about interfacing with your automation system. Under Dataset, Scheduler, select Export, Export to Automation.

You can also access this option from the Schedule Editor using this icon:

Provided there are scheduled logs and a design available, you will pick the days, destination for the file and the file name. You can export up to 45 days at one time. If you have multiple export designs, you can check off all of the ones that need to be exported for the date range specified and the exports will be created for each design. Be sure to adjust the export path for each so the Export Filename is discreet, otherwise, one export will overwrite the other. Settings for each design are saved independently. This bottom portion of this window will change when run to show you the export status.

38

Should you wish to see the date and time, you can do so by pressing [Ctrl-Alt-D]. This setting will be remembered once a log has been exported.

The Export Path and Export Filename settings will be saved once a log has been exported.

Export to Web
Following is information on how to create the Definition and Template files necessary to create an HTML Export. The file name is LOG2HTM.DEF DEFINITION FILE: Description: The Description section is required and should generally be the first section in every MusicMaster definition file. This section provides a display name for the definition file and defines its purpose. Keys Name= Type= Value Required - Display name for the definition file. Any text string is acceptable. Required - Definition file type or purpose. Must be =Log2HTML

Sample:

39

[Description]

Name=WXYZ Web Export (Required) Type=Log2HTML (Required) All definition files in MusicMaster must have the .DEF extension. MusicMaster will only recognize files with this extension. Export:

Section Reference: [Export] This section is required for data export merge definition files. This section, and all related subsections, define the actual fields and data to export. Keys OutputType=HTML OutputPath= OutputSpec= Sample: [Export] Section Reference: [ExportProperties] Note: [ExportProperties] is a subsection of [Export] This subsection is optional and defines various export properties that are specific to the type of output file being created. The following commands are available when defining a web export definition file: Keys CatFilter= HourFilter= Value Lists the categories to be ignored during export, separated by commas. For instance A,B,P3,GLD would remove the four categories named A, B, P3 and GLD from the export. Lists the hours to be ignored during export, separated by commas. Consecutive hours may be listed with a dash between the low and high hour. For instance: 0-4,12,15-18 would ignore midnight to 4am, noon and 3-5pm in the export. 1 Creates folders as specified in the output file specification should they not exist when the utility is run. 1 Limits the export to marked songs only Required. The name of the Template to be used when the export is made This option allows you to shift the schedule data in your web export to specific time zones. You can enter a number between 12 and 12 which will be the offset in hours. If you had a setting of 1 and exported from midnight, it would start the export with the 1am hour. If you had a setting of +1 and exported from midnight, it would start Value Required The Path where you would send the export file The naming structure the file should have when exported

MakeFolders= MarkedOnly= Template= TimeShift=

40

the export with the 11pm hour of the previous day. Sample: [ExportProperties] Template=C:\MMWin\Template.htm (Required) Here is a sample of what a complete file might look like: [Description] Name=WXYZ Web Export Type=Log2HTML (Required) [Export] OutputType=HTML (Required) OutputPath=C:\TEMP OutputSpec=@m1@d1@y1.html [ExportProperties] Template=C:\MMWin\Template.htm (Required) TEMPLATE FILE: A Template file is also required to make the HTML export work. We would recommend using NVU or NotePad to create this file. The template file uses ordinary HTML markup code. However, a few non-standard marker elements are used to define the template sections, and to indicate where to insert MusicMaster data. The {LOG} marker indicates the location of the various log element templates. You must start this section with {LOG} and end it with {/LOG}. You can only create {TEMPLATE} sections within the {LOG} area. Templates outside this area are ignored. Also, any HTML created before the {LOG} marker is considered the page header HTML, and any after the {/LOG} marker is considered the page footer HTML. These sections are included on every page you export. Inside the {LOG} section you will define you various log element templates. Although many are available, you only need to define the ones you want to use. For example, if you do not want any lognotes or stopsets in your HTML output file, do not create templates for those elements. The follow sections may be defined: HOURS MUSIC NON-MUSIC LOGNOTE STOPSET TRAFFIC SPOTS Hour marker Scheduled song elements (music) Scheduled song elements (non-music) Note: The MUSIC template is used if this template does not exist Lognotes Stopsets Traffic merge elements Individual spots in a traffic merge element

41

A section template begins with a {TEMPLATE} marker, and ends with a {/TEMPLATE} marker. The name of the section must be included in the opening marker only. For example, an hour marker section template might look like this: {TEMPLATE,HOURS} html markup here {/TEMPLATE} Within your section templates, you can use any valid HTML code that you like. In addition, you can enter replaceable markers where log data will be substituted. There are four markers you can use to do this: AIRTIME ELEMENT SONG SPOT Valid anywhere, indicates the date/time of the current element Valid anywhere, can only be used to export the element description and runtime Only valid in the music section. Used to export song field data. Only valid in the spots section. Used to export commercial data.

You will create these types of markers with the marker name followed by a comma, and then a number or command to indicate how to export that element. For example: {SONG,101} {ELEMENT,100} {ELEMENT,12} {AIRTIME,mm-dd-yyyy} {AIRTIME,h:Nnam/pm} Export Export Export Export Export the the the the the data from field 101 for the active song current element description current element runtime element airtime as a date only element airtime as Hour:Minute

Note that formatting commands for the AIRTIME markers use Windows/Office-style date/time formatting commands. Element markers may use the following field numbers: 12 - Runtime (always exported as mm:ss) 100 - Description Song markers may simply use a valid number. Should you wish, you can export song trivia as well. This requires a third parameter after the Field ID number. To export song trivia, use Field 100 in the tag format {FIELD,100::X} where X is: 1 To print fixed trivia lines 2 To print the next rotating trivia line 3 To print all active trivia lines (all fixed, plus the next rotating) This same formatting applies to keyword fields, whether or not you use the second parameter to select a specific keyword from a multiple keyword entry. Spot markers may use the following field numbers:

42

12 - Runtime 100 Description 101 Cut 102 Title 103 Sponsor 105 Value 111 User1 112 User 2 113 User 3 Should it be necessary to adjust the look of the output, there are several formatting commands available to do so: Keys APPEND:text BREAK Value Append text to the field contents if not blank Extract HTML break command if the field is not blank. This is useful if you want to remove empty space should the field be empty. For instance you might not have the Album information or Soloist information on each song card. Using this command will prevent the wasted space Output text to replace the field contents if the field is blank Export the field in mixed case Export the field in lower case Export the field with leading zeros Export the field in upper case

DEFAULT:text MC LC LZ UC

The syntax to use these commands is {FIELD,id,pos,len,fmt1|fmt2|fmt3|etc} ID The number of the Field is inserted here. You can see a list of ID numbers in Dataset, Library, Fields. POS This is the position in the field where youd like to start. LEN This is the number of characters you wish to export. FMT1, FMT2, etc. These are replaced with the specific formatting codes listed in the table above. A very simple file might look like this: {LOG} {TEMPLATE,MUSIC} {AIRTIME,h:Nnam/pm} {SONG,101} {SONG,102} {ELEMENT,12}

{/TEMPLATE}

43

{/LOG} Note: The {SONG} sections above reference the fields from the data. You can check your field numbers under Dataset, Library, Fields. Also, see Date/Time Macros for a list of options available for date/time formatting.

Log Reconciliation
MusicMaster has the ability to compare the aired log from your automation system with the log that was scheduled. This allows you to have the most accurate play histories in the software. Not only is this important from the programmers standpoint, but it also ensures that any governmental reports you need to file are an accurate reflection was what was played. Following is information on how this file is created. Please note that files for the major automation systems have already been created and are available by contacting your Music Scheduling Consultant. Description: The Description section is required and should generally be the first section in every MusicMaster definition file. This section provides a display name for the definition file and defines its purpose. Keys Name= Type= Sample: [Description] Name=WXYZ Automation Reconciliation (Required) Type=Reconcile (Required) All definition files in MusicMaster must have the .DEF extension. MusicMaster will only recognize files with this extension. Import: This section is required for operations that import data into MusicMaster. This includes all reconciliation and traffic merge definition files. This section, and all related subsections, define the input data source file location, type and contents. Keys FirstHour= NumHours= SourcePath= SourceSpec= Value Defines the first hour of programming expecting in a history-based input file. (Default: 0= Midnight) Defines the number of hours expected in a history-based input file. (Default: 24) Defines the path where the input file can be located, relative to the MusicMaster program folder. (Example: C:\Logs\) Defines the input filename or filename specification. Can include Value Required - Display name for the definition file. Any text string is acceptable. Required - Definition file type or purpose. Must be =Reconcile

44

SourceType=

some date/time macros. (Examples: @m1@d1@y1.ASC, HISTORY.DBF) Required Identifies the file type and required import filter. Must be one of the following: AsciiD = Delimited ASCII text file (IOStandard) AsciiF = Fixed-length ASCII text file (IOStandard) dBase = dBase database (IOStandard) MSExcel = Microsoft Excel spreadsheet (IOStandard)

Sample: [Import] SourceType=AsciiF (Required) SourcePath=C:\Logs\ SourceSpec=@m1@d1@y2.txt Section Reference: [ImportProperties] Note: [ImportProperties] is a subsection of [Import] This subsection is optional and defines various import properties that are specific to the type of input file being processed. Keys Delimiter= Header= Quotes= RecLen=x Value If you are using an AsciiD file Type, you must include this line indicating what character is the delimiter. For instance if the pipe ( | ) is the delimiter, you would have Delimiter=| Can be used to designate whether the input file contains a header row. 0 = No header. 1 = Header is available. 1 This will remove quotes in the field. This is primarily used in comma delimited files that have information surrounded by quotation marks. x is the number of bytes in each input record. This would be used when you are reading a fixed-length ASCII file where each record does not end with a carriage return/line feed pair or when records may contain embedded control characters. Every record is assumed to be this exact length. Used when you want to search any subfolders of the path. 0=import from the specified path only; 1=search subfolders x is the number of bytes at the beginning of the input file that should be bypassed Can be used to sort the list of imported file names before importing data. 0=default; 1=Sort the list

Recurse= SkipLen=x SortFiles= Sample:

[ImportProperties] Header=0

45

Section Reference: [ImportFields] Note: [ImportFields] is a subsection of [Import] This subsection is optional and defines data fields within the input file. Keys Fldx= x must be a unique value for each defined field. (Fld1, Fld2, etc.) Value For a fixed length ASCII file, you will specify a field name followed by a pipe character, and then the start column and field length. For delimited ASCII when no header is present, you will simply specify a field name for each field in the order that they appear in the input file. For dBase and Excel import files this section is optional since the field names from the actual input file will be used. Sample: [ImportFields] Fld1=AirDate|2,8 Fld2=AirTime|11,8 Fld3=RunTime|95,5 Fld4=ID|23,32 Fld5=Title|59,32

Section Reference: [ImportValidation] Note: [ImportValidation] is a subsection of [Import] This subsection is optional and defines validation filters that are performed against the data rows in the input file. Only rows that pass these validation tests will be imported. When this section is not defined, all input rows will be considered. Keys Valx= x must be a unique value for each defined filter. (Val1, Val2, etc.) Sample One: [ImportValidation] Val1=Mid(Data,13,1)=":" AND Mid(Data,134,1)="A" Sample Two: [ImportValidation] Val1=Mid(Data,1,1)=" " OR Mid(Data,1,1)="]" Value A valid Script expression to perform against the input rows.

46

The "Mid" command listed above allows you to import portions of a field. The Sample One will only consider input rows with a colon in column 13 and a capital letter A in column 134. The Sample Two shows that two different types of lines could be valid. In this case, valid rows will be those with a space at column one or a right bracket at column one. Reconcile: Section Reference: [Reconcile] This section is required for reconciliation definition files. This section, and all related subsections, define the actual reconciliation operation. Keys SongID= Value Required Defines the location of the unique automation system song ID within the MusicMaster library. This can be a MusicMaster field number or a Script expression that can process data from one or more MusicMaster fields. See Dataset, Library, Fields for the SongID number.

Sample: [Reconcile] SongID=101 Section Reference: [ReconcileProperties] Note: [ReconcileProperties] is a subsection of [Reconcile] This subsection is optional and defines various import properties that are specific to the type of input file being processed. Keys BypassNonMx= Value 1 = This will bypass all scheduled non-music song elements automatically. This has the same effect as if you had locked all of the non-music elements manually in the Format Clocks or in the Schedule Editor. 1 = With this setting, all scheduled songs in hours that do not appear at all in the as-run log will be deleted after applying the Import Validation commands. By default, if no elements are available for an hour, that hour will remain unchanged in MusicMaster. This option will not break elements or records with the NoReconciliation property setting. This command is used to eliminate duplicate copies of songs that may be present due to problems in the aired log or songs that were previewed prior to air. The time must be specified in MM:SS up to 59:59. When more than one instance of the same cut appears within the

DeleteMissingHours=

DupeCheck=

47

ExcludeCat= IncludeCat=

LockElements= MinLength=

NonMusicPositioningMode=

ProtectFutureHours=

SaveReconAirtimes=

SaveReconRuntimes=

SkipHours=

time limit, the earlier one will be eliminated. These two options allow you to specify categories that are excluded or included when reconciling. You should use one or the other, not both. This property would be used to determine which songs are found when matching the data in the aired log to MusicMaster. For instance, you may have a rest category with valid but obsolete song ID codes. A song in the aired log may be found that matches based upon the ID and then included in the log. The ExcludeCat property can be used to exclude the rest category from being included in the search process. ExcludeCat does take priority. For both, list the categories separated by commas; i.e., ExcludeCat=P,J,LIN 1 = Reconciled elements are locked from further changes in the editor (Default: 0 = Elements are not locked by reconciliation) The minimum run length to be reconciled. This is listed in seconds or as MM:SS. Elements in the input file with a run length shorter than MinLength will not be considered for reconciliation. (Default: 0 = All elements will be considered regardless of length) 1 = Repositions non-music and other non-reconciled elements to try to appear following the same element that they originally appeared directly after. (Default: 0 = Elements appear in the closest chronological position within the hour to where they were originally scheduled or the as-run time.) By default, MusicMaster does not attempt to reconcile the current hour or any future hours when reconciling logs. This allows reconciling todays log without without it unscheduling the portion of the day that has not aired. If you wish to disable this functionality, use this option with a setting of 1. 1 = Airtimes from the reconciliation input file are saved in the MusicMaster history. This can cause gaps between elements, but also provides more accurate information for reporting purposes. (Default: 0 = Airtimes are recalculated to compress any time gaps) 1 = Runtimes from the reconciliation input file are saved in the MusicMaster history, instead of the runtime set on the song card. The runtime is changed only in the log history. The LockElements= property must also be set. With both in place, the Editor will show the Runtime field from the song card; Schedule: Runtime will display the runtime from the schedule history. This is used to skip hours in the reconciliation file. You can enter individual hours and/or ranges of hours. The hours are 0-23. Any sequence should be separated by

48

TimeShiftSecs=

UpdatePrevHour=

commas. SkipHours=1,2,3,14-18 would skip the 1am, 2am, 3am hours along with 2pm through 6pm. This option will adjust the air times of songs imported from the automation system aired log. This property can be set to the number of seconds to add or subtract from the air times. The ranges for this option is 3599 to 3599. 1 = Indicates whether elements in the input file from the hour just prior to the expected start hour can be appended to that previous hour. (Default: 0 = Elements from prior hours are discarded) (Note: This option was called Slack prior to 1.0.0043)

Sample: [ReconcileProperties] MinLength=2 SaveReconAirtimes=1 Section Reference: [ReconcileData] Note: [ReconcileData] is a subsection of [Reconcile] This subsection is required for reconciliation definition files and defines the location of the required reconciliation fields in the input data. Not all of these keys are required. However, you must specify enough fields to clearly indicate the Air Time and unique Cut ID for each element that airs. If the file can contain more than one single day of programming, then an AirDate field must also be defined. The values shown below are the type of data expected. You will actually enter a location where this value can be found using a Scripting expression. The most common expression in this section will be InFld(fieldname) where fieldname is the name of a field defined in the data import source file. Keys AirDate AirTime AirMonth AirDay AirYear AirHour AirMin AirSec AirHourTime AirAP AirHourID AirDateTime RunTime RunSecs RunHour RunMin Value Complete air date string (mm-dd-yyyy or similar) Complete air time string (hh:mm:ss or similar) AirDate month numeric value (1-12) AirDate day numeric value (1-31) AirDate year numeric value (2 or 4 digits) AirTime hour numeric value (0-23) AirTime minutes numeric value (0-59) AirTime seconds numeric value (0-59) AirTime within the hour as a string (mm:ss) AirTime am/pm indicator (a,am,p,pm,etc) AirTime hour ID as calculated in MusicMaster (include AirDate and Hour) Air date and time combined as one string (mm-dd-yyyy hh:mm:ss or similar) Complete runtime string (mm:ss) Complete runtime in seconds only (0-9999) Runtime hours numeric value (0-23) Runtime minutes numeric value (0-59)

49

RunSec CutID CutTitle

Runtime seconds numeric value (0-59) Unique automation system ID code for elements in the reconciliation import file Title or description for elements in the reconciliation import file

Additional Notes: RunTime and RunSecs will accomplish the same thing. Only one should be included in the file. For instance, if you import 300 into RunSecs, the runtime will be 05:00; which is the same thing as importing 05:00 into Runtime. RunHour, RunMin and RunSec should be used together in cases where the runtime is formatted in an unusual way that doesn't apply to the RunTime and RunSecs options. Sample: [ReconcileData] AirDate=InFld("AirDate") AirTime=InFld("AirTime") RunTime=InFld("RunTime") CutID=InFld("ID") Here is a sample of what a complete file might look like: [Description] Name=WXYZ Automation Reconciliation (Required) Type=Reconcile (Required) [Import] SourceType=AsciiF (Required) SourcePath=C:\Logs\ SourceSpec=@m1@d1@y2.txt [ImportProperties] Header=0 [ImportFields] Fld1=AirDate|2,8 Fld2=AirTime|11,8 Fld3=RunTime|95,5 Fld4=ID|23,32 Fld5=Title|59,32 [ImportValidation] Val1=Mid(Data,13,1)=":" AND Mid(Data,134,1)="A" [Reconcile] SongID=101 [ReconcileProperties] MinLength=2 SaveReconAirtimes=1

50

[ReconcileData] AirDate=InFld("AirDate") AirTime=InFld("AirTime") RunTime=InFld("RunTime") CutID=InFld("ID") Importing Traffic MusicMaster has the ability to import the traffic log from your traffic system. This might be done for two reasons: The programmer may wish to know what the spot load is so that they can program more or less music accordingly. The other reason to do this would be to send a combined music and traffic log to your automation system, if it is able to take such a file. Following is information on how this file is created. Please note that files for the major traffic systems have already been created and are available by contacting your Music Scheduling Consultant. Description: The Description section is required and should generally be the first section in every MusicMaster definition file. This section provides a display name for the definition file and defines its purpose. Keys Name= Type= Sample: [Description] Name=WXYZ Traffic Merge (Required) Type=Traffic (Required) All definition files in MusicMaster must have the .DEF extension. MusicMaster will only recognize files with this extension. Import: This section is required for operations that import data into MusicMaster. This includes all reconciliation and traffic merge definition files. This section, and all related subsections, define the input data source file location, type and contents. Keys FirstHour= NumHours= SourcePath= SourceSpec= Value Defines the first hour of programming expecting in a history-based input file. (Default: 0= Midnight) Defines the number of hours expected in a history-based input file. (Default: 24) Defines the path where the input file can be located, relative to the MusicMaster program folder. (Example: C:\Logs\) Defines the input filename or filename specification. Can include Value Required - Display name for the definition file. Any text string is acceptable. Required - Definition file type or purpose. Must be =Traffic

51

SourceType=

some date/time macros. (Examples: @m1@d1@y1.ASC, HISTORY.DBF) Required Identifies the file type and required import filter. Must be one of the following: AsciiD = Delimited ASCII text file (IOStandard) AsciiF = Fixed-length ASCII text file (IOStandard) dBase = dBase database (IOStandard) MSExcel = Microsoft Excel spreadsheet (IOStandard) SAWTraffic = SAW Traffic traffic log export file (SAWTraffic)

Sample: [Import] SourceType=AsciiF (Required) SourcePath=C:\Logs\ SourceSpec=@m1@d1@y2.txt Section Reference: [ImportProperties] Note: [ImportProperties] is a subsection of [Import] This subsection is optional and defines various import properties that are specific to the type of input file being processed. Keys Delimiter= Header= Quotes= RecLen=x Value Used when the SourceType=AsciiD. This indicates what character is the delimiter. For example if the pipe is the delimiter, youd indicate Delimiter=| Can be used to designate whether the input file contains a header row. 0 = No header. 1 = Header is available. 1 This will remove quotes in the field. This is primarily used in comma delimited files that have information surrounded by quotation marks. x is the number of bytes in each input record. This would be used when you are reading a fixed-length ASCII file where each record does not end with a carriage return/line feed pair or when records may contain embedded control characters. Every record is assumed to be this exact length. Used when you want to search any subfolders of the path. 0=import from the specified path only; 1=search subfolders x is the number of bytes at the beginning of the input file that should be bypassed Can be used to sort the list of imported file names before importing data. 0=default; 1=Sort the list

Recurse= SkipLen=x SortFiles= Sample:

[ImportProperties] Header=0

52

Section Reference: [ImportFields] Note: [ImportFields] is a subsection of [Import] This subsection is optional and defines data fields within the input file. Keys Fldx= x must be a unique value for each defined field. (Fld1, Fld2, etc.) Value For a fixed length ASCII file, you will specify a field name followed by a pipe character, and then the start column and field length. For delimited ASCII file when no header is present, you will simply specify a field name for each field in the order that they appear in the input file. For dBase and Excel import files this section is optional since the field names from the actual input file will be used. Sample: [ImportFields] Fld1=AirDate|2,8 Fld2=AirTime|11,8 Fld3=RunTime|95,5 Fld4=ID|23,32 Fld5=Title|59,32

Section Reference: [ImportValidation] Note: [ImportValidation] is a subsection of [Import] This subsection is optional and defines validation filters that are performed against the data rows in the input file. Only rows that pass these validation tests will be imported. When this section is not defined, all input rows will be considered. Keys Valx= x must be a unique value for each defined filter. (Val1, Val2, etc.) Sample: [ImportValidation] Val1=Mid(Data,13,1)=":" AND Mid(Data,134,1)="A" The "Mid" command listed above allows you to import portions of a field. This sample will only consider input rows with a colon in column 13 and a capital letter A in column 134. Value A valid Script expression to perform against the input rows.

53

TrafficMerge: Section Reference: [TrafficMerge] This section is required for traffic merge definition files. This section, and all related subsections, define the actual traffic import and merging operations. Sample: [TrafficMerge] Section Reference: [TrafficProperties] Note: TrafficProperties is a subsection of TrafficMerge This subsection is optional and defines various import properties that are specific to the type of input file being processed. Keys AirTimeFudge= Value 1 This option can be used if the traffic system has air times for spots in a break that are identical. This property will add the runtime to the spot airtime to give each spot a distinct air time so the spots will be loaded in the same order they appear in the traffic file. X Where x is the first hour of the day in the input file of the traffic system. For instance, if the traffic log contains hours starting with 6am through 5am the next day, you would set the option DayStartHour=6. This prevents the final five hours of the day from being imported in the first five hours of the day for the log being imported. The default is 0 (midnight) which would be the correct value in most cases. 1 This option is for where break codes are used to merge spots into the traffic position and where the break codes are unique throughout the day. With this option, the merge can be done without air hours being present in the traffic log. Note: This style of merging is very uncommon and should only be used if necessary.

DayStartHour=

FullDayMode=

Sample: [TrafficProperties] AirTimeFudge=1 Section Reference: [TrafficData] Note: [TrafficData] is a subsection of [TrafficMerge] This subsection is required for traffic merge definition files and defines the location of the required fields in the traffic system export file. Not all of these keys are required. However, you must specify enough fields to clearly indicate the Air Time, unique Spot ID, and a description for each commercial that airs. If the file can contain more than one single day of programming, then an AirDate field must also be defined. The

54

values shown below are the type of data expected. You will actually enter a location where this value can be found using a Scripting expression. The most common expression in this section will be InFld(fieldname) where fieldname is the name of a field defined in the data import source file. Keys AirDate AirTime AirMonth AirDay AirYear AirHour AirMin AirSec AirHourTime AirAP AirHourID AirDateTime BreakCode RunTime RunSecs RunHour RunMin RunSec SpotID SpotKey SpotTitle SpotSponsor SpotValue UserX (X=1-3) Value Complete air date string (mm-dd-yyyy or similar) Complete air time string (hh:mm:ss or similar) AirDate month numeric value (1-12) AirDate day numeric value (1-31) AirDate year numeric value (2 or 4 digits) AirTime hour numeric value (0-23) AirTime minutes numeric value (0-59) AirTime seconds numeric value (0-59) AirTime within the hour as a string (mm:ss) AirTime am/pm indicator (a,am,p,pm,etc) AirTime hour ID as calculated in MusicMaster (include AirDate and Hour) Air date and time combined as one string (mm-dd-yyyy hh:mm:ss or similar) Used when specifying a BreakCode in the Traffic Merge clock positions Complete runtime string (mm:ss) Complete runtime in seconds only (0-9999) Runtime hours numeric value (0-23) Runtime minutes numeric value (0-59) Runtime seconds numeric value (0-59) Unique traffic system ID code for commercials Used when the combination of SpotID and SpotTitle does not result in unique spots. This might happen if the same SpotID is used on multiple spots with different titles. Title or description for commercials Name of commercial sponsor or advertiser Monetary value for commercials Additional data fields for commercials from the import file

Additional Notes: RunTime and RunSecs will accomplish the same thing. Only one should be included in the file. For instance, if you import 300 into RunSecs, the runtime will be 05:00; which is the same thing as importing 05:00 into Runtime. RunHour, RunMin and RunSec should be used together in cases where the runtime is formatted in an unusual way that doesn't apply to the RunTime and RunSecs options. Sample: [TrafficData] AirDate=InFld("AirDate") AirHour=InFld("AirHour") AirSec=InFld("AirTime") RunSec=InFld("RunTime")

55

SpotID=InFld("Cut") SpotTitle=InFld("Title") Here is a sample of what a complete file might look like: [Description] Name=WXYZ Traffic Merge (Required) Type=Traffic (Required) [Import] SourceType=AsciiF (Required) SourcePath=C:\Logs\ SourceSpec=@m1@d1@y2.txt [ImportProperties] Header=0 [ImportFields] Fld1=AirDate|2,8 Fld2=AirTime|11,8 Fld3=RunTime|95,5 Fld4=ID|23,32 Fld5=Title|59,32 [ImportValidation] Val1=Mid(Data,13,1)=":" AND Mid(Data,134,1)="A" [TrafficMerge] [TrafficProperties] AirTimeFudge=1 [TrafficData] AirDate=InFld("AirDate") AirHour=InFld("AirHour") AirSec=InFld("AirTime") RunSec=InFld("RunTime") SpotID=InFld("Cut") SpotTitle=InFld("Title")

Export to Affiliate/Import from Network


These two utilities are designed to send your log to affiliates and then have the affiliate who is also using MusicMaster Windows, import that log. Export to Affiliate This utility is designed to send your log to affiliates who are also using MusicMaster Windows.

56

How it works: After creating an export design, a log is created that can then be imported by MusicMaster users the Import Utility Setup: Under Dataset, Scheduler, Export, select Export to Affiliates. The following box will appear:

Select Create to make an Export Profile. A box with four tabs will appear. You will configure Elements, Categories, Fields and the Destination for the Profile. Elements you can include in the file are Songs, LogNotes, Stopsets and Traffic Merge positions. Simply check off those that apply to this Profile.

57

The Categories tab allows you to pick the categories that will be included in the Profile. All categories are included by default. Any Category Groups you have created will also be available here.

58

The Fields list will show all fields available in the database. The list will come up in Category Order if youve assigned those under Dataset, Library, Categories. If you have not assigned a Category Order, the field list will still show the Category of Misc. and everything will be in alphabetical order beneath that. If you do have a Category Order in your database, you can revert the list to alphabetical by right-clicking and using the Context Menu that is available. The Context Menu also has Check All, Clear All and Invert All options available for your convenience.

59

The Destination tab is where you will determine the output location for the file. Filename macros will work here. Additionally, you can also use the special @X1 command. This macro will either export the period as MMDDYYYY or MMDDYYYYMMDDYYY depending upon whether you are exporting multiple days or a single day.

60

You can create as many profiles as needed.

Import from Network


This utility is designed for use by affiliates who are receiving a file from a network using MusicMaster for Windows. How it works: As the affiliate, you will receive an export file from your network containing information for a range of dates. After completing the import, you will have a music log reflecting the network play. Setup: Select Dataset, Schedule, Import from Network. A Network Wizard Import box will appear. As you enter the Wizard, the first box will request you to pick the location of the file from the network. A drop-down box is available so you can browse to the location.

61

Some users import schedules from different network sources. Since MusicMaster matches songs and uses that when subsequent schedules are imported, it is possible that songs are not matched correctly due to the different network sources. The bottom option allows you to clear these references. As you proceed, you will be able to re-match the songs. When you have selected a file, the next box will let you determine the Import Time Period. This is important since you may not wish to import all 24 hours of the log or logs provided by the network. For instance, you may only carry the network during the overnight hours. In the Hours to Import box, any green dot means that you will be importing that hour. Click on the dot to remove it. This is a simple toggle, so clicking on it again will return the green dot. The Time Shift option allows you to account for any time difference between you and the network. For instance, if the network is in Los Angeles and the affiliate is in Milwaukee, youd have a setting of 2. If the network was in New York and the affiliate was in Denver, youd have a setting of 2. Both of these settings would ensure that the music was playing at the same time in both parts of the country.

62

The final option on this screen is Merge Network Songs with Local Clocks. There are five options available: Yes: Replace Music Only This option will merge songs from the network with the local format clocks. Only songs from the network will be imported, even if the network included other element types. Songs will fall into the local clocks by replacing scheduled song elements. If there are more songs in a given hour than the local clock can hold, additional songs will be added to the end of the hour. If there are less network songs than the local clock can hold, the remainder will be left unscheduled. Yes: Replace Non-Music Only - This option will merge non-music elements from the network with the local format clocks. Only non-music elements from the network will be imported, even if the network included other element types. Non-music elements will fall into the local clocks by replacing scheduled non-music elements. If there are more non-music elements in a given hour than the local clock can hold, additional elements will be added to the end of the hour. If there are less network non-music elements than the local clock can hold, the remainder will be left unscheduled. Yes: Replace All Songs This option will merge music and non-music elements from the network with the local format clocks. All music and nonmusic songs from the network will be imported. Songs will fall into the local clocks by replacing scheduled song elements. If there are more songs in a given hour than the local clock can hold, additional songs will be added to the end of the hour. If there are less network songs than the local clock can hold, the remainder will be left unscheduled. No: Use Network Log Only This option will remove the local clocks and include only what is in the network log.

63

No: Use Network Breaks Only This option will remove the local breaks but leave the local music. The network breaks will be placed relative to the songs in the same order as they appear in the network log. When the time frame has been determined, the Network Library Import box will appear. Generally the first few times you run the import, you will be notified of many new songs that appear in the network data but not in yours. Potentially as you continue airing network logs, these numbers will decrease. You import these songs so that you have appropriate history.

When you select Import New Songs a window will appear showing you the list of music. At the bottom of this will be a mapping utility. You will see the Source Field, Target Field, Formula and Sample. Some fields may fill in default, as you see in the example below. Should the Target Field not be the appropriate field for you data, you can access a drop down box and change it. By clicking in the upper half where the Incoming Song List is show, the Sample field will be adjusted. As you go through this import process, you should use each of the toolbar options in order: Match, Query, Import and then Exit.

64

You can match any fields youd like that are available. Should you be importing a keyword field, it is important that you match this to a target field that is also the same type of keyword field (multiple keyword field in source data to multiple keyword field in your data). Also, please note that your Delimiter setting in Tools, Options, Additional Properties, must be the same the setting in the data from the Network. The default is ;. When you have properly mapped the incoming songs to your data, you can now see if those songs are in the affiliate database by selecting Match. The names do not have to match; its only necessary that the field you are matching is what you call it in your database. For instance, in the example below, the Source Field is called AudioVault but the target is called AV#. This matching prevents you from having the same song in your database more than once, so care should be taken to match on the most appropriate field(s), which typically means an automation number.

65

When you click OK, the program will scroll down the list, matching any songs it can. Should there be more than one match, a Search Results box will appear where you can select the correct version or bypass the song and continue the Match process. If you bypass a song, it will be left on the list of songs not Matched.

66

When completed, it will tell you the total number of songs matched and linked. Anytime these songs are imported again, they will be automatically matched so will not be included in the process. Its possible not all songs will match. These will remain on the Incoming Song List. You can then use the Query option on the toolbar. This brings up the standard Query box from MusicMaster that you can use to try to find the remaining titles. If you select a song in the Affiliate database that is already linked to another Network song, you will have the option to re-link it with the current song. A box will pop-up asking you if youd like to do this:

After going through these two processes you may still have a few songs left, which are new to the affiliate database. These will be added to the affiliate database when

67

you select Import on the toolbar. You will then be prompted to pick a category for these new songs. You will receive confirmation that the songs have been imported. When that happens, the Import Wizard will continue with the final import of the logs. Note: It is recommended you match all songs before you Exit this screen. If the Wizard screen still shows songs in red and shows the message to Import New Songs, this means some songs still remain unmatched. If you attempt to import logs without matching all songs, you will get a warning message:

If all songs have been matched, when you Exit, the Wizard will continue and look like this:

When completed, the screen will close and then you would be able to open the Schedule Editor and review the logs.

68

Enterprise
MusicMaster for Windows has an enterprise solution for those operations who want to share music from one master database, yet schedule independent formats or streams individually. This is done by maintaining a centralized database. That database may be in MusicMaster or it may be a third-party database, such as SQL. It works by having the song entered once and then imported into child databases for scheduling. For example a Country crossover could be added one time to the master database, but become available to an AC as well as a Country format. Child databases are created for each format. What fields the Child databases matches to the master databases are determined for each database. This allows you to code the same song differently in each database, whether its dayparting or a tempo code. This capability saves time and energy as each song only needs to be added to the system once, but can become available to multiple formats specifically designated to receive it. It is a popular option for companies interested in maintaining a centralized database.

MusicMaster Enterprise Master Database or Third-Party Database Child (AC)


Nexus
The MusicMaster Nexus Server provides an API that can be used to interface thirdparty software products with MusicMaster in a version-independent manner without the risk of direct database access. The main purpose of Nexus is to be connected to a MusicMaster database and wait for a third-party application to request data for some purpose. That application could be an automation system, traffic system, research program or web service to name a few. The instant, real-time access to the MusicMaster database allows Nexus to give that application the data requested. That information can range from information about the fields, coding and categories; to adding songs to the MusicMaster database or reconciling scheduling changes; to retrieving information based upon specific

Child (Country)

Child (Rock)

69

queries. It is the job of the other application to decide what data to request, when and what to do with it. Following is information on licensing, system requirements, installation, setup and diagnostic files. Licensing Nexus Nexus requires either one additional workstation USB dongle on the computer where it is installed or it will need to use one of the licenses from a network USB dongle. If you already have either of these options available, no additional purchase is necessary. Nexus Requirements The machine that Nexus is installed on should meet the same requirements for MusicMaster itself. It is strongly recommended that Nexus be run on a workstation or server that is not also used by a MusicMaster user, or for normal daily computing tasks, as this may require frequent and unexpected restarts, which may lead to performances issues. In an ideal situation, Nexus would be installed and run on the computer where the MusicMaster databases are located or at least have a fast network connection to the database server. Nexus Installation Nexus is launched using the MMServer.exe file, which is located in the same folder as the MusicMaster program files. Even though we recommend that MusicMaster not be used for normal daily use on the same computer where Nexus is running, a full copy of MusicMaster does need to be installed on the computer where Nexus is located. This is because Nexus is simply an extension of MusicMaster and requires several of the standard MusicMaster program files to function. Number of databases per Nexus copy If the application is only making occasional, simple requests, a single copy may be able to service eight to 10 MusicMaster databases. If the application is calling for information continuously or is asking for the return of large amounts of data, then only one to four databases may be all that can be connected to maintain good performance. Keep in mind that the specifications of the computer (CPU speed, memory, etc) will also come into play. The more powerful the computer, the more databases Nexus should be able to service. There are many possibilities and factors to consider here, so it is difficult to provide a generic answer to this. Nexus Setup Instructions Nexus requires two definition files to operate, MMServer.ini and a database.ini file. Sample MMServer.INI file:

70

[Settings] Port=80 ; This is the TCP/IP port that the server will operate on. The default is 80. [Interface01] ; Multiple database connections may be defined for a single copy of ; Nexus. Each has its own section named InterfaceXX where XX is a sequential two ; digit number. Up to 99 databases may be serviced. This is the maximum number, ; however, computer resources may not support more than a few databases per ; server computer. ID=C:\MMWin\Oldies.mmd ; ID is a short unique text string to identify each database. This is the data that is ; used in the station attribute when sending requests ; to the server. It is listed with ; the path and filename. System=Generic ; System indicates the automation system interface to use. Generic provides no ; special functionality. Logs are exported exactly as they would be from within ; MusicMaster. Other systems will be supported in the future. CutID=101 ; Field containing automation specific unique ID values, if applicable (optional) Data=D:\MMWin\Oldies.mmd ; This is the database path and filename as seen from where the server is installed. ; It is highly recommended that you install the server on the same physical computer ; as the database files. LogDesign=MusicMaster Online ; If you wish to have logs exported, indicate the name of the export design to use. ; This name must match exactly how the name appears in ;MusicMaster ReadOnly=1 ; If you wish to enable access to a station in a read only manner, add the ReadOnly ; property and set it to one. This will restrict access to any functions that can modify ; the database. Note: Requires MusicMaster 4.0 SR-19 or later. In addition, each serviced database must have an INI file that matches the name of the database itself, in the same folder as the database. (Example: Sample.mmd requires Sample.ini) Only a few settings are used in here. Example of Database.ini file [Server] ; This is the address of the server, name or IP address and port. (Default = 80) Address=localhost:80 DataID=Sample ; This needs to match the ID string in MMServer.INI for the matching database. When this file is placed in same folder as the database, an icon will appear in the Schedule Editor. The Publish Log icon is used to send changes to the automation system through Nexus.

71

Diagnostic Files Nexus produces files to assist in any troubleshooting. We highly recommend you create a LOGS folder within the directory where Nexus is located. This will automatically trigger the creation of a NEXUS.LOG, which records all incoming and outgoing messages. Should the LOGS folder not exist, Nexus will record the very last message in the LASTMESSAGE.TXT file. That TXT file will be located in the same folder as the Nexus program. MMServer Screen When launched, youll see the screen below. This screen has been purposely set up to show you what happens if youd incorrectly listed any database in the INI file. Note the last line and the Status column indicating the error. Youll also see a reference to this at the bottom of the screen. These messages indicate the database could not be initialized when Nexus was launched. Youll want to close Nexus and review the name/path of the database(s) that caused the error(s).

For more information about Nexus and the full API documentation, please contact your Music Scheduling Consultant.

72

Program Options
This section covers sections of the program that can be configured or utilized to accomplish specific goals. These include: Command Line Options User Rights Custom Backups Broadcast Week Tools, Options Special History Reports Virtual Breaks VBScript Commands

User Command Lines


There are various command line switches and options that you can append to the icon starting MusicMaster Windows. These switches are listed after the executable; for instance, if the program was in the C:\MMWindows directory, the path to launch the program would be C:\MMWindows\MusicMaster.exe All switches would appear after this following a space. Options include: Data Selection Switches: Force Data from Alternate Folder You can make MusicMaster open data in a folder other than the local drive. To do this, add to the command line the directory and folder where the desired data is located. For instance, if the data is on your network drive N, in a folder called MMWin, your command line would be: C:\MMWindows\MusicMaster.exe N:\MMWin If your folder name has a space in it, you must place the name in quotes like this: C:\MMWindows\MusicMaster.exe N:\My Music Force Specific Data to Open You can make MusicMaster open a specific set of data. To do this, add to the command line name of the .MMD file. For instance, if your data is named Sample.mmd, your command line would be: C:\MMWindows\MusicMaster.exe\Sample.mmd Should your file name contain spaces, for instance American Network.mmd, this feature will still work, but you must place the name of the file in quotes like this: C:\MMWindows\MusicMaster.exe "C:\MMWindows\American Network.mmd." Enterprise Switches:

73

/EntNoSynch This switch will bypass the startup synchronization process.

/EntResynch This switch is used to perform a complete resynch with the master database at the startup.
/EntSynchDaily This switch is used to force an Enterprise database to sync with the master database only once per day. For instance, with an Enterprise database, you could use /ENTSYNCHDAILY to force MusicMaster to open and sync with the master database and then automatically terminate by adding /AUTOEXIT. It would look like this on your command line: C:\MMWindows\MusicMaster.exe /ENTSYNCHDAILY /AUTOEXIT Please note that MusicMaster will remain open and wait for input if any error or message windows pop up during the process. Other Switches: /AUTOEXIT This switch is generally used in conjunction with other switches. When the commands have been run, the program will automatically close with this switch. /NetHasp This switch forces MusicMaster to only look for the network key. This can be helpful if you have other software that uses security keys that MusicMaster would otherwise see. /PATH= This switch is used to force a specific default path when installing a new version; for instance, /PATH=C:\MUSIC /PASSWORD=mypassword This option can be used to automatically log you into the program. It can be used with /USERNAME= /S This switch enables the silent mode when installing a new version. /STARTUP= This switch is used in conjunction with Command Definitions to start various utilities automatically. /USERNAME=myusername This option can be used to automatically log you into the program. It can be used with /PASSWORD=

User Rights
Under Tools, Options, select Dataset Options, then Dataset Security. This option will allow you to create user rights for different people who must access MusicMaster. You will be able to create varying degrees of access depending upon the need. The Dataset Security screen has a button to enable the system. It also has a System Entry Log so you can see the Entry Time and User Name of those who have accessed the system.

74

When you click on Users and Rights, you will have the box where you can configure these options for each person in your system.

75

There are sections for Clocks, Library, RealTime, Rules, Scheduler and Tools. Of note is the Library option for Edit Field Group 1, 2 and 3. This allows you to set up groups of fields that specific users can edit. This requires the additional step of setting up the groups on the fields under Dataset, Library, Fields. There are flags for the category types the user is allowed to schedule and unschedule. If only Non-Music or Music is allowed, the user will not see the other type of categories in the category selection box when using these functions. The Unscheduler option to remove the clock template will be unavailable when the user has a category-type restriction. There are many options in each category. We encourage you to review all the options available. Note: As new options are added, they are not enabled by default. This means non-Administrator users will not have these new rights by default until the Administrator enacts them.

Administrator Notes:
Any user that does not have a user-specific property will inherit the settings of the Administrator. Administrator users will not be able to see the passwords of other users. They will still be able to create a new password for any user and save it.

76

Custom Backups
MusicMaster has the ability to not only backup your data to the directory where the data is located, but also the ability to make custom backups to a different location, for instance a network drive that is backed up in another way. We highly encourage users to make a backup each day you are in the program or if you do a substantial amount of work in the data. Under Tools, select Backup. The box that appears will list the file name and date/time of the most recent backup at the top. This file will be located in your MusicMaster for Windows program directory, typically MMWin. If you use the Perform a Standard Backup button, a backup will be performed using the same file name as shown at the top of the box. A Data Backup box will appear reminding you not to proceed if anyone else is in the program. Any screen that is open will be closed when the backup is run.

Should you wish, you can also create Custom Backup Profiles. These can be useful if you wish to backup to your network or another location on your hard drive, for instance. When you go to Create, a box pops up like this:

77

You give the Profile a Name and then configure any of the settings listed: Compression - This determines how the data will be compressed. The larger the number, the smaller the backup will be. Password Protection - This option determines if you will be prompted for a password prior to the backup being made. Definition Files - This option will add any .DEF files to the custom backup. If you export to the web (HTML), reconcile your logs (Reconciliation) or do a Traffic Merge, it would be a good idea to change the Definition Files option to Yes. Additional Files - This option allows you to specify the path and name of any additional files you'd like included in the backup. If you wish to specify more than one file, separate the file names with the pipe (|) symbol or a semi-colon (;). If the file you wish to add is located in the same folder as the data, you do not need to enter the full drive and path, just the name of the file. Backup Filename - This option allows you to determine the specific location and name the backup will receive. Filename Prompt - When this is set to "Yes", you will receive a prompt box with the location and name you've selected. If this is okay, you can click SAVE; if not, you can make any necessary changes. A Data Backup box will appear reminding you not to proceed if anyone else is in the program. Any screen that is open will be closed when the backup is run. Whether you choose to do a Standard or Custom backup, there is an option at the bottom that you can check if you would like MusicMaster to close when it completes the backup process. When you choose either option, a Data Backup box will appear reminding you not to proceed if anyone else is in the program. Any screen that is open will be closed when the backup is run.

78

Broadcast Week
Some users need to define when their Broadcast week begins. This is done under Tools, Options, select Dataset Options, then Broadcast Week. Under Tools, Options, select Dataset Options, then Broadcast Week. This section allows you to change when the Broadcast week starts, picking the day and time of your choice. By default, this will be set to Sunday at midnight.

Once applied, all history graphs will use the new time setting when displayed. So, for instance, if your broadcast week started at 6am, any history graph you displayed would start at show 6am to 5am.

Tools, Options
The Tools, Options section is where you will find many of the more advanced settings in the software. Some of these have already been discussed above like User Rights and Broadcast Week.

79

Other areas that may be of interest are Language settings to have MusicMaster displayed in other languages; Audio File Options, where you can set up MusicMaster to play the songs; Library and Schedule Editor Options, where you can configure more precise settings for finding songs; and, Additional Properties where you can put in settings that determine things as diverse as whether you see a preview of a print job to emulating hot-keys from other scheduling software. For further details, we recommend reviewing the Help topic on this area, which discusses all of these options in further detail.

Special History Reports


Various organizations require special reports. This section of the program contains pre-loaded reports for organizations. Should you have a need that is not covered by the included reports, please contact your MusicMaster Scheduling Consultant. MusicMaster works with organizations around the world to make sure the reports included include the fields necessary and in the format the organization wants. We work directly with these organizations and get their approval for the reports. This means weve done all the hard work: making sure the report meets the standards of the organization and that it is in a format the organization will accept. After you set up a few options (which will be saved for future reference), youll run the report and be done.

Setup:

80

Under Dataset, Analysis, select Special History Reports. Click in the Report Type window and pick the report you wish to run. The Report Setup tab allows you configure the dates and times as well as the categories to be included in the report.

The Options tab must be used to assign the proper fields. The fields listed on the left are the names assigned by the various organizations. The right column is a pull down menu for you to choose the appropriate field from your data. For instance, a report may specify that the Artist be included. You might call that field Performer in your database. This Options tab matches the appropriate fields so that the organization will get the information they want. Once these settings are configured and the report is run, they will be saved for future reference.

81

One Miscellaneous option that may appear is Primary Rest Merge. This Yes/No option would be used if you have previously set up a keyword field as the Primary Rest field in Tools, Options, Additional Properties. Setting this to Yes will combine all the plays of all the songs with the same primary rest keyword into a single entry. Details like Artist and Title will come from one of the combined songs. It is also important to note that if you are using Error! Reference source not found. for some purpose other than multiple instances of the same song, then you will not want to activate this option. Additional Notes on Specific Reports: Artist/Title Analysis This report allows you to see the plays for each song in a single report. The Options tab allows you to group the songs by artist to have all the songs by an artist displayed together. If a multiple keyword field is specified for artist, songs will show up under each artist that was entered in the artist field. Category Turnover Analysis This report shows a summary of the spins and turnovers for all songs in each category combined and averaged. Conatel Venezuela Any field that does not have data in it will have that field replaced with an asterisk per the agencys request. Content Airplay Affidavit This report can be configured to select up to three userselected attributes for the affidavit. The user can also total up the usage by either count or time for the selected time frame.

82

CRTC Canada - Users of this report should set the Included Categories option to Music Categories. CRTC Canada (Self-Assessment) Users of this report should set the Included Categories option to Music Categories. CRTC Canada (Airplay Log) Users of this report should set the Included Categories option to Music Categories. Sirius Third Party Vendor USA This report is designed for those MusicMaster users who supply programming to SiriusXM and need to submit playlist reports to SiriusXM. Sound Exchange USA This report lists Performers 2, 3 and 4 in the Options. These were added specifically for classical music stations who have multiple soloists on recordings. A typical user will only need to use the Artist/Performer 1 field.

Virtual Break Table


The Virtual Break Table is designed for use with your automation export designs. The Table includes replacement text for Lognote and Stopset positions as well as let you define criteria for the automatic insertion of break text into the log. Setup: In your MusicMaster Windows directory, there is a program called MMBreakMap.exe. When launched, you will see this:

By default, the Editor opens into the Virtual Breaks page. There are columns to add in the specific break text as well as options to override the length and sweep markers that are in the your Format clocks.

83

The Lognote text will be the information as it should be exported to the automation system. The Override option allows you to determine whether the length and sweep status you list in the Virtual Breaks table should override what is in the clocks. If you check Override, the Length and Sweep status you list will replace whatever is listed in the clocks. You can continue to add as many Virtual Breaks as needed. To designate a Virtual break in your clocks, you use the macro @VBREAK=xx where xx is the number of the Virtual Break from the table. When the log is exported, the @VBREAK= line will be replaced by the matching line in the table. You can now begin to see the advantage of using this system. Rather than having multiple databases simply because the breaktext is different, Virtual Breaks allow you to maintain one database and have the breaks changed accordingly. This means you could send the same music, but the lognote text needed for a specific entity, without having to manage multiple databases. The other change you will need to make is in the actual log export design you are using. When you open your design, go to File, Design Properties and look in the Break Text section. There you will edit the Break Text Properties line for the Virtual Break File you created, listing the name youve given to your Break File (a file with the extension .mmbrk).

Other notes on the Virtual Breaks: Each export design can use a different break table. To configure this, simply change the Virtual Break File listed in the Music Export Designer, Design Properites section. Be sure to use the Save icon in both the Virtual Break table and the Export Designer when you complete your work. If you chose the Hourly Breaks button on the toolbar,

the display will change to this view:

84

No information is needed on individual clocks for this option to work. Youll create an Hourly Break Table for each sequence of hours that is the same. For instance if your overnight hours all have the same format, that would be considered a table and youd put, for instance 1 in all of those hours. As each hour is exported, the appropriate table is loaded and any breaks from that table are inserted into the export file based upon the log position or hour time. Begin by filling in the Table Assignment Grid with a number to reflect the Break Table. Next, insert the specific break information into the Break Table below the Grid by clicking on the Edit Helper box (the box with three dots). When you do so, this box will appear:

This allows you to decide which song to precede or follow or at what time to insert the break. Please note that song refers to all positions in the clock, music or nonmusic. Once you pick one of these options, youll be able to type the specific text that you would like to appear when the log is exported.

85

Hourly Breaks also have columns for Length and Sweep which are discussed above in the Virtual Breaks section. It also has a Replace column. This is used to hide elements from the export file. You can enter either the number of song positions to be hidden following the position of that break or an amount of time (in the format of MM:SS) which includes any non-virtual elements following the inserted position of that break. The inserted positions for all Hourly Breaks will still be calculated based upon the original, complete hour of history even if some elements are hidden. As with Virtual Breaks, you will need to adjust the actual log export design you are using. When you open your design, go to Design Properties. There you will edit the Break Text Properties line for Virtual Break File, listing the name youve given to your Break File (a file with the extension .mmbrk).

Other notes on the Hourly Breaks:


Each export design can use a different break table. To configure this, simply change the Virtual Break File listed in the MusicMaster Export Designer, Design Properties in the Break Text section. Be sure to use the Save icon in both the Virtual Break table and the Export Designer when you complete your work.

VBScript Commands
There are many possible script functions that you might use in the various definition files and export designs you can create to use with MusicMaster for Windows. Many of the Microsoft VBScript functions can be used. Commands that start with im. or mm. are MusicMaster-specific and not part of normal VBScript. Those that use im. are available for importing data, like External Library Synchronization and Traffic Merge while those that are mm. are generally available for exporting data including printed logs and log and library exports. While no means exhaustive, the following are commands that weve seen most frequently used. The following list can be used in both im and mm versions. For consistency, they are all shown with the im prefix. Simply replace im with mm to use these commands when exporting data. im.Choice(expression, true, false) This command evaluates an expression and returns one value if true, another if false. Example: im.Choice((3 + 2) = 9, "T", "F") = "F" im.CombineString(String1, String2, Delimiter) This command combines two strings with a delimiter if both are non-blank. Example: im.CombineString("Artist", "Title", " / ") = "Artist / Title" Another Example: im.CombineString("", "Title", " / ") = "Title" im.DelimCount(String, Delimiter) This command returns the number of delimiters in a string. Example: im.DelimCount("A|B|C|D", "|") = 3

86

im.ExtractStr(String, Delimiter, Position) This command returns a delimited substring from a list. Example: im.ExtractStr("A|B|C|D", "|", 3) = "C" im.FirstLastNames(String, Mode) - This command swaps first and last names in a string. There are two Mode values: 1=convert to last, first 2=convert from last, first Example: im.FirstLastNames("Paul McCartney", 1) = "McCartney, Paul" Another Example: im.FirstLastNames("McCartney, Paul", 2) = "Paul McCartney" im.FixLen(String, Length) - This command returns a string of a fixed length. Example: im.FixLen("ABC", 5) = "ABC " Another example: im.FixLen("ABCDEFGHIJKLMNOP", 5) = "ABCDE" im.InFld This command is used when specifying what field information is located in a file, typically one used for External Library Synchronization. While you could simply list the field number, there are cases where you must be more specific; for instance, when your automation number has varying lengths. Using the example of External Library Synchronization you specify the SourceID in the [LibImportProperties] section. Typically you specify the field name and there are no issues. If there are differences in the way the field is configured, however, this script can be used to further specify what should be used. If the field with the automation number was called SongID, the line would read: SourceID=(im.InFld(SongID)) im.InitialCaps(String) This command returns a string with the first word capitalized. Example: im.InitialCaps("THIS IS A TEST") = "THIS is a test" im.Len2Sec(Time) This command converts a time value (mm:ss) to a number of seconds. Example: im.Len2Sec("1:00") = 60 im.MixedCase(String) - This command returns a string with each word capitalized. Example: im.MixedCase("THIS IS A TEST") = "This Is A Test" im.ReplaceString(String, Find, Replace) - This command replaces a substring within a string. Example: im.ReplaceString("A,B,C,D", ",", "-") = "A-B-C-D" This syntax asks the program to look for the commas and replace them with the dash. im.Sec2Len(Seconds) - This command converts a number of seconds to a time string (mm:ss). Example: im.Sec2Len(60) = "1:00" im.Str2Num(String) - This command converts a string numeric value to a valid number. Example: im.Str2Num("5") = 5 Another Example: im.Str2Num("A") = 0 im.ZPad(Number, Places, PadChar) This command returns a right-justified numeric value. Example: im.ZPad(17, 4, "0") = "0017" The following commands are only available in the mm format: mm.ActionCode - This command returns the last @Action= value when exporting log information mm.BreakText - This command returns the lognote text when exporting log information

87

mm.CurrentValue - This command returns the value of the selected field. mm.DatasetLogo - This command returns the logo of the active database. mm.GetField(ID) - This command returns the value of a specified MusicMaster field. ID numbers are located in Dataset, Library, Fields. This is a more discreet way to specify the field where information is located in MusicMaster. Each field in MusicMaster has a number assigned to it. You can see this in Dataset, Library, Fields. If this syntax were being used in an External Library Synchronization file to specify the field where the matching field is located, the line would read: LocalID=(mm.GetField(1)) with the 1 being replaced by whatever the field number was in MusicMaster. This command can also be used in the [LibImportMapUpdate] section of an External Library Synchronization file. mm.GetFieldEx(ID) - This command returns the value of a specified MusicMaster field. ID numbers are located in Dataset, Library, Fields. This command is more advanced and returns category or attribute names and multiple keywords. mm.ScheduleDate - This command returns the current date when exporting log information mm.ScheduleHour - This command returns the current hour when exporting log information Other built-in functions: Left(Space(x) & mm.CurrentValue, x) This syntax allows you to left-justify a field, typically something done on an export file. Assuming the length of a field was eight characters, youd include this line: Left(Space(8) & mm.CurrentValue, 8) If the length is some other value, you would change both numbers in the syntax. mid(im.CurrentValue,x,y) - This command can be helpful if you have to move into a field to pull a portion of a field rather than the whole field. For instance, lets say you are working with a file youd like to import into MusicMaster and the runtime is in the format HH:MM:SS. You really need the information that starts at the fourth position in the field. To import that, the line would read: Map1=12,Length,mid(im.CurrentValue,4,5) This line means that there is a field called Length and to start at the fourth character in that field and take five characters. Right(Space(x) & mm.CurrentValue, x) This syntax allows you to right-justify a field, typically something done on an export file. Assuming the length of a field was eight characters, youd include this line: Right(Space(8) & mm.CurrentValue, 8) If the length is some other value, you would change both numbers in the syntax. Trim(InFld(x)) This syntax allows you to trim leading and trailing space. Typically this is used with Reconciliation or Traffic Merge files. For instance, if you had a field called Cart and needed to remove the leading and trailing spaces, the line would read: Trim(InFld(Cart))

88

Conclusion We hope this has given you a more in-depth look at the power youll have available to you with MusicMaster for Windows. Please do not hesitate to contact us if you need further information about any of the features or concepts discussed. MusicMaster for Windows 800-326-2609

89

You might also like