Skip to content

GoXLR-on-Linux/goxlr-aspl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoXLR CoreAudio Server Plugin

THIS CODE CURRENTLY A PROOF OF CONCEPT, IT IS NOT USABLE

This code is primarily an attempt at creating a CoreAudio Server Plugin for the GoXLR, the initial goal is to simply fetch a 10 channel GoXLR audio frame, and split it into 5 Stereo Virtual Outputs.

Note, I don't own a Mac, so have no way to validate any of this.

Core Audio Plugin Driver

The driver exposes three operations as custom CoreAudio properties on the Plugin object:

  • Create pair (selector 'GXcr') -- value is a CFDictionary of {"DisplayName": CFString, "UIDName": CFString, "IsOutput": CFBoolean}.
  • Destroy pair (selector 'GXdl') -- value is a CFString, the UIDName to tear down.
  • List pairs (selector 'GXls', get-only) -- returns a CFArray<CFString> of the UIDNames currently instantiated; useful for debugging.

GoXLR Audio Helper

goxlr-audio-helper is a PoC application which interfaces with the AudioObjectSetPropertyData API, it finds a GoXLR, the plugin, then tells the plugin to create the split channels. It then opens the GoXLR exclusively and grabs all audio coming in and out, before routing it through the plugin.

Assuming the PoC is made to work correctly, its code could be pulled into the Utility to handle stuff.

About

An Apple AudioServer Plugin for the GoXLR

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages