for local testing on plus: sudo -u mpd -s export LD_LIBRARY_PATH=/home/drewp/score ./mpd --no-daemon fix networking.py to look for player on plus PYTHONPATH=../pympd bin/ascoltami --show http://light9.bigasterisk.com/show/dance2010 plus(pts/3):~/projects/light9% bin/dmxserver -n vidref OK grab time from asco OK always record picture against {songuri}/vid/{take}/{songtime}, so we never miss a recording (but at night when they're all gone, we don't need any recordings?) OK play prev videos OK let me tag a good rehearsal or toss junk rehearsals. if we juggle the playback time too much, you can be sure it's not a good pass OK qt window with one live pane and any number of synced playback panes. XX get twisted qt wrapper for our networking OK new take for every single restart? i guess so, since they could pass over the same song time. XX check if mpd has a working precise-time system yet, so we could get off the patched one Do we need to detach from current song+time to view something else? curvecalc should be able to fetch a sample of a lit frame to stick in its timeline need to move curvecalc to qt? can i dynamically change the output filename of a filesink? that might be the way to steer the ouptut correctly. But, i might want to append one take's frames into one file. Maybe use a standard compressor like mjpeg, and separately map the in-movie timestamp to our playback timestamp in case they drift. show is 70min of music: at 8fps and 50k/pic, 1.6MB of image data per pass. ================================================== rewrites! after you get all the music files into config.n3, run bin/musicPad once, and then update all their paths to the new pad/ directory. THEN run bin/wavecurve todo: make new CDs with corrected songs sync songs across computers test dmx dongle, sliders box, sound playback for 2011: - bring a mouse for the curvecalc laptop - vidref should have a time slider - factor out music dir so it can be different per machine - all settings should be in RDF and live-shared across all apps, maybe with anzo for updates - when curvecalc says 'Slider 1', the X coordinates of the curve get misaligned OK asco should say clearly what machine it's running on - asco should have GUI for picking which sound output you want, and store the setting - vidref should have snapshot button for taking pics of the stage - bring mini tripod or beanbag for the vidref camera - more remote contol stuff - gel sample pack - vidref adjustable crop to the stage aspect - vidref should have an 'in progress' row to prove that it's recording something new OK curvecalc still has a problem making empty-name subterms. that should never happen, even once - remote-run GUIs should say what machine they're on. Or, everyone should say what RDF server it's talking tox - scrub inside curvecalc, preview a video in it - bring curvecalc's logging inside the GUI window - vidref stopped here once: File "/usr/lib/python2.6/threading.py", line 484, in run self.__target(*self.__args, **self.__kwargs) File "/home/drewp/projects/light9/light9/vidref/main.py", line 54, in _timeUpdate position = jsonlib.loads(self.musicResource.get("time").body, File "/usr/local/lib/python2.6/dist-packages/restkit-1.3.1-py2.6.egg/restkit/resource.py", line 135, in get return self.request("GET", path=path, headers=headers, **params) File "/usr/local/lib/python2.6/dist-packages/restkit-1.3.1-py2.6.egg/restkit/resource.py", line 231, in request raise RequestError(e) RequestError: [Errno 111] Connection refused - asco stops considerably after the autostop time (according to curvecalc) - CC should support zoom-crushing towards the left as well - vidref's replay 'enabled' button should be completely sticky across sessions - audio process pipeline; RDF graph should track versions of songs (padded, normalized) OK vidref can loop like this if asco goes down: File "/home/drewp/projects/light9/light9/vidref/main.py", line 168, in updateLoop self.replayViews.update(position) File "/home/drewp/projects/light9/light9/vidref/replay.py", line 42, in update self.loadViewsForSong(position['song']) File "/home/drewp/projects/light9/light9/vidref/replay.py", line 57, in loadViewsForSong d = songDir(song) File "/home/drewp/projects/light9/light9/vidref/replay.py", line 10, in songDir safeUri = song.split('://')[-1].replace('/','_') AttributeError: 'NoneType' object has no attribute 'split' - CC subterms that are just curve(t) should not appear as rows; they should be described in their curverow - all machines should have this control panel: set audio output to house or local; what's the song time; scrub around in this song; switches for emergency lights; make a checkpoint (if we dont have complete history yet); "it looks bad" button, to make a todo note for that time - hardest thing is seeing an area on stage and getting light onto it. lightsim could help - compute whole-stage brightness and show that as a track, so we can adjust the light mix to create overall looks #3: 306 horns- strobe. 255 light the sides. r first #4 louder #5 test blacklight #7 start cyc, with just 5 245 light change as they turn #8 test BL #10 louder #11 test BL 112 strobe? with the sound effect 180 challenge R then L 191 busy before the end, then light their line - 2nd req for BL #14 test BL 146 darker before kick line, so we can get brighter on it at this time #16 softer beginning 587 strobe to 595 655 fade as they sit how to normalize audio: plus(pts/0):~/projects/light9/show/dance2008/music/norm% normalize-audio -v --mix *.wav