Forums > MaxMSP

How to make a video out of images?

October 7, 2006 | 3:57 pm

Hi!

I’m currently learning Max at school and I have this little idea in mind but I don’t know how to do it (although it’s probably very simple).

What I’d like to do is use the LCD to allow the user to draw something, and every one second or so a screenshot of the drawing is recorded, and then all those screenshots are presented together as a Quicktime movie.

But how would you tell Max to record the drawing, that is the question…

Any idea?

Jennifer


October 7, 2006 | 5:03 pm

send "writepict" to lcd to collect the images. connect [metro 1000] to writepict to automate it.

i used http://www.chaoticsoftware.com/ProductPages/QuickMovie.html to make movies from lcd generated images

p

Jenn S wrote:
> Hi!
>
> I’m currently learning Max at school and I have this little idea in mind but I don’t know how to do it (although it’s probably very simple).
>
> What I’d like to do is use the LCD to allow the user to draw something, and every one second or so a screenshot of the drawing is recorded, and then all those screenshots are presented together as a Quicktime movie.
>
> But how would you tell Max to record the drawing, that is the question…
>
> Any idea?
>
> Jennifer
>
>



ian
October 7, 2006 | 6:42 pm

If you have any recent version of QuickTime, QuickMovie is
redundant. To make a movie with a folder full of images in series,
open QuickTime Player and open the first picture in the series,
QuickTime automatically asks you if you want to load the sequence.

Just realized that may only be with QuickTime Pro though. if you
don’t have that, you may need something like QuickMovie, I don’t know.

I think the question was about doing this all inside of Max though.
Since I am a complete newb, I can’t answer that part.

Ian

On Oct 7, 2006, at 10.03 am, pure@test.at wrote:

> send "writepict" to lcd to collect the images. connect [metro 1000]
> to writepict to automate it.
>
> i used http://www.chaoticsoftware.com/ProductPages/QuickMovie.html
> to make movies from lcd generated images
>
> p
>
> Jenn S wrote:
>> Hi!
>> I’m currently learning Max at school and I have this little idea
>> in mind but I don’t know how to do it (although it’s probably very
>> simple). What I’d like to do is use the LCD to allow the user to
>> draw something, and every one second or so a screenshot of the
>> drawing is recorded, and then all those screenshots are presented
>> together as a Quicktime movie.
>> But how would you tell Max to record the drawing, that is the
>> question…
>> Any idea?
>> Jennifer


October 8, 2006 | 12:00 am

Ian Page-Echols wrote:
> If you have any recent version of QuickTime, QuickMovie is redundant.

i think quickmovie is more comfortable

> To make a movie with a folder full of images in series, open QuickTime
> Player and open the first picture in the series, QuickTime
> automatically asks you if you want to load the sequence.

really? didnt work with mine in 2min trying…

>
> Just realized that may only be with QuickTime Pro though. if you don’t
> have that, you may need something like QuickMovie, I don’t know.
>
> I think the question was about doing this all inside of Max though.
> Since I am a complete newb, I can’t answer that part.

i wouldnt know of any way to do this inside max without jitter or softvns

p



ian
October 8, 2006 | 2:59 am

Oops, yeah, they changed it at some point. That was the way it
worked, now there is an extra menu item "open image sequence". Just
choose the first image and it will ask how many frames per second to
make the resulting movie clip.

On Oct 7, 2006, at 5.00 pm, pure@test.at wrote:

> Ian Page-Echols wrote:
>> If you have any recent version of QuickTime, QuickMovie is
>> redundant.
>
> i think quickmovie is more comfortable
>
>> To make a movie with a folder full of images in series, open
>> QuickTime Player and open the first picture in the series,
>> QuickTime automatically asks you if you want to load the sequence.
>
> really? didnt work with mine in 2min trying…
>
>> Just realized that may only be with QuickTime Pro though. if you
>> don’t have that, you may need something like QuickMovie, I don’t
>> know.
>> I think the question was about doing this all inside of Max
>> though. Since I am a complete newb, I can’t answer that part.
>
> i wouldnt know of any way to do this inside max without jitter or
> softvns
>
> p


October 8, 2006 | 6:13 am

Ian Page-Echols wrote:
> Oops, yeah, they changed it at some point. That was the way it worked,
> now there is an extra menu item "open image sequence". Just choose the
> first image and it will ask how many frames per second to make the
> resulting movie clip.

thats how far i came in my 2 min :) but quicktime then didnt use the other files in this folder for the remaining frames. ah well…

p


October 8, 2006 | 6:40 am

Quote: Jennska wrote on Sat, 07 October 2006 08:57
—————————————————-

> I’m currently learning Max at school

your school certainly ( or hopefully ) has jitter as well which in that case you could directly use jit.lcd instead of lcd and record your sequence of drawings with jit.qt.record.

otherwise if yo want to use lcd , send the message "writepict" as mentionned earlier . you can compile your sequence of images choosing from two jitter patches delivered in the "jitter examples" folder :

- image2movies ( in "demos" folder )
- packpicts ( in video/quicktime )

so hopefully your school has jitter so it will make your life a little easier.
good luck


October 8, 2006 | 7:11 am

Quicktime has some issues with image sequence names.

make sure your images are named something like

001.jpg
002.jpg

or the like.

it works,

v a d e //

http://www.vade.info
abstrakt.vade.info

On Oct 8, 2006, at 2:13 AM, pure@test.at wrote:

>
>
> Ian Page-Echols wrote:
>> Oops, yeah, they changed it at some point. That was the way it
>> worked, now there is an extra menu item "open image sequence".
>> Just choose the first image and it will ask how many frames per
>> second to make the resulting movie clip.
>
> thats how far i came in my 2 min :) but quicktime then didnt use
> the other files in this folder for the remaining frames. ah well…
>
> p


October 8, 2006 | 7:41 am

why not using jit.qt.record than u can do it within max itself


October 8, 2006 | 12:31 pm


October 12, 2006 | 8:01 pm

Thanks everyone.

I tried both, the Jitter one was a little too hard for a beginner, though it looked interesting from what I’ve tried. There are just too many parameters I don’t understand yet.

As for the regular LCD, how would you convince "writepict" to write them as 001, 002, 003, etc?


October 12, 2006 | 11:28 pm

this will help you, check the help files about the objects you will find in this patch, such as [counter] to count (001,002, 003…), [sprintf] to set a message dynamically, [relativepath] to get the path of your destination folder , etc…

