Accuracy triggering videos?

Dec 19, 2006 at 4:21pm

Accuracy triggering videos?

I have a patch where I am triggering four videos with a little sub-patch that uses the tempo object as a common time base. This works in conjunction with some counters and select objects. The patch allows me to reverse engineer simple generative compositions and then play the individual elements (usually four) on real instruments recorded as video. The video part of the patch is quite simple and uses messages received from the trigger patch.

Loop-lengths of all the videos are different and relate to the re-triggering of musical parts reflecting the settings of the trigger sub-patch.

My problem is that although the patch works and triggers the videos it is sometimes very slightly out of time. It will go back into time after a revolution of each loop has completed. Most of the time all is well and the rhythm of each part is synced. All it takes is a little glitch in the re-triggering of the video to make the next revolution slightly out.

I am sure this is not down to the trigger patch but to do with the re-starting of the videos. I have used the loadram message but this dose not help.

My media is light-weight at the moment, each video is a 320×240 medium quality photo jpeg. I would post the patch but as the media is so specific it would make no sense without it.
Basically I need better accuracy of the video re-triggering so that my patch plays back music with NO timing errors. The patch runs for up to about a minute sometimes without problems. I have 2gb of ram and a 2.16mHz intel cpu macbookpro.
Sorry for not being able to be concise, but some things need a bit of detail. Your thoughts are always welcome
Carl

#29293
Dec 19, 2006 at 8:31pm

Not seeing your patch makes it very difficult to
offer the kind of specific advice you appear to
wish to have.

You could try deriving your metronome from audio
rate objects – some people don’t use metronomes
at all for timing stuff. For some examples of this
approach in action, you should poke around in the

examples>sequencing-looping>audio-rate-sequencing-looping

folder.

#91210
Dec 20, 2006 at 10:24am

Hi Carl,

I had a very similar problem, I’m not an expert on video so this is
probably a not very elegant solution, but it works solidly. loadram
did not work well for me either, btw. I also see you are already
using counters… are you using them to run the video? if not, read
on…

I do not use the jit.qt.movie loop point messages as these only seem
to work excelently in the tutorial example ;)

I edited together all my video into a long file about 2.8 GB long.
(and I only have 2GB ram). Then I load this file into the
jit.qt.movie and stop it (it plays when I just load it), then I just
route a metronome to a counter that frame advances the movie at video
rate (25fps in the UK)… then I can keep track of where I am in the
frame count.

Because I am running the video from a counter object, I can then send
a frame number to jump somewhere, or to loop and it works deadly
accurately… I create a list of cues and then send a number to the
list which then bangs out the frame number, etc, etc…

This seems always better than the jit.qt.movie object running at its
own internal speed.

I would like to know if there is a better general approach than this
for rhythmic accuracy… the nice VJ patch in the jitter recipes
pauses ever so slightly when it changes clip, but I cannot tolerate
even that, so the metro-counter combination works the best. Then
again as usual I am just hacking things together so I’m open to
suggestions.

Maybe this is too simple, but I thought I’d mention it.

best,
Julio.

On 19 Dec 2006, at 16:21, Carl Rohumaa wrote:

>
> I have a patch where I am triggering four videos with a little sub-
> patch that uses the tempo object as a common time base. This works
> in conjunction with some counters and select objects. The patch
> allows me to reverse engineer simple generative compositions and
> then play the individual elements (usually four) on real
> instruments recorded as video. The video part of the patch is quite
> simple and uses messages received from the trigger patch.
>
> Loop-lengths of all the videos are different and relate to the re-
> triggering of musical parts reflecting the settings of the trigger
> sub-patch.
>
> My problem is that although the patch works and triggers the videos
> it is sometimes very slightly out of time. It will go back into
> time after a revolution of each loop has completed. Most of the
> time all is well and the rhythm of each part is synced. All it
> takes is a little glitch in the re-triggering of the video to make
> the next revolution slightly out.
>
> I am sure this is not down to the trigger patch but to do with the
> re-starting of the videos. I have used the loadram message but this
> dose not help.
>
> My media is light-weight at the moment, each video is a 320×240
> medium quality photo jpeg. I would post the patch but as the media
> is so specific it would make no sense without it.
> Basically I need better accuracy of the video re-triggering so that
> my patch plays back music with NO timing errors. The patch runs for
> up to about a minute sometimes without problems. I have 2gb of ram
> and a 2.16mHz intel cpu macbookpro.
> Sorry for not being able to be concise, but some things need a bit
> of detail. Your thoughts are always welcome
> Carl
> –
> Some links to my stuff n that :-) http://zappa.tvu.ac.uk/~crohumaa/
> CV/cv.php

#91211
Dec 20, 2006 at 11:11am

Hi Carl,

If you post or attach a patch it will probably be possible to give you a direct answer that solves your problem. To me it sounds like only one hint should be enough but there are a lot of possibilities depending on the way you built your patch.

Mattijs

#91212
Dec 20, 2006 at 12:43pm

