Under The Microscope

Real World Usage: Sending Audio From iOS to Multiple AirPlay Outputs

If you have an AirPlay output device or speaker, you’re likely aware that you can send audio to it from your iOS devices, using the built-in AirPlay support. However, iOS is limited to sending audio to a single output. Sending to multiple devices all around your house can be much more fun.

Airfoil IconThankfully, it’s possible to do just that with the help of our own app Airfoil. Over at Macworld, Chris Breen had detailed how to accomplish this. So if you’re looking to send audio from your iOS device out to more than one AirPlay device, check out the article, and download a free trial of Airfoil to test it out.

Another Chance to Beta Test

Since we gave a sneak peek at the future of audio capture, we’ve offered up two chances to get in on testing. However, even when testing slots weren’t open we’ve had plenty of interest, so we’re now bringing in another group of testers! If you’re interested, act quickly!

The short instructions: We need testers on Mac OS X 10.9 (Mavericks) to try out our newest Preview. If you’re already a fan of Audio Hijack Pro 2, we’d love to have you try out the forthcoming update before its release. Just send us an email with the following info:

  • Your Full Name

  • Your Existing Audio Hijack Pro License Key

  • Your Postal Code

Be sure to include all of the above information if you want to be selected!

Update (May 25th, 2014): And another beta opening has closed back up. Keep an eye on this blog and our Twitter account for more news.

And if you’re looking for more information, please give the previous post a read.

Major Updates for Airfoil and Airfoil Remote

Today we’ve got updates to our whole Airfoil line, including Airfoil for Windows, Airfoil for Mac, and Airfoil Remote on iOS. Read on for more details, or just update your copies to get the latest!

Airfoil Remote 4.0

Airfoil Remote IconThe biggest change in version 4 is that Airfoil Remote now works with Airfoil for Windows. Now you can control Airfoil running on your Windows machines, your Macs, or both! As well, thanks to some under-the-hood changes, Airfoil Remote now reflects changes in Airfoil and its sources more rapidly, along with correctly showing password-protected speakers.

In addition, we’ve updated the design of Airfoil Remote a bit, to better fit in on iOS 7.1 This is a free update if you already own Airfoil Remote, so just update via the App Store on your iOS 7 device. If you haven’t purchased Airfoil Remote yet, you can get more details here, and purchase via the App Store.

Airfoil for Windows 3.6

Airfoil for Windows IconAs you might guess, Airfoil for Windows needed an update to make it compatible with Airfoil Remote, and version 3.6 provides that compatibility. Now you can use Airfoil Remote to control Airfoil for Windows, as well as its supported sources. That list now includes Spotify, so if you want to see what’s playing and remotely control it while you transmit Spotify with Airfoil, you can!

We’ve also included an SDK in Airfoil for Windows, so third-party developers can add enhanced support with Airfoil to their audio applications. If you have a favorite audio player that’s not yet supported, point the developers to this blog post.

And Airfoil for Mac as Well

Airfoil for Mac IconAirfoil for Mac already worked well with Airfoil Remote, but we’ve got an updated version to improve compatibility. Now all supported sources will work with Airfoil Remote, just as you’d expect. We’ve also added support for two new apps, Vox and Ecoute, and fixed several other minor issues.

Get Them Now

These updates are all free for registered owners, so be sure to download them now. Choose “Check for Update” from within Airfoil for Mac and Airfoil for Windows, and visit the App Store on iOS to update Airfoil Remote.

If you don’t yet own Airfoil, you can download a free trial for Mac or Windows then purchase through our online store. Airfoil Remote is a great iOS companion to either version of Airfoil, and is available right in the App Store on your iOS device.


Footnotes:

  1. Please note that Airfoil Remote 4.0 requires iOS 7. If you’re on iOS 5 or 6, you’ll still be able to buy and use Airfoil Remote 3.0, through the App Store.

Developer Note: Integrating with Airfoil for Windows

For some time now, Airfoil has offered an enhanced experience when transmitting audio from supported audio sources. That enhanced experience meant that Airfoil pulled in metadata like song titles, artist names, and album artwork, then passed it back out to Airfoil Speakers and other AirPlay devices that support it.