good luck
#P window setfont "Sans Serif" 9.;
#P window linecount 3;
#P comment 918 581 100 196617 view the final message to write picts;
#P window linecount 1;
#P comment 897 472 100 196617 view the proper path;
#P window linecount 3;
#P comment 724 333 100 196617 2. then store them as you creat new picts;
#P window linecount 1;
#P message 43 276 33 196617 clear;
#P newex 745 436 27 196617 t b i;
#N counter;
#X flags 0 0;
#P newobj 745 414 66 196617 counter;
#P button 745 373 34 0;
#P message 620 579 294 196617 writepict !goldie:/Graphicdesign/imageBank/chavez/006.pict;
#P newex 619 557 62 196617 prepend set;
#P newex 619 535 152 196617 sprintf writepict %s00%ld.pict;
#P newex 590 428 76 196617 opendialog fold;
#P message 660 472 236 196617 !goldie:/Graphicdesign/imageBank/chavez/;
#P newex 659 452 62 196617 prepend set;
#P button 590 387 30 0;
#P newex 590 450 65 196617 relativepath;
#P message 567 214 195 196617 writepict 003.pict;
#P newex 567 194 62 196617 prepend set;
#P number 644 139 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 567 139 66 196617 counter;
#P button 567 98 34 0;
#P newex 567 166 138 196617 sprintf writepict 00%ld.pict;
#P comment 606 99 100 196617 bang to write;
#P message 161 277 195 196617 writepict 009.pict;
#P newex 161 257 62 196617 prepend set;
#P number 72 173 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 63 105 27 196617 i;
#P newex 63 134 27 196617 + 1;
#P button 33 63 34 0;
#P newex 83 234 138 196617 sprintf writepict 00%ld.pict;
#P user lcd 83 313 232 226 1 1 0 0 0;
#P window linecount 2;
#P comment 360 276 100 196617 view the actual message;
#P window linecount 1;
#P comment 72 64 100 196617 bang to write;
#P window linecount 4;
#P comment 223 202 100 196617 check [sprintf] object , it will b one of your good friends to write messages ; );
#P window linecount 3;
#P comment 623 290 100 196617 this will help you to set the right folder for your picts :;
#P window linecount 4;
#P comment 489 449 100 196617 use [relativepath] to find out about the path of your destination folder;
#P window linecount 2;
#P comment 561 70 100 196617 another way to do it using [counter];
#P comment 588 358 100 196617 1. choose a folder for your picts;
#P connect 10 0 12 0;
#P fasten 10 0 11 1 68 161 108 161 108 96 85 96;
#P fasten 10 0 8 0 68 209 88 209;
#P connect 27 0 7 0;
#P connect 27 0 28 0;
#P connect 8 0 7 0;
#P connect 8 0 13 0;
#P connect 33 0 7 0;
#P connect 22 0 27 0;
#P connect 22 0 24 0;
#P connect 18 0 16 0;
#P connect 18 0 19 0;
#P fasten 32 0 27 0 750 496 624 496;
#P connect 32 1 27 1;
#P connect 31 0 32 0;
#P connect 30 0 31 0;
#P connect 28 0 29 0;
#P connect 23 0 26 0;
#P connect 26 0 22 0;
#P connect 24 0 25 0;
#P connect 16 0 20 0;
#P connect 20 0 21 0;
#P connect 17 0 18 0;
#P connect 13 0 14 0;
#P connect 9 0 11 0;
#P connect 11 0 10 0;
#P window clipboard copycount 37;


October 13, 2006 | 6:49 am

Jenn S wrote:
> Thanks everyone.
>
> I tried both, the Jitter one was a little too hard for a beginner, though it looked interesting from what I’ve tried. There are just too many parameters I don’t understand yet.
>
> As for the regular LCD, how would you convince "writepict" to write them as 001, 002, 003, etc?

writepict harddisk:/folder/001.pict

you could use the [date] object to construct unique filenames that follow each other (helpful if you then load them into quickmovie)

p


November 7, 2006 | 8:04 pm

