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 🙏

© 2024 – Pkg Stats / Ryan Hefner

behringerctl

v1.0.0

Published

Control supported Behringer devices over MIDI

Downloads

1

Readme

Description

This is a command-line utility that can send commands to supported Behringer devices over a MIDI interface.

It can also be used as a module (for which the CLI is an example) should you wish to control Behringer devices in your own NodeJS programs.

Supported devices

DEQ2496

  • Working: Reading and writing presets, screenshots, MIDI channel changing
  • Incomplete: Adjusting parameters (non SysEx), selecting different menu pages on the LCD, firmware upload

Others

Other Behringer devices should be able to be identified, however none of their functions will work unless they are shared with a supported device. Contributions are welcome if anyone wishes to add support for additional devices!

Installation

npm install -g behringerctl

Use

First, identify which MIDI ports you have available:

behringerctl midi list

If the selected devices are not correct, you'll need to specify which MIDI interface to use on each subsequent command:

behringerctl --midi-in 2 --midi-out 5 ...

This will be omitted to keep the examples clear so specify it if you need to.

Next, see if you have any supported devices:

behringerctl devices list

This will take some time as it waits for a few seconds to give every device a chance to respond. If you see devices listed, take note of the device ID as you will need to specify it in further commands, like this:

behringerctl --device-id 0 ...

You may now be specifying --midi-in, --midi-out and --device-id on every single command!

You can now send commands to this device:

# Get same model name returned by `devices list`
behringerctl --device-id 0 devices identify

# Dump screen contents if you have a large enough terminal window
behringerctl --device-id 0 screenshot show

# Set MIDI channel from 1 (device ID 0) to 4 (device ID 3)
behringerctl --device-id 0 devices config --midi-channel 4

# Set MIDI channel back to 1 (device ID 0)
behringerctl --device-id 3 devices config --midi-channel 1

Be aware that changing the MIDI channel also changes the device ID, which is always one integer less than the MIDI channel.

The available commands are listed in the help:

behringerctl help
behringerctl help devices config

Examples

Export all the presets from one DEQ2496 and import them into another (or back into the same unit after a factory reset):

behringerctl --device-id 0 presets export --index 0 --count 65 --prefix preset
behringerctl --device-id 1 presets import --index 0 --count 65 --prefix preset

Note that at the time of writing the 16-character preset titles will be truncated to 10 characters during the export due to a firmware bug. You can edit the exported files in a hex editor and add back the missing characters to the end of the file, which will then reimport with the full title.

Use as a module

See cli/index.js to get started.

Notes

General

  • If you change the MIDI channel with setMIDIChannel, you will also be changing the deviceId, so you'll need to use the new value (minus 1) for subsequent commands sent to the same device.

DEQ2496

See doc/behringer-deq2496.md.