Coder Social home page Coder Social logo

cbdevnet / xlaser Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 395 KB

X11 ArtNet scanner fixture

License: BSD 2-Clause "Simplified" License

C 98.54% Makefile 0.27% GLSL 0.59% Roff 0.60%
art-net artnet lighting fixture lighting-effects visualizer dmx512 dmx x11

xlaser's Introduction

XLaser

XLaser emulates a scanner lighting fixture within an X11 window, useful for example for creating light shows with computer projectors.

Control

Control data is input via the Art-Net protocol, generated by most lighting control desks and software.

Gobos

Up to 255 projection gobos are supported via a configurable folder containing images named value.png (eg. 127.png). All non-transparent pixels of a gobo image will be colored in the resulting image.

Channels

One XLaser instance uses 16 channels, some of which are reserved but not yet mapped to functionality.

  • Channel 1/2: Pan coarse/fine
  • Channel 3/4: Tilt coarse/fine
  • Channel 5/6/7: Red/Green/Blue color mix
  • Channel 8: Dimmer
  • Channel 9: Shutter
    • 0 Open
    • 1-127 Strobe slow-fast
    • 128-192 Flash in slow-fast
    • 193-255 Flash out slow-fast
  • Channel 10: Gobo
  • Channel 11: Gobo zoom
  • Channel 12: Gobo rotation absolute
  • Channel 13: Gobo rotation speed (not yet implemented)
  • Channel 14: Gobo focus (experimental)

Building

XLaser is available with multiple backends (currently XRender and OpenGL). The default target, built by running make in the project repository, builds XLaser with the OpenGL backend.

To select the XRender backend (slower, but might work on older hardware), run make xrender.

Prerequisites (debian)

  • A C compiler
  • libx11-dev
  • For the XRender backend
    • x11proto-render-dev
    • x11proto-xext-dev
  • For the OpenGL backend
    • libglew-dev
    • libgl1-mesa-dev

Running

Basically, edit configs/sample.conf to match your setup and run xlaser /path/to/your.conf. Optionally override the starting address with the -d <address> parameter (useful to start multiple instances from one configuration file)

Configuration file

The configuration file is split into multiple sections, which may appear in any order in the file.

The general section

Controls general behaviour.

Option Example value Description
bindhost * Which interface to listen for ArtNet data on
gobos gobos/ Where to look for gobo images

The window section

X11 window parameters.

Option Example value Description
windowed true Do not initially fullscreen the window
width 800 Initial window width (when windowed)
height 600 Initial window height (when windowed)
x_offset 100 Currently not implemented
y_offset 100 Currently not implemented

The artnet section

ArtNet control data input setup.

Option Example value Description
net 0 The artnet net parameter for this fixture
subuni 0 The artnet subnet parameter for this fixture
address 1 The dmx start address (1-512)

The remap section

Reassign control channels (for example to emulate other fixtures).

List of remappable channel names

  • pan
  • panfine
  • tilt
  • tiltfine
  • red
  • green
  • blue
  • dimmer
  • shutter
  • gobo
  • zoom
  • rotation
  • rotationspeed
  • focus

A remap argument may consist of one or more of the following parts

Option Parameter Example Description
fixed value fixed 123 Channel is at fixed value continuously
source offset source 0 Channel value is read from another channel (given as an offset from the base address)
min value min 0 Minimum channel value. The value is interpolated from the full channel range
max value max 127 Maximum channel interpolation value.
inverted none inverted Invert channel values

ArtNet input

Most professional lighting desks can be configured to output one or more universes to an ethernet port via multiple protocols. XLaser requires broad- or unicasted ArtNet as input. Please report any problems encountered with a desk to the Github issues section.

Tested desks

  • GLP Creation2 (+ OnPC)
  • MA Lighting GrandMA2 OnPC

xlaser's People

Contributors

cbdevnet avatar jduepmeier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

xlaser's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.