Project Documentation

Searcholume

Resolume Column View Controller for visual, column-based clip operations with thumbnail previews, real-time state sync, and one-click column triggering.

Core Stack React + Node.js + WebSocket
Resolume Target Arena/Avenue 7.x REST API
Default Ports Frontend 3000 / Backend 3001
Polling 500ms Live State Updates

What It Solves

Searcholume provides a vertical column-first control surface for Resolume so operators can view thumbnails, track clip state, and fire full columns quickly during live programming and playback.

Column View Real-time Sync Thumbnail Cache

Prerequisites

  • Node.js 18+ and npm.
  • Resolume Arena/Avenue 7.x with Web Server enabled.
  • Resolume reachable at http://0.0.0.0:8080 (default).

Setup Guide (Recommended)

  1. Install backend dependencies: cd backend then npm install
  2. Install frontend dependencies: cd ../frontend then npm install
  3. Review backend/config.json for API URL, ports, polling, and cache settings.
  4. Start backend: cd backend then npm start
  5. Start frontend: cd frontend then npm run dev
  6. Open http://localhost:3000

Configuration Surface

  • resolumeApiUrl: Resolume REST endpoint, default http://0.0.0.0:8080/api.
  • serverPort: backend API/WebSocket port, default 3001.
  • pollInterval: state polling interval in milliseconds, default 500.
  • thumbnailCacheSize and maxConcurrentThumbnails: performance controls.
  • corsOrigin: expected frontend URL (default http://localhost:3000).

API and Event Model

REST: Columns

GET /api/columns returns column + clip view state from Resolume.

REST: Trigger

POST /api/columns/:index/trigger triggers all clips in a column.

REST: Status + Thumbnails

Use status and thumbnail endpoints for health checks and cached preview retrieval.

WebSocket Events

Uses columns:update, clip:connected, and error for live sync.

Troubleshooting Checklist

  • Backend won’t start: run npm install in backend and resolve port conflicts on 3001.
  • Cannot connect to Resolume: verify Web Server settings and test curl http://0.0.0.0:8080/api/product.
  • Frontend stuck on connecting: confirm backend is running and browser/firewall allows WebSocket.
  • Thumbnails missing: confirm media is loaded in Resolume and inspect browser/network logs.
  • Column triggers fail: verify clip settings do not ignore column trigger and check backend logs.