Developed by Jay Lichtenauer
© 2007-2017 MacinMind Software
Radiologik DJ Manual
Program Icon
Radio Automation and Live Assist Player
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:

Online video overview and tutorials:

Questions, bug reports, and feature suggestions can be emailed to
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 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, 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.

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

iTunes Library import button
One of the fastest ways to get music into the Library is to use the "Import from 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 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 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.

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

Radiologik Scheduler
Used for full automation, the scheduler will select tracks from 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 [1 & 2] is a queue of songs that play in the 1st and 2nd players, automatically alternating between the two. 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 to match the line numbers 1-9 and then use the 1-9 numeric keys to select them while on any tab.

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. You can select multiple tracks delete or program using the shift or command (Apple) keys. For Mac OS X 10.4 and up the Search field is a live search and probably faster than iTunes' search.

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

Radiologik DJ will update play count and last played date in 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 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 iTunes over a button to load it to that button. There are 19 sets and 20 buttons per set. 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.
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 iTunes for a very professional radio segue sound for most songs and other tracks. 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. You can also use iVolume to set the loudness levels which might be easier than doing normalization of all of your tracks. See below.
  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)
If you cannot open the track in an audio editor such as above because it is perhaps an iTunes protected song, 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.


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.

Endnote & BPM
The Endnote field can be used to store 4 characters which will then be displayed in the upper portion of the player. The Endnote is the clue to the DJ as to how the track will end. 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 endnote "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
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 or pauses the player. The third button "Fade" operates as a fade and finish. 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

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 from multiple channel devices on devices such as the M-Audio Firewire 410, the MOTU Ultralight, or most any USB or Firewire multichannel audio interface. 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

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 2.2 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 the Advanced preference ResetPitchWhenAuto to false

By the default colors in 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's ducking volume which you can determine in the preferences. If overlapping, when player 3 finishes, player 1 or 2 fades-up by the time value also set in the Preferences.

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 or use the Endnote bed in the track properties, that track will be a music bed and play at ducked volume until a few seconds at then end when it will fade up and end or fade up and fade down.

If the music bed track is longer than the voiceover, it will be adjusted to fit the voiceover.

If the music bed track is shorter than the voiceover, it will start partway into the voiceover so that it ends just a few seconds 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 preferences to set which devices are used. There is also the option on the General pane of the 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. The track will play at the specified time regardless of everything else. If nothing is playing, it will 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 the program queue runs out before the interrupt time, the track will not be played until the scheduled 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.

And each program track can also be set to run an AppleScript from the ~/Music/Radiologik/Scripts/ folder. See AppleScripting.
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.
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
You can open preferences from the Radiologik menu.

Preference Sets
All settings in preferences can be kept in different 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.

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.


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 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 preferences.

Register played tracks with iTunes when logging the player output will increment the play count and update the last played date in 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.

Preferences -

The next three tabs allow you to set keyboard shortcuts, MIDI controllers, and interface appearance.

You can publish to iChat/Messages, Growl, Web, Twitter,, TuneIn, and RDS. What is published shows in the top of the Radiologik DJ window.

Top of Player

When nothing is playing you can set that text to be your station name and you can have it be different for different programs by setting different text for different preference sets.

RDS is designed to work with RDS encoders that support either serial or TCP connections such as those from Audemat but it should work with most RDS hardware. You will need to consult the RDS manual for the correct syntax for commands.
Adjusting Loudness with iVolume
iVolume is basically an enhanced loudness equalizer similar to iTunes Sound Check but much better. Radiologik can use these gain values stored in any file that contains tags such as .mp3 and m4a files. It allows you to adjust on a per-song basis or by entire album. You can tell Radiologik DJ to use these values by checking the "Use iVolume/iTunes Sound Check loudness adjustment" on the Audio tab of the preferences.
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.


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

Other Interface Parts
> The TOTH area is Top of the Hour and displays time in relation to the top of the hour.

Top of the Hour ID

If you set a TimeOffset in Preferences-->Advanced, your air-time with the delay is shown.
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 Example starts Nicecast broadcast

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 iTunes playlist
DJEvent-ProgramQueueEmptyIn30Seconds Example loads 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 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.
Recording & Internet Broadcasting
Rogue Amoeba's Nicecast allows you to broadcast your station to the internet via streaming mp3.


