npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

node-red-contrib-mixing-station

v1.0.0

Published

Node-RED nodes to interact with Mixing Station via REST API and WebSockets

Downloads

68

Readme

Node-RED Mixing Station Integration

This is a work in progress

A Node-RED module to interact with Mixing Station's APIs, allowing you to control audio mixers through Mixing Station.

Overview

This module provides nodes for Node-RED that connect to Mixing Station's REST API and WebSocket interface. It allows you to:

  • Subscribe to mixer parameters and receive real-time updates
  • Send commands to get or set mixer parameters
  • Create automation and integration with other systems

Prerequisites

  • Node-RED (version 2.0.0 or later)
  • Mixing Station (Desktop version recommended for full API support)
  • Network connectivity between Node-RED and Mixing Station

Installation

Install via the Node-RED Palette Manager or run the following command in your Node-RED user directory:

npm install node-red-contrib-mixing-station

Configuration

Before using the nodes, you need to:

  1. Enable the REST API in Mixing Station:

    • Open Mixing Station
    • Go to global app settings
    • Enable "HTTP REST"
    • Note the port number (default: 8080)
  2. Configure the Mixing Station server in Node-RED:

    • Add a "Mixing Station Config" node
    • Set the host (e.g., "localhost" if running on the same machine)
    • Set the port to match the one configured in Mixing Station

Nodes

Mixing Station Config

Configuration node that stores connection details for the Mixing Station server.

  • Host: The hostname or IP address of the machine running Mixing Station
  • Port: The port number for the REST API (default: 8080)
  • Reconnect Interval: Time in milliseconds to wait before attempting to reconnect (default: 5000)

MS Subscribe

Subscribes to parameter updates from Mixing Station via WebSocket.

  • Server: The Mixing Station Config node to use
  • Path: The parameter path to subscribe to (e.g., "ch.*.mix.lvl" for all channel faders)
  • Format: Value format - "val" for plain values (e.g., -5dB) or "norm" for normalized values (0-1)

The node outputs messages containing parameter updates, with the parameter values in the payload property.

You can also dynamically change the subscription by sending a message with:

  • path: The new parameter path to subscribe to
  • format: Optional. The value format to use ("val" or "norm")

MS Command

Sends commands to Mixing Station via REST API or WebSockets.

  • Server: The Mixing Station Config node to use
  • Path: The API endpoint path (e.g., "/console/data/ch.0.mix.lvl")
  • Method: HTTP method to use (GET, POST, PUT, DELETE)
  • Use WebSocket: Whether to use WebSockets instead of HTTP

The node accepts messages with:

  • payload: The body of the request (for POST/PUT)
  • path: Optional. Overrides the configured path
  • method: Optional. Overrides the configured method
  • useWebSocket: Optional. Overrides whether to use WebSocket

Parameter Paths

Mixing Station uses a unified path format for all mixer parameters. Some examples:

  • ch.0.mix.lvl - Channel 1 fader level
  • ch.*.mix.lvl - All channel fader levels (using wildcard)
  • ch.0.mix.on - Channel 1 mute state (inverted - true means unmuted)
  • ch.0.name - Channel 1 name
  • ch.0.eq.0.gain - Channel 1 EQ band 1 gain
  • bus.0.mix.lvl - Bus 1 fader level

For a complete list of available parameters, use the REST API documentation page in Mixing Station:

  • Enable the REST API in Mixing Station
  • Open http://localhost:<port> in a web browser
  • Explore the available endpoints and parameter paths

Examples

Here are some common usage examples:

Example 1: Monitor all channel faders

  1. Add an "MS Subscribe" node
  2. Configure it with path ch.*.mix.lvl and format val
  3. Connect to a Debug node to see the values

Example 2: Set a channel fader level

  1. Add an Inject node with payload = -6 (for -6dB)
  2. Set the Inject node's path property to /console/data/ch.0.mix.lvl
  3. Connect to an "MS Command" node configured with method = POST
  4. The Command node will set Channel 1's fader to -6dB when triggered

Example 3: Mute/unmute a channel

  1. Add an Inject node with payload = false (for muted)
  2. Set the Inject node's path property to /console/data/ch.0.mix.on
  3. Connect to an "MS Command" node configured with method = POST
  4. The Command node will mute Channel 1 when triggered

Troubleshooting

  • Connection Issues: Ensure Mixing Station has the REST API enabled and the port matches your configuration
  • No Data Received: Check that you're using the correct parameter paths and that the mixer is connected
  • Command Errors: Verify that you're sending the correct data type for the parameter

License

This project is licensed under the MIT License - see the LICENSE file for details.