Metadata in Airfoil Speakers
Metadata in Airfoil Speakers

It also allowed remote control of the supported audio sources, meaning playback in the audio source could be affected remotely from across the network. When a supported application is transmitted by Airfoil, buttons for play, previous track, and next track will be shown in Airfoil Speakers and Airfoil Remote. Any other AirPlay device that offers controls will be able to remotely control playback as well.

Playback Controls in Airfoil Speakers
Remote control buttons in Airfoil Speakers

However, while the Mac side has offered support for over a dozen audio sources, until now only iTunes was supported on the Windows side.

Version 3.6 of Airfoil for Windows brought two big improvements in this arena. First, we’ve added support for Spotify, our most frequently requested source. Second, and more importantly for developers, we’ve released an SDK to help the makers of audio applications better integrate with Airfoil. If you make any kind of media playing application for Windows, this post is for you. With just a few minutes of work, you can get your application to integrate with Airfoil for Windows and Airfoil Speakers, so your users can see what’s playing and control playback as well.

How It Works

Just like with Airfoil for Mac, we’ve created an easy way for developers of Windows audio applications to be able to provide this functionality to Airfoil for Windows.

In brief, the process works like this:

1. When Airfoil for Windows starts intercepting audio from an application, it will look for a named pipe called:

\\.\pipe\{process id}_airfoil_metadata

Where {process id} is the process id of the application’s main process. The main process id should be used even if it is a child process that is responsible for creating metadata or handling metadata requests.

Thus if your application’s main process has a process id of 8675, the named pipe you create should be called:

\\.\pipe\8675_airfoil_metadata

2. If Airfoil for Windows is able to connect to that named pipe, it will start sending messages using the Airfoil for Windows Metadata Protocol.

A Sample Implementation

The easiest way to understand this API is via example, so we’ve got a sample C# project you can download here:

Download for Airfoil for Windows Integration Sample
Click to download

All messages are sent across the pipe in the following format:

length;message

The length segment indicates the length of the message segment in UTF-8 encoded bytes.

Once the named pipe connection has been made, the application should begin reading messages sent by Airfoil. The first messages sent across the pipe will be supportsRemoteControl and providesTrackData.

If the application responds to supportsRemoteControl with true, then it must also respond to remotePlayPause, remoteTrackNext, and remoteTrackPrevious, even if it doesn’t take any action in response to those messages.

If the application responds to providesTrackData with true, then it must also respond to requestTrackTitle, requestTrackArtist, requestTrackAlbum, and requestAlbumArt, even if it only responds to those messages with an empty string.

Full details on each method are provided in the README.md file included with the sample code.

Get In Touch

Once you’ve looked over the sample code and documentation, if you have any questions or feedback about the API, just let us know by emailing our hello@rogueamoeba.com address.

Once your application supports track metadata or remote control, be sure to let us know. We can then add your application to our list of applications that provide an enhanced experience with Airfoil for Windows. We hope to hear from you!

Hear All About Us: News from Macworld/iWorld 2014

At the end of March, we exhibited at Macworld/iWorld out in San Francisco. It was a great chance to see some of our long-time customers and fans, and to connect with new folks as well. If you didn’t make it to the show, you missed out on a great time. But, you can still catch up on news and interviews we did, with a slew of links below.

At the show, I did a few interviews, including a quick one on Audio Hijack and more, with Rene Ritchie from iMore. Catch that 90 second hit right here.

We also showed off Fission, speaking with Chuck Joiner of MacVoices as well as Allison Sheridan of the Nosillacast. And I was happy to have a chance to talk with Adam Christianson of the Maccast podcast too. Macworld really is a great place to run into the people behind all your favorite Mac podcasts!

Finally, I joined Macworld Senior Editor and Mac writer-about-town John Moltz on stage at the show to discuss where Apple’s headed. We had fun with a range of topics, and the chat was recorded for later consumption. It’s available right here.

Though Apple no longer exhibits at Macworld, the show is still going strong, and we were glad to be there. It’s a great place to connect with potential customers and long-time users alike, as well as with many members of the press. As always, we encourage software developers to exhibit at the show, and users to attend. Hope to see you there next year!