Contents

Developed by Jay Lichtenauer
© 2007-2024 MacinMind Software
Radiologik DJ Manual
Program Icon
Radio Automation and Live Assist Player
Overview
This release of the DJ component of Radiologik can be used as a live assist for radio or podcast creation or for most DJing needs that don't require the club mixing style. It can also be used as the automation player along with Radiologik Scheduler. The DJ portion of Radiologik will always be available as standalone from the scheduler.

Latest version of Radiologik is available here:
http://macinmind.com/Radiologik/Download

Online video overview and tutorials:
http://radiologik.com

Questions, bug reports, and feature suggestions can be emailed to jay@macinmind.com
Requirements
Design Philosophy
Radiologik DJ is meant to be an equally good live DJ and automation player (with the use of Radiologik Scheduler). Why not? I'd personally love to walk into an automation program and just sit down and run it myself for a while and walk out when I feel like it.

The interface is designed to give precedence to the most important things for radio, in particular large display of remaining time and colored warnings when time is running out. Time calculation is given a lot of importance and so it is calculated for starts and stops of songs into the future through the Program queue. For instance, adjusting the rate actually adjusts the displayed length of the song and how it affects everything after it instead of just running the seconds faster. You could therefore accurately run your next five songs at a particular rate to meet the news at the top of the hour perfectly by watching the resulting end times in the queue. You can sort the library by song length or talk time to find a good match for your time constraints. Even multiple selections are added-up to display the total time of the selection.

Holding down the mouse on a menu or moving the window around does not freeze time display for the players as it does in some other more expensive DJing programs. Operations throughout the program are often done in independent threads and given specific time priorities to ensure the best performance overall. For instance, logging has very low priority and audio playing has top priority. With the exception of Radiologik being unregistered, modal dialogs are used sparingly to ensure you don't have a dialog window, and especially not a dialog with no way out but to wait, getting in the way of operating. Importing the entire Music/iTunes Library is optimized for speed without interfering with playout.

The default resolution for time is 1/10th seconds. Any higher resolution is unreadable while playing and practically imperceptible for radio timing.

Radiologik will be developed for Mac-only particularly because the need is greater on the Mac for a variety of tools like this but also so that I'm not wasting time trying to reproduce features on another platform and risking a lower common denominator of abilities. The Mac is the best platform for audio and although there are plenty of tools for audio creation, it seems that the area of professional radio production software (or really any radio production software) is sparse on the Mac while there are dozens of pretty feature robust radio playout solutions on windows... but they are Windows.

What Radiologik is not
Radiologik does not cater to the club mix DJ. The DJ itself does not examine songs to figure how to overlap them, however the scheduler (free in basic mode) has Track Prep to automatically do this and results from this are much better than programs that attempt to do it on the fly. Audio should be prepped for automatic for the best results or unprepped audio can be played manually by your own trigger. Radiologik is not meant to look like a real-world device like a CD player because that design can be constraining and doesn't always lead to the best interface for the task. But we retain distinct players because we use multiple audio outputs and it can be important to keep it straight which playout is to which output on the board. Radiologik does not include support for audio units or VST effects, nor does it do streaming. This can already be done very well with products such as Niceast and Audio Hijack Pro. Radiologik does not do any particular mixer functions. However support is given for mouse wheel faders of all players and 4 distinct stereo audio outputs are supported if you want to run each player to a board input. MIDI control surfaces are also supported and those that have motorized faders are not only supported but also entertaining for cats.
Bringing Audio into Radiologik DJ
Radiologik DJ accepts mp3, AAC & Apple Lossless (m4a), aiff, mp2, and wav sound files. There are three track lists which I'll cover more thoroughly below: Program Queue, Spot, and Library. Program Queue and Spot are used for playing, Library is used for finding and previewing.

Dragging
Tracks can be dragged-in from the Finder or Music/iTunes. When dragging-in multiple tracks, the Finder may not give the order you see but Music/iTunes should in most cases.

Music/iTunes Library import button
One of the fastest ways to get music into the Library is to use the "Import from Music/iTunes" button. If you'd like to restrict which tracks you import, use a keyword search and/or a playlist to the right of the button and press return or hit the "Import from Music/iTunes" button. It will search for tracks matching that field in the Genre, Artist, Album, Name, and Comment. So you could simply bring in a single Genre by typing that in the field to the left of the iTunes Music Library button and pressing the button. Every time you do this you add to what's in the Library instead of replacing it. The Library is maintained between launches.

Music/iTunes Playlists
Every list allows you to import an Music/iTunes playlist. The list of Music/iTunes playlists is created when Radiologik DJ is launched and can be updated to reflect changes in actual Music/iTunes playlists by selecting Refresh Playlist Menus from the File menu.

Radiologik Scheduler
Used for full automation, the scheduler will select tracks from Music/iTunes playlists by a script and Radiologik DJ will import a scheduled list of tracks right after the scheduler creates it.

Radiologik DJ Program and Spot List files
Once you have tracks in with the above 4 methods, you can save Save, Add, and Load the first two lists from the File menu.

Add to top/bottom folders
Placing an audio file in the "Add to top" folder in the ~/Music/Radioloigk folder will have DJ move the file to the "Added to top" folder and place the track at the top of the queue as next to play. This might be useful for remotely adding important new tracks for play as soon as possible. If an outro is at the top of queue, it will add the track after the outro.

Similarly placing an audio file in the "Add to bottom" folder in the ~/Music/Radiologik folder will have DJ move the file to "Added to bottom" and place the track at the end of the queue.
The 3 Track Lists
3 Track Lists

1. Program Queue is a queue of songs that play primarily in the 1st and 2nd players, automatically alternating between the two and also the 3rd for voiceovers and short audio files where needed. You can drag re-order the tracks. Tracks play in order from top to bottom. The times calculated throughout the list take into account overlap timing and rate shifting. You can select multiple tracks to move or delete using the shift or command (Apple) keys.

2. Spot [3] operates more like a cart machine where the selected audio file is the one cued. You can drag re-order the tracks.

3. Library is an internal database library which you can use to quickly find songs, preview them, and copy them to either the Program or Spot lists, or drag to the palette buttons if the palette is in its own window. You can select multiple tracks delete or program using the shift or command (Apple) keys.

All 3 lists are maintained between quitting and launching Radiologik DJ.

Radiologik DJ will update play count and last played date in Music/iTunes of played tracks if in the Log is checked in the Preferences for the audio output you use when playing the tracks. This makes smart playlists useful for later selecting tracks based on how recently played, etc. in Music/iTunes Smart Playlists.
The Palette
The Palette is on the tab just right of the Library tab. It allows a bit more free form playing of short sounds such as sound effects, jingles, zingers or any short audio. Drag any audio file from the Finder or from Music/iTunes over a button to load it to that button. There are 20 sets and 20 buttons per set for 400 total possible items. You can rename the sets by clicking on the name of the set after selecting it.

The Palette

Pressing the button once plays it. The button will darken and then lighten from left to right to show the progress. You can also stop the file by pressing the button again and it will lighten from top to bottom at the rate of the fade set by the fade and finish slider.

Buttons support Finder label colors and these labels can be changed with a contextual menu (right click). Buttons can be triggered by number keys or they can be set to use a MIDI surface (right click to assign). There is a master volume slider at the bottom. The Window button above the Palette Set List allows you to break-out the Palette as its own window which might be useful for Macs with more than one display.
Stream Receive
Use Stream Receive to rebroadcast another station in the same manner as rebroadcasting a satellite feed in years past.

Stream Receive

Stream Receive supports mp3, AAC+ and Vorbis streams. It also supports playing mp3 and m4a files from http or https. Setup a stream profile for each URL. Each stream profile has its own duck, fade duration and publish settings.

Stream metadata can be republished. When playing files it naturally gets the artist, title and album. When playing streams, artist title and album are combined in a single string and must be parsed back. A Parse feature allows you to use a separator to help distinguish artist and title with a default of " - " as the separator. Streams also usually contain a genre and a station name. Use the replacement tags and constants to create the publishing you want.