Ok maybe this will help you understand what I am doing. This is just the timing part of the patch. It is all commented. I am sure the timing is exact enough for music. Well I hope the tempo object is in errr tempo right?

If there is a better way I would love to know. Not sure how I would drive my video from a counter as julio says he is doing in this senario. I am already using counters to give me the exact number of beats in the bar that I need. I understand what julio is doing but am confused as to whether this is possible in my situation. What will be the best way to trigger my video in this situation. Currently I am just sending a [time 0] message.
Am I due another complete re-think? :)

max v2;
#N vpatcher 130 44 862 731;
#N comlet sel 1;
#P inlet 608 372 15 0;
#N comlet sel 1;
#P inlet 576 372 15 0;
#N comlet sel 1;
#P inlet 540 372 15 0;
#N comlet sel 1;
#P inlet 507 372 15 0;
#N comlet bpm;
#P inlet 188 156 15 0;
#N comlet START STOP;
#P inlet 236 156 15 0;
#N comlet RESET COUNTERS;
#P inlet 137 156 15 0;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P message 363 156 20 196617 16;
#P message 306 156 14 196617 1;
#P message 258 156 20 196617 80;
#P message 534 280 20 196617 51;
#P message 505 280 20 196617 43;
#P message 478 280 20 196617 35;
#P message 451 280 20 196617 27;
#P newex 409 114 48 196617 loadbang;
#N comlet BANGMOV-4;
#P outlet 361 540 15 0;
#N comlet BANGMOV-3;
#P outlet 271 540 15 0;
#N comlet BANGMOV-2;
#P outlet 180 540 15 0;
#N comlet BANGMOV-1;
#P outlet 87 540 15 0;
#P button 137 176 15 0;
#P message 137 213 14 196617 0;
#P number 258 183 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 361 405 46 196617 select 3;
#P newex 271 405 46 196617 select 2;
#P newex 180 405 46 196617 select 1;
#P number 363 183 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 306 183 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 361 443 71 12;
#P button 271 443 71 9;
#P button 180 443 71 13;
#P button 87 443 71 6;
#P number 417 331 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 327 331 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 236 331 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 143 331 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#N counter;
#X flags 0 0;
#P newobj 361 356 66 196617 counter;
#N counter;
#X flags 0 0;
#P newobj 271 356 66 196617 counter;
#N counter;
#X flags 0 0;
#P newobj 180 356 66 196617 counter;
#P toggle 236 183 15 0;
#P newex 87 405 46 196617 select 0;
#N counter;
#X flags 0 0;
#P newobj 87 356 66 196617 counter;
#P newex 236 213 53 196617 tempo 80;
#P comment 44 177 80 196617 COUNTER RESET;
#P window linecount 5;
#P comment 575 282 100 196617 #P window linecount 7;
#P comment 501 408 151 196617 The select objects offset the timing so that each video is triggered one sixteenth apart in the counters loop length. This is done to reproduce the behavior of the generative nature of the original composition;
#P window linecount 6;
#P comment 295 211 100 196617 Timing needs to be tempo based as the videos it triggers are recordings of actual performances done to a click;
#P window linecount 2;
#P comment 93 582 281 196617 These out-lets bang out to the four videos triggering the start of each;
#P window setfont “Sans Serif” 12.;
#P window linecount 4;
#P comment 11 40 393 196620 This patch provides the timing I need to trigger my videos. It creates poly-rhythmic events that represent the different bar lengths from the original compositions. In this example the poly rhythms roll over each other like this 7/4 9/4 11/4 and 13/4;
#P fasten 6 0 7 0 241 303 92 303;
#P connect 7 0 8 0;
#P connect 8 0 17 0;
#P connect 17 0 29 0;
#P fasten 27 0 7 2 142 287 120 287;
#P fasten 44 0 8 1 512 396 128 396;
#P connect 41 0 28 0;
#P connect 28 0 27 0;
#P fasten 34 0 13 0 456 308 148 308;
#P connect 13 0 7 4;
#P fasten 6 0 10 0 241 303 185 303;
#P connect 10 0 23 0;
#P connect 23 0 18 0;
#P connect 18 0 30 0;
#P fasten 27 0 10 2 142 320 213 320;
#P fasten 45 0 23 1 545 396 221 396;
#P connect 42 0 9 0;
#P connect 9 0 6 0;
#P fasten 35 0 14 0 483 308 241 308;
#P connect 14 0 10 4;
#P fasten 26 0 6 1 263 203 255 203;
#P fasten 43 0 6 1 193 180 255 180;
#P fasten 33 0 38 0 414 140 263 140;
#P connect 38 0 26 0;
#P fasten 21 0 6 2 311 203 269 203;
#P fasten 6 0 11 0 241 303 276 303;
#P connect 11 0 24 0;
#P connect 24 0 19 0;
#P connect 19 0 31 0;
#P fasten 22 0 6 3 368 203 283 203;
#P fasten 27 0 11 2 142 320 304 320;
#P fasten 33 0 39 0 414 140 311 140;
#P connect 39 0 21 0;
#P fasten 46 0 24 1 581 396 312 396;
#P fasten 36 0 15 0 510 308 332 308;
#P connect 15 0 11 4;
#P fasten 6 0 12 0 241 303 366 303;
#P connect 12 0 25 0;
#P connect 25 0 20 0;
#P connect 20 0 32 0;
#P fasten 33 0 40 0 414 140 368 140;
#P connect 40 0 22 0;
#P fasten 27 0 12 2 142 320 394 320;
#P fasten 47 0 25 1 613 396 402 396;
#P fasten 37 0 16 0 539 308 422 308;
#P connect 16 0 12 4;
#P fasten 33 0 34 0 414 270 456 270;
#P fasten 33 0 35 0 414 270 483 270;
#P fasten 33 0 36 0 414 270 510 270;
#P fasten 33 0 37 0 414 211 539 211;
#P pop;

