Hidden Features


Nicecast has a few features which can be a bit difficult to find. Read this over for details on some of the lesser-known features of Nicecast.

Transmitting Hidden Applications
Nicecast can transmit audio from faceless applications, but they don't show up in the ordinary Source Application selector menu. To view these hidden applications, hold down the option key as you press the Select menu in the Source drawer.

Password Protection New in version 1.8, you can now optionally password-protect your stream. When this option is turned on, listeners will need to use the name and password you set to tune in to the stream. To password-protect your stream, see the Built-In Server tab of the Server window.

Kicking Listeners New in version 1.8, you can now optionally kick listeners. If you wish to remove a listener from your stream, see the Listeners tab of the Server window. Highlight the user in the Listeners table, then click the Kick Listener... button.

Debugging

The Debugging dialog can be accessed by holding down the option key as Nicecast launches. If a problem occurs, these debugging options may help show what's wrong.

Other Features

Manual Track Titles

Nicecast automatically reads track information from iTunes, Audion, MacAmp Lite X, MegaSeg, and Ask The DJ. Nicecast can also optionally read track titles manually from a file. This file should be located in ~/Library/Application Support/Nicecast/NowPlaying.txt and follow this format:

Title: Last Battle
Artist: Satou Naoki
Album: X TV OST 1
Time: 04:59

All fields are optional, or 'N/A' if not available. The refresh rate is every 15 seconds.

Icecast's Web Interface: Icecast's web interface can be accessed locally by loading http://127.0.0.1:8000/admin/ in your web browser. Before you do this, you'll need to set the password for your server in Nicecast's Preferences. Then, login with username: admin and the password that you set. You can also access this page remotely, using your server's IP.

Hidden Preferences


In the name of simplicity, not all of Nicecast's preferences are accessible from within the application. Some prefs can only be accessed through the "defaults" system in the Terminal or by editing the preferences file (~/Library/Preferences/com.rogueamoeba.Nicecast.plist) by hand.

disableAutomaticPortMapping: This preference will disable or enable UPnP and NAT-PMP support in Nicecast. This is on by default, and should generally be left on.

This example command for the Terminal sets disableAutomaticPortMapping to Yes:
defaults write com.rogueamoeba.Nicecast disableAutomaticPortMapping Yes

trackTitleRefreshRate: Sets the rate at which Nicecast polls the source application for new track title data, the default is 5 seconds. This should rarely have to be changed, and entering too low of a value will slow performance.

This example command for the Terminal sets trackTitleRefreshRate to 1:
defaults write com.rogueamoeba.Nicecast trackTitleRefreshRate 1

statsRefreshRate: Sets the rate at which Nicecast reads listener/statistics data for the Built-In Server. The default is 5 seconds. As above, this should rarely have to be changed, and entering too low of a value will slow performance.

This example command for the Terminal sets statsRefreshRate to 1:
defaults write com.rogueamoeba.Nicecast statsRefreshRate 1

alwaysSendTrackTitles: This option is for broadcasters using an external Shoutcast server on the local machine. By default, Nicecast won't send track titles to this setup, because it can cause crashes. Turning this option on will force Nicecast to send those track titles, come what may.

This example command for the Terminal sets alwaysSendTrackTitles to Yes:
defaults write com.rogueamoeba.Nicecast alwaysSendTrackTitles Yes

retryTimeIntervals: This preference controls the connection retry attempts, for Nicecast connecting to the server specified in the Servers window.

The example command below for the Terminal will cause Nicecast to attempt to once a second. This is not recommended unless you know it's needed, as it can overwhelm a server.
defaults write com.rogueamoeba.Nicecast "retryTimeIntervals" '(1)'

The example command below for the Terminal will cause Nicecast to attempt to reconnect after 10 seconds. If that fails, it will try again 20 seconds later, and if that fails it will try in 30 seconds. After the third attempt it will continue trying to connect every 30 seconds thereafter.
defaults write com.rogueamoeba.Nicecast "retryTimeIntervals" '(10, 20, 30)'

To reset to the default (which is 1,1,10,10,20,20,60), enter do:
defaults delete com.rogueamoeba.Nicecast retryTimeIntervals