Streams can be started, stopped or swieched as a track action which can be set to tracks in the program queue and also set in Scheduler. Below is the Track Action window in DJ showing the stream and then the Scheduler Program Script settings for stream.

Stream Receieve Track Action in DJ Stream Receieve Track Action in Scheduler

When the "Duck for palette & players" is checked, the stream receive becomes secondary to any locally played content. The intent here is to duck for short local content such as local identification and branding while playing a stream. Such an ID could be a single pick of a track from Scheduler with an interupt at the time you want the local ID or branding played and the stream will duck for the locally played content and return the volume when the local track finishes.
Prepping Audio Files
Track Prep in Radiologik Scheduler (ideal)
Use the Track Prep feature of Radiologik Scheduler to prep all the tracks you select in Music/iTunes for a very professional radio segue sound for most songs and other tracks. Track Prep can perform normalization gain adjustment and analyze the audio to set playback performance properties. This feature is included as part of the free features of Radiologik Scheduler Basic. For more on this, see the documentation on Scheduler in its help menu or on the web here.
Track Prep in Radiologik Scheduler

Edit the actual audio files (alternative)
  1. Use your favorite audio editor. (I like Amadeus and Fission)
  2. Normalize.
  3. Remove any silence from the beginning
  4. Cold endings should leave silence nearly equal to the overlap time. I would use 1.5 seconds of silence for 1.8 overlap.
  5. Slow fade songs should have the fades accelerated by removing a portion of the ending and fading more quickly from a given point. I like about 3-4 seconds of linear fade from a point where the song has already begun to fade.

Use Radiologik's Track Properties (manual or touch-up from Track Prep)
You can set the start, stop, fade-in and fade-out values by selecting the track anywhere in Radiologik and selecting Track Properties from the Edit menu or clicking the Properties button in the bottom right of the window.

When the overlap is set to default, the overlap in the preferences is used. You can also set an overlap from 0 to 10 seconds just for this track. Overlap is the trigger for the next track to start. The Time Announce feature from the scheduler makes use of this by setting the overlap to 0 so that no matter what the overlap is in the preferences, the time announce will play completely and meet the next track correctly.

Track

Playback and scrubbing
If this Mac is on the air, you can have the track properties player playback to an off-air output if you have the audio hardware to do that. If you drag the mouse across the timeline waveform, you will hear the audio scrubbed. If you hold the mouse in one place for a second, it will change to a finer scrubbing.

Set the Ramp
The Ramp is the time in the beginning of the track when an announcer can speak. For live DJ'ing it is an aid which is displayed as a countdown timer. For automation, the scheduler uses this time to aid it in determining how to fit automatic voice tracking. You can set the Ramp by pressing the Ramp button on any player.

Set the Logo
Logos are times when the palette player will be used while this track is playing. This is useful particularly for longer tracks where you need to brand the audio with your ID or moniker during the track. The palette player rotates through all its items for this track and other tracks that specify this palette. Usually you'll want Duck checked on the palette so that it ducks the main track while it plays the palette item. Each track can specify one of the nine palettes to use using the popup menu on the far right of the track properties window.

Hint & BPM
The Hint field can be used to store up to 32 characters which will then be displayed in the lower left portion of the player. The Hint can be used as the clue to the DJ as to how the track will end and for other information. You pick what you like such as "COLD" for a cold ending or FADE for a song that fades down for the end. Here the Hint "COLD" is shown as it is displayed at the bottom left of a player. BPM is also read from the tags of the audio files and displayed here.

End Note and BPM

All Track Properties are stored in the audio files. This allows you to prepare audio files on a separate off-air production Mac as the Track Properties travel with the audio files.
The Player Displays
With Auto OFF, Radiologik is made sure to be the front application at the 20 second from finish mark of a file. It changes the time box file position to yellow at 20 seconds

20 Seconds

At 15 seconds from finish it changes the file position indicator of the file to blinking red and then solid red at 5 seconds from finish.

15 Seconds

You can adjust the current time position of any audio file by dragging or clicking in the time box of any player. The position is changed when you let go of the mouse button.

Player Time
The Player Controls
The first button "Cue" resets the player to the beginning of the track and cues it. The second button plays. When a player is playing with Auto ON, this button is a stop button and the next track in the Program Queue will start. When a player is playing with Auto OFF, this acts like a pause button so pressing play again resumes from where it was stopped. The third button "Fade" operates as a fade and stop. In Auto, the next track will start at the overlap time determined in the Preferences. The last button "Ramp" sets the time the announcer can talk into a track and is set to the current track position and recorded in the audio file.

Player Controls Stopped Player Controls Playing

Each player has output toggle buttons to determine which sound output to use for the player. The button audio outputs and names can be set in the preferences. This way you can direct each output to a particular mixer channel on a mixer board and control the fades directly there if you want. Use the Audio I/O tab in the preferences to setup your audio outputs. You can pick the different channel pairs for audio devices that support that. You can set up to 4 discrete output pairs, 3 which are switchable on the main window for the 3 main players and palette player and one dedicated to off air for the library player and track properties window playback.

Output Selection
        Toggle

Volume can be adjusted manually a few ways. Although you can obviously move the volume slider, you can also use the mouse wheel when over any player. Mousing over any player and using the mouse wheel adjusts the volume for all players if for instance you want to duck all audio to speak. You can also adjust the volume per player by clicking anywhere in the colored portion of the player (green, blue, red). The player will get a blue highlight around it to indicate you are controlling the volume for that player alone with the mouse wheel. Click on the player again to remove the highlight.

Player Display

You can also control volume, rate, and all of the Functions in the Function menu using a MIDI controller. For instance, the Behringer BCF2000 has motorized sliding faders and works very well. Radiologik works with MIDI controllers in both directions.

Single key shortcuts can be viewed from the Keyboard Reference window and can be set in the preferences.

Keyboard Shortcut

In addition, all of these shortcuts are also available from the Functions menu. You can use the Keyboard item in System Preferences to set key shortcuts for any of these menus such as the F5 key to start program.

When pressing the key to program a track from the Library or Spot list, hold down the Shift Key to place it at the top of the queue.

Holding down the control key while starting a player will temporarily reverse the fade finish other player option in the preferences.
Auto ON & OFF
Auto plays the next song in queue overlapping by the amount specified in the preferences. By default this is 1.8 seconds. You need to prep your audio to work with the overlaps for auto to sound best. In manual you start each song yourself. With both Auto ON or OFF, you can fire the next song yourself when you want. There is an option in the Preferences to fade the previous song when starting a song which works in both modes.

Auto On

Auto ON resets volume and rate for each player when a new file is loaded.
Auto OFF leaves player volume and rate alone for each player as set
You can make it so rate is not reset by changing Settings/Preferences--Global--ResetPitchWhenAuto to false

By the default colors in settings/preferences:
With Auto Off you can still set certain tracks to be auto. In the Actions column, click the small circle. The arrow indicates this track is linked to the previous track and will play automatically as if auto were on.

Semi Auto
Voiceovers & Ducking
Voiceovers allow you to introduce a track such as by using a voice track over the beginning of a song. The scheduler will make use of this for voice tracking a fully-automated station.

In the program list there is a checkbox in the very right corner named VO. Just to the right of that is the player indicator which shows which player this track will be played in.

Voiceover Checkbox

When this box is checked, the track is loaded into player 3 alongside the next track in the program.

A voiceover introduces the next track and will use the ramp of the next track to determine if and how to voiceover the actual track this way:

  1. If the ramp is 0, then there's no overlap.
  2. If the ramp is less time than the intro, then the intro starts first and overlaps only as much as the ramp so you get a perfect finish of the intro at the end of the ramp at the post.
  3. If the ramp is longer than the intro, then the intro and the song start at the same time and intro ends and the song fades up before the end of the ramp (the post).
When the track in player 1 or 2 that is cued will overlap the song it is introducing, it sets the introduced track to the ducking volume value which you can set in Settings/Preferences--General--Voiceover Ducking. The duck is released at the speed you set in Settings/Preferences--General--Fade Up. The duck release is started 1/4 of the Fade Up time before the voiceover ends. So if you have Fade up set to 2 seconds, it will begin the duck release at the last 0.5 seconds of the voiceover.
Voiceover Ducking

