DjMirror Pulse live visual

DJ’s/VJ’s visualization customize

🎛️ Professional DJ Controls

Disco v2

Full MIDI, HID & OSC Support

Real-Time MIDI Input via RtMidi: callback-driven capture with sub-millisecond latency and 327 ready-made presets

  • MIDI: Note On/Off, Control Change and Pitch Bend per channel and control, dynamic device discovery, learn/test/save modes and a per-controller shift layer with red-highlight feedback
  • HID & OSC: USB HID via hidapi (10ms polling) and network OSC via UDP listener — both normalized into the same mapping engine and action path as MIDI
  • One action engine: every control can trigger visuals, styles, playlists, DMX scenes, layers, masks, schedule entries or config changes
Disco v2

HID Device Support

Native USB HID via hidapi: enumeration, 10ms polling, and button + axis decoding — from DJ hardware to gamepads and custom devices

  • Decoding: reports become button/axis events normalized to the MIDI path, with dedicated Traktor S8 handling
  • Presets: Generic HID plus Traktor, Pioneer CDJ, Hercules, EKS Otus, Sixaxis, Wiimote and a test device — all as XML mappings
  • Learn, test and save: recording modes, hardware-free test injection and automatic conflict release
Cyberpunk

Custom XML Mapping System

Mixxx-compatible XML mappings: 166 presets plus 152 scripts ship in the app, and new files are auto-discovered

  • Semantic entries: readable names with deck, description, channel, number and message type
  • Typed actions & shift: any control fires app actions, and the shift button is read straight from the mapping
  • Scripts & safe editing: optional JavaScript behaviour, protected critical controls and full learn/save round-trips

🎛️MIDI Rule Engine (Deterministic Visual Feedback)

Comic

Rule-Based Shape Spawning

Non-random, semantically meaningful visual effects

  • Each MIDI control type produces consistent visual feedback
  • Deterministic shape selection based on channel/number combination
  • Color theme assignment per control type
Comic

Control-to-Visual Mapping

  • Play buttons → Energy/burst/flare shapes with Techno theme
  • Cue buttons → Star/crystal/prism shapes with Electro theme
  • Sync buttons → Rings/pulse/quantum shapes with Techno theme
  • Pads → Plasma/nova/comet shapes with Techhouse theme
Comic v2

Control-to-Visual Mapping

Deterministic but varied feedback

  • Jog wheels → Vortex/galaxy/spectrum shapes with Electro theme
  • Volume faders → Waveform/beam/nebula shapes with Dark theme
  • EQ controls → Hexagon/grid/cosmic shapes with Techhouse theme
  • Unmapped controls → Orb/spiral/lightning shapes with Dark theme (fallback)

Real-Time Feedback System

Comic v1

Shape Selection Algorithm

Deterministic but varied feedback

  • Ensures same control always produces same shape type
  • Different MIDI numbers cycle through available shapes
  • Provides visual consistency while avoiding predictability
Comic v1

Pattern Matching Control Lookup

Intelligent control type detection

  • Automatic pattern matching for control names (case-insensitive)
  • Examples: “play”, “cue”, “sync”, “pad”, “jog”, “volume”, “eq”
  • Fallback rules for unmapped MIDI patterns (channel/number based)
  • Customizable rules for new control types
City

Visual Feedback

Shape spawning with theme-based colors

  • Throttled spawning (80ms minimum interval) for performance
  • Maximum 6 concurrent shapes on screen
  • TTL-based shape lifecycle (300-1100ms duration)
  • Automatic theme switching during spawn, restores after
City

Audio-Reactive Integration

MIDI messages trigger visual effects

  • Shape size varies (90-120px) with random positioning
  • Rotation applied (-40° to +40°) for visual interest
  • Theme palette colors applied from 24 shape types
  • Color themes: Techno, Techhouse, Electro, Dark
City

Debug Logging

Comprehensive MIDI processing visibility

  • Detailed channel/number/velocity logging
  • Rule application tracking (which rule was used)
  • Mapped action confirmation (which control was detected)
  • Shift state change confirmation
  • Performance metrics (spawn rate, throttling statistics)

🎪Advanced Control Panel System

City v2