Quote: (karrrlo) wrote on Thu, 12 October 2006 19:28
—————————————————-
> this will help you, check the help files about the objects you will find in this patch, such as [counter] to count (001,002, 003…), [sprintf] to set a message dynamically, [relativepath] to get the path of your destination folder , etc…
>
> good luck
> #P window setfont "Sans Serif" 9.;
> #P window linecount 3;
> #P comment 918 581 100 196617 view the final message to write picts;
> #P window linecount 1;
> #P comment 897 472 100 196617 view the proper path;
> #P window linecount 3;
> #P comment 724 333 100 196617 2. then store them as you creat new picts;
> #P window linecount 1;
> #P message 43 276 33 196617 clear;
> #P newex 745 436 27 196617 t b i;
> #N counter;
> #X flags 0 0;
> #P newobj 745 414 66 196617 counter;
> #P button 745 373 34 0;
> #P message 620 579 294 196617 writepict !goldie:/Graphicdesign/imageBank/chavez/006.pict;
> #P newex 619 557 62 196617 prepend set;
> #P newex 619 535 152 196617 sprintf writepict %s00%ld.pict;
> #P newex 590 428 76 196617 opendialog fold;
> #P message 660 472 236 196617 !goldie:/Graphicdesign/imageBank/chavez/;
> #P newex 659 452 62 196617 prepend set;
> #P button 590 387 30 0;
> #P newex 590 450 65 196617 relativepath;
> #P message 567 214 195 196617 writepict 003.pict;
> #P newex 567 194 62 196617 prepend set;
> #P number 644 139 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 567 139 66 196617 counter;
> #P button 567 98 34 0;
> #P newex 567 166 138 196617 sprintf writepict 00%ld.pict;
> #P comment 606 99 100 196617 bang to write;
> #P message 161 277 195 196617 writepict 009.pict;
> #P newex 161 257 62 196617 prepend set;
> #P number 72 173 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 63 105 27 196617 i;
> #P newex 63 134 27 196617 + 1;
> #P button 33 63 34 0;
> #P newex 83 234 138 196617 sprintf writepict 00%ld.pict;
> #P user lcd 83 313 232 226 1 1 0 0 0;
> #P window linecount 2;
> #P comment 360 276 100 196617 view the actual message;
> #P window linecount 1;
> #P comment 72 64 100 196617 bang to write;
> #P window linecount 4;
> #P comment 223 202 100 196617 check [sprintf] object , it will b one of your good friends to write messages ; );
> #P window linecount 3;
> #P comment 623 290 100 196617 this will help you to set the right folder for your picts :;
> #P window linecount 4;
> #P comment 489 449 100 196617 use [relativepath] to find out about the path of your destination folder;
> #P window linecount 2;
> #P comment 561 70 100 196617 another way to do it using [counter];
> #P comment 588 358 100 196617 1. choose a folder for your picts;
> #P connect 10 0 12 0;
> #P fasten 10 0 11 1 68 161 108 161 108 96 85 96;
> #P fasten 10 0 8 0 68 209 88 209;
> #P connect 27 0 7 0;
> #P connect 27 0 28 0;
> #P connect 8 0 7 0;
> #P connect 8 0 13 0;
> #P connect 33 0 7 0;
> #P connect 22 0 27 0;
> #P connect 22 0 24 0;
> #P connect 18 0 16 0;
> #P connect 18 0 19 0;
> #P fasten 32 0 27 0 750 496 624 496;
> #P connect 32 1 27 1;
> #P connect 31 0 32 0;
> #P connect 30 0 31 0;
> #P connect 28 0 29 0;
> #P connect 23 0 26 0;
> #P connect 26 0 22 0;
> #P connect 24 0 25 0;
> #P connect 16 0 20 0;
> #P connect 20 0 21 0;
> #P connect 17 0 18 0;
> #P connect 13 0 14 0;
> #P connect 9 0 11 0;
> #P connect 11 0 10 0;
> #P window clipboard copycount 37;
>
—————————————————-

I tried this, and I admit it’s brilliant! There’s only one major problem, it does create a list but it asks you where to save it. And of course, while you save, you don


November 7, 2006 | 10:26 pm

Quote: Jennska wrote on Tue, 07 November 2006 12:04
—————————————————-
There’s only one major problem, it does create a list but it asks you where to save it. And of course, while you save, you don
—————————————————-

hi Jennska, maybe you can save your drawings automatically by using a [metro] or hit a key of your keyboard each time you want to save a drawing of interest. hope this helps ;)

