View Full Version : AlienBBC and Mac installation instructions revised .

Daniel Cohen
2004-12-08, 15:04
With the additional work done by Michael and Adrian, and based on the
instructions in Jules' Web page, I can now give working instruction
for AlienBBC on the Mac.

For some peculiar reason, which I've not been able to diagnose, for
me I can only get AlienBBC to work if I run SlimServer from the
command line rather than from the preference pane. If I run from the
preference pane then there is a slot in the menu where AlienBBC
should be, but this contains no text, so I can't do anything. I have
the preference pane installed for me only. I can't (and Kevin hasn't
been able to suggest anything to solve the issue) see any reason why
there should be a difference between the two approaches.

WARNING. Some of the downloads can take quite a long time, even on
broadband, and the installation, though it's automated, may take a
very long time.

Step 1. Install the Developer Tools (on your installation CDs) and
X11 (also on the CDs with Panther. Looking at
http://www.apple.com/macosx/features/x11/download/, I don't think a
Jaguar version is available).

Step 2. Go to http://fink.sourceforge.net/ and follow the
instructions for downloading Fink. Fink provides a version for OS X
of many useful Unix programs.

The download and installation is mostly automated, but you will, I
think, have to answer various Yes/No questions during the process, so
you can't be away from your computer too much.

Fink comes with FinkCommander, a GUI for installation of software.

Step 3. Use FinkCommander to download and install the following:


In FinkCommander's preferences, under Commander you will probably
want to check "always choose default response to prompts", so that
installation can proceed without you being there.

The main FinkCommander window is divided into two parts. In the upper
part is a list of packages with descriptions. You may find others
that interest you, for instance anacron will take care of system
maintenance even if the computer is asleep at the scheduled time. To
install a package, click to select it, go to Binary in the menus and
use Install if available. If it is greyed out, go to Source in the
menus and select Install.

After that it all goes forward, with detailed information in the
lower half of the window. One of the reasons things can take a long
time is that each package may require some subsidiary packages
downloaded and installed also. Also, during the compilation phase
there may be no obvious activity going on.

Step 4. Download and decompress AlienBBC. You will get a folder
containing the file alienstream (which is no longer needed), a file
transcoder_proxy.pl, and a folder Plugins.

Step 5. Download and decompress


and put the mplayer anywhere convenient (for instance, put it in

Step 6. Download and decompress

The resulting folder contains lots of bundles, the only one you want
is cook.bundle. Create a folder /Library/Application

For the rest of the procedure, there are slight differences
depending on whether you have installed SlimServer for all users or
just for one user.

If you have installed it for all users, it will be in
/Library/PreferencePanes but if installed for only one it is in

Whichever Library it is in will also have a folder SlimDevices. If
this folder does not already have a subfolder labelled Plugins, move
(or copy, if you prefer) the Plugins folder of AlienBBC into the
SlimDevices folder. If a Plugins folder already exists move or copy
the contents of the AlienBBC Plugins folder (which will be a folder
named Alien) into the Plugins folder in SlimDevices.

Edit transcoder_proxy.pl according to the instructions in the next
step. Then Control-click on the SlimServer preference pane to get a
contextual menu, and choose "Show package contents". Open the
subfolder 'server' of Contents. Copy (option-drag), not move,
transcoder_proxy.pl into this folder.

Note. The reason for editing the file in its place and then copying
it rather than moving is that I think, though I am not sure, that an
upgrade of SlimServer will delete it from the contents of the new
version. If you have kept it, you can then copy it in again. By
contrast, the contents of SlimDevices doesn't get destroyed in an

Step 7. You now need to edit a couple of files using your favourite
text editor. There is an issue with line endings, as Unix ends its
lines with a Line Feed and Mac OS ends lines with a Carriage Return.
Your text editor needs to give you the choice. For editing, it is
simplest to first convert all line feeds to carriage returns (this is
the default preference in Tex-Edit-Plus, which I use. Other text
editors will have their own ways of doing this, perhaps from a Tools
menu item). This provides a more readable file than the original.
Edit the file, and VERY IMPORTANT convert the carriage returns back
into line feeds and save the file.

Edit transcoder_proxy.pl so that the first line reads
#!/usr/bin/perl -w

if you have installed SlimServer for all users,

and so that it reads
#!/usr/bin/perl -w

if you have installed it for one user only. Here, of course,
'yourusername' needs to be replaced by the actual user name.

Note. My contextual menu items includes "Copy path to clipboard", but
I'm not sure if this is an Apple item or a third-party item. If you
have this item, instead of typing in the path, you may simply want to
go to CPAN (as previously, control-click on the preference pane and
"Show package contents" to get to it), copy its path to the clipboard
and paste it into the text.

In the Config block of transcoder_proxy.pl, in the line beginning my
@encoder_search_paths add the location of lame and of mplayer. (Lame
is likely to be in /usr/local/bin/lame or else /sw/bin/lame.) Don't
forget " at beginning and end, and a comma separating two places if
you want to allow it to look at both places. If you can't see the
file (and /usr is invisible normally), just do Command-F, remembering
to look for visible and invisible files, to find out where it is.

The other bit of editing needed is to edit Plugin.pm (which is inside
SlimDevices/Plugins/Alien) so that the line beginning my $proxy_path
points to the actual path to transcoder_proxy.pl. It should be either

my $proxy_path =


my $proxy_path =

where, as before, 'yourusername' should be replaced by your actual
user name. Don't forget the semi-colon at the end of the line.

Notes. When AlienBBC is updated, you will need to edit the new
transcoder_proxy.pl, and put the new copy of Alien in the Plugins
folder and edit the new plugin.pm.
When SlimServer is updated, you will need to recopy
transcoder_proxy.pl from its original place into its place in the
preference pane.

Daniel Cohen