Multi-Section Interface

  • Multi-Section Interface: Organized control panels (Styles, Layers, Auto Effects, Playlists, Artists, Audio Rules)
  • Dynamic Visual Layer Control: Toggle backgrounds (Image, Avatar, Video), visualizers, lighting effects
City v2

Auto Effects Management

  • Auto Effects Management: Audio-reactive effects with customizable thresholds and parameters
  • Style Management System: Complete visual theme switching with preset configurations
  • Artist Management Interface: Professional artist branding with logo display and selection
City v2

Playlist Control Center

  • Playlist Control Center: Image, video, and avatar playlist management with live switching
  • Audio Rules Engine: Complex automation rules with visual feedback and parameter adjustment
  • Interactive Button System: Context-aware controls with hover states, active indicators, and real-time updates

🎪 Performance & Entertainment Features

City v2

Live Performance Tools

  • Layer Management: Multi-layer visual composition
  • Style Presets: Pre-configured visual themes and styles
  • Transition Effects: Smooth transitions between content
  • Animation System: Keyframe-based animation engine
  • Touch Controls: Intuitive touch-based interface
Christmas

Visual Themes & Customization

  • Theme Engine: Complete visual theming system
  • Color Schemes: Customizable color palettes
  • Font Management: Typography customization
  • Screen Scaling: Multi-monitor and scaling support
Anime

Integration Examples

Automatic Background Rotation:

  • Search for theme (e.g., “electronic music concert”)
  • Download top 10 images
  • Rotate through during performance
  • Metadata shows photographer credit

AI Logo Generation for Artists:

  • Enter artist name and style preference
  • Generate 3-5 logo variations with Gemini
  • Automatic background removal
  • Use in artist profiles and branding

📊 Analytics & Monitoring

Anime

Usage Analytics

  • Comprehensive Auditing: Detailed usage tracking and analytics
  • Performance Metrics: System performance monitoring
  • Event Logging: Complete event history and reporting
  • Distributor Management: Multi-level distribution tracking
Anime

License Management

  • Activation System: Secure software activation
  • License Validation: Real-time license verification
  • Usage Monitoring: Detailed usage analytics
  • Distributor Portal: Web-based distributor management

🌐 Network & Connectivity

Astronauts

Configuration Server

  • HTTP Config Server: built-in REST + WebSocket server (httpconfigserver.*, default port 8080) with token auth, request-id echo and uniform response envelopes
  • Realtime delivery: WebSocket event broadcast (HTTP port + 1) with long-poll subscription (GET /config/subscribe) as fallback, so remote UIs stay in sync either way
  • Resilient client: automatic server discovery across candidate addresses (dead interfaces skipped) plus a reconnect timer when the link drops
Astronauts

HTTP API

REST API: versioned /api/v1 contract (openapi-api-v1.yaml) with response envelopes and a revision counter — legacy endpoints kept working, full reference in “Complete REST Interface” below

  • Config, layers, styles, artists, playlists and marquee management
  • Local media plus Pixabay/Pexels stock search and download
  • DMX, timecode, scheduling, screen recording and realtime events

HTTP API – Complete REST Interface

DjMirror Pulse live visual

Configuration Management API

  • GET /config: Retrieve complete system configuration with all parameters
  • POST /config: Update configuration (full or partial) with automatic merging
    • Supports partial updates without overwriting unchanged values
    • Automatic configuration persistence
  • GET /config/subscribe: Real-time configuration change notifications via long polling
    • Long-polling mechanism for real-time updates
    • Only modified fields returned to optimize bandwidth
  • Change Tracking: Only modified fields returned to optimize bandwidth
DjMirror Pulse live visual

Image Management API

  • GET /images/list: Retrieve all available images from current playlist
    • Returns JSON array with metadata (filename, size, modification date)
    • Reads from configuration’s currentImageFile playlist
  • GET /images/download/{filename}: Download specific image file
    • Smart format support: JPG, PNG, BMP, GIF (including animated), SVG (vector graphics)
    • Metadata: File size, modification date, MIME type detection
    • Security: Path traversal protection, filename validation, safe path resolution
DjMirror Pulse live visual

Video Management API

  • GET /videos/list: Retrieve all available videos from current playlist
    • Returns complete video metadata for streaming preparation
    • Reads from configuration’s currentVideoFile playlist
  • GET /videos/download/{filename}: Stream video files
    • Multi-format support: MP4, WebM, AVI, MOV, MKV, FLV
    • HTTP streaming for large video files without full preload
    • Metadata: Complete file information and timestamps