Manually Ducking
You can duck the 3 main players by using the Duck button or the shortcut key for it which is by default the 'M' key. Pressing it again turns off the duck. This ducking does not duck the library player, the track properties player, or any of the palette players.

Manually Ducking
Music Beds

If you place a track after a voiceover with the last characters -bed at the end of the artist, title, or album tag, that track will be a music bed and play at the ducked volume.

If the music bed track exceeds the length of the voiceover, the bed will be resized to fit using temporary track properties to shorten it so it begins a fade finish at the end of the voiceover.

If the music bed track is shorter than the voiceover, it will start partway into the voiceover so that it ends just after the voiceover.

Line In
Line In simply takes an audio device input and routes it to an audio device output. Use the Audio pane of the settings/preferences to set which devices are used. There is also the option on the General pane of the settings/preferences to use a fade when switching Line In on and off.

Line In Button

Line In can be turned on using the button or keyboard shortcut (L is default) or by a MIDI control surface. It can also be turned on using a Track Action. That Track Action can be assigned to a specific interrupt time by DJ or set by Scheduler.
Coloring Track Items
Use Finder Color Labels/Tags on your files and Radiologik will use that color for those items in your Program Queue and Spot list.

Color Label
You can also right click on a track in any list or in the palette player to change the track Label/Tag color.
Track Actions
Track actions are only for items in the program queue. Double-click the track in the program list or select it and click the Actions button. Radiologik Scheduler makes use of all of these actions.

You can use actions to set the schedule interrupt time for a track in the program. There are two interrupt types to choose from.

With Interrupt @, the track will play at the specified time regardless of everything else. If nothing is playing, it will wait until the interrupt time and start the track and if in Auto, it will continue to play subsequent tracks. If something is already playing in queue, it will fade that track and start playing the track with the interrupt time. If there's anything else in the program queue that otherwise would have played after the interrupt time, it is removed from queue at interrupt time. If the program queue runs out before the interrupt time, the track will not be played until the scheduled time.

With Interrupt If (new in 2021.5.1), the interrupt time is only used if the track would otherwise play later than the interrupt time. The track will not wait to play if it is next to play. If something is already playing in queue, it will fade that track and start playing the track with the interrupt time. If the program queue runs out before the interrupt time, the track will play early as if there were no interrupt time.

Track Actions

You can also set ID checkbox to tell the Station ID button that the station has ID'd for the hour when this track is played.

The Line in can be turned on and off as a track action

Each program track can be set to change the preference set. The actual preference set is not changed until that track begins playing and is applied to it and all following tracks without affecting preceding tracks such as a fading track that might still be playing.

Each program track can also be set to run an AppleScript from the ~/Music/Radiologik/Scripts/ folder. See AppleScripting.

An internet audio stream can be started using the stream profile name or a playing stream can be stopped.

And the Studio Timer at the top left of the Radiologik DJ window can be set to start the Studio Timer with this track action when the track plays
Saving Programs
You can save programs from the file menu. This will save either your whole queue or if you have a selection, you can choose t save just the selected tracks as a program which you then load later. In the save dialog you are also given the choice to save as a program file or as a portable program bundle. If you choose a program file, you are essentially saving a list that references the audio files along with any setting you made to track actions. If you choose to save as a portable program bundle, all of your audio files are collected into the file. This allows you to save a program and take it to another Mac with Radiologik DJ without worrying whether the files are on that Mac.
Triple-segue
The third player is automatically assigned a track when Auto is ON and the combined overlaps won't get us to play the next track in time. In other words, it is done when a track is shorter than the 2 overlaps and a 3rd player is needed to play a triple-segue. An extra 1 second safety is given in the decision to use the 3rd player to account for cue loading times to make sure tracks are played at the right time.

Triple Segue

In this case players 2 and 3 are cued and you'll see the player assignment something like this:

Player Assignment
Settings/Preferences
You can open settings/preferences from the Radiologik menu.

Preference Sets
All settings in settings/preferences can be kept in different "Preferences Sets" which you can name. These different preferences are stored in separate files in the Finder which you can rename or delete. This can be useful if for instance you would like a different overlap setting for each format on your station which the scheduler can then change at the appropriate time, or if different DJs like different keyboard settings.

General
Here you can set the various timings. The effect of these settings are various and described elsewhere in this document.

Auto on at startup puts Radiologik mode on regardless of whether it was on when it was last quit. Restore playing at startup puts Radiologik back to playing exactly what was playing in program when it was last quit.

Play Logos will play palette items in order at certain time intervals if the tracks exceeds the length you specified. This can be a way to get your moniker or some message into long audio files. You can also specify exact Logo times in a particular file in track properties in which case only those are used.

Automatically check for updates checks for new versions of Radiologik DJ no more than once a day.


Settings/Preferences-General

Audio I/O
Here you can set the devices and names for the audio outputs that are selectable above each player as well as choose a Library player output.

Log and Publish can be toggled per output. Log will log to the Log tab and to

    ~/Library/Logs/Radiologik/Play Logs/
.

In order to register the songs played with Music/iTunes, you'll need Log on for that output.

Publish needs to be on for the track to show in the top of the Radiologik window and to be published to all the publishing outlets on the Publishing pane in the settings/preferences.

Register played tracks with Music/iTunes when logging the player output will increment the play count and update the last played date in Music/iTunes if log is turned on for the output used on the Audio I/O preference tab. It does so by doing a quick search on matching artist, album and track name for songs with ID3 data and just for track name for other files.

Settings/Preferences -

For the last 3 panes see Publishing , Uploading and Global Settings/Preferences
Hardware Controls

You can configure Keyboard, MIDI Surface Controllers, USB (D&R Mixers), Stream Deck or Game Controllers boards that can be wired for contact switches. Most of the setup can be done right in Settings/Preferences on their respective panes. The palette can have USB (D&R Mixers) and MIDI controller assignments set by right clicking on the palette button to choose Assign.

Game Input

Many functions that are in the menus have command key shortcuts. In addition to that, there are single key shortcuts that you can configure on the Keyboard pane.

Game Input

Nearly any MIDI controller can be used. And you can assign multiple MIDI controllers for any of the actions including variable controls like volume and rate. Radiologik DJ supports two-way communication so lights and motorized faders can be in sync with Radiologik DJ if you have "Send back to MIDI surface" checked.

Game Input

D&R Mixers are supported. Specifically the Airlite, Webstation, Airence, and Airlab are all specifically supported by Radiologik DJ. Choose the device on the USB pane and use the Auto-assign button that appears. These mixers provide USB audio inputs and outputs that can be setup on the Audio I/O pane.

Stream Deck

Elgato Stream Decks are also supported to assign button presses for many functions in Radiologik DJ. Visit the Elgato Marketplace to add the Radiologik DJ plugin for your Stream Deck.

Game Input

For custom setup of consoles and mixers that have contact switches, you can use the Game Input pane to make assignments to an inexpensive game controller board such as the EG STARTS Zero Delay USB Encoder

Recording & Editing
Use audio software to record and edit such as Amadeus Pro (pay), ocenaudio (free), and Fission (Lossless editing only, pay). Radiologik DJ can assign two audio editors in Settings/Preferences--Advanced.

Audio Editors

You can then use the Record with button below the Program Queue to add a track to the Program Queue and open it in the first assigned editor to record. You can also use the editor buttons to the right of that to edit existing tracks in the Program Queue.

Record and Edit Audio

Publishing Exceptions
If you have artists, titles, genres or tracks marked with keywords in the comments that you don't want published such as internal production audio, you can add them to Exclude list on the Publishing Exceptions window found in the View menu. If you would like to exclude all but those that match the keywords in a list, then leave the Exclude list blank and add the list of the only keywords you want to match for inclusion on the Include tab list. If you use both Exclude and Include and both are matched, then include wins and the track metadata is published.

Publishing

The program queue shows published tracks in bold for the Artist - Title.

Cue Sheets
Cue Sheets allow a single audio file mix with many songs to publish all of the separate artists and titles within. It works by using a cue sheet which can be a .cue file or it can be put in the lyrics tag in Music/iTunes. Two formats are supported for the lyrics tag

1. MM:SS Artist - Title

Cue Sheet in Lyrics tag
2 A .cue format which can be exported from tracks with splits in applications such as Fission. The times in cue sheet format are MM:SS:1/100ths of seconds. Below is an example of the format for the first 3 songs in one file:
PERFORMER "Jay Lichtenauer"
TITLE "Deep 2014"
FILE "Deep 2014 Mix.m4a" BINARY
  TRACK 01 AUDIO
    GENRE "Electronic"
    PERFORMER "Various"
    TITLE "Deep 2014 Mix"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    GENRE "Electronic"
    PERFORMER "Moonbeam"
    TITLE "Ghost"
    INDEX 01 00:15:47
  TRACK 03 AUDIO
    GENRE "Electronic"
    PERFORMER "Eli & Fur"
    TITLE "You're So High"
    INDEX 01 05:32:30
  TRACK 04 AUDIO
    GENRE "Electronic"
    PERFORMER "The Maneken"
    TITLE "Run"
    INDEX 01 10:33:24

Both formats can be in the Lyrics tag. Altenatively to using the Lyrics tag a .cue format can be a file with the same path and name as the audio file but ending in .cue instead of .m4a or .mp3.

cue file with mp3 file

When a track with a cue sheet is loaded in a player, a popup menu of all of the subtracks appears which is functional to move the player to those time sections and also reflects the current section. Publishing uses these cue sheet artists, titles, and durations.

Cue Sheet in Lyrics tag

For tracks in the Program Queue that have a cue sheet, at CS will appear in the Actions column which you can click to show the cue sheet contents

Cue Sheet in Lyrics tag
Other Interface Parts
The Studio Timer allows you to set countdown and up timers for specific lengths or specific destination times.

Studio Timer

Clicking the timer icon at the top left of the DJ window provides a window where you set set, start and stop the studio timer.
Studio Timer Interface

The Studio Timer can also be started with a Track Action which can be set by double-clicking a track in the program queue or set in a Scheduler script.

The top right corner of the DJ window ID button displays time in relation to the top of the hour.

Top of the Hour ID

If you set a TimeOffset in Settings/Preferences-->Global, your air-time with the delay is shown above the ID button.

The program remaining time at the bottom left of the DJ window also calculates how the program queue relates to the studio timer and the top of the hour

Studio Timer Queue

AppleScripting
Scriptable
To see how Radiologik DJ is scriptable, open AppleScript Editor from /Applications/Utilities and drag Radiologik DJ's icon from the Finder over AppleScript Editor. Commands to control some functions and get some information from Radiologik DJ and to send serial and TCP/IP commands to other devices and software are documented in that dictionary.

Track Action Scripts
You can attach a script to a track action. Scripts for this can be created in ~/Music/Radiologik/Scripts/. Scripts fire when the track starts. It's suggested you just make your own in AppleScript Editor, name them whatever you like and place them there. Just don't use the reserved DJEvent- at the start of the script file name. DJEvents scripts are specially fired for the events they describe below.

DJ Events AppleScripts

These scripts are special in that they execute for certain conditions or events and do not appear in AppleScript menus in DJ or Scheduler. You can edit these Applescripts located in ~/Music/Radiologik/Scripts/. These scripts contain some examples which you can uncomment by removing the leading "--" from each line.

This one fires when DJ is launched:
DJEvent-DJLaunched

These act on failures:
DJEvent-NothingPlaying-AutoIsOff (fires after 2 seconds) Example turns auto back on
DJEvent-NothingPlaying-NothingInQueue (fires after 4 seconds) Example loads a program file
DJEvent-NothingPlaying-InterruptInFuture (fires after 6 seconds) Example starts playing Music/iTunes playlist
DJEvent-ProgramQueueEmptyIn30Seconds Example loads Music/iTunes playlist
DJEvent-PlayingSilenceFor8Seconds This Applescript is run when one of the three main players is playing and there's nothing on the meters for 8 seconds and the volume is not set to 0 for that player. Example runs StartProgram true
DJEvent-PlayingSilenceFor20Seconds Example runs StartProgram true

This one fires every time a track is logged:
DJEvent-TrackLogged Example stops Music/iTunes

This one fires everytime the item after "Now:" at the top of the window changes
DJEvent-NowPlayingChanged Example uploads a web file to a web server

Only these DJEvents that are created by Radiologik can be used. You cannot and should not make up new scripts starting with DJEvent- as these simply won't show in menus and will not be executed since they are not part of the predefined events.
URI Handler
You can put links in a webpage to tell Radiologik DJ to add a track to the top or bottom of the program queue when used on the same Mac. URIs start with rldj: and there are two distinct commands for top of queue (atop) and bottom of queue (abot) followed by a shell path. Here's an example:

<p>Add this song to top of Radiologik DJ queue: <a href="rldj:atop?/Volumes/Storage/Storage/Music/ModernMix/iTunes Media/Music/Yuri Kane/Right Back/01 Right Back (Radio Edit).mp3">Right Back (Radio Edit)</a>
</p>
<p>Add this song to bottom of Radiologik DJ queue: <a href="rldj:abot?/Volumes/Storage/Storage/Music/ModernMix/Media/Music/Mike Foyle & Surpresa/2012-10 Radio Singles/Placebo.mp3">Placebo</a>
</p>

In addition, URIs can be used to control Radiologik DJ. The form is rldj:cmd?command-here.

Possible commands where # is the player number or palette button

Example: rldj:cmd?start-stop-1 will start or stop player 1

Internet Broadcasting
LadioCast
LadioCast can encode MP3, AAC-HE (AAC+), and various Ogg formats and stream to an icecast, shoutcast, or RMTP server but it doesn't contain it's own icecast or shoutcast server. So you either need an icecast or shoutcast provider or you need to download shoutcast or the source for icecast and install it yourself. It does allow you to stream AAC-HE which can provide the same quality as mp3 streaming at half the bit-rate. LadioCast is free.

LadioCast stream encoder

Install an audio routing device and have DJ send out to that audio device. Then use that as the audio device for DJ's output and for LadioCast's input.

To get metadata to LadioCast, in DJ versions 2018.5.1 and higher, go in Radiologik DJ's Settings/Preferences-->Publishing and check "LadioCast".


Audio HiJack
Audio Hijack 3.5 and higher has a Broadcast output. With Audio HiJack you can visually design an audio chain including multiple sources, effects & procesing, and outputs. Audio can be captured from audio devices or directly from Radiologik DJ. Audio Hijack encodes AAC (AAC-HE at low bitrates such as 64Kbps) and MP3 and can send to both icecast and shoutcast servers.
Audio Hijack 3.5 Broadcasting
To Publish track metadata to Audio Hijack, turn on "Audio Hijack/Nicecast" in Settings/Preferences--Publishing.

Other encoders: butt (broadcast using this tool) & Live365 Encoder
butt is a free stream encoder that supports mp3, AAC+, Ogg-Vorbis and Opus. Live365 Encoder is used exclusively for Live365 To get audio to from DJ from these, use an audio routing device or a real audio device input if you have output from Radiologik DJ to a mixer for example.

Both butt and Live365 encoder can get its meta data from a text file for which you specify the location in their respective settings. For this you can make a text file in ~/Music/Radiologik/Web/Templates/metadata.txt and add the text:
<rl-artist> - <rl-title>
or whatever metadata replacement tags or literal text you want to that text file and save. In Radiologik DJ Settings/Preferences--Publishing, turn on the checkbox "File", explained further in File Publishing. Then point the encoding software to the file ~/Music/Radiologik/Web/metadata.txt
butt meta


Audio Routing with Mixer (ideal)
Audio Chain
  1. Run Radiologik DJ's audio output to the mixer
  2. Connect your mic(s) to the mixer
  3. Run an output of the mixer back into an audio input on the Mac
  4. Set Ladiocast or butt (or other encoder) to use audio input of the Mac as source
  5. Now you can control your audio levels for player and mic with the mixer
