Cantabile Development Blog

Follow the development of music software Cantabile

Full Index | RSS Feed


Cantabile + Topten vs iTunes Logos

Is it just me, or does the new iTunes logo look remarkably similar to the Cantabile and Topten logos? Hrm.....

LogoRipOff

Posted 5 days ago

Share This Read or Leave Comments (1)

What's Happening?

This is just a quick update.

I've had a few enquiries lately about what's happening with Cantabile. I'm still here, but I'm very busy in my day job at the moment. We have a excellent opportunity which I really need to focus on at the moment - so that's taking nearly all my time at the moment.

In the moments in between I've been doing some work on Cantabile - mostly just support, but some minor work on the new version too - just nothing worth posting about. There'll probably be a new build shortly with some minor bug fixes.

Stay tuned, there will be progress again...

Posted 2 weeks ago

Share This Read or Leave Comments (0)

Cantabile VST - Work in Progress

A few posts ago I hinted that I might be working on a VST version of Cantabile. This is probably the most asked for feature since the very first version of Cantabile - and yes I'm actually working on it. It's a big job, but I'm making steady progress.

Split to EXE and DLL

In order to keep the final size of Cantabile down, I decided to move all the code from the Cantabile executable into a DLL and write a small EXE stub launch it.

When running as a plugin, this same DLL exports the required entry points to be loadable by a VST host.

This work has all been done and Cantabile as a host now works as before - except it's in a new DLL home.

Separation of Settings

The plugin and host versions of Cantabile need to be able to save their own separate sets of settings.

Importantly this needs to work when Cantabile is self hosting itself, so all the previously global functions to save and load settings needed to be updated to work with the settings for the appropriate running environment. In other words every piece of code that saves or loads settings (and there's many) needed to be updated.

Plugin Framework

By this I mean the structures that surround the Cantabile engine in order to provide the VST interface to other hosts.

This was all fairly straight-forward and simply fires up an instance of the Cantabile audio engine for each instance of the plugin. I'd already done alot of preparation work for this during the development of Cantabile 2.0 - making sure that multiple instances of the engine could run in parallel.

Support for Variable Sized Audio Blocks

One of the nuances of the VST spec is that although there is a concept of a audio block size, a plugin may be asked to render audio for a smaller buffer. For example, it's perfectly valid for a VST host to specify a buffer size of 512 , but then ask the plugin to render only 128 samples.

Many hosts never do this, but there are some that do so Cantabile VST needs to be able to support this. As such I've updated the entire audio processing pipeline to handle these partial buffers.

I think this area is complete, but as yet untested.

VST Audio Driver

Cantabile's has a concept of an audio driver that drives the real-time aspect of the audio engine.

For the host version of Cantabile this is typically code that wraps either an ASIO or DirectSound driver. When running as a plugin, there isn't a real audio driver and instead the engine is driven by incoming calls from the host.

The VST framework that I mentioned above implements the same API as Cantabile's other audio driver wrappers, making its integration with the engine fairly clean.

So far this supports a simple stereo in/out pair running in 32-bit audio. 64-bit audio support will be added later, once I get the basics up and running.

Plugin Scanning

The plugin scan procedure now automatically includes the folder containing the Cantabile DLL. This is so the VST version of Cantabile is always automatically available as a plugin.

A nice side effect of this is that you can now drop any plugin into the Cantabile program folder and it too will be automatically discovered.

Enough with the tech talk, what works so far?

Nothing - yet.

Well, Cantabile VST appears in the list of available plugins, but explodes if I actually load it. This is because there's not yet a session loaded or created... and that's what I'll be attacking next.

Posted on May 13, 2010

Share This Read or Leave Comments (2)

New in 2.1 - Plugin MIDI Activity Indicators

Something else new in 2.1 - MIDI activity indicators on the plugin slots:

PluginMidiActivity.png

Posted on May 5, 2010

Share This Read or Leave Comments (0)

Session Lists Video

I'm a bit slow blogging about this, but Eric Krueger of blackgrand.com has posted another excellent video, this time on using Cantabile set lists. Check it out on the Videos page.

Thanks again Eric!

Posted on May 5, 2010

Share This Read or Leave Comments (0)

« Older Articles