DjMirror Pulse live visual

MCP Server

  • MCP server in the app (mcpserver.*, main_mcp.cpp, config_mcp.json): STDIO plus HTTP (127.0.0.1:8800) transports proxying the local HTTP API, token auth, localhost CORS, and per-request logging of tool name and arguments
  • Same contract as the API: responses carry the monotonic revision counter so agents detect config changes cheaply; get_capabilities lists styles up front; errors use stable structured codes; patches report only changed fields
  • Tool coverage: full remote control of config, layers, styles, artists, playlists, media, DMX, timecode and scheduling
  • Show automation for agents: program schedule entries and timecode cues, fire any action on demand, start/stop/list/download MP4 screen recordings, and manage NDI output — all remotely, covered by the automated API/MCP integration test suite
DjMirror Pulse live visual

Configuration-Aware Path Resolution

  • Dynamic Paths: All endpoints respect documentsPath from config.json
  • Fallback Strategy: Automatic fallback to standard Documents directory
  • Flexible Organization: Support for subdirectories and custom locations
  • Path Structure: Automatic organization into /Visuals/Images/Visuals/Videos/Visuals/Avatars
  • Service-Based Architecture: Dedicated ImageService, VideoService, and AvatarService classes
    • Single responsibility principle with clean separation of concerns
    • Independent configuration and error handling
    • Reusable across multiple HTTP endpoints
Disco v2

Media Playlist System

  • Text-Based Playlists: Simple .txt files listing resources
    • Comment support: Lines starting with # are treated as comments
    • Flexible paths: Relative or absolute path support within resource directories
    • Empty line handling: Automatic filtering of empty lines
  • Playlist Management: Central configuration integration
    • Reads from visualization.currentImageFilevisualization.currentVideoFilevisualization.currentAvatarFile
    • Automatic path resolution with sensible defaults
    • Support for absolute and relative paths within Documents folder

🎯 Professional Features

DjMirror Pulse live visual

Advanced Control Interface

  • Section-Based Navigation: Tabbed interface for organized control access
  • Dynamic Button Grid: Auto-sizing grid with scrollable content for extensive controls
  • Real-Time Visual Feedback: Active state indicators, hover effects, and flashing animations
  • Nested Property Management: Complex parameter hierarchy with automatic value resolution
  • Audio Rule Visualization: Live flashing indicators for triggered audio events
  • Multi-Type Parameter Control: Boolean toggles, numeric sliders, decimal adjustments, and selection controls
  • Touch-Optimized Interface: Responsive design with scalable elements and touch-friendly controls
DjMirror Pulse live visual

Multi-Monitor Support & NDI Output

  • Separate Windows: independent main and separate windows, with settingsWindow, mainMaximized and separateMaximized options in config.json plus command-line override
  • Full-Screen Display: immersive full-screen visualization on any display
  • Window Management: flexible window positioning and sizing across monitors
  • NDI Output: the live window is streamed as an NDI source (ndioutputsender.*) with configurable source name, frame rate (default 15 fps) and scale (default 0.75), including connected-receiver tracking
  • NDI Bridge: standalone bridge (main_ndibridge.cpp, ndi_config/) with JSON output definitions — named outputs, rotation, 1920×1080 crop — and presets for 3/5 screens, circle/triangle masks and panoramic orchestra setups, manageable via the NDI config API/MCP tools
Disco v2

Hardware Integration & Timecode Sync

  • Audio Device Support: selectable capture devices and sample rates (44100, 48000, 22050, 96000, 88200, 32000), plus a dedicated audio input for LTC timecode that runs independently from music analysis
  • MIDI Controllers: industry-standard hardware via RtMidi with 327 mapping presets in controllers/, plus a dedicated MIDI input reserved for MTC timecode, separate from DJ controller mapping
  • HID Devices: hidapi support with 10ms polling and presets for Traktor Kontrol, Pioneer CDJ, Hercules and generic custom hardware
  • Timecode Sync (MTC/LTC): 5 source modes — Off, MTC, LTC, Auto, Manual (timecodeprovider.*); MTC from lighting desks or Ableton Live, LTC/SMPTE from a dedicated audio channel with channel selection and signal-confidence readout; forward/backward detection with drop-frame and fps readout
  • Manual Clock & Timecode Cues: internal controllable clock (play/pause, locate, jump, frame rate) and cue list that fires any scheduler action — style, playlist, DMX scene, layer — when the incoming position crosses a chosen HH:MM:SS:FF mark, configurable from the Timecode panel, the API and MCP