Audio Routing without Mixer
  1. Install one of these audio routing devices
  2. Set Ladiocast or butt (or other encoder) to use audio input to that audio routing device
  3. Run Radiologik DJ's Settings/Preferences-->Audio on-air output to that audio routing device
  4. Set Line In to your Mic's audio input
  5. Set Line Out to that audio routing device
  6. You can use the Line In button in DJ to turn your Mic on and off


Audio Processing
Audio HiJack has audio effects built-in. If you do need audio effects in software for Ladiocast or butt or other purpose, you can use AU Lab. Route audio to it through audio routing device out the Mac, through a mixer maybe, and back into the Mac to a stream encoder. Or use Loopback for multiple virtual audio devices and routing all within the Mac.

AULab Audio Units processing


icecast
icecast is a streaming server you can run on your Mac if you don't have a stream host service to send your audio to through any of the above encoders.

Installing icecast is described here: https://ports.macports.org/port/icecast2/

Here are the simplest tested install directions:

First, install MacPorts for your OS version: https://www.macports.org/install.php

Then in the terminal:

If you had MacPorts installed before:

To install icecast run:

This may prompt you to download Xcode command line tools which you should do. After which run the above command again.

Find the icecast configuration file by using the Go menu in Finder to Go To Folder:

In there is the icecast.xml file. Drag icecast.xml to your home directory to make a copy.

In your home directory, right-click icecast.xml to open in TextEdit. Important things to change may be passwords for admin and source. The source password is the password you'll use to connect the source audio stream. Make sure to save it with the xml extension.

In order for icecast to run and not complain about not being able to open log files, you need to create the folder path /opt/local/var/log/icecast/. So this requires you make those two folders 'log' and 'icecast' within that.

To run the icecast server, in terminal:

To run it in the background automatically at startup you can make an AppleScript in Script Editor:

Save that as an Application. You can then add that to Login Items in System Settings/Preferences.

To connect using Audio Hijack, LadioCast, or BUTT on the same Mac

Then connect with Radiologik DJ Stream Receive, iTunes, Music, VLC or whatever receiver at

For remote listening change 127.0.0.1 to the actual local or public IP, etc.


U.S. Streaming & Royalties

For internet streams in the U.S., consider using Live365 as they can server your stream and take care of all of the reporting and royalty payments relieving you of the legal worries.

Publishing
What is published shows in the top of the Radiologik DJ window. Published tracks are bold in the Program Queue. Publish must be checked for the output(s) used in Settings/Preferences--Audio I/O.

Top of Player Publishing

You can publish to Files including album art which can be uploaded with the Upload portion of DJ's Preferenes. You can also publish to LadioCast, Audio HiJack, macOS Notifications, Last.fm, TuneIn, GET URL, TCP/UDP and Serial.

Default Publishing
For items that are in the Program Queue that are not published due to Publish not being turned on for the output in Settings/Preferences--Audio I/O or due to Publishing Exceptions or other station elements that shouldn't' be published like intros, outros and combos, and when nothing is playing, this is what is used for publishing for artist, title, album and art.

You can set that text in Publishing Default to be your station name and you can have it be different for different programs by setting different text for different preference sets.
PublishingDefault
Apps & Services Publishing
Use this to quickly turn on metadata for Audio HiJack, LadioCast or macOS Notifications. Use the format field to set how the metadata is constructed for sending to LadioCast. You can also setup Last.fm and TuneIn to receive information on what's playing with credentials from those accounts.
PublishingApps

File Publishing

You can enable saving of artwork files. Customize the size and quality fields. Size range is 25-600px, default 200px. The quality range is up to 100 but it is advisable to use a range of between 75 - 100, default is 75.

With Files checkbox on, Radiologik periodically reads in files from ~/Music/Radiologik/Web/Templates/ and outputs the same named files to ~/Music/Radiologik/Web/, replacing all tags with current data from DJ. These can be elements in any text file you like for use on the web or other purposes. These files can have extensions like .html, .txt, .xml, etc. All text is written out in UTF8 encoding.
PublishingFiles

Use these tags in your plain text file:

<rl-artist>
<rl-title>
<rl-album>
<rl-comment>
<rl-composer>
<rl-genre>
<rl-year>
<rl-ISRC>
<rl-publisher>
<rl-grouping>
<rl-rating> (0-5)
<rl-ratingstars> eg. ★★★★☆, nothing if 0
<rl-playlist>
<rl-path>, the POSIX path to the audio file playing
<rl-duration>, in total seconds taking start and end trims into consideration
<rl-duration>, using the variations described below of -00 or +01 or -03 will give hh:mm:ss without leading hours. eg. <rl-duration-00> might give 4:23.
<rl-starttime>, the time the track started in YYYY-MM-DD HH:MM:SS
<rl-persistentid>, the Music/iTunes persistent id

You can also use variations to get past tracks and future tracks for all of the above replacements tags. For instance use <rl-title-01> to get the most recently played title. Use <rl-artist+02> to get the artist two tracks in the future. You can use this to get information for up to 9 upcoming tracks and up to 19 past tracks.

The following tags don't use these numbered variations:

<rl-upcomingartists>, if 5 or more tracks in queue, this returns 3 random upcoming artists separated by commas of the next 10 found in queue
<rl-pref>, this one is the name of your preference set so you can make this correspond to your programming
<rl-nextpref>, this gets the name of the next preference set in queue within the next 10 tracks
<rl-schedulerprogram>, displays the Scheduler program name
<rl-schedulerprogramandtime>, displays the Scheduler program name and time
<rl-queueremaining>, displays the remaining queue time in [H:]MM:SS
<rl-queueendtime>, displays the ending time for the queue in H:MM:SS [AM/PM/24Hr]

Default album art can be set by placing a DefaultAlbumArt.jpg file in ~/Music/Radiologik/

Backwards compatibility: Tags without the <rl- prefix are still supported like <artist> and will work as long as no <rl- prefixes are found in the template. The <rl- prefix was added in 2014.2.1 to avoid conflicts with some XML formats requiring some of the tags DJ was using as replacement tags.

Album art jpegs at 200px are saved to ~/Music/Radiologik/Web/albumart/. The output size can be changed in Settings/Preferences-->Global. The current art is art-00.jpg. Future art is art+01.jpg and higher numbers up to art+10.jpg for future tracks and  art-01.jpg up to art-20.jpg for past tracks.

Uploading
Settings/Preferences-Uploading

You can use the Upload pane of the preferenes to upload any files published by File publising in the ~/Music/Radiologik/Web folder and art from the contained albumart folder to your website using ftp, or sftp. For best efficiency, only check the boxes for those items you want uploaded.

You can also use the DJ Event AppleScript ~/Music/Radiologik/Scripts/DJEvent-NowPlayingChanged to place an AppleScript that will upload whatever files you like to your webserver. This script only executes when the now playing has changed. An example is provided in the script as it is installed that you can uncomment and adjust.

 do shell script "cd ~/Music/Radiologik/Web/ ; curl -T currentlyplaying-1.html ftp://yourserver.com/ --user yourUsernameHere:yourPasswordHere"


Network & Serial Publishing
Use this to send track data to online services RDS devices and stream encoders.
PublishingNetwork

For GET URL you can supply a URL that can be used to send track info to a server via http or https. There are two available in case you need to send to two different places.

TCP/UDP/Serial
Use TCP/UDP & Serial to setup outputs to serial devices, TCP or UDP devices such as RDS or software such as streaming software on another computer.

Network publishing replacement tags
The following tags are available for GET URL and Text Command (TCP/UDP/Serial):

<t> = title
<a> = artist
<l> = album
<c> = comment
<grp> = grouping
<g> = genre
<comp> = composer
<p> = publisher
<r> = rating (0-5)
<rs> = rating stars, eg. ★★★★☆, nothing if 0
<pl> = playlist
<i> = ISRC
<y> = year
<dpub> = True or False for whether this is default publishing
<dpub0> = 0 or 1 for whether this is default publishing
<prog> = program name
<s> or <d> = duration in seconds
<s-XX> = duration in seconds subtracting XX. eg. <s-05> or <s-20> subtracts 5 or 20 seconds
<ms> = duration in MM:SS format
<hms> = duration in HH:MM:SS format
<dms> = duration in milliseconds (1/1000th of a second) in 12-digit format.

