Overview
TheDevicesView class is a static class that manages the plugin chain interface in Lumix. It provides UI for adding, removing, and organizing audio effects and virtual instruments on tracks.
Namespace
Properties
The currently selected track whose devices are being displayed.
List of currently selected plugins in the device chain.
Methods
Render
Renders the devices view interface and handles all plugin interactions.Features
Plugin Management
The DevicesView provides the following plugin management capabilities:- Add Plugins: Drag and drop VST plugins (.dll files) or built-in plugins onto the view
- Remove Plugins: Select plugins and press Delete
- Duplicate Plugins: Select plugins and press Ctrl+D
- Reorder Plugins: Select a single plugin and use Left/Right arrow keys to change position in chain
- Toggle Plugins: Click the toggle button in the plugin header to enable/disable
- Open Plugin UI: Click the wrench icon to open the plugin’s native editor window
Plugin Types
VST Plugins
External VST2/VST3 plugins loaded from .dll files. The view displays:- Plugin name
- VST type (Fx or Instrument)
- Parameter count
- Audio input/output channel count
Built-in Plugins
Native Lumix plugins with custom rendering:- Custom UI in the plugin rect
- Integrated controls
- Optimized performance
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Delete | Remove selected plugins from chain |
Ctrl+D | Duplicate selected plugins |
Left Arrow | Move selected plugin earlier in chain |
Right Arrow | Move selected plugin later in chain |
Middle Mouse | Pan the devices view horizontally |
Usage Examples
Basic Usage
Adding Plugins Programmatically
Working with Plugin Selection
Removing Plugins
Managing Instrument Plugins
Plugin Chain Order
Plugins are processed in the following order:- Instrument Plugin (MIDI tracks only) - Generates audio from MIDI
- FX Plugins - Processed left-to-right in the order displayed
Drag and Drop
The DevicesView supports drag and drop for adding plugins:Supported Drop Sources
- VST Plugin Files: .dll files containing VST2/VST3 plugins
- Built-in Plugins: From the Lumix plugin browser
Drop Behavior
Example Drop Handling
Plugin Rect Rendering
Each plugin is rendered as a rectangular UI element:VST Plugin Rect
- Header: Plugin name, enable toggle, settings button
- Body: Plugin information (type, parameters, I/O channels)
- Selection: Visual highlight when selected
- Colors: Custom theme colors for selected/unselected states
Built-in Plugin Rect
- Custom rendering defined by the plugin
- Can include knobs, sliders, buttons, etc.
- Integrated into the same layout as VST plugins
Track Type Compatibility
| Track Type | Instrument Plugins | FX Plugins | Max FX Count |
|---|---|---|---|
| Audio Track | No | Yes | 6 |
| MIDI Track | Yes (1 only) | Yes | 5 |
Error Handling
Notes
- Only one instrument plugin can be active per MIDI track
- FX plugins are processed in series (output of one feeds into next)
- Plugin selection supports Ctrl+Click for multi-select
- Clicking empty space deselects all plugins
- The view automatically scrolls horizontally when many plugins are added
- Plugin windows can be opened independently of the devices view
- Deleted plugins are properly disposed to free resources