So what I've been trying to do, with none to limited experience in MaxMSP, is to create a patch which shows a little screen with live footage from a webcam. The user claps his hands, a microphone picks the sound up and saves the current image as JPG on the user's computer.
I can find the basic elementes such as the microphone element and I found out by googling how to get the webcam footage on a screen in Max MSP but after that my experience with Max MSP is next to none...
Here is my patch:
{
"boxes" : [ {
"box" : {
"maxclass" : "message",
"text" : "exportimage jpeg",
"id" : "obj-18",
"fontsize" : 12.0,
"numinlets" : 2,
"patching_rect" : [ 390.0, 360.0, 103.0, 18.0 ],
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "ezadc~",
"id" : "obj-16",
"numinlets" : 1,
"patching_rect" : [ 510.0, 90.0, 45.0, 45.0 ],
"numoutlets" : 2,
"outlettype" : [ "signal", "signal" ]
}
}
, {
"box" : {
"maxclass" : "message",
"text" : "open",
"id" : "obj-8",
"fontsize" : 12.0,
"numinlets" : 2,
"patching_rect" : [ 570.0, 255.0, 47.0, 18.0 ],
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "jit.pwindow",
"id" : "obj-6",
"numinlets" : 1,
"patching_rect" : [ 510.0, 360.0, 290.0, 231.0 ],
"numoutlets" : 0,
"idlemouse" : 0,
"dstrect" : [ 0, 0, 320, 240 ],
"colormode" : "argb",
"border" : 0.0,
"srcrect" : [ 0, 0, 320, 240 ],
"bordercolor" : [ 0.0, 0.0, 0.0, 1.0 ],
"doublebuffer" : 1,
"planemap" : [ 0, 1, 2, 3 ],
"depthbuffer" : 1,
"fsaa" : 0,
"usesrcrect" : 0,
"usedstrect" : 0,
"interp" : 0,
"stereo" : 0,
"onscreen" : 1
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "jit.rgb2luma",
"id" : "obj-4",
"fontsize" : 12.0,
"numinlets" : 1,
"patching_rect" : [ 510.0, 330.0, 73.0, 20.0 ],
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "jit.dx.grab 200 200",
"id" : "obj-2",
"fontsize" : 12.0,
"numinlets" : 1,
"patching_rect" : [ 510.0, 300.0, 109.0, 20.0 ],
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "qmetro",
"id" : "obj-1",
"fontsize" : 12.0,
"numinlets" : 2,
"patching_rect" : [ 510.0, 255.0, 48.0, 20.0 ],
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"fontname" : "Arial"
}
}
],
"lines" : [ {
"patchline" : {
"source" : [ "obj-4", 0 ],
"destination" : [ "obj-18", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-16", 0 ],
"destination" : [ "obj-1", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-2", 0 ],
"destination" : [ "obj-4", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-4", 0 ],
"destination" : [ "obj-6", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-1", 0 ],
"destination" : [ "obj-2", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-8", 0 ],
"destination" : [ "obj-2", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
]
}
What do I need more to accomplish my goal? I've been reading about filters and jitters on forums but this won't make any sense to me right now..
You'd probably need something along the lines of this (copy and paste this code in an empty max patcher):