The following only apply to TCP, UDP & Serial:

\r or |r = carriage return
\n or |n = line feed
|| = carriage return terminated new line with 250ms delay, serial and TCP only

Network Publishing Examples

SAM caster GET URL:
http://localhost:8181/?artist=<a>&title=<t>&songtype=S&duration=<dms>

Icecast 2.3.3-kh9 GET URL:
http://user:pass@localhost:8001/admin/metadata.xsl?song=<a>%20-%20<t>&mount=%2Fmount&mode=updinfo&charset=UTF-8

Cirrus Streaming GET URL
https://SuppliedRequestURL?stationCallSign=SuppliedStationCallSign&authToken=SuppliedAuthToken&title=<t>&artist=<a>&album=<l>&duration=<s>&isrc=<i>&label=<p>&stationFlag=<dpub0>&responseType=head

Stereo Tool RDS Text Command:
PS=WXYZ|rRT=<a> - <t>
Recovery & Resilence

Particularly for full-time automated stations, it is good to have the station recover after a power failure or a restart. Consider setting up the following:
  1. System Settings--Energy Saver--Check Start up automatically after a power failure
  2. Make sure the macOS user account automatically logs in when the Mac is started in System Settings--Users & Groups
  3. Add Radiologik DJ and Radiologik Scheduler to your Dock, right-click--Options--Keep in Dock
  4. Right-click DJ and Scheduler in Dock -- Options -- Open at Login
  5. In Radiologik DJ--Settings--Check the boxes for "Auto ON at startup" and "Restore playing at startup". These are on by default.
  6. In Radiologik Scheduler--Settings--Check the box "On Startup, schedule missed current/upcoming program". This is in case Scheduler was not running at program scheduling time.
  7. Further insurance mostly for 24/7 automation error handling, choose the script from "These act on failures" list that fits your situation to respond to from the scripts in ~/Music/Radiologik/Scripts
  8. Use Silence Sensor in Scheduler Advanced to detect and act on silence using an audio input on the Mac to monitor if there's silence even if the source is not Radiologik.
You may have other software that needs to run for your station such as the stream encoding software. Use open at login for those or refer to that software's documentation for that. For example Audio HiJack has an Auto Run switch per session.
Tips & Troubleshooting
Use Track Prep
If you would like the best sounding transitions between tracks with Auto On, try using Track Prep in Scheduler (Basic is free). It allows you to select tracks in Music/iTunes to be analyzed for best transitions with parameters and presets you can set for the style you wish from heavy overlap to even spacing. There is nothing else on the Mac that does automatic transitions better.

On Mojave 10.14 and newer, Security & Privacy
Mojave introduced the need for approval of some actions Radiologik DJ and Scheduler use to communicate with each other and Music/iTunes and also for access to the audio inputs. In System Settings/Preferences--Security & Privacy--Privacy--Automation, make sure checkboxes are on for anything Radiologik. Also make sure checkboxes are also on for Radiologik in Microphone

Don't overload the Program Queue
It is best to keep the number of tracks in program queue to less than 50 if possible. This is particularly an issue on older Macs when too many items in queue will slow performance of the interface. If you need many hours of material in queue, use Radiologik Scheduler (Basic is free) to add items to the queue each hour

Turn Time Machine off
After a long period of time backing up, Time Machine can become very disk-intensive with the hourly backups--enough that it can take longer to do maintenance than actual copying of files and enough where it affects playback. Turn Time Machine off and consider using ChronoSync or Carbon Copy Cloner to do backups daily at the least listened hours of the day.

Keep Mac Awake and Disks Spinning
In Energy Saver, make sure the Computer sleep time is Never and the Put hard disks to sleep when possible is unchecked. It is okay to have the display sleep.

Memory
Disk swapping memory can cause performance issues. To check memory performance, open /Applications/Utilities/Activity Monitor and look at System Memory. Page outs are best at 0 bytes or a very small number compared to page ins such as a few MB or less. High page ins are okay. If page outs are high, either run less memory heavy applications at once or add memory. In Mavericks 10.9 and up, look at memory pressure. It should be green.

Network Publishing
If Radiologik freezes for long periods of time and publishing is on for TuneIn, or Last.fm, try turning these off to see if this resolves the freezing. There might be a networking problem preventing these from working that needs to be fixed.

Headless Mini
Observed on Late 2012 mini running Mountain Lion: The mini will not perform as well with no display attached. A good solution is to attach an HDMI headless adapter. See blog post here.

Clear Library and Play History
There have been a couple rare cases where clearing the Play History would resolve hesitations on transitions. Go to the Play History tab and the use the Clear List button. You can also try clearing the Library and re-importing.
 
Other performance options for older Macs
You may find performance faster if you turn off Waveform in Settings/Preferences, Appearance
If you don't use the files published to ~/Music/Radiologik/Web, turn off Files in Settings/Preferences--Publishing--Files

DJ & Scheduler seeing out-of-date tracks and playlists from iTunes
iTunes (older macOS) can stop updating it's XML file. Since Scheduler and DJ use this to know the current state of iTunes Library, having this stuck in the past can cause a slew of problems from no rotation, not seeing new tracks, trying to get tracks that don't exist, not seeing new playlists, seeing old deleted playlists, etc.

Look at ~/Music/iTunes/iTunes Library.xml (sometimes iTunes Music Library.xml) in the Finder and see what the modification date is on it. It should be very recent. If not, note the date, show all songs in iTunes and list them by date added. Look for songs added right after that XML file modification date for odd characters in any of the fields from artist, title, album, composer, comment, etc. If you find odd characters like  Weird Character, remove them. You'll know you're successful when the XML file is updated more recently. If you had "iTunes Music Library.xml", iTunes might start writing-out the new working xml file as "iTunes Library.xml" leaving the old one with the old date there. That old one can then be trashed.

Automatically recover from a DJ crash:
  1. With Radiologik Scheduler running, go in Scheduler's settings/preferences and turn on "Make sure DJ is always running".
  2. Open Terminal and enter "defaults write com.apple.CrashReporter DialogType server" without quotes and return. This will keep crash reports from showing while still logging them to Console.
Music/iTunes Last Played
Radiologik DJ will mark tracks played in Music/iTunes under these conditions:
  1. In Settings/Preferences-->Audio I/O, ensure Log is checked for the output you use for broadcasting.
  2. In Settings/Preferences-->Audio I/O, ensure Register played tracks with Music/iTunes when logging the player output is checked.
  3. On Mojave and higher, in System Settings/Preferences--Security & Privacy--Automation, make sure Radiologik DJ has a check for iTunes or Music.
AppleScripts
Maintenance and search and replace AppleScripts for Music/iTunes are available at Doug's AppleScripts for Music/iTunes
Reporting Problems
Crash Reports
If Radiologik quits unexpectedly, it may create a crash report that you can email that will help determine the source of the problem to find a solution. Use Console in /Applications/Utilities/ to show log list and depending on OS X version it will be in either User Reports, User Diagnostic Reports, or ~/Library/Logs/CrashReporter. Look for files beginning with Radiologik. You can drag the item right from the list to produce file that can be emailed.

Logs
Radiologik keeps logs in ~/Library/Logs/Radiologik/ which you can view in Radiologik Scheduler--Logs--Browse All. An Errors.log may reveal issues and that can be emailed. If you have issues with Scheduling and playback, sending a log for the day from both Scheduler and and Play Logs is very helpful in showing what issue you might be having such as with how a Scheduler script executed.

Unless it is indicated in the logs, report the version of Radiologik DJ and Scheduler, OS X version, and which model Mac and any other relevant information.

Email to jay at macinmind dot com.
Split DJ & Scheduler/iTunes to different Macs
Older macOS iTunes only. Radiologik is most reliable if Scheduler, DJ and iTunes are all run on the same Mac. However it is possible on macOS versions prior to Catalina to split Scheduler and iTunes to one Mac and DJ to the other and even run another DJ on the Scheduler Mac for production work. To accomplish this, use the next 6 steps.



