Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/epegzz/node-qu-client

NodeJS client library for Allen & Heath QU series mixer
https://github.com/epegzz/node-qu-client

allen-heath-qu midi nodejs remote-control

Last synced: 13 days ago
JSON representation

NodeJS client library for Allen & Heath QU series mixer

Awesome Lists containing this project

README

        

node-qu-remote


NodeJS client library for Allen & Heath QU series mixers




Travis


Maintainability


npm version


npm installs


dependencies

# Table of Contents
- [Features](#features)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Example](#example)

## Features

Currently this client can:
* activate PAFL for each channel
* set the fader level for each channel
* activate the mute button for each channel
* shut down the mixer

If you need more features then feel free to open a GitHub issue and I will add them.

## Prerequisites

### OSX

* Some version of Xcode (or Command Line Tools)
* Python (for node-gyp)

### Windows

* Microsoft Visual C++ (the Express edition works fine)
* Python (for node-gyp)

### Linux

* A C++ compiler
* You must have installed and configured ALSA.
* Install the libasound2-dev package.
* Python (for node-gyp)

## Installation

```bash
$ npm install @epegzz/node-qu-client
```

## Example

```javascript
const Mixer = require('@epegzz/node-qu-client')

// Connect to the mixer.
// The constructor takes one single argument which is the MIDI port name of the mixer.
// If you do not know the port name, just leave it blank. That will cause an error message
// that includes a list of all available ports.
const mixer = new Mixer('QU-16 MIDI In')

// Set volume fader level
// 0% = - infinity db
// 100% = 0db
// 127% = 10db
mixer.setFaderPosition({
channel: Mixer.channels.main_lr,
percent: 100
})

// Activate PAFL
mixer.setPaflSelect({
channel: Mixer.channels.stereo_1,
active: true
})

// Unmute
mixer.setMute({
channel: Mixer.channels.input_9,
active: false
})

// Shut down
mixer.shutdown()

// Release connection to mixer
mixer.disconnect()
```

## Resources

* [Allen&Heath QU MIDI Protocol documentation](https://www.allen-heath.com/media/Qu_MIDI_Protocol_V1.9.pdf)