Nicecast will capture the audio from Radiologik. To use the microphone, try Nicecast's voiceover plugin.

If you have the source for Nicecast set to Radiologik then it is okay to have Preferences-->Advanced-->NicecastTrackTitleOverride can be on or off. If off it writes to ~/Documents/Radiologik/NowPlaying.txt

If you have another source such as a device, you need Preferences-->Advanced-->NicecastTrackTitleOverride on.

With NicecastTrackTitlesOverride, Radiologik DJ updates the file:
~/Library/Application Support/Nicecast/NowPlaying.txt
You should check that this file is there and see if it has the correct metadata in it. If on 10.7 or higher, you can get into that Library folder by holding the option key while selecting "Library" from the Go menu in the Finder.

You should see the titles published in the top of Radiologik DJ. If not, make sure Publish is on for the output you are using in Preferences-->Audio I/O. Also make sure any Publishing Exceptions are not preventing the titles from being published in Window menu-->Publishing Exceptions.

Rogue Amoeba also sells Audio Hijack Pro which you can use to live record a show you do in Radiologik to later publish as a podcast. Both Audio HiJack Pro and Nicecast allow you to apply audio effects and processing to audio playing in Radiologik DJ.

LadioCast can encode ogg-vorbis, AAC, and AAC-HE (AAC+) and stream to an icecast server but it doesn't contain it's own icecast server like Nicecast. So you either need an icecast provider or you need to download 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.

Install Soundflower (free) and have DJ send out on Soundflower 2ch. Then use Soundflower 2ch as the audio device for DJ's output and for LadioCast's input. You can even use Nicecast simultaneously by using Soundflower 2ch as the input audio device.

To get metadata to LadioCast use the ~/Music/Radiologik/Scripts/DJEvent-NowPlayingChanged file with this as the script:
   set theFile to ("/Users/[usernamehere]/Music/Radiologik/Web/LadioCast")
   set theText to (do shell script "iconv -t UTF8 " & theFile)
   tell application "LadioCast" to set metadata song to theText
end try
Make sure to correct the path above to have your username correct.

In TextEdit, make a text file and save it to ~/Music/Radiologik/Web/Templates/LadioCast. Make the text of that text file:
<rl-artist> - <rl-title>

DJ will read the template and output that actual artist and title to ~/Music/Radiologik/Web/LadioCast which the AppleScript reads and sends to LadioCast.

If you do need effects like Nicecast, then you can run a pair of Soundflower channels through Audio HiJack Pro and setup the effect there. Then have Audio HiJack output to a different set of channels. For instance

DJ output Soundflower 64ch left 3, right 4.
Audio HiJack input Soundflower 64ch 3 and 4
Audio HiJack output Soundflower 64ch 1 and 2
LadioCast input Soundflower 64ch 1 and 2
Nicecast input audio device Soundflower 64ch 1 and 2.

Another option that might be better for later macOS versions is to use Loopback in place of Soundflower and AULab in place of Audio HiJack.

BUTT (Broadcast Using This Tool)
BUTT is a free mp3 and ogg-vorbis stream encoder which also doesn't have an icecast server but you can use it to send to one or shoutcast. To get audio to from DJ to BUTT, use Soundflower (free)

BUTT can get its meta data from a text file for which you specify the location in BUTT's interface. For this you can make a text file in ~/Music/Radiologik/Web/Templates/BUTT and add the text:
<rl-artist> - <rl-title>
 or whatever metadata replacement tags or literal text you want to that text file and save. Then point BUTT to the file ~/Music/Radiologik/Web/BUTT
BUTT meta
To get audio from DJ to another applications such as Ladiocast, BUTT, or Nicecast, install Soundflower (free) or perhaps a newer version of it here and have DJ send out on Soundflower 2ch. Then use Soundflower 2ch as the audio device for DJ's on-air output and as the source audio for that application that is capturing the audio BUTT and Ladiocast don't play the audio they capture through Soundflower so you need to use Soundflowerbed to route a copy of the audio to a real output. Soundflowerbed is installed with Soundflower and when launched will be a system-wide menu where you can select a real output for your audio:


For later macOS versions, a very good alternative to Soundflower is Loopback.
Internet Station Audio Chain Setup Examples
With Mixer (ideal)
Audio Chain 1
  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 Nicecast, Ladiocast or BUTT to use audio input of the Mac as source
  5. Now you can control your audio levels for player and mic with the mixer
Without Mixer
  1. Install Soundflower or newer here and restart
  2. Set Nicecast (Audio Device), Ladiocast or BUTT to use audio input Soundflower 2ch
  3. Run Radiologik DJ's Preferences-->Audio on-air output to Soundflower 2ch
  4. Set Line In to your Mic's audio input
  5. Set Line Out to Soundflower 2ch
  6. You can use the Line In button in DJ to turn your Mic on and off
For both cases when using Nicecast, make sure Preferences-->Advanced-->NicecastTrackTitleOverride is on.
U.S. Streaming Royalties

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

File Publishing
With the checkbox Web on in Preferences-->Publishing, 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.

Use these tags in your plain text file:

<rl-path>, the POSIX path to the audio file playing
<rl-duration>, in total seconds taking start and end trims into consideration
<rl-starttime>, the time the track started in YYYY-MM-DD HH:MM:SS
<rl-persistentid>, the 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-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 Preferences-->Advanced. 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.

You can 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 --user username:password"

TCP/UDP & Serial
Use TCP/UDP & Serial in Preferences-->Publishing to setup outputs to serial devices, TCP or UDP devices such as RDS or software such as streaming software on another computer. Use the text command line there and use the following replacement tags in that command text to send metadata and other information. The following tags are available:

<t> = title
<a> = artist
<l> = album
<c> = comment
<grp> = grouping
<g> = genre
<comp> = composer
<p> = publisher
<i> = ISRC
<y> = year
<s> or <d> = duration in seconds
<s-XX> = duration in seconds subtracting XX. eg. <s-05> or <s-20> subtracts 5 or 20 seconds
<dms> = duration in milliseconds (1/1000th of a second) in 12-digit format.
<ms> = duration in MM:SS format
<hms> = duration in HH:MM:SS format
\r or |r = carriage return
\n or |n = line feed
|| = carriage return terminated new line with 250ms delay, serial and TCP only

Custom Publish URL
In the Preferences-->Advanced for CustomPublishURL you can supply a url that can be used to send track info to a server via http or https. CustomPublishURL uses the same replacement tags as TCP/UDP & Serial publishing defined above with the exception of line endings.

e.g. for SAM caster:

e.g. for Icecast 2.3.3-kh9:
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 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.

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 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.

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 Twitter, TuneIn, or, 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. The solution is to connect a mini DisplayPort-VGA adapter with an 85ohm resistor connecting pins 1 & 6 to make this mini think it has a display attached. See blog post here.

Rebuild iTunes database needed
The symptom is a pause a couple seconds after starting each track. To test if this is the cause, turn off this option: Preferences-->Audio I/O-->Register Tracks Played with iTunes…". If this fixes the problem then try rebuilding the iTunes database
No important information should be lost in this such as last played, playcounts, ratings, etc.
Then turn the preference back on to see if the issue is fixed.

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 Preferences, Appearance
If you don't use the files published to ~/Music/Radiologik/Web, turn off Web in Preferences, Publishing

DJ & Scheduler seeing out-of-date tracks and playlists from iTunes
iTunes 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 preferences and turn on "Make sure DJ is always running".
  2. Open Terminal and enter "defaults write DialogType server" without quotes and return. This will keep crash reports from showing while still logging them to Console.
iTunes Updates
Particularly true with older versions of iTunes, don't let iTunes do automatic checks for updates. It leaves a dialog up that prevents Radiologik from communicating with iTunes. This option is at the bottom of the iTunes preferences window on the General pane.

iTunes Last Played
Radiologik DJ will mark tracks played in iTunes under these conditions:
  1. In Preferences-->Audio I/O, ensure Log is checked for the output you use for broadcasting.
  2. In Preferences-->Audio I/O, ensure Register played tracks with iTunes when logging the player output is checked.
  3. Make sure the Artist, Title, and Album that Radiologik DJ shows in the queue is the same as in iTunes. If not, you may need to edit the tags in iTunes to coerce it to resave them properly