1. Share Radiologik folders between Macs
Turn file sharing on on both Macs and have the username and password saved for each to access the others active user home folder so that they can be mounted by either automatically without a dialog.

These folders need to be shared from the DJ Mac to the Scheduler Mac. The original should be on the DJ Mac. On the Scheduler Mac, make an alias from these folders from the mounted DJ shared home folder to the same relative location on the Scheduler Mac:
~/Music/Radiologik/
~/Library/Preferences/Radiologik/
~/Library/Logs/Radiologik/
~/Library/ is hidden in 10.7 and up. From the home folder you can enter this using Go menu-->Go to folder… (Cmd-Shift-G) and enter Library.
This folder should should be shared from the Scheduler Mac to the DJ Mac. Original should be on Scheduler Mac. On the DJ Mac, make an alias from this folder from the mounted Scheduler shared home folder to the same relative location the Scheduler Mac.
~/Music/iTunes/



2. LibraryPathReplace
To have Radiologik get the iTunes XML paths corrected so it can import playlists, import into DJ's Library, and receive corrected paths from Scheduler, open the preferences to the Global pane. Look for the item LibraryPathReplace

The value is in the form of: [searchterm][space][replace term]

For example, to get

file://localhost/Users/admin/Music/iTunes/iTunes%20Music/Bizet/Carmen.mp3

to properly be

file://localhost/Volumes/admin/Music/iTunes/iTunes%20Music/Bizet/Carmen.mp3

use the following value:

/Users/admin /Volumes/admin

Now you can successfully import your iTunes library into Radiologik DJ's library using the "iTunes Library" button.



3. Remote iTunes
DJ needs to mark tracks played in iTunes on the Scheduler Mac. We can do this with Remote Apple Events.

1. On the Scheduler Mac, open System Preferences, click Sharing, then turn on Remote Apple Events. Set access as you see fit. Restart this Mac to get this working properly.

2. On the DJ Mac in Radiologik DJ, open the preferences to the Global pane. Find the item RemoteiTunesMac and set it so it has the information for your remote Mac in the format like this:

[username]:[password]@[computerIPname]
eg.admin:pass123@LibraryMacMini.local

Radiologik DJ on one Mac should now marks songs as played in iTunes on the Scheduler Mac.



4. Run a second copy of DJ on the remote scheduling Mac
We can use this same preference to indicate that we should use an alternate to ~/Music/Radiologik/ for a second copy of DJ to run while the main folder is shared between two Macs.

On the scheduling Mac, open the preferences to the Global pane and find the item RemoteiTunesMac and set it so it has the information for your remote Mac in the format like this:

self

Quit DJ and relaunch. Radiologik DJ on this computer will now use the folder ~/Library/Radiologik Local/ and that will then eliminate the potential for conflicts with two copies of Radiologik DJ accessing the same folder.



5. Preparing Scheduler preferences for DJ on separate Mac
To prevent Scheduler from attempting to launch DJ on the same Mac as Scheduler is running, in the preferences for Scheduler, turn off the option "Make sure DJ is always running". That will prevent Scheduler from attempting to launch DJ anytime it finds it is not running.

Also, normally Scheduler wants to make sure DJ is running before scheduling to check the queue. To prevent Scheduler from launching DJ locally when scheduling, on the Scheduler Mac, quit Radiologik Scheduler, open the file ~/Library/Preferences/Radiologik/Radiologik Scheduler Preferences in TextEdit. Find the line

RemoteDJ=false

and change it to

RemoteDJ=true

Then run Radiologik Scheduler again.



6. Other split DJ and Scheduler/iTunes considerations


Global Settings/Preferences
TopDisplayFormat
CustomXMLLocation
LibraryPathReplace
RemoteiTunesMac
AutoRefreshMenus
NicecastTrackTitlesOverride
ManuallySaveTrackProperties
NicecastPublishingOrder
OverlappingTimeAnnouncements
OverlappingOutros
BetterButSlowerLibraryOrder
MarkUsingPersistentID
PlayPodcastIniTunesToMark
MarkScriptToClipboard
ResetPitchWhenAuto
TimeOffset
UseTimeOffsetForTextCommand
PublishingRegExMask
NoPlayChangeScriptForDefaultPub
OnlyShowPlaylistWithRegExMatch
KeepSchedulerOpen
ShowErrorNotifications
DisableAppToFront
DisableScrollWheelVolume
ResetLineInMinutes
SubscribeToBetas




TopDisplayFormat

Default is <a> - <t> - <l>. This is to customize the format of what is displayed at the top of the Radiologik DJ window for Now:, Just heard:, and Before that:. Use the following tags and any constants to define what is displayed.

<t> = title
<a> = artist
<l> = album
<c> = comment
<grp> = grouping
<g> = genre
<comp> = composer
<p> = publisher
<i> = ISRC
<y> = year
<r> = rating (as stars)
<pl> = playlist



CustomXMLLocation (iTunes before macOS 10.15 Catalina only)

Normally Radiologik looks for the active iTunes library location. But in case you have multiple libraries and you want to Radiologik to read from a different library than what is active, you can set the path to the folder which contains the xml file.

Open the preferences to the Global pane and find the item CustomXMLLocation. Click the field to the right to get an open dialog to select the XML file location. eg. "/Volumes/Storage/Storage/Music/iTunes/iTunes Library.xml"
Note: Marking tracks played will still be done through the active iTunes Library unless this is a remote Mac in which case you canuse RemoteiTunesMac below.



LibraryPathReplace (iTunes before macOS 10.15 Catalina only)

To have Radiologik get the iTunes XML paths corrected so it can import playlists, import into DJ's Library, and receive corrected paths from Scheduler, open the preferences to the Global pane. Look for the item LibraryPathReplace
The value is in the form of: [searchterm][space][replace term]

For example, to get
file://localhost/Users/admin/Music/iTunes/iTunes%20Music/Bizet/Carmen.mp3

to properly be
file://localhost/Volumes/admin/Music/iTunes/iTunes%20Music/Bizet/Carmen.mp3

use the following value:
/Users/admin /Volumes/admin

Now you can successfully import your iTunes library into Radiologik DJ's library using the "iTunes Library" button.



RemoteiTunesMac (iTunes before macOS 10.15 Catalina only)
In a setup with iTunes on a different Mac, DJ needs information about how to mark tracks played in iTunes on this remote Mac. We can do this with Remote Apple Events.

1. On the remote Mac, open System Preferences, click Sharing, then turn on Remote Apple Events. Set access as you see fit. Restart this Mac to get this working properly.

2. On the DJ Mac in Radiologik DJ, open the preferences to the Global pane. Find the item RemoteiTunesMac and set it so it has the information for your remote Mac in the format like this:

[username]:[password]@[computerIPname]
eg.admin:pass123@LibraryMacMini.local

Radiologik DJ on one Mac should now marks songs as played in iTunes on the remote Mac.



AutoRefreshMenus

Default is on. You may need to disable auto refresh of menus for conditions where several hundred playlists in iTunes are hurting DJ performance when changing applications.



NicecastTrackTitlesOverride
Default is on. With this on, Radiologik saves the artist, title and album to ~/Library/Application Support/Nicecast/NowPlaying.txt. Use this to get track information to Nicecast when Radiologik DJ is not the direct application source.



ManuallySaveTrackProperties
Default is off. Setting this option to true allows Tracks to hold Track properties temporarily until you press the Save button in the Track Properties window. This option also allows Track Properties that are not saved in the file to remain with program and spot files as well as the saved queue.



NicecastPublishingOrder

Default is artist-album-title. You can adjust the order in which artist, title, and album metadata are presented in a stream from Audio Hijack or Nicecast. Use the terms artist, title, and album separated only by -. Default is artist-album-title but you could make it title-artist-album for instance.
 


OverlappingTimeAnnouncements
Default is off. Normally Time Announcements are very short and an overlap is not desirable. But perhaps in some cases you've made very customized time announcements that are longer that you want them to overlap. Turning this option on will allow Time Announcement files to use either the overlap value saved in them via track properties editing or as set by Track Prep



