GoXLR Utility API Python Wrapper

License PyPI version PyPI - Downloads GitHub issues Documentation Status

A python wrapper for the API of the open-source GoXLR software alternative, GoXLR Utility, that uses asyncio. Disclaimer: This project is not affiliated with the GoXLR brand or TC-Helicon in any way, shape, or form. This is a third-party package made for fun and educational purposes.

Useful Links

Features

  • Asynchronous connection to the GoXLR utility daemon

  • All methods have been translated to Python

  • Handy enumerators for everything

  • Very simple and easy to get started

Installation

pip install goxlr

Getting Started

Here’s some sample code to get started with this package that pings the utility’s daemon.

 1import asyncio
 2
 3from goxlr import GoXLR
 4from goxlr.types import Fader, Channel
 5
 6
 7async def main():
 8    async with GoXLR() as xlr:
 9        await xlr.set_fader(Fader.A, Channel.Headphones)
10        await xlr.set_volume(Channel.Headphones, 127)
11
12
13if __name__ == "__main__":
14    asyncio.run(main())

You may have noticed that we use with to manage the connection to the GoXLR. You may also wish to use the more traditional open and close methods which is acceptable too.

 1import asyncio
 2
 3from goxlr import GoXLR
 4
 5
 6async def main():
 7    xlr = GoXLR()
 8    await xlr.open()
 9
10    ping = await xlr.ping()
11    print(ping)  # Ok
12
13    await xlr.close()
14
15
16if __name__ == "__main__":
17    asyncio.run(main())

For detailed information on the API, refer to the following section: