Looping Perform Interface

I need help wrapping my head around a way to do this.

I want to create a performance interface that will Play a sequenced loop. The first 5 minutes will be a slide show of 3 different images with a countdown clock over the top. The final 3 minutes will be a video, then the entire sequence will loop again. Would be nice if it would automatically start and stop at specific times of the day too.

Thoughts?

A combination of the Timer CHOP and the Clock CHOP will probably get you most of the way there on this.

The timer CHOP allows you to create a segments table with specific time duration or delays for each element. You can run this sequentially or in parallel. You might use one timer for the slide show, and another to trigger the actual show pieces itself. Using the callbacks for the Timer CHOP will help you figure out when to call an event when another has completed.

The Clock CHOP and a CHOP Execute would allow you to drive this around specific days / times.

If you want to build something more extensible, you might also spend sometime thinking about the interface that will allow you to build out your shows, and how you want to store that information. I’ve used JSON and XML to do this - These days I’m leaning towards JSON, but they’re both fine data transport mediums, and would allow you to build out all of the details of your show - the schedule, the assets, etc.

For example, this builds the show XML:

That UI generates this XML:

<?xml version="1.0" ?> <cuelist> <events/> <groups> <group name="north"/> <group name="south"/> <group name="east"/> <group name="west"/> <group name="stage_led"/> <group name="side_led"/> <group name="wings"/> <group name="jumbotron"/> <group name="cylinder_strip"/> </groups> <show/> <shot fadein="1.5" fadeout="0.0" frames="301" length="00:00:10.02" loop="next" shot="016a_li_speech_intro" xfade="0.0"> <clip file="016a_li_speech_intro" group="north" loop="next" scene=""/> <clip file="016a_li_speech_intro" group="south" loop="next" scene=""/> <clip file="016a_li_speech_intro" group="east" loop="next" scene=""/> <clip file="016a_li_speech_intro" group="west" loop="next" scene=""/> <clip file="016a_li_speech_intro" group="stage_led" loop="next" scene=""/> <clip file="016a_li_speech_intro" group="side_led" loop="next" scene=""/> <clip file="016a_li_speech_intro" group="wings" loop="next" scene=""/> <clip file="016a_li_speech_intro" group="jumbotron" loop="next" scene=""/> <clip file="016a_li_speech_intro" group="cylinder_strip" loop="next" scene=""/> </shot> <shot fadein="0.0" fadeout="0.0" frames="391" length="00:00:13.02" loop="cycle" shot="016b_li_speech_loop" xfade="0.0"> <clip file="016b_li_speech_loop" group="north" loop="cycle" scene=""/> <clip file="016b_li_speech_loop" group="south" loop="cycle" scene=""/> <clip file="016b_li_speech_loop" group="east" loop="cycle" scene=""/> <clip file="016b_li_speech_loop" group="west" loop="cycle" scene=""/> <clip file="016b_li_speech_loop" group="stage_led" loop="cycle" scene=""/> <clip file="016b_li_speech_loop" group="side_led" loop="cycle" scene=""/> <clip file="016b_li_speech_loop" group="wings" loop="cycle" scene=""/> <clip file="016b_li_speech_loop" group="jumbotron" loop="cycle" scene=""/> <clip file="016b_li_speech_loop" group="cylinder_strip" loop="cycle" scene=""/> </shot> <shot fadein="0.0" fadeout="1.5" frames="301" length="00:00:10.02" loop="hold" shot="016c_li_speech_out" xfade="0.0"> <clip file="016c_li_speech_out" group="north" loop="hold" scene=""/> <clip file="016c_li_speech_out" group="south" loop="hold" scene=""/> <clip file="016c_li_speech_out" group="east" loop="hold" scene=""/> <clip file="016c_li_speech_out" group="west" loop="hold" scene=""/> <clip file="016c_li_speech_out" group="stage_led" loop="hold" scene=""/> <clip file="016c_li_speech_out" group="side_led" loop="hold" scene=""/> <clip file="016c_li_speech_out" group="wings" loop="hold" scene=""/> <clip file="016c_li_speech_out" group="jumbotron" loop="hold" scene=""/> <clip file="016c_li_speech_out" group="cylinder_strip" loop="hold" scene=""/> </shot> </cuelist>

This data gets parsed, and then a set of extensions is used to drive the show software.

Does that help?

M

To add to the above answer (mine won’t be nearly as good!), we made this simple tool for sequencing events.

viewtopic.php?f=22&t=8202

Then you’d still have to figure ou the other stuff, but you can use the outputs to trigger blending between different containers that hold the content you want on screen.

I ended up tying the cue of the movie file in to the time line. I needed MIDI Time Code out and the easiest way for me to wrap my head around this was to attach the MTC to the timeline. The Time line then cues a switch to go between a loop of sponsors projection content and the looping show. Loops every 8 mins.