loupedeck-commander
v1.0.2
Published
A system to ease working with LoupeDeck devices using CMD-line interfaces
Downloads
3
Readme
loupedeck-commander
Getting started
The loupedeck-commander is helping you using your Loupedeck device more easily, and connect it with custom commands you define with script files.
Features:
- Reference image files for every state of your button in the touch-display fields
- Connect commands to your state transitions
- Tested with following LoupeDeck devices:
Runs on:
- Linux (Tested with Ubuntu 22.04 and Debian 11/12 on x64 & arm32/arm64)
- Windows (Tested with Windows 10/11 on x64)
Small footprint
- Raspberry PI Zero is suitable to run this
Please take care about the following:
- LoupeDeck devices after
version 0.2.x
use a serial interface instead of WebSocket. When using this library please upgrade your firmware using the LoupeDeck Software Tested with Firmware versionversion 0.2.5
Basic Usage
Do the following steps:
# init your new node package
npm init
# install the loupedeck-commander dependency
npm install -s loupedeck-commander
Create a new configuration file with at least one profile or copy from here, and replace the image references with your own icons (90x90px size):
Create a index.mjs
file to open up your loupedeck connection:
# save as index.mjs
import { BaseLoupeDeckHandler } from 'loupedeck-commander'
const handler = new BaseLoupeDeckHandler('config.json')
const stopHandler = () => {
console.log('Receiving SIGINT => Stopping processes.')
handler.stop()
}
// Initiating a process
process.on('SIGINT', stopHandler)
await handler.start()
Run the script using the following command:
node index.mjs
If you end up with errors related to canvas module - please install the dependencies as mentioned below, and run npm install -s
again
Hints
CANVAS Module - additional effort needed
The library is using canvas to load images and render graphical content on the LoupeDeck devices. Please follow the instructions to install the preconditions, to properly use canvas on your system.
Example for Ubuntu:
# different build & graphic dev-libs are needed to use canvas module:
sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
Resizing of images
The buttons images shown on the different buttons should be prepared with specific resolutions:
- Main/Center Touch-Area: 90px x 90px per Button
- Left/Right Touch-Area: 90px x 270px per Button
- LoupeDeck CT Knob Touch-Area: 240px x 240px Button
if you already have suitable icons with the right aspect ratio, you could resize them with imagemagick/mogrify:
mkdir resized
mogrify -resize 90x90 -quality 100 -path resized *.png