Vector 2.2 released

Click image to open app store.

Vector 2.2 just hit the app store. This version adds many much requested features like markers, metadata and batch export.

New Features:
• Markers
• Batch export (splits one file into multiple smaller ones)
• Automatic silence detection (for batch export)
• Support for IMA-ADPCM compressed wave files
• Mix paste (mixes existing audio with pasted)
• Convert to mono [mixdown] (mixes down stereo documents to mono)
• Metadata support (for ID3 tags, etc)
• New export dialog with metadata support
• Addition darker ‘Midnight’ color scheme
• German localization

• Many crashes and instabilities were fixed
• Exporting bugs with short (< 1s) files fixed
• Hang on pasting a mono signal into a stereo document fixed
• Import of .taf documents shorter than 10 seconds works again
• Unsupported 8bit option for wave export removed
• Mp3 export will now honor sample rate settings

Vector 2.0.1 released

We just released Vector version 2.0.1 into the wild. It’s just a small maintanence update that fixes little performance bugs. (And a few crashes.)

The next milestone is Vector 2.1 which will feature markers (maaaaany people asked us to add those), batch export and silence detection. There will be also another mono-conversion mode added that will mix down both stereo channels into one mono channel. (The current mono-conversion just drops the right channel.)

Stay tuned :)

Vector 2.0 now available

Good news everyone! Vector 2.0 is now available :)

Vector 2 Audio Recorder and Editor

Why 2.0 you ask? Well, while we were working on the 1.4 update we added so many new features and rewrote the complete code that in the end we decided to release the update as 2.0.

Vector 2.0 is now a full featured audio editor – while the 1.0 branch was ‘just’ an audio recorder with some very limited audio editing capabilities.

So, get 2.0 today and profit from the early bird discount this week: Link to the app store.

What is AudioUnitProcess and what does it do?

If you explore the AudioUnit header files you will encounter an undocumented function named AudioUnitProcess. A search on Google will return only 8 hits and the only mention of AudioUnitProcess by Apple is in the ‘Audio Unit Changes’ document.

So what does this function do? I can only tell you what I found out while playing with Audio Unit offline rendering:

AudioUnitProcess (AudioUnit                     inUnit,
                  AudioUnitRenderActionFlags    *ioActionFlags,
                  const AudioTimeStamp          *inTimeStamp,
                  UInt32                        inNumberFrames,
                  AudioBufferList               *ioData)

Simply put AudioUnitProcess is just like AudioUnitRender with the only difference that it doesn’t need an AudioUnitRenderCallback. You just pass the input sample data with the ioData parameter. The processed sample data will be written back to the buffers you passed with ioData and that’s it.

Sounds great if you just want to do some straight forward processing (especially for offline rendering). No more callback spaghetti code, context passing and less complexity. So where’s the caveat?

Well – not all AudioUnits are compatible with it. For example Apple’s AUMatrixReverb (kAudioUnitSubType_MatrixReverb) returns an ‘unimplemented core routine’ error if you call AudioUnitProcess on it.

So if you need a rendering method that is compatible with most AudioUnits you’re back to using AudioUnitRender + writing callbacks. On the other hand if you know that you will be only using AudioUnits that are compatible with AudioUnitProcess you can save some complexity by not having to write render callbacks.

Disclaimer: I don’t really know more than you. That’s just what I found out by playing around with AudiUnitProcess.

Get a list of OSError constants

A little reminder for me (and anybody who’s looking for that info): If you don’t know what a certain OSError you get back from CoreAudio or an AudioUnit means, just fire up the terminal and input the following:

open -h MacErrors.h

Finally googling for ‘OSError -4′ isn’t necessary anymore. ;)

Vector Progress

After the last sale we got a lot of feedback from our new users (hi!). That’s why I’m spending my Sunday implementing the most requested features. :)

I’m currently working on support for FLAC, OGG and Apple Lossless.

Btw. for everyone who’s interested: Project ‘resizable UI revamp’ is doing pretty well.

Mysterious Crash with Vector 1.3

Update: None of our users could reproduce this bug. So we’ll assume that the bug was related to the specific OS X System.

We’ve got one mysterious crash report by a customer for the new Vector version. Sadly we can not reproduce the crash despite having the same OS X version and the same machine as the unlucky customer.

The crash occurs when using the new ‘advanced file creation’ dialog. When you click OK the app crashes with a crash report. And if you use ‘New File’ no new window shows up.

Without being able to reproduce the bug we need your help. If this crash occurs for you please contact us at and please copy the crash report (if any is displayed). We’ll send you a working copy of the previous version of Vector and will try to find out more about the bug.

Armadillo 1.2 and Vector 1.3 submitted to the App Store

Yesterday we submitted Armadillo version 1.2 and Vector 1.3 to the App Store for review.

Armadillo 1.2 fixes a few issues, adds a completely rewritten audio processing chain and adds a much requested feature: Auto Scrolling. So when you hit play Armadillo will highlight timestamps and timelinks in your notes when playback reaches the corresponding position.

For Vector 1.3 changes see Vector Roadmap: 1.3 and 1.4.

The updates should go live in 2 to 3 weeks – depending on Apple’s review speed.