Friday, 30 September 2016

AirPlay with Sierra.

If you read my previous post “AirPlay with El Capitan” you will know that Apple had introduced a significant change to the way the AirPlay subsystem was integrated with the rest of the audio subsystem. This in turn changed the way in which BitPerfect Users had to set up their systems in order to play through an AirPlay-connected audio device. Unfortunately, the way this was done, which was entirely laudable in terms of having been driven by the right ideas, was less successful in the execution. This has caused a lot of gnashing of BitPerfect Users’ teeth.

Well, with the next version of OS X (now re-branded ‘macOS’) called Sierra, we have what looks like a small but worthwhile update. The process of playing BitPerfect through AirPlay still starts by opening macOS’s ‘System Sounds’ (part of the ‘System Preferences’ suite of tools). Different audio devices which are accessible via AirPlay still appear as independent audio output devices of type ‘AirPlay’. Every available AirPlay device still appears as an independent device. But they still only appear when they are powered on and detected by the AirPlay subsystem. In other words, if macOS can’t detect them, then it won’t offer you the option of selecting them. If you want BitPerfect to play through a specific AirPlay device, you have to start by selecting it here.

As before, third party Apps such as BitPerfect are constrained to having to access the AirPlay Subsystem via its Standard Audio Interface. And you would think that if an AirPlay device such as “Joe’s AppleTV” was live on the system, and listed as an available device under ‘System Sounds’, then it would also be live and available under AirPlay’s Standard Audio Interface, which was the case prior to El Capitan. But no. If we wish to see which Standard Audio Interfaces are live and available we must open Audio Midi Setup (normally located within the Applications - Utilities folder). All of the available Standard Audio Interfaces are listed in the left-hand panel. You can select one, and then configure it in the right-hand panel (although no such configuration is required for BitPerfect). However, most of the time, you won’t see an AirPlay device listed there, even though we can clearly see one or more AirPlay devices listed as being available and accessible under ‘System Sounds’. If a device is not listed in Audio Midi Setup, then it will not be made available to BitPerfect, and it will not appear as a choice in BitPerfect’s list of Audio Output Devices, regardless of whether it appears in 'System Sounds'. So far, all this is the same as with El Capitan.

The procedure to get around this is relatively simple, but for the love of God I cannot fathom out why it is required at all. You still have to go into System Sounds and select the specific AirPlay device that you want BitPerfect to play to. Once you have done that - and this may take a few moments - the selected AirPlay device will magically appear in Audio Midi Setup, and shortly after that will appear as one of BitPerfect’s available audio output devices. What has changed is that under El Capitan only “AirPlay” would appear as a Standard Audio Interface. Now, under Sierra, the specific AirPlay device you selected in System Sounds instead appears as its own personal Standard Audio Interface. This is - in my view at least - a good thing from the perspective of stability.

Under El Capitan I had been using Audio Midi Setup as a regular part of the AirPlay setup process in order to confirm that the Standard Audio Interface had been created, because sometimes it just stubbornly refused to appear (for reasons that were never clear). Under Sierra, though, that aspect seems to be quite reliable now. So really, there is not much need any more to go into Audio Midi Setup at all, other than for information or diagnostic purposes.

Finally, as before, you still need to go into iTunes and in its “Choose which speaker…” selector (the button with a ‘transmission beacon’ icon to the right of the iTunes volume slider) you need to be sure to choose “Computer” and NOT the AirPlay device that you actually want BitPerfect to play to.

What this procedure tells us is that macOS is only creating a Standard Audio Interface for an individual AirPlay device when it is selected in System Sounds. What I would like to see is for the Interface to be created automatically as soon as a device is detected and becomes live and available. There would then be separate Standard Audio Interfaces for each available AirPlay device. This would be a far better paradigm and wouldn’t require BitPerfect users to hop in and out of System Sounds.

One limitation of the Sierra system is as follows, though. Suppose you have multiple AirPlay devices, such as an AirPort Express and an AppleTV. You want to play BitPerfect to the AirPort Express, while at the same time streaming something else to the AppleTV. So you go into System Sounds and select the AirPort Express. This creates a Standard Audio Interface for the AirPort Express which BitPerfect can use. So, with BitPerfect playing nicely through the AirPort Express, suppose you go back to your Mac and in System Sounds you now select the AppleTV device. Unfortunately, it seems Sierra either cannot or simply will not allow multiple Standard Audio Interfaces to exist at the same time, and so it immediately closes the one for the Airport Express, and opens a new one for the AppleTV. In effect, BitPerfect’s designated Audio Output Device suddenly disappears, and it simply stops playing.

Even though these shenanigans are a little irritating, I still feel that they are evidence that Apple’s AirPlay implementation is moving in the right direction. Quite clearly, the requirements of third party users such as BitPerfect are very much an afterthought, and we recognize that we are always going to have to feed off the scraps from the Master’s table. Nonetheless, my feeling is that this iteration of the BitPerfect/AirPlay experience is a step in the right direction. It may not quite knock the Yosemite implementation off its perch, but it is in all likelihood a solid #2. In fact if you prefer Sierra’s quirks to Yosemite’s, you might even rate it #1.

macOS Sierra :)

I now have a workaround in place for the Console Log issue I mentioned last week, plus I have been using AirPlay on Sierra with success, so I will post an update shortly on how to make that work.

In short, BitPerfect users can now feel comfortable upgrading to macOS Sierra if they wish to do so.

Wednesday, 21 September 2016

macOS Sierra

I have been using BitPerfect 3.1.1 with the latest version of OS X, “macOS Sierra”.  It comes with iTunes 12.5.1.21 as part of the installation.

The results are a bit of a mixed bag.  Functionally, BitPerfect seems to be working fine.  I haven’t come across any unusual behaviour yet.  However, I notice that the Console App has changed significantly with Sierra, and it appears that it is not displaying most of BitPerfect’s diagnostic messages.  This is going to make it very difficult for diagnostic purposes.  For that reason, I recommend that BitPerfect users hold off from making this update for the time being, unless they have other, more pressing needs to do so.  We will dig deeper into this issue and report our findings in due course.

I also need to spend some time trying out the AirPlay subsystem under Sierra, and I haven’t been able to get around to that yet, so AirPlay users might want to avoid the update for the time being unless they are feeling particularly adventurous.  AirPlay users who are still on Yosemite in particular should stay where they are.  Yosemite is notably stable with AirPlay.  El Capitan is not, and Sierra might not be any better.

Wednesday, 14 September 2016

iTunes 12.5.1.21

I have been using the latest 12.5.1.21 iTunes update for 24 hours now without encountering any usability problems.  BitPerfect users should feel confident installing this update.

Tuesday, 6 September 2016

Announcing BitPerfect v3.1.1

Today we announce the release of v3.1.1 of BitPerfect.
This is primarily a maintenance release which addresses an issue where BitPerfect can crash under certain conditions when used with certain specific DACs.

As usual, BitPerfect v3.1.1 is a free upgrade to all existing BitPerfect users.