#91213
Dec 20, 2006 at 1:52pm

Quote: CarlR wrote on Wed, 20 December 2006 13:43
—————————————————-
> Ok maybe this will help you understand what I am doing. This is just the timing part of the patch. It is all commented. I am sure the timing is exact enough for music. Well I hope the tempo object is in errr tempo right?

Hi Carl,

This is a neat patch and I don’t see anything wrong with it that may cause bad timing.

As you said in your first post: “I am sure this is not down to the trigger patch but to do with the re-starting of the videos. I have used the loadram message but this dose not help.” The video part is not in your example though.

The very best thing would be to narrow down your problem to a basic patch that allows me (or us) to follow a few steps and then see the problem happen.

Kind regards,
Mattijs

#91214
Dec 20, 2006 at 3:10pm

cool patch, but… I suspect the prob is the jit.qt.mov…
metro-counter is your friend ;)

best
J

On 20 Dec 2006, at 12:43, Carl Rohumaa wrote:

>
> Ok maybe this will help you understand what I am doing. This is
> just the timing part of the patch. It is all commented. I am sure
> the timing is exact enough for music. Well I hope the tempo object
> is in errr tempo right?
>
> If there is a better way I would love to know. Not sure how I would
> drive my video from a counter as julio says he is doing in this
> senario. I am already using counters to give me the exact number of
> beats in the bar that I need. I understand what julio is doing but
> am confused as to whether this is possible in my situation. What
> will be the best way to trigger my video in this situation.
> Currently I am just sending a [time 0] message.
> Am I due another complete re-think? :)
>
>
> max v2;
> #N vpatcher 130 44 862 731;
> #N comlet sel 1;
> #P inlet 608 372 15 0;
> #N comlet sel 1;
> #P inlet 576 372 15 0;
> #N comlet sel 1;
> #P inlet 540 372 15 0;
> #N comlet sel 1;
> #P inlet 507 372 15 0;
> #N comlet bpm;
> #P inlet 188 156 15 0;
> #N comlet START STOP;
> #P inlet 236 156 15 0;
> #N comlet RESET COUNTERS;
> #P inlet 137 156 15 0;
> #P window setfont “Sans Serif” 9.;
> #P window linecount 1;
> #P message 363 156 20 196617 16;
> #P message 306 156 14 196617 1;
> #P message 258 156 20 196617 80;
> #P message 534 280 20 196617 51;
> #P message 505 280 20 196617 43;
> #P message 478 280 20 196617 35;
> #P message 451 280 20 196617 27;
> #P newex 409 114 48 196617 loadbang;
> #N comlet BANGMOV-4;
> #P outlet 361 540 15 0;
> #N comlet BANGMOV-3;
> #P outlet 271 540 15 0;
> #N comlet BANGMOV-2;
> #P outlet 180 540 15 0;
> #N comlet BANGMOV-1;
> #P outlet 87 540 15 0;
> #P button 137 176 15 0;
> #P message 137 213 14 196617 0;
> #P number 258 183 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 361 405 46 196617 select 3;
> #P newex 271 405 46 196617 select 2;
> #P newex 180 405 46 196617 select 1;
> #P number 363 183 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P number 306 183 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P button 361 443 71 12;
> #P button 271 443 71 9;
> #P button 180 443 71 13;
> #P button 87 443 71 6;
> #P number 417 331 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P number 327 331 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P number 236 331 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P number 143 331 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #N counter;
> #X flags 0 0;
> #P newobj 361 356 66 196617 counter;
> #N counter;
> #X flags 0 0;
> #P newobj 271 356 66 196617 counter;
> #N counter;
> #X flags 0 0;
> #P newobj 180 356 66 196617 counter;
> #P toggle 236 183 15 0;
> #P newex 87 405 46 196617 select 0;
> #N counter;
> #X flags 0 0;
> #P newobj 87 356 66 196617 counter;
> #P newex 236 213 53 196617 tempo 80;
> #P comment 44 177 80 196617 COUNTER RESET;
> #P window linecount 5;
> #P comment 575 282 100 196617 > 16th chunks. In this case 7 , 9 , 11 , and 13 whole beats.;
> #P window linecount 7;
> #P comment 501 408 151 196617 The select objects offset the timing
> so that each video is triggered one sixteenth apart in the counters
> loop length. This is done to reproduce the behavior of the
> generative nature of the original composition;
> #P window linecount 6;
> #P comment 295 211 100 196617 Timing needs to be tempo based as the
> videos it triggers are recordings of actual performances done to a
> click;
> #P window linecount 2;
> #P comment 93 582 281 196617 These out-lets bang out to the four
> videos triggering the start of each;
> #P window setfont “Sans Serif” 12.;
> #P window linecount 4;
> #P comment 11 40 393 196620 This patch provides the timing I need
> to trigger my videos. It creates poly-rhythmic events that
> represent the different bar lengths from the original compositions.
> In this example the poly rhythms roll over each other like this 7/4
> 9/4 11/4 and 13/4;
> #P fasten 6 0 7 0 241 303 92 303;
> #P connect 7 0 8 0;
> #P connect 8 0 17 0;
> #P connect 17 0 29 0;
> #P fasten 27 0 7 2 142 287 120 287;
> #P fasten 44 0 8 1 512 396 128 396;
> #P connect 41 0 28 0;
> #P connect 28 0 27 0;
> #P fasten 34 0 13 0 456 308 148 308;
> #P connect 13 0 7 4;
> #P fasten 6 0 10 0 241 303 185 303;
> #P connect 10 0 23 0;
> #P connect 23 0 18 0;
> #P connect 18 0 30 0;
> #P fasten 27 0 10 2 142 320 213 320;
> #P fasten 45 0 23 1 545 396 221 396;
> #P connect 42 0 9 0;
> #P connect 9 0 6 0;
> #P fasten 35 0 14 0 483 308 241 308;
> #P connect 14 0 10 4;
> #P fasten 26 0 6 1 263 203 255 203;
> #P fasten 43 0 6 1 193 180 255 180;
> #P fasten 33 0 38 0 414 140 263 140;
> #P connect 38 0 26 0;
> #P fasten 21 0 6 2 311 203 269 203;
> #P fasten 6 0 11 0 241 303 276 303;
> #P connect 11 0 24 0;
> #P connect 24 0 19 0;
> #P connect 19 0 31 0;
> #P fasten 22 0 6 3 368 203 283 203;
> #P fasten 27 0 11 2 142 320 304 320;
> #P fasten 33 0 39 0 414 140 311 140;
> #P connect 39 0 21 0;
> #P fasten 46 0 24 1 581 396 312 396;
> #P fasten 36 0 15 0 510 308 332 308;
> #P connect 15 0 11 4;
> #P fasten 6 0 12 0 241 303 366 303;
> #P connect 12 0 25 0;
> #P connect 25 0 20 0;
> #P connect 20 0 32 0;
> #P fasten 33 0 40 0 414 140 368 140;
> #P connect 40 0 22 0;
> #P fasten 27 0 12 2 142 320 394 320;
> #P fasten 47 0 25 1 613 396 402 396;
> #P fasten 37 0 16 0 539 308 422 308;
> #P connect 16 0 12 4;
> #P fasten 33 0 34 0 414 270 456 270;
> #P fasten 33 0 35 0 414 270 483 270;
> #P fasten 33 0 36 0 414 270 510 270;
> #P fasten 33 0 37 0 414 211 539 211;
> #P pop;
>
> –
> Some links to my stuff n that :-) http://zappa.tvu.ac.uk/~crohumaa/
> CV/cv.php