OverlappingOutros
Default is off. This option is provided to keep the old behavior of having outros overlap. Since combos were introduced, it was necessary to have outros not have too much trailing silence in order to naturally combine with an intro to make a combo.



BetterButSlowerLibraryOrde
r
Default is on. With this option on, when you sort by a column subsorting by other columns is done. Sometimes with very large libraries, this can slow performance. Turning this option off will make the sort only by the column sorted.



MarkUsingPersistentID
Default is on. If MarkUsingPersistentID is on, Persistent ID is use to mark track played in Music/iTunes, otherwise artist, title, and album are used.



(iTunes before macOS 10.15 Catalina only)PlayPodcastIniTunesToMark
Default is off. If PlayPodcastIniTunesToMark is on, when a track with a genre of "Podcast" is played, when the track is marked played in iTunes, so long as iTunes is not currently playing, this will simulate actually playing the track in iTunes, doing so silently for the first few seconds, advancing to 10 seconds from the end, letting the track finish, and then restoring the last found iTunes volume level. With this setting on or off, iTunes is also quit and relaunched after marking a track played that has the genre of "Podcast" if nothing is playing in iTunes to further convince iTunes that we really are playing these podcast tracks and that iTunes should not unsubscribe us.



MarkScriptToClipboard
Default is off. For troubleshooting marking tracks as played in Music/iTunes, if iMarkScriptToClipboard is on, the marking AppleScript will be copied to the clipboard when it is executed.



RestartSilentPlayers
Default is on. Only applicable to ML versions after 2016.2.1. With this on, if a player is playing with no meter activity for 15 seconds with more than 30 seconds remaining for the track, the player will be paused and restarted to try to rectify the problem.



ResetPitchWhenAuto
Default is on. When this is off, the rate adjustment you make to the top 3 players is kept even when Auto is on.



TimeOffset
Default is 0. Range is -300 to 300 seconds or 5 minutes behind to 5 minutes ahead. This offsets all of Radiologik's time calculations for special uses such as stations with a delay or for internet streams with a known buffer delay.



UseTimeOffsetForTextCommand
Default is on. Determines whether or not to use the TimeOffset preference for the text commands on the Publishing pane of the Settings/Preferences.



PublishingRegExMask
Use this to remove content from the published titles, artists or albums. An example is to remove the parenthesis content of a title such as "Song (feat. Singer)" to make it just "Song". This uses RegEx to establish the pattern. In this case" \(.*\)" without the quotes. To remove both parenthesis and bracketed content, you can use "[\(\[].*[\)\]]" without the quotes. For reference and live testing of RegEx, visit: "http://regexpal.com



NoPlayChangeScriptForDefaultPub
Default is off. With this on the DJEvent-NowPlayingChanged script will not fire when default publishing is used.



OnlyShowPlaylistWithRegExMatch

Set this to a regular expression search term to only show playlists that get a match
e.g. OnlyShowPlaylistWithRegExMatch=radio only shows playlist with "radio" in them
e.g. OnlyShowPlaylistWithRegExMatch=[A-Z] only shows playlists with at least one capital letter
See http://regexpal.com for reference



KeepSchedulerOpen
Default is off. If Scheduler needs to be running all the time for your station, you can ensure that it is kept open in case someone quit it or for some reason it crashed.



ShowErrorNotifications
Default is on. With this on, any errors that DJ logs to to Error.log are presented in a popup window.



DisableAppToFront
Default is off. With this on, Radiologik DJ will not be made the frontmost app with Auto off at the last 20 seconds of a track.



DisableScrollWheelVolume
Default is off. With this on, scrolling with mouse wheel or trackpad will not adjust the volume of players or the palette volume.



ResetLineInMinutes
Default is 0. While Line In is on, this will periodically reset the Line In, effectively turning it off and on quickly. This is to mitigate any intermittent issues with audio devices



SubscribeToBetas
Default is off. Turn this on to have the update checks get beta versions as well as final versions. It is advisable to only run betas if you are willing to test new features. You should not leave this on all the time particularly for critical operation stations.


Multiple Instances
It is possible to run more than one copy of Radiologik DJ and Scheduler and have those copies use their own set of Radiologik folders. To do this, make a copy of the Radiologik DJ and/or Scheduler application(s) and add a -- and something to the name of the application such as "Radiologik DJ--Jazz" and/or "Radiologik Scheduler--Jazz". Then these copies will use folders "Radiologik--Jazz" in the Music, Logs, and Preferences folders. When launched, they will also show the appended name in their respective title bars. With multiple audio outputs it is then possible to run more than one channel/station on the same Mac. All of the Radiologik application instances will still share the same one Music/iTunes.

When updating to a new version via the built-in version updater, the altered application name for each instance is kept.
Radiologik File Locations
Files for Radiologik are stored in the following locations where ~/ indicates your home directory:
~/Music/Radiologik/
~/Library/Logs/Radiologik/
~/Library/Preferences/Radiologik/
~/Library/Application Support/Radiologik/Backups/


Settings/Preferences
~/Library/Preferences/Radiologik/
Database & Saved States
~/Music/Radiologik/
Scheduler Programs
~/Music/Radiologik/Schedule/
Time Announcements
~/Music/Radiologik/Time Announce/
~/Music/Radiologik/DJ Voices/[DJ Name]/Time Announce/
Voiceover intros
~/Music/Radiologik/Intros/
~/Music/Radiologik/DJ Voices/[DJ Name]/Intros/
Voiceover outros
~/Music/Radiologik/Outros/
~/Music/Radiologik/DJ Voices/[DJ Name]/Outros/
DJ Program Files
~/Music/Radiologik/Programs/
AppleScripts
~/Music/Radiologik/Scripts/
Logs
~/Library/Logs/Radiologik/
Recent/Upcoming HTML
~/Music/Radiologik/Web/
Scheduler Backups
~/Library/Application Support/Radiologik/Backups/
Log Format
A new play log file is created for each day and stored in ~/Logs/Radiologik/Play Logs/. These logs can be viewed in Radiologik Scheduler in Log--Browse All--Play Logs. There's one log file per day organized in year folders. Each line in a log file is a track played. You can change the log format by editing the file ~/Music/Radiologik/Log File Format in a text editor. There are also some extra fields defined there for comment, grouping, year, genre, and persistent id as well as different options for the duration format. By default, fields are separated by tabs and are in this order:
  1. <date> & <time>
  2. <artist>
  3. <title>
  4. <album>
  5. <composer>
  6. <filepath>
  7. <duation> in M:SS.# format
  8. <isrc>
  9. <publisher>
Additional loging options:
Version Notes
Version notes
Legal

You can make copies of this software and distribute them as long as the software is not modified in any way and the registration information does not accompany the software.

You may not sell copies of this software. You may not rent, lease, or distribute this software as part of a collection without the permission of the author. You may not decompile, disassemble, reverse engineer, copy, or create a derivative work from this software.

You are permitted to make a backup copy of this software. You may make archival copies of the software for each License obtained under this Agreement. You may make copies of the written documentation which accompanies the software in support of your authorized use of the software.

Limited Warranty/Limitation of Liability:

This software is licensed as is with the removal of registration reminders. This software allows you to "try before you buy" and I operate on the understanding that you are satisfied with the software before you purchase a registration.

This warranty is in lieu of any other warranties, express or implied, including the implied warranties of merchantability and fitness for a particular purpose. In no event will the author be liable to you for damages, including any loss of profits, lost savings, or other incidental or consequential damages arising out of your use of or inability to use the software.

Customer Support:

I will attempt to answer technical support requests from registered users, but this service is offered on a reasonable efforts basis only, and I may not be able to resolve every support request. I can support the software only if it is used under conditions and on operating systems for which it is designed.

General:

If any provision of this Agreement is found to be unlawful, void, or unenforceable, then that provision shall be severed from this Agreement and will not affect the validity and enforceability of any of the remaining provisions. This Agreement shall be governed by the laws of the State of Illinois.