Overview
QLC+ uses a flexible plugin architecture to support various input/output protocols and hardware devices. Each plugin implements theQLCIOPlugin interface, providing a standardized way to communicate with different lighting control systems.
Plugin Interface
All plugins inherit from theQLCIOPlugin base class, which defines the core interface for input/output operations:
Plugin Capabilities
Plugins can support different capabilities through a bitmask system:- Output - Send DMX/control data to devices
- Input - Receive data from controllers
- Feedback - Send visual feedback to input devices
- Infinite - Support unlimited universes (network protocols)
- RDM - Remote Device Management support
- Beats - Beat detection for audio synchronization
Available Plugins
Network Protocols
Art-Net
Industry-standard DMX over Ethernet protocol using UDP port 6454
E1.31 (sACN)
ANSI E1.31 streaming ACN protocol, UDP port 5568
OSC
Open Sound Control for flexible, bidirectional communication
OS2L
Open Show 2 Light protocol for third-party integration
USB Hardware
DMX USB
USB-to-DMX interfaces from various manufacturers
ENTTEC
ENTTEC DMX USB Pro, Pro Mk2, and Open DMX USB
DMXKing
DMXKing ultraDMX Pro and other DMXKing devices
Control Protocols
MIDI
MIDI input/output for hardware controllers and feedback
HID
Human Interface Devices (joysticks, gamepads, etc.)
Integration
OLA
Open Lighting Architecture integration for advanced protocol support
Plugin Universe Mapping
Each plugin maintains a mapping between QLC+ universes and plugin-specific lines:The default maximum number of universes is 4, but network-based plugins can support unlimited universes through the
Infinite capability.Data Flow
Output Data Flow
- QLC+ engine generates DMX data (0-512 channels)
- Engine calls
writeUniverse()on the plugin - Plugin processes and transmits data to hardware/network
Input Data Flow
- Plugin receives data from hardware/network
- Plugin emits
valueChanged()signal - QLC+ engine processes incoming values
Configuration
Plugins can provide custom configuration dialogs:Custom Parameters
Plugins support custom parameters for fine-tuning behavior:RDM Support
Some plugins support Remote Device Management (RDM) for bi-directional device communication:- Device discovery
- Parameter reading/writing
- Status monitoring
- Remote configuration
Hotplug Support
Modern plugins support USB hotplug detection, automatically detecting when devices are connected or disconnected:Next Steps
Network Setup
Configure Art-Net or E1.31 for network-based control
USB Hardware
Set up USB-to-DMX interfaces
MIDI Control
Connect MIDI controllers for hands-on control
OLA Integration
Use OLA for advanced protocol support