#91215
Dec 20, 2006 at 3:13pm

actually, Carl, I can send you my patch directly if you like, then
you can see what I did…
let me know?

best,

Julio.

On 20 Dec 2006, at 12:43, Carl Rohumaa wrote:

>
> Ok maybe this will help you understand what I am doing. This is
> just the timing part of the patch. It is all commented. I am sure
> the timing is exact enough for music. Well I hope the tempo object
> is in errr tempo right?
>
> If there is a better way I would love to know. Not sure how I would
> drive my video from a counter as julio says he is doing in this
> senario. I am already using counters to give me the exact number of
> beats in the bar that I need. I understand what julio is doing but
> am confused as to whether this is possible in my situation. What
> will be the best way to trigger my video in this situation.
> Currently I am just sending a [time 0] message.
> Am I due another complete re-think? :)
>
>
> max v2;
> #N vpatcher 130 44 862 731;
> #N comlet sel 1;
> #P inlet 608 372 15 0;
> #N comlet sel 1;
> #P inlet 576 372 15 0;
> #N comlet sel 1;
> #P inlet 540 372 15 0;
> #N comlet sel 1;
> #P inlet 507 372 15 0;
> #N comlet bpm;
> #P inlet 188 156 15 0;
> #N comlet START STOP;
> #P inlet 236 156 15 0;
> #N comlet RESET COUNTERS;
> #P inlet 137 156 15 0;
> #P window setfont “Sans Serif” 9.;
> #P window linecount 1;
> #P message 363 156 20 196617 16;
> #P message 306 156 14 196617 1;
> #P message 258 156 20 196617 80;
> #P message 534 280 20 196617 51;
> #P message 505 280 20 196617 43;
> #P message 478 280 20 196617 35;
> #P message 451 280 20 196617 27;
> #P newex 409 114 48 196617 loadbang;
> #N comlet BANGMOV-4;
> #P outlet 361 540 15 0;
> #N comlet BANGMOV-3;
> #P outlet 271 540 15 0;
> #N comlet BANGMOV-2;
> #P outlet 180 540 15 0;
> #N comlet BANGMOV-1;
> #P outlet 87 540 15 0;
> #P button 137 176 15 0;
> #P message 137 213 14 196617 0;
> #P number 258 183 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 361 405 46 196617 select 3;
> #P newex 271 405 46 196617 select 2;
> #P newex 180 405 46 196617 select 1;
> #P number 363 183 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P number 306 183 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P button 361 443 71 12;
> #P button 271 443 71 9;
> #P button 180 443 71 13;
> #P button 87 443 71 6;
> #P number 417 331 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P number 327 331 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P number 236 331 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P number 143 331 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #N counter;
> #X flags 0 0;
> #P newobj 361 356 66 196617 counter;
> #N counter;
> #X flags 0 0;
> #P newobj 271 356 66 196617 counter;
> #N counter;
> #X flags 0 0;
> #P newobj 180 356 66 196617 counter;
> #P toggle 236 183 15 0;
> #P newex 87 405 46 196617 select 0;
> #N counter;
> #X flags 0 0;
> #P newobj 87 356 66 196617 counter;
> #P newex 236 213 53 196617 tempo 80;
> #P comment 44 177 80 196617 COUNTER RESET;
> #P window linecount 5;
> #P comment 575 282 100 196617 > 16th chunks. In this case 7 , 9 , 11 , and 13 whole beats.;
> #P window linecount 7;
> #P comment 501 408 151 196617 The select objects offset the timing
> so that each video is triggered one sixteenth apart in the counters
> loop length. This is done to reproduce the behavior of the
> generative nature of the original composition;
> #P window linecount 6;
> #P comment 295 211 100 196617 Timing needs to be tempo based as the
> videos it triggers are recordings of actual performances done to a
> click;
> #P window linecount 2;
> #P comment 93 582 281 196617 These out-lets bang out to the four
> videos triggering the start of each;
> #P window setfont “Sans Serif” 12.;
> #P window linecount 4;
> #P comment 11 40 393 196620 This patch provides the timing I need
> to trigger my videos. It creates poly-rhythmic events that
> represent the different bar lengths from the original compositions.
> In this example the poly rhythms roll over each other like this 7/4
> 9/4 11/4 and 13/4;
> #P fasten 6 0 7 0 241 303 92 303;
> #P connect 7 0 8 0;
> #P connect 8 0 17 0;
> #P connect 17 0 29 0;
> #P fasten 27 0 7 2 142 287 120 287;
> #P fasten 44 0 8 1 512 396 128 396;
> #P connect 41 0 28 0;
> #P connect 28 0 27 0;
> #P fasten 34 0 13 0 456 308 148 308;
> #P connect 13 0 7 4;
> #P fasten 6 0 10 0 241 303 185 303;
> #P connect 10 0 23 0;
> #P connect 23 0 18 0;
> #P connect 18 0 30 0;
> #P fasten 27 0 10 2 142 320 213 320;
> #P fasten 45 0 23 1 545 396 221 396;
> #P connect 42 0 9 0;
> #P connect 9 0 6 0;
> #P fasten 35 0 14 0 483 308 241 308;
> #P connect 14 0 10 4;
> #P fasten 26 0 6 1 263 203 255 203;
> #P fasten 43 0 6 1 193 180 255 180;
> #P fasten 33 0 38 0 414 140 263 140;
> #P connect 38 0 26 0;
> #P fasten 21 0 6 2 311 203 269 203;
> #P fasten 6 0 11 0 241 303 276 303;
> #P connect 11 0 24 0;
> #P connect 24 0 19 0;
> #P connect 19 0 31 0;
> #P fasten 22 0 6 3 368 203 283 203;
> #P fasten 27 0 11 2 142 320 304 320;
> #P fasten 33 0 39 0 414 140 311 140;
> #P connect 39 0 21 0;
> #P fasten 46 0 24 1 581 396 312 396;
> #P fasten 36 0 15 0 510 308 332 308;
> #P connect 15 0 11 4;
> #P fasten 6 0 12 0 241 303 366 303;
> #P connect 12 0 25 0;
> #P connect 25 0 20 0;
> #P connect 20 0 32 0;
> #P fasten 33 0 40 0 414 140 368 140;
> #P connect 40 0 22 0;
> #P fasten 27 0 12 2 142 320 394 320;
> #P fasten 47 0 25 1 613 396 402 396;
> #P fasten 37 0 16 0 539 308 422 308;
> #P connect 16 0 12 4;
> #P fasten 33 0 34 0 414 270 456 270;
> #P fasten 33 0 35 0 414 270 483 270;
> #P fasten 33 0 36 0 414 270 510 270;
> #P fasten 33 0 37 0 414 211 539 211;
> #P pop;
>
> –
> Some links to my stuff n that :-) http://zappa.tvu.ac.uk/~crohumaa/
> CV/cv.php