Maintenance and search and replace AppleScripts for iTunes are available at Doug's AppleScripts for 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.

Radiologik keeps logs in ~/Library/Logs/Radiologik/ which you can easily access through Console. 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
Radiologik is most reliable if Scheduler, DJ and iTunes are all run on the same Mac. However it is possible 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:
~/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.

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 Advanced pane. Look for the item LibraryPathReplace

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

For example, to get


to properly be


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 Advanced pane. Find the item RemoteiTunesMac and set it so it has the information for your remote Mac in the format like this:


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 Advanced pane and find the item RemoteiTunesMac and set it so it has the information for your remote Mac in the format like this:


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


and change it to


Then run Radiologik Scheduler again.

6. Other split DJ and Scheduler/iTunes considerations

Advanced Preferences


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 Advanced pane and find the itemCustomiTunesXMLLocation." 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.


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 Advanced pane. Look for the item LibraryPathReplace
The value is in the form of: [searchterm][space][replace term]

For example, to get

to properly be

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.

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 Advanced pane. Find the item RemoteiTunesMac and set it so it has the information for your remote Mac in the format like this:


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


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.

Open the preferences to the Advanced pane and find the item AutoRefreshMenusand check the box to your preference.

By default, Radiologik saves the artist and track information to ~/Library/Application Support/Nicecast/NowPlaying.txt. With this method, regardless of which source is used, Radiologik overrides what any other source might provide for this information. To make Radiologik only publish this information to Nicecast when Radiologik is the source, you'll need to first make sure you have version 1.9.7 of Nicecast and then change the option.

Open the preferences to the Advanced pane and find the item NicecastTrackTitlesOverride and check the box to your preference.

on location is ~/Library/Application Support/Nicecast/NowPlaying.txt (default)
off location is ~/Documents/Radiologik/NowPlaying.txt

Default is off. Setting this advanced 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.

Open the preferences to the Advanced pane and find the item ManuallySaveTrackProperites and check the box to your preference.


Default is artist-album-title. You can adjust the order in which artist, title, and album metadata are presented in a stream from 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.

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

Open the preferences to the Advanced pane and find the item OverlappingTimeAnnouncements and check the box to your preference.

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.

Open the preferences to the Advanced pane and find the itemOverlappingOutrosand check the box to your preference.

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.

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

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

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.

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

Default is 1 which is to tweet every. Use a higher number to tweet every 2nd, 3rd, or nth track.

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.

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

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:

Default is 200 but it can be set between 25 and 600 pixels

Default is 75. This controls the JPEG compression quality. Lower number will give lower quality with smaller sizes.

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

In the Preferences-->Advanced for CustomPublishURL you can supply a url that can be used to send track info to a server via http. Replacement tags that are supported are:
<t> = title, <a> = artist, <l> = album, <d> = duration in seconds, <dms> = duration in milliseconds 1/1000th of a second in 12-digit format.
e.g. for SAM caster: http://localhost:8181/?artist=<a>&title=<t>&songtype=S&duration=<dms>


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 for reference

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.

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

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.

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

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 iTunes. It is still only possible to run one Nicecast instance since it can only know one set of preferences at at time.

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:

Database & Saved States
Time Announcements
~/Music/Radiologik/Time Announce/
~/Music/Radiologik/DJ Voices/[DJ Name]/Time Announce/
Voiceover intros
~/Music/Radiologik/DJ Voices/[DJ Name]/Intros/
Voiceover outros
~/Music/Radiologik/DJ Voices/[DJ Name]/Outros/
DJ Program Files
Now Playing
~/Library/Application Support/Nicecast/NowPlaying.txt
Recent/Upcoming HTML

Log Format
A new play log file is created for each day and stored in ~/Logs/Radiologik/Play Logs/. Each line is a track played. By default, fields are separated by tabs and are in this order:
  1. Date & Time
  2. Artist
  3. Title
  4. Album
  5. Composer
  6. File path
  7. Duration in seconds
  8. ISRC code
  9. Publisher
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.
Version Notes
Version notes
Radiologik DJ is shareware. If you use it regularly, please register and pay the shareware fee.

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 shareware sampling package 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 shareware reminders. Shareware allows you to "try before you buy" and I operate on the understanding that you are satisfied with the software before you register.

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.


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.