#P button 856 252 30 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 856 218 38 196617 sel 32;
#P newex 856 193 40 196617 key;
#P number 819 107 68 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P toggle 765 89 36 0;
#P newex 765 134 64 196617 metro 1000;
#P window linecount 3;
#P comment 837 470 100 196617 view the final message to write picts;
#P window linecount 1;
#P comment 816 361 100 196617 view the proper path;
#P window linecount 5;
#P comment 807 43 100 196617 2. start the metronome and start drawing , drawings will be saved every second;
#P window linecount 1;
#P message 66 127 33 196617 clear;
#P newex 664 325 27 196617 t b i;
#N counter;
#X flags 0 0;
#P newobj 664 303 66 196617 counter;
#P button 664 262 34 0;
#P message 539 468 294 196617 writepict !kingkong1:/Users/kovo/Desktop/test/0010.pict;
#P newex 538 446 62 196617 prepend set;
#P newex 538 424 152 196617 sprintf writepict %s00%ld.pict;
#P newex 509 317 76 196617 opendialog fold;
#P message 579 361 236 196617 !kingkong1:/Users/kovo/Desktop/test/;
#P newex 578 341 62 196617 prepend set;
#P button 508 124 30 0;
#P newex 509 339 65 196617 relativepath;
#P user lcd 66 157 232 226 1 1 0 0 0;
#P window linecount 4;
#P comment 408 338 100 196617 use [relativepath] to find out about the path of your destination folder;
#P window linecount 6;
#P comment 478 47 100 196617 1. choose a folder for your picts , (you need to do it only once , drawings will be written to the assigned folder);
#P user panel 706 41 233 136;
#X brgb 177 141 255;
#X frgb 0 0 0;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P window linecount 7;
#P comment 903 199 100 196617 3. you could also use a key to save yourself your drawings while you draw…another option ( in this case its the space bar );
#P connect 24 0 25 0;
#P connect 23 0 24 0;
#P hidden connect 10 0 4 0;
#P connect 10 0 11 0;
#P connect 22 0 20 1;
#P connect 5 0 10 0;
#P connect 5 0 7 0;
#P connect 21 0 20 0;
#P fasten 20 0 13 0 770 206 669 206;
#P connect 7 0 8 0;
#P connect 9 0 5 0;
#P connect 6 0 9 0;
#P connect 11 0 12 0;
#P connect 13 0 14 0;
#P connect 14 0 15 0;
#P connect 15 1 10 1;
#P fasten 15 0 10 0 669 385 543 385;
#P connect 16 0 4 0;
#P window clipboard copycount 26;


November 14, 2006 | 6:34 pm

Well, ok, here is what I’ve got… It’s probably a matter of beginner’s logic…

max v2;
#N vpatcher 7 31 892 650;
#P origin 29 31;
#P button 28 266 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P message 10 149 54 9109513 M:/images/;
#P newex 11 121 57 9109513 prepend set;
#P newex 11 94 71 9109513 opendialog fold;
#P button 15 72 15 0;
#P newex 15 45 60 9109513 metro 10000;
#P toggle 14 22 15 0;
#P user jit.pwindow 766 608 82 62 0 1 0 1 0 0;
#P message 19 239 127 9109513 writepict M:/images/000.pict;
#P newex 20 209 62 9109513 prepend set;
#P newex 12 181 131 9109513 sprintf writepict %s00%ld.pict;
#P message 67 288 29 9109513 reset;
#P message 25 288 28 9109513 clear;
#P user lcd 0 311 320 240 1 1 0 0 0;
#P connect 5 0 0 0;
#P connect 1 0 0 0;
#P connect 2 0 0 0;
#P connect 11 0 12 0;
#P connect 9 0 10 0;
#P connect 10 0 11 0;
#P connect 12 0 3 0;
#P connect 7 0 8 0;
#P connect 8 0 9 0;
#P connect 4 0 5 0;
#P connect 3 0 4 0;
#P connect 5 0 13 0;
#P pop;


November 14, 2006 | 7:44 pm

Oh gosh, I started playing a little more carefully with Karrrlo’s file and it
Here is version 2, anyone wants to test it?

