RaopX

What is RaopX

RaopX is a Apple Airport Express client for Os X based on raop_play.

What is the main difference between RaopX and raop_play

The original raop_play lets you stream audio files to your Airport Express. RaopX streams any audio that comes in on the default input device of your Mac, and combined with the routing functionality of Soundflower this gives you the ability to stream audio from any application you’ve got on your Mac to the Airport Express.

Requirements

  • Xcode Developer Tools – Available from your Os X install DVD, or you can download it from Apple Developer Connection (Only needed if building from source)
  • libsamplerate (Secret Rabbit Code) – Get it here (Only needed if building from source)
  • Soundflower – Get it here


Install Instructions: Using the installer package

Only for Intel Macs running OS X 10.5 or newer

  • Download and install Soundflower – follow instructions
  • Enable Soundflower – Set ‘Soundflower (2ch)’ as default input and output device in System Preferences
  • Download and install RaopX – Download the RaopX Installer (dmg file) and follow instructions. Installs the RaopX executable and the libsamplerate library into /usr/local/bin and /usr/local/lib
  • Start RaopX – Open Terminal.app and enter RaopX at the prompt


Install Instructions: Building from source

  • Install Xcode Developer Tools – follow instructions
  • Download and install libsamplerate
  • tar zxvf libsamplerate-0.1.7.tar.gz
    cd libsamplerate-0.1.7
    ./configure
    make
    sudo make install
  • Install RaopX – One of two options
  • Option one: Download RaopX_v0.0.4.tar.gz
  • tar zxvf RaopX_v0.0.4.tar.gz
    cd RaopX_v0.0.4
    ./configure
    make
    sudo make install
  • Option Two: Download and unzip the Xcode project. Open project in Xcode and build it. Copy executable to e.g./usr/local/bin/
  • Download and install Soundflower – follow instructions
  • Enable Soundflower – Set ‘Soundflower (2ch)’ as default input and output device in System Preferences
  • Start RaopX – Open Terminal.app and enter RaopX at the prompt


Known Issues

  • 9 seconds delay because of buffering
  • No support for ‘iTunes Speaker Password’.
  • No Tv support
  • Consumes disk space while in use (/tmp/raopxtmpbuffer). Approximately 6-700MB per hour


I only get ‘Bus Error’, ‘Segmentation Fault’ or ‘Command not found’

Possible workaround: See if you can find the RaopX executable by running ‘ls -l /usr/local/bin’ (without the quotes). if you get permission denied, try with sudo. If the file is there, try moving it to e.g your home folder or the Applications directory and run it from there. (HowTo)


Downloads

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Uninstall Instructions

Open Terminal.app and cut and paste the following commands. One line at a time.

sudo rm /usr/local/bin/RaopX
sudo rm /usr/local/lib/libsamplerate.*
sudo rm /private/var/db/receipts/com.hersson.raopxVersion004.*

Why doesn’t my comment show up among the others

First of all: Thanks to everyone for taking the time try RaopX and especially to all of you posting comments, but as of today (22nd of November 2011), I will not approve and publish comments with questions answered several times before. There are now approximately 250 comments on this page, which makes it tedious to browse through for anyone looking for a solution to a problem. I’ll keep the comments open for anything new, but will not approve and publish anymore duplicates. It’s now a little over two years since I posted this, and I think all of the more common questions have been answered to some extent. Some only with a ‘I don’t know..’, but that has not changed. Lately there has been an increase in comments about how to uninstall, so I have just added a small section on how to do that. If you post a comment and it doesn’t show up. Please take the time to read through what is already here, or you can contact me on twitter. Also in regards to the ‘thank you’ comments, I really appreciate them, but for the reason mentioned I won’t publish anymore of them.

Thank you.

  • Twitter
  • Facebook
  • del.icio.us
  • Digg
  • Google Bookmarks
  • StumbleUpon
  • FriendFeed

264 thoughts on “RaopX

  1. Any way to stream to more than one AX ? When I start RaopX I get prompted to pick which but would be great if I could both like iTunes can. Perhaps I’m missing something obvious? Thanks.

  2. After moving the file using the sudo command, the executable is in the App folder- great.
    BUT, I receive this:

    RaopX 0.0.4

    Searching for RAOP capable devices
    ERR: exec_request: request failed, error 401
    logout

    What’S wrong??

    1. music on firefow brings the following message:

      RaopX 0.0.4

      Searching for RAOP capable devices
      ERR: exec_request: request failed
      logout

      1. I solved the issue! It was the password to access my HiFi. If I remove the password, it works fine! Great app, thank you.

  3. I’m running Shairport on seagate dockstar with debian squeeze. When trying to connect with my macbook pro I’ll get this error:

    ERR: error:get_tcp_nconnect addr=192.168.178.34, port=6000

    And on the server side I’ll get:

    Use of uninitialized value $dec_args{"tport"} in sprintf at ./shairport.pl line 650.
    Use of uninitialized value $dec_args{"cport"} in sprintf at ./shairport.pl line 650.
    Use of uninitialized value $dec_args{"dport"} in sprintf at ./shairport.pl line 650.
    bye!

    Here is the line from shairport.pl

     /^SETUP$/ && do {
                my $transport = $req->header('Transport');
                $transport =~ s/;control_port=(\d+)//;
                my $cport = $1;
                $transport =~ s/;timing_port=(\d+)//;
                my $tport = $1;
                $transport =~ s/;server_port=(\d+)//;
                my $dport = $1;
                $resp->header('Session', 'DEADBEEF');

                my %dec_args = (
                    iv      =>  unpack('H*', $conn->{aesiv}),
                    key     =>  unpack('H*', $conn->{aeskey}),
                    fmtp    => $conn->{fmtp},
                    cport   => $cport,
                    tport   => $tport,
                    dport   => $dport,
    #                host    => 'unused',

    Any suggestions? Would appreciate help.

  4. Thanks so much! I had to do some troubleshooting regarding the setup, but now it works like a charm! I’m uber chuffed. Thanks again!

  5. Silly question :(

    I dowloaded RaopX and tried it (it’s flawless, I loved it), but I now wanna go back to being able to use my old AE cpabilities (play iTunes thru my remote speakers and stuff) but I don’t seem to be able to neither stop RaopX nor uninstall it! Have I ruined my poor old MAc? I’m not much of a connoisseur so a fairly simple way to uninstall/stop RaopX would be so greatly appreciated!
    Thanks a bunch!
    Vic

    1. Hi Victor.

      If you have started RaopX in the normal way by opening a terminal and entering RaopX, hitting [ctrl] + c and then [enter], or just closing that terminal window should be enough to stop it.
      You could also open a second terminal window and enter: killall RaopX
      If you want to completely remove RaopX just delete the RaopX executable from /usr/local/bin and the libsamplerate* files from /usr/local/lib – there is a more detailed description among the comments here somewhere.

      I am sure your “poor old Mac” will be just fine :-)

      -Hersson-

  6. You have got to be kidding me! This is the most cryptic way of getting airplay to work I could not make heads or tails of it and i did not get anywhere near to getting it to work!

  7. Hi,

    I got the thing installed, and i appears to work in the terminal. My apple TV is found, and the stream starts. But I can’t hear anything. I changed soundflowerbed (2ch) to default in the sound and midi preferences for both output and input. Is this the correct place to change the settings?

    thanks!

    1. Hi,

      RaopX does not work with the Apple Tv.
      That’s why it says ‘No Tv support’ in the known issues section.

      -Hersson-

      1. aha. I see. When skimming through I thought that was a error that could occur.
        Thanks anyway!

        1. I agree I could have been more clear when writing that.
          The Tv uses a different encryption key, which I don’t have, and that’s why it doesn’t work.

  8. This is great! Thank you!

    One piece of feedback: I struggled to install Soundflower because after it said installation successful and I opened the program I still couldn’t see it as an output/input option under System Preferences > Sound. After a few attempts I finally tried reinstalling and that worked, so maybe that’s what the deal was. Might be helpful to point out that a reinstall is necessary though–I didn’t think it would be because most apps I download don’t require one.

    1. Yes, I think so, but please don’t take my word for it.
      Change it at make up your own mind.

      In raop_play.h change the BUFFER_SECONDS

  9. After following the instructions you posted to Greg I still cannot get it to work. Could you please just type the commands in for me so I can copy and paste them

    note this is what pops up first: faisal-mudaras-macbook-pro:~ Fizzi$

    1. Well, the commands are exactly the same as I posted to Greg:

      sudo mv /usr/local/bin/RaopX /Applications/RaopX

      /Applications/RaopX

      If it doesn’t work try and explain what happens.. do you see any error messages?

  10. Brilliant!! I can now play music DVDs on my kitchen stereo from my living room Mac Mini HTPC.

    Thanks ever so much, Hersson! It is simply wonderful to see excellent freeware still at large (20 years ago I used to share a free text converter (programmed in Turbo Pascal for Mac(!), this was back when my brain still worked …).

    If I may make one small suggestion: it took me a bit of time to figure out that “ERR: exec_request: request failed, error 401″ meant that my AE’s airplay password should be turned off for this to work. Perhaps this could be pointed out more clearly in the documentation, or even added to the error msg itself?

    Anyway, thanks again, you made my day!

    espen

    1. This error code occurs at my terminal all the time: get_tcp_nconnect addr=192.168.178.13, port=5000
      Have you ever experienced this? Would be great to hear from you!

      Greets ben

  11. Hi, first of all can I just say how great this freeware is!
    I noticed further down in the comments list somebody asked about the 9 second buffering and you gave them a solution to change it. I wonder if you could explain it in a few more steps for someone like me who isn’t great with this kind of thing.
    Thanks

    1. @davehallen

      If you download the source code I think you’ll understand. There is a file called raop_play.h, and in that file there is a line saying BUFFER_SECONDS 9, change that to your liking and recompile, and you’ve changed the size of the buffer accordingly… Still won’t make RaopX work any better though, and that was my point with the other comment, but as I said then.. please change it and make up your on mind.

      -Hersson

  12. Before RaopX I had an Airport Express for a year or so and couldn’t use it without music skipping, thanks for that. Now I want to move the cache file to another volume, how can I do that?

  13. I changed the BUFFER_SECONDS line in raop_play.h from 9 to 4 (in fact, I tried many values) but I think the buffer is still 9 seconds, even when Terminal shows this message

    Connected to es.local.
    Opening AudioQueue
    Building 4 seconds buffer. Please wait

    Any idea what may be happening? Cheers.

    1. The BUFFER_SECONDS changes the number of seconds recorded to the buffer file before starting playback.. all though I think the delay in the original raop_play is 9 seconds, and that’s why I seems like the change in this value has no effect. (Not entirely sure about this… it’s been a long time)

  14. Hi! Is the installer package working with Lion? Because according to several forums soundflower 1.5.2. doesn’t work with lion. Anyone tested it or has a solution? I know there is a 1.5.3. beta for lion but for me as a windows/mac switcher and therefore beginner it’s much too complicated.

  15. Hi, i’d like to know if sunflower works/can be installed on OS X Lion. For me i’d like to install RaopX but am blocked at this stage. Can’t set it as default input and output device in System Preferences just because i don’t see it…

    Tell me if i’m doing wrong and what i should do? Thanks!

  16. RaopX isn’t a device. It’s just a client which gets sound input from a device. Soundflower is nothing else then a device output=input device. Means: Install Sunflower, activate it and RaopX should stream that to your Airport.

    Btw, i’ve got the same issue with Shairport. Does not work for me. Even the same error, someonw else already mentioned.

Comments are closed.