TouchDesigner is used to control audio playback and automate control of Resolume through [OSC](https://resolume.com/support/en/osc). https://github.com/dramamine/lightdream-scripts/tree/main/td See `SuperLightdream.toe` or `Bermuda.toe` for the project file used here. ![[Pasted image 20240107140125.png]] Features of this project: - UI to control intensity of the visuals - Automated BPM tracking and gain adjustment, to sync audio with Resolume **How does automation work?** The Resolume composition contains 3 layers: a background layer, a mask layer, and a top layer. Each layer has clips sorted by "intensity". The Intensity knob maps to different templates with variables for intensity per layer, and total number of effects to apply to each layer. Each template also uses some logic for 4 different "sections", which make minor changes to the active visuals. These are designed to match up to the music such that a section runs for 8 measures. ## Perform Mode Dialogs > Window Placement "Start in Perform Mode" etc., also has Position and Size modifiers Check /perform Window component for options related to hiding taskbar, etc. F1 to activate perform mode, Esc (or Shift-Esc) to exit ## Stuff Left To Do - [ ] Hook up timeline code - [ ] `/composition/layers/5/clips/1/dashboard/link1 - [ ] Resolume needs effects with Dashboard knob - [ ] Rekordbox to CSV - [x] Create one CSV - [x] Create all CSVs - [ ] Get things in the right folders @TODO permissions issue when moving git/audio-beat-detector into lightdream-scripts AND rename lightdream-scripts to bermuda-scripts - [x] Folder reader - [ ] Do the actions - [x] Update BPM - [x] Update intensity - [ ] Send "resync" - [x] Increment sections inside AST - [x] Move python files to actual files so they're in source control nicely - [ ] Add "play old song sequences" option - [ ] Make sure you're X-ing out all effects in sequence mode - [ ] Playing track doesn't seem to update intensity knob - [ ] Play correct song, i.e. hook up audiofilein1 with scripts - [ ] Fix "perform" mode view to match UI view - [ ] Add "offset" / sync feature - [ ] Playlist random vs sequenced - [ ] Playlist - description metadata (ex. please play in order vs play on shuffle) - [ ] Delegate out to Jaye - [ ] "end " getting written to CSV too many times - [ ] Can we import replaygain data? For the Lexicon discussion: - [x] Try importing just one song & manually setting it up - [ ] ~~Investigate Serato Sample~~ - [ ] ~~See if the "playlist" part of Lexicon is worth exploring~~ ### Migration Guide - @TODO set up folders for bgs, masks - @TODO set up folder for playlists and cue files