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 support@fluxforge.com 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.

 

Vector Roadmap: 1.3 and 1.4

Now as the world didn’t end we have to keep working on our apps. That’s why I’m presenting to you the official Vector Roadmap.

Vector 1.3

Many of our users told us that they want either more effects or more control over the file format – or both. That’s why we’re implementing these things first in Vector 1.3.

Version 1.3 will have a few additions to the Effects menu:

Vector 1.3 Effects Menu

You will now be able to change a document’s sample rate, bit depth and channel layout (stereo/mono).

We also added those options to the File Export dialog where you will be able to change these settings for the exported file:

File Export Dialog

This is a really often requested feature.

We have also a new advanced file creation dialog with said settings:

New Advanced File Creation Dialog

(Please excuse my bad coder art for these dialogs. They will be redesigned before we release the update.)

Vector 1.4

Vector 1.4 will be a major update for the wave view. Many users felt unsatisfied with the low max-zoom level in Vector. Also they felt that the app should be resizable. So that’s what we’re working currently on.

Here are some screenshots of our new prototype wave view. Alongside the current display of a filled wave form there will be a wire frame zoom level for high accuracy that will allow you to zoom in on individual samples and to select those:

Zoom 1

Zoom 2

Zoom in on individual samples

Zoom in on individual samples with 2 samples selected

Release Dates

Version 1.3 should be available really soon. The new dialogs only have to get a nice design and then we’ll submit version 1.3 to the app store.

Version 1.4 could take a little longer as it’s a little more work. But it should be available within the next 2 – 3 months.