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..