Blog

Tag Archives: Development

Thirteen Months of Audiobus: Part 2

This is the long awaited sequel to the tale of Audiobus’ development. I’m completing this article now, on the day we say an emotional farewell to our motorhome Nettle, who has today been sold to a new family in the UK. It seems like a fitting time to tie off some loose ends as we start the next chapter of our lives in our new home in Australia.

In Part 1 of this article, I wrote about the early stages of the technology which was to become Audiobus, our inter-app audio platform, now supported by over 500 great music apps. Part 1 ended just as Sebastian had one of his genius moments, which I obnoxiously left as a cliffhanger. So, onwards:

It was winter in the south of France, and I was buried in the best kind of work: A new project, and one that brought together a bunch of different interests into a challenging, exciting heap.

But first, it was time to move on and find a more satisfying place to spend the rest of the winter.

Read More »

Also tagged , , , , , , | Comments closed

Searching iOS header files with Xcode

I’m often having to grep through various iOS frameworks in search of error codes that appear (“What the bloody hell does -10867 mean?”). This can be a bit annoying – especially while working with Core Audio – so I put together an Alfred workflow that does it for me.

Here it is – type “hs” (short for “header search”) then the text you want to search for, and it’ll give you matching results. Hit enter to open that file:line combination in Sublime Text, or edit the action script to work with the editor of your choice.

Search Xcode Header Files.alfredworkflow

Screen Shot 2013 04 01 at 11 54 24

Also tagged , , , , | Comments closed

Thirteen Months of Audiobus

Tomorrow, Monday December 10, my friend and partner-in-crime Sebastian Dittmann and I are launching a project over twelve months in the making: Audiobus. We’re very proud of what we’ve managed to do, and we both firmly believe that Audiobus is going to fundamentally alter the way people create music on the iPad and iPhone.

You can find out more about Audiobus itself at audiob.us, but I wanted to take a moment to breathe, look back, and explain why the hell I’ve been so quiet over the last year. Read More »

Also tagged , , , , , , | Comments closed

An Xcode 4 template to create universal static libraries

I’ve created an Xcode 4 project template to create universal (armv6, armv7 and simulator) static libraries for iOS, based on Adam Martin’s script:

iOS-Universal-Library-Template

The existing static library template provided with Xcode only builds one architecture, which is not particularly suitable for distribution. A number of people have created scripts to create universal libraries, which require some mucking around with Xcode target settings to use.

This template draws on this work to provide all that is required to produce universal libraries – just select the ‘Universal Static Library’ type in the New Project/New Target dialog, and you’re all set.

Universal static library

Also tagged , , , | Comments closed

The Amazing Audio Engine: Funky Remote IO-based Core Audio Engine Coming Soon

The Amazing Audio EngineHuzzah! I’m announcing a new project which will be launching over the next couple of months.

It’s called The Amazing Audio Engine, and it represents the product of years of experience with iOS audio. It’s a sophisticated iOS audio engine that lets developers skip the Core Audio learning curve, and get on with writing great software.

The tech behind this is what drives Loopy and Loopy HD, as well as the in-development Audiobus app.

Subscribe at theamazingaudioengine.com to be kept in the loop as it approaches launch time.

Some of the features:

  • Automatic mixing of multiple audio signals with per-channel volume and pan controls.
  • Built-in support for audio filtering and effects, including the ability to form complex filter chains, constructing channel groups, or even whole trees of groups, and filtering them as one composite signal.
  • Built-in support for audio input, including optional use of the Voice Processing IO unit, for automatic echo removal – great for VoIP.
  • Record or monitor the output of the whole audio system, for in-app session recording, or get the output of one channel, or any group of channels in the processing tree.
  • Support for any audio format (AudioStreamBasicDescription) that the hardware supports: Interleaved, non-interleaved, mono, stereo, 44.1kHz or any other supported sample rate, 16-bit, 8.24 fixed floating-point – whatever you need for your project.
  • Very light, efficient engine, designed from the ground up for speed. All Core Audio code is pure C; no Objective- C or BSD calls, no locks, no memory allocation.
  • Efficient mixing of input signals, using Apple’s MultiChannelMixer.
  • Fast, lock-free synchronisation mechanism, enabling developers to send messages to the main thread from the Core Audio context, and vice versa, without locking or memory allocation from the Core Audio thread. Message sending from the main thread is two-way, and can be asynchronous, with a response block, or synchronous.
Also tagged , , , , | Comments closed

Talking about Audiobus on a bicycle

Lets have a chat about Audiobus, you and I. Here, you can sit on the handlebars.

Also tagged , | Comments closed

Audiobus action on Tumblr

Audiobus tumblrI’m blogging about Audiobus’s development and other bits and pieces over on the Audiobus Tumblr blog.

If you’re interested to see what I’m up to, do join me over there.

Also tagged | Comments closed

Some in-progress screenshots of my new project

It’s called “Audiobus”, and — yep, them’s big words — it’s going to change the way people create music on iOS.

Here’re some mockups of the main interface…

Audio Bus Mockup 1

b

Subscribe here for more news about Audiobus as it happens.

Also tagged , , | Comments closed