DjMirror Pulse live visual

Performance Optimization

  • GPU Acceleration: Hardware-accelerated rendering
  • FFT Analysis: Fast Fourier Transform for real-time analysis
    • 2048-point FFT (46ms window at 44.1kHz) via kiss_fft on Windows/Linux and vDSP on macOS (audioanalyzer.h: FFT_SIZE = 2048)
    • 21.5 Hz frequency resolution at 44.1kHz sample rate
    • Real-time processing without perceptible lag
DjMirror Pulse live visual

Efficient resource utilization

  • Memory Management: Efficient resource utilization
  • Threading: Multi-threaded processing for smooth performance
    • Audio processing on dedicated thread
    • UI updates on main thread
    • Background task processing for API calls
  • Optimization Profiles: Multiple optimization levels for different hardware

🛠️ Developer & Configuration Features

Advanced Audio Pipeline

  • Energy Calculation: Dual-band energy measurement with reactive smoothing
    • Total Energy: Full spectrum average (normalized 0.0-1.0)
    • Bass Energy: Concentrated low-frequency measurement (40-320Hz, bins 2-15)
    • Reactive smoothing: 60% new value + 40% previous for stability
    • Historical tracking: 100-frame rolling buffer (~4.6 seconds)
  • Silence State Machine: Multi-stage silence detection with frame-accurate tracking
    • 4 distinct states: none → detecting → confirmed → ongoing
    • Configurable confirmation threshold (default: 6 frames ≈ 270ms)
    • Energy-based validation with adjustable thresholds
    • Per-frame signal emission for real-time UI updates
  • Audio Rule Integration: Centralized rule evaluation engine
    • Automatic silence state updates for all “silence” type rules
    • Frame-level synchronization with audio processing
    • Supports 7+ rule types with specialized evaluation logic
    • Cooldown-based re-triggering prevention

Advanced UI Framework

  • Signal-Based Communication: Comprehensive signal system for component interaction
    • 50+ audio analysis signals for UI update triggers
    • State machine transition signals for rules and silence states
    • Real-time parameter change notifications
  • State Management: Dynamic state tracking with real-time visual updates
    • Maintains 9+ audio metrics with history
    • Tracks song structure moments with confidence scores
    • Manages 80+ rule parameters with live feedback
  • Model-Driven Interface: ListModel-based architecture for scalable control systems
  • Component Architecture: Modular design with reusable UI components
  • Event-Driven Updates: Automatic UI refresh based on configuration changes
  • Memory Management: Efficient resource handling with dynamic timer management
    • Automatic cleanup of unused buffers
    • Smart memory pooling for particle effects

Control Panel Architecture

  • Section-Based Navigation: 9 distinct control sections with tabbed interface
  • Dynamic Grid Layout: Auto-sizing button grid with vertical scrolling support
  • Multi-Type Controls: Boolean toggles, numeric increment/decrement, style selection, playlist management
  • Visual Feedback System: Active states, hover effects, and audio-triggered flashing animations
  • Nested Property Handling: Complex configuration hierarchy with automatic value resolution
  • Touch-Optimized Design: Scalable interface elements with responsive touch controls

Control Panel Sections

  • Styles Section: Visual theme management with preset style switching
  • Layers Section: Visual layer toggles (backgrounds, visualizers, lighting, masks)
  • Auto Effects Section: Audio-reactive effects with enable/disable controls
  • Image Playlists Section: Image collection management and selection
  • Avatar Playlists Section: Avatar/character content playlist control
  • Video Playlists Section: Video content management and playback control
  • Artists Section: Artist profile selection with logo display
  • Audio Rules Section: 80+ parameter controls for audio automation rules
  • Indicators Section: System status and monitoring displays

Configuration Management

  • JSON Configuration: Flexible configuration system
  • Dynamic Settings: Real-time parameter adjustment
  • Profile Management: Multiple configuration profiles
  • Backup & Restore: Configuration backup and recovery

