02: Ctlra Virtual Devices

Virtual Ctlra devices? But why do you need or care about that? Read on – this is going to change how you (and the community) work with hardware and software controllers. To state the problem: we all own hardware controllers – MIDI, USB, or something else. Some DAWs support them – allow them to even “map” to different functionality – but it is often difficult and error prone. Whats worse is that if you ask the developer of the DAW for help, they can’t help you because they don’t have access to the hardware… or do they?

Virtual Ctlras!

So this is where virtual devices come in – and save the day. The Ctlra library allows any fully supported Ctlra device to be “virtualized” or simulated by the developer. If a user has an issue with a particular device, the developer has access to the software version of it! A mock-up created by the Ctlra library, can be used instead of real hardware to test and reproduce the users issue.

Developers and Musicians?

What else can be done using a virtual ctlra? Well say you are a musician – and you want your hardware controller to map to an audio looper in a specific way. It doesn’t currently work correctly, and you don’t have the time or experience to create the mapping yourself. With the virtual devices any developer can help you, simulating your controller hardware, and implementing the mapping for you. Perhaps you’re happy with their work, so buy them a beverage in return. The hardware accessibility problem solved!

More More Moarrr!

How about creating a prototype controller using the Ctlra library, testing it for its workflow using a software interface, and later building a physical mockup using an Arduino or RaspberryPi? What if hardware vendors supplied Ctlra drivers with their newly created hardware – the options to utilize and customize how you use their hardware with your favorite software becomes amazing.

Think we’re biting off more than we can chew? Nope – the 84 commits in the last 2 weeks (in the Ctlra repo alone!!) beg to differ: virtual devices are available! Don’t believe we’re going to be able to create UIs on various platforms, and embed them into host applications? Yes we can – checkout the purpose-built AVTKA UI library for creating virtual Ctlra interfaces!

Signoff and Next Up

We hope you’re as excited as us about this whole concept – OpenAV has been working towards this for a long time – and its great to finally get pushing this code out to the community! So what next? Well we can take an in-depth look at the integration of the hardware and virtual controller – that might showcase some of the awesomeness that will be when real-world audio-software gets Ctlra functionality integrated…

-Harry of OpenAV