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 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 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 must be located in your Home folder (~), 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
Note that if this file exists, Nicecast will read from it, overriding any other titles. If you wish to pull titles directly from your source application, be sure to remove the NowPlaying.txt file.
All fields are optional, or 'N/A' if not available, and the refresh rate for this file is 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
dontDeleteOldLogs: This preference can be used to make Nicecast leave it's old icecast log files untouched between launches.
This example command for the Terminal sets dontDeleteOldLogs to Yes:
defaults write com.rogueamoeba.Nicecast dontDeleteOldLogs 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
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
registrationObscured: This preference controls the visibility of the registraion code in the Registration window. If you're in a group environment, you may wish to obscure this code to prevent theft.
The example command below for the Terminal will cause the code to be obscured in the Registration window.
defaults write com.rogueamoeba.Nicecast registrationObscured YES
trackTitleCFStringEncoding: This preference enables the track title string encoding to be adjusted. If your listeners' clients use a non-English string encoding for displaying track titles, this setting will enable you to match with them. A list of valid encoding types can be found in: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/ Headers/CFStringEncodingExt.h
The example command below for the Terminal will change the string encoding to ShiftJIS:
defaults write com.rogueamoeba.Nicecast trackTitleCFStringEncoding 2561
broadcastIsPublic: This preference toggles the public visibility of your server. By default, streams are all public, but you may wish to hide them from any trackers. To do that, use the command below.
The example command below for the Terminal will make the stream private:
defaults write com.rogueamoeba.Nicecast broadcastIsPublic -bool NO