Diagnostic Tools

  • System Diagnostics: Comprehensive system health checking
  • API Testing: Built-in API connectivity testing
  • Performance Monitoring: Real-time performance metrics
  • Log Analysis: Detailed logging and troubleshooting

📈 Enterprise Features

Distribution Management

  • Distributor Portal: Web-based distributor management system
  • License Generation: Automated bulk license creation
  • Usage Reporting: Detailed usage and analytics reporting
  • Billing Integration: Revenue tracking and management

Security & Compliance

  • Secure Activation: Encrypted license validation
  • Audit Trails: Complete audit logging for compliance
  • Access Control: Role-based access management
  • Data Protection: Secure data handling and storage

📚 Architecture Highlights

  • SOLID Principles: Single responsibility implementation across service classes
    • ImageService, VideoService, AvatarService for media management
    • Dedicated AudioAnalyzer and AudioRule engines
    • Clean separation between HTTP routing and business logic
    • ImageSearchService, VideoSearchService for content discovery
    • ImageEnhancementService for AI-powered generation
  • Configuration-Driven Design: All paths and parameters read from config.json
    • Dynamic path resolution with sensible fallbacks
    • Per-rule threshold configuration
    • Persistent configuration management
    • API key storage with QSettings
  • Thread-Safe Processing: Multi-threaded audio analysis without UI blocking
    • Dedicated audio processing thread
    • Lock-free communication with main UI thread
    • Atomic configuration updates
    • Background API requests for search/download operations

🆕 What’s new

  • DMX Scene Player section: previously inside Settings > DMX Controller, now a dedicated Control Panel section. Playback keeps running while you navigate, opening Scenes auto-connects with the last-used device/port, and every connected output in multi-universe setups is saved and reconnected.
  • DMX Quick Controls via API & MCP: Strobe Burst, Clear Blackout, Movement Engine ON/OFF, Auto Dimmer ON/OFF and Long Fog Burst, reachable through POST /api/v1/dmx/runtime/macros/<name> and PATCH /api/v1/dmx/runtime/dimmer plus matching MCP tools.
  • Timecode Manual mode + schedule test clock: a 5th timecode source (internal clock with play/pause, locate and jump) plus a runtime-only simulated-clock offset for the Programming Schedule (/api/v1/timecode/manual*, /api/v1/schedule/clock).
  • Styles API: apply a style by name even when only a catalog stub exists (auto-download first) and list install state with GET /api/v1/visuals/styles-metadata.
  • Fixture library: new 7-channel Fog machine profile and updated bundled fixtures; sample scenes reference fixtures by stable UUID so renaming no longer breaks them.

Verified engine notes (shipped source)

  • Audio: FFT_SIZE 2048 (audioanalyzer.h), kiss_fft on Windows/Linux and vDSP on macOS; capture rates 44100, 48000, 22050, 96000, 88200, 32000; 100-frame energy history (~4.6s at 44.1kHz).
  • Rules: 18 rule types in audiorule.h (Drop, Build, Break, Peak, Silence, Outro, Bpm, Rhythm, Danceability, Vibe, Harmony, Key, Intro, Chorus, BuildUp, Bridge, Verse, Generic); the sample config ships 39 elements.audioRules keys; BPM detector targets roughly 110–145 BPM.
  • Control surfaces: MIDI via RtMidi (midilistener.h) with 327 mapping files in controllers/; HID via hidapi with 10ms polling and Generic HID plus Traktor/Pioneer/Hercules presets; one shared action path (actiondispatcher.cpp, incl. spawnShape) for MIDI, OSC, HID, scheduler, timecode cues, API and MCP.
  • Remote control: versioned contract /api/v1/* (openapi-api-v1.yaml) with {ok, data, error, meta.revision} envelopes, default http://localhost:8080/api/v1, realtime WebSocket on HTTP port + 1; MCP server over STDIO + HTTP transports; legacy unversioned endpoints still exist but new integrations should use /api/v1.
  • Show control: Programming Schedule with weekday/clock-time actions, Timecode Cues on HH:MM:SS:FF marks (MTC/LTC/Manual), MP4 screen recording via API/MCP, and NDI network video output (ndioutputsender.*).
Featured on Fazier Featured on Fazier Launching Soon on Uneed