#91216
Dec 20, 2006 at 4:29pm

Here is a version of my patch with the video stuff plumbed in. Spacebar for fullscreen and x for the counter reset. The counter reset is so the videos can be brought back into line after they have loaded. The patch dose settle down and play ok after a couple of loops but dosent feel totally solid.

to test this correctly you will need four separate movies. the movies soundtracks need to have a musical event on each downbeat @ 80BPM, anything will do. movie 1 is 7 beats long 2 is 9 beats 3 is 11 beats and 4 is 13 beats long. Load them in backwards i.e. movie 4 first. What you should get musically is events playing in 16ths (perfectly) as a combination of all the videos. Events should play back sequentially not simultaneously

I hope this makes sense. This is my first video patch!
Yes Julio please send me your counter metro example, I wonder if it can work in my context.

max v2;
#N vpatcher 474 44 1290 896;
#P origin 8 225;
#P toggle 792 721 15 0;
#P window setfont “Fixedwidth Serif” 10.;
#P window linecount 1;
#P newex 792 699 70 1441802 select 120;
#P newex 792 674 40 1441802 key;
#P window setfont “Sans Serif” 9.;
#P comment 649 746 134 196617 SPACEBAR FOR FULLSCREEN;
#P message 644 307 33 196617 start;
#P message 590 305 29 196617 stop;
#P newex 1 732 92 196617 jit.gl.render v001;
#P toggle 17 520 15 0;
#P toggle 603 737 15 0;
#P window setfont “Fixedwidth Serif” 10.;
#P newex 603 715 62 1441802 select 32;
#P newex 603 690 40 1441802 key;
#P message 603 760 83 1441802 fullscreen $1;
#P window setfont “Sans Serif” 9.;
#P newex 503 794 85 196617 jit.window v001;
#P message 452 319 30 196617 read;
#P window setfont Times 10.;
#P comment 590 271 26 1310730 Play;
#P button 566 271 15 0;
#P window setfont “Sans Serif” 9.;
#P newex 9 612 51 196617 qmetro 2;
#P newex 16 684 58 196617 t b b erase;
#P message 126 785 196 196617 texture movie4 , position 0.5 -0.5 0 , bang;
#P message 125 765 201 196617 texture movie3 , position -0.5 -0.5 0 , bang;
#P message 125 743 196 196617 texture movie2 , position -0.5 0.5 0 , bang;
#P message 125 722 191 196617 texture movie1 , position 0.5 0.5 0 , bang;
#P newex 83 686 53 196617 t b b b b;
#P window linecount 2;
#P newex 126 808 325 196617 jit.gl.videoplane v001 @scale 1. 1. 1. @depth_enable 0 @blend_enable 1 @automatic 0 @dim 2 2 @scale 0.5 0.5 0.5 @depth_enable 0;
#P window setfont “Fixedwidth Serif” 10.;
#P window linecount 1;
#P message 691 527 43 1441802 time 0;
#P button 674 508 15 0;
#P message 511 527 43 1441802 time 0;
#P button 494 508 15 0;
#P message 355 527 43 1441802 time 0;
#P button 338 508 15 0;
#P message 174 527 43 1441802 time 0;
#P button 157 508 15 0;
#P window setfont “Sans Serif” 9.;
#P newex 595 527 52 196617 metro 40;
#P button 595 547 15 0;
#P toggle 595 508 15 0;
#P newex 423 527 52 196617 metro 40;
#P button 423 548 15 0;
#P toggle 423 508 15 0;
#P newex 255 527 52 196617 metro 40;
#P button 255 551 15 0;
#P toggle 255 508 15 0;
#P newex 85 527 52 196617 metro 40;
#P button 85 549 15 0;
#P toggle 85 508 15 0;
#P newex 595 622 105 196617 jit.qt.movie 320 240;
#P newex 595 647 166 196617 jit.gl.texture v001 @name movie4;
#P newex 423 648 166 196617 jit.gl.texture v001 @name movie3;
#P newex 255 648 166 196617 jit.gl.texture v001 @name movie1;
#P newex 85 647 166 196617 jit.gl.texture v001 @name movie2;
#P newex 423 623 105 196617 jit.qt.movie 320 240;
#P newex 255 623 105 196617 jit.qt.movie 320 240;
#P newex 85 621 105 196617 jit.qt.movie 320 240;
#N comlet sel 1;
#P inlet 600 147 15 0;
#N comlet sel 1;
#P inlet 568 147 15 0;
#N comlet sel 1;
#P inlet 532 147 15 0;
#N comlet sel 1;
#P inlet 499 147 15 0;
#N comlet bpm;
#P inlet 180 -69 15 0;
#N comlet START STOP;
#P inlet 228 -69 15 0;
#N comlet RESET COUNTERS;
#P inlet 129 -69 15 0;
#P message 355 -69 20 196617 16;
#P message 298 -69 14 196617 1;
#P message 250 -69 20 196617 80;
#P message 526 55 20 196617 51;
#P message 497 55 20 196617 43;
#P message 470 55 20 196617 35;
#P message 443 55 20 196617 27;
#P newex 401 -111 48 196617 loadbang;
#N comlet BANGMOV-4;
#P outlet 378 315 15 0;
#N comlet BANGMOV-3;
#P outlet 288 315 15 0;
#N comlet BANGMOV-2;
#P outlet 197 315 15 0;
#N comlet BANGMOV-1;
#P outlet 104 315 15 0;
#P button 129 -49 15 0;
#P message 129 -12 14 196617 0;
#P number 250 -42 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 353 180 46 196617 select 3;
#P newex 263 180 46 196617 select 2;
#P newex 172 180 46 196617 select 1;
#P number 355 -42 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 298 -42 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 353 218 71 12;
#P button 263 218 71 9;
#P button 172 218 71 13;
#P button 79 218 71 6;
#P number 409 106 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 319 106 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 228 106 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 135 106 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#N counter;
#X flags 0 0;
#P newobj 353 131 66 196617 counter;
#N counter;
#X flags 0 0;
#P newobj 263 131 66 196617 counter;
#N counter;
#X flags 0 0;
#P newobj 172 131 66 196617 counter;
#P toggle 228 -42 15 0;
#P newex 79 180 46 196617 select 0;
#N counter;
#X flags 0 0;
#P newobj 79 131 66 196617 counter;
#P newex 228 -12 53 196617 tempo 80;
#P comment 36 -48 80 196617 COUNTER RESET;
#P window linecount 5;
#P comment 567 57 100 196617 #P window linecount 7;
#P comment 433 178 151 196617 The select objects offset the timing so that each video is triggered one sixteenth apart in the counters loop length. This is done to reproduce the behavior of the generative nature of the original composition;
#P window linecount 6;
#P comment 287 -14 100 196617 Timing needs to be tempo based as the videos it triggers are recordings of actual performances done to a click;
#P window linecount 2;
#P comment 90 357 281 196617 These out-lets bang out to the four videos triggering the start of each;
#P window setfont “Sans Serif” 12.;
#P window linecount 4;
#P comment 3 -185 393 196620 This patch provides the timing I need to trigger my videos. It creates poly-rhythmic events that represent the different bar lengths from the original compositions. In this example the poly rhythms roll over each other like this 7/4 9/4 11/4 and 13/4;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P comment 460 762 134 196617 SPACEBAR FOR FULLSCREEN;
#P window linecount 4;
#P comment 745 457 100 196617 This is all the video stuff. load in movies start and then reset the counters;
#P fasten 84 2 95 0 69 716 6 716;
#P fasten 84 0 95 0 21 716 6 716;
#P fasten 94 0 85 0 22 595 14 595;
#P fasten 85 0 84 0 14 638 21 638;
#P fasten 86 0 94 0 571 418 22 418;
#P fasten 8 0 9 0 233 78 84 78;
#P connect 9 0 10 0;
#P connect 10 0 19 0;
#P fasten 84 1 79 0 45 679 88 679;
#P fasten 86 0 58 0 571 402 90 402;
#P connect 58 0 60 0;
#P connect 60 0 59 0;
#P fasten 97 0 50 0 649 445 90 445;
#P fasten 96 0 50 0 595 444 90 444;
#P fasten 88 0 50 0 457 451 90 451;
#P fasten 85 0 50 0 14 606 90 606;
#P connect 59 0 50 0;
#P fasten 71 0 50 0 179 582 90 582;
#P connect 50 0 53 0;
#P connect 19 0 31 0;
#P fasten 29 0 9 2 134 62 112 62;
#P fasten 46 0 10 1 504 171 120 171;
#P fasten 79 3 80 0 130 720 130 720;
#P fasten 79 2 81 0 116 742 130 742;
#P fasten 79 1 82 0 102 741 130 741;
#P fasten 79 0 83 0 88 784 131 784;
#P fasten 81 0 78 0 130 817 131 817;
#P fasten 80 0 78 0 130 807 131 807;
#P fasten 82 0 78 0 130 828 131 828;
#P fasten 83 0 78 0 131 838 131 838;
#P connect 101 0 30 0;
#P connect 43 0 30 0;
#P connect 30 0 29 0;
#P fasten 36 0 15 0 448 83 140 83;
#P connect 15 0 9 4;
#P fasten 19 0 70 0 84 346 162 346;
#P fasten 8 0 12 0 233 78 177 78;
#P connect 12 0 25 0;
#P connect 25 0 20 0;
#P fasten 70 0 71 0 162 522 179 522;
#P connect 20 0 32 0;
#P fasten 29 0 12 2 134 95 205 95;
#P fasten 47 0 25 1 537 171 213 171;
#P connect 44 0 11 0;
#P connect 11 0 8 0;
#P fasten 37 0 16 0 475 83 233 83;
#P connect 16 0 12 4;
#P fasten 28 0 8 1 255 -22 247 -22;
#P fasten 45 0 8 1 185 -45 247 -45;
#P fasten 35 0 40 0 406 -85 255 -85;
#P connect 40 0 28 0;
#P fasten 86 0 61 0 571 402 260 402;
#P connect 61 0 63 0;
#P connect 63 0 62 0;
#P fasten 97 0 51 0 649 446 260 446;
#P fasten 96 0 51 0 595 436 260 436;
#P fasten 88 0 51 0 457 452 260 452;
#P fasten 85 0 51 0 14 607 260 607;
#P connect 62 0 51 0;
#P fasten 73 0 51 0 360 583 260 583;
#P connect 51 0 54 0;
#P fasten 23 0 8 2 303 -22 261 -22;
#P fasten 8 0 13 0 233 78 268 78;
#P connect 13 0 26 0;
#P connect 26 0 21 0;
#P fasten 24 0 8 3 360 -22 275 -22;
#P connect 21 0 33 0;
#P fasten 29 0 13 2 134 95 296 95;
#P fasten 35 0 41 0 406 -85 303 -85;
#P connect 41 0 23 0;
#P fasten 48 0 26 1 573 171 304 171;
#P fasten 38 0 17 0 502 83 324 83;
#P connect 17 0 13 4;
#P fasten 20 0 72 0 177 346 343 346;
#P fasten 8 0 14 0 233 78 358 78;
#P connect 14 0 27 0;
#P connect 27 0 22 0;
#P fasten 35 0 42 0 406 -85 360 -85;
#P connect 42 0 24 0;
#P fasten 72 0 73 0 343 522 360 522;
#P connect 22 0 34 0;
#P fasten 29 0 14 2 134 95 386 95;
#P fasten 49 0 27 1 605 171 394 171;
#P fasten 39 0 18 0 531 83 414 83;
#P connect 18 0 14 4;
#P fasten 86 0 64 0 571 420 428 420;
#P connect 64 0 66 0;
#P connect 66 0 65 0;
#P fasten 97 0 52 0 649 446 428 446;
#P fasten 96 0 52 0 595 430 428 430;
#P fasten 88 0 52 0 457 451 428 451;
#P fasten 85 0 52 0 14 607 428 607;
#P connect 65 0 52 0;
#P fasten 75 0 52 0 516 583 428 583;
#P connect 52 0 55 0;
#P fasten 35 0 36 0 406 45 448 45;
#P fasten 35 0 37 0 406 45 475 45;
#P fasten 21 0 74 0 268 346 499 346;
#P fasten 35 0 38 0 406 45 502 45;
#P fasten 90 0 89 0 608 785 508 785;
#P fasten 74 0 75 0 499 520 516 520;
#P fasten 35 0 39 0 406 -14 531 -14;
#P fasten 86 0 67 0 571 420 600 420;
#P connect 67 0 69 0;
#P connect 69 0 68 0;
#P fasten 97 0 57 0 649 420 600 420;
#P fasten 96 0 57 0 595 444 600 444;
#P fasten 88 0 57 0 457 451 600 451;
#P fasten 85 0 57 0 14 607 600 607;
#P connect 68 0 57 0;
#P fasten 77 0 57 0 696 582 600 582;
#P connect 57 0 56 0;
#P connect 91 0 92 0;
#P connect 92 0 93 0;
#P connect 93 0 90 0;
#P fasten 86 0 97 0 571 296 649 296;
#P fasten 22 0 76 0 358 346 679 346;
#P fasten 76 0 77 0 679 521 696 521;
#P connect 99 0 100 0;
#P connect 100 0 101 0;
#P pop;

#91217
Dec 20, 2006 at 7:01pm

Hi all,

I’d try the shortcuts shown in the video

http://www.youtube.com/watch?v=fcqF9hDNoJk&mode=related&search=

Unfortunately, none of this shortcuts works on my computer
Powerbook 1.67Ghz, OSX.4.8, Max 4.6.2

does someone have try this with success on mac?

Regards
Patrick

#91218
Dec 20, 2006 at 8:38pm

this is not the thread you are looking for m8

#91219
Dec 20, 2006 at 9:04pm

#91220
Dec 20, 2006 at 9:18pm

Re: Accuracy triggering videos? :(
hijacked!

#91221
Dec 20, 2006 at 9:20pm

or are you saying that I can get better Accuracy triggering videos with these shortcuts? ;>

#91222

You must be logged in to reply to this topic.