max v2;
#N vpatcher 64 41 976 803;
#P origin 0 10;
#P toggle 254 24 15 0;
#P window setfont "Sans Serif" 9.;
#P newex 395 145 27 9109513 t b i;
#P newex 270 177 152 9109513 sprintf writepict %s00%ld.pict;
#P newex 252 46 55 9109513 metro 1000;
#P newex 132 95 76 9109513 opendialog fold;
#P message 133 171 57 9109513 M:animator;
#P newex 132 144 62 9109513 prepend set;
#P button 133 58 20 0;
#P newex 132 117 65 9109513 relativepath;
#P button 273 259 15 0;
#P message 129 249 28 9109513 clear;
#P user lcd 128 277 360 240 1 1 0 0 0;
#P message 268 234 195 9109513 writepict 0035.pict;
#P newex 268 206 62 9109513 prepend set;
#P number 252 124 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#N counter;
#X flags 0 0;
#P newobj 252 95 66 9109513 counter;
#P button 255 68 24 0;
#P fasten 14 0 5 0 235 196 235 268 133 268;
#P connect 6 0 5 0;
#P connect 9 0 12 0;
#P connect 12 0 8 0;
#P connect 8 0 10 0;
#P connect 10 0 11 0;
#P connect 16 0 13 0;
#P connect 0 0 1 0;
#P connect 1 0 2 0;
#P connect 13 0 0 0;
#P connect 14 0 3 0;
#P connect 3 0 4 0;
#P fasten 8 0 14 0 137 141 230 141 230 158 275 158;
#P fasten 15 0 14 0 275 164;
#P connect 4 0 7 0;
#P fasten 1 0 15 0 257 120 400 120;
#P connect 15 1 14 1;
#P pop;


November 14, 2006 | 9:01 pm

Looks great! Here’s another angle: only takes pics when mouse is released….

Interesting project — gives me some ideas. The jitter objects are more functional though. Don’t be afraid of all those parameters, they are your friends! ;)

-CJ

——————————-

max v2;
#N vpatcher 64 41 976 803;
#P origin 0 10;
#P window setfont "Sans Serif" 10.;
#P window linecount 1;
#P comment 548 492 147 9109514 gate is your best friend;
#P window setfont "Sans Serif" 12.;
#P window linecount 4;
#P comment 488 568 147 9109516 open this gate to take a picture only when mouse is released (and turn off metro at top , if on);
#P toggle 508 494 28 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 508 537 55 9109513 gate;
#P button 420 560 26 0;
#P button 369 563 26 0;
#P newex 368 533 66 9109513 togedge;
#P toggle 313 36 15 0;
#P newex 395 145 27 9109513 t b i;
#P newex 270 177 152 9109513 sprintf writepict %s00%ld.pict;
#P newex 311 58 55 9109513 metro 1000;
#P newex 132 95 76 9109513 opendialog fold;
#P window linecount 2;
#P message 133 171 57 9109513 D:/stuff/388_MAX_MSP/;
#P window linecount 1;
#P newex 132 144 62 9109513 prepend set;
#P button 133 58 20 0;
#P newex 132 117 65 9109513 relativepath;
#P button 273 259 15 0;
#P message 129 249 28 9109513 clear;
#P user lcd 133 274 360 240 1 1 0 0 0;
#P message 268 234 195 9109513 writepict D:/stuff/388_MAX_MSP/00176.pict;
#P newex 268 206 62 9109513 prepend set;
#P number 252 124 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#N counter;
#X flags 0 0;
#P newobj 252 95 66 9109513 counter;
#P button 255 68 24 0;
#P window setfont "Sans Serif" 12.;
#P window linecount 2;
#P comment 378 39 147 9109516 can re-connect for auto-snapshot;
#P connect 10 0 13 0;
#P connect 13 0 9 0;
#P connect 9 0 11 0;
#P connect 11 0 12 0;
#P fasten 15 0 6 0 235 196 235 268 138 268;
#P connect 7 0 6 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 21 0 1 0;
#P connect 15 0 4 0;
#P connect 4 0 5 0;
#P connect 16 0 15 0;
#P fasten 9 0 15 0 137 141 230 141 230 158 275 158;
#P connect 5 0 8 0;
#P connect 17 0 14 0;
#P connect 6 2 18 0;
#P connect 18 0 19 0;
#P fasten 2 0 16 0 257 120 400 120;
#P connect 16 1 15 1;
#P connect 18 1 20 0;
#P connect 22 0 21 0;
#P connect 20 0 21 1;
#P pop;


Viewing 18 posts - 1 through 18 (of 18 total)