I also meant to add, if you include the (osc-last-msg) in a loop you will get all the sent messages for a certain osc path, but this may not be a good thing if you are receiving them a lot faster than your framerate.
On 31 Dec 2010, at 09:05, evan.raskob [lists] wrote: > Hey - a bit late, but here's a simple example that gets the last (top of the > osc message stack) osc values for an audio device and uses them to draw a > cube on the screen: > > > ;------- BEGIN DRAW CUBE OSC ----------------------------------------- > > (clear) > > (osc-source "7005") > > (define x 0) > (define y 0) > > ; "path" is a string > ; value, in this case, is any default value you get back if the message > wasn't found > > (define (osc-last-msg path arg value) > (if (osc-msg path) > (osc-last-msg path arg (osc arg)) > value)) > > (show-fps 1) > > (define a (with-state > (texture tex0) > (scale 2) > (build-sphere 30 30))) > > (define (animate) > (set! y (osc-last-msg "/audioin/1/val" 0 y)) > (set! x (osc-last-msg "/audioin/2/val" 0 x)) > > ;top > (with-state > (translate (vector 0 (+ 2 (* x 2.5)) 0)) > (draw-cube)) > ) > > > (every-frame (animate)) > > ;------- END DRAW CUBE OSC ----------------------------------------- > > > > On 31 Dec 2010, at 04:18, geoffroy tremblay wrote: > >> On Fri, Dec 31, 2010 at 12:08 AM, gabor papp <[email protected]> wrote: >>>> move around. can I accomplish the same effect with the camera move >>>> than the normal mouse camera ? >>> >>> you can check how fluxus does it. the code is in >>> fluxus/modules/scheme/camera.ss. see (input-camera), which sets the camera >>> rotation and position depending on mouse movement and (update-camera), which >>> uses the camera parameters to set up a camera matrix that you can load with >>> the (set-camera-transform) function. let us know if you need further help. >> >> nice - good to read directly from there... >> >>> >>>> also the osc is quite laggy - is there some better to get the osc >>>> data? it's not really usable at this point - maybe it's sending too >>>> much data to the function (like too often - can I reduce that ?) >>> >>> it is possible that you send too much data, you have to drain the data >>> reading all available osc messages to decrease the lag. >>> >>>> I am also moving around a recursion - and taking input from the audio >>>> in - and it seems out of sync - is there someway to create a faster >>>> connection with jack ? or is it just computer power that will help >>>> that ? >>> >>> it should be quite fast by default. maybe you are using a too deep recursion >>> level that slows down processing. especially because you set the level from >>> the mouse wheel, and you have no upper limit. you can check the frame per >>> second using. if that looks fine, you can try changing the >>> buffer size of jack. >> >> the fps start at about 16 and drop to 9ish when too many recursions >> are loaded - will play around with the buffer size to see how that >> will help. >> >> thanks - I am doing a short live event for new year - mainly mixing >> music and playing around with fluxus with this code (not really live >> coding yet ) - not sure if I'll integrate the osc part this time - >> anyhow I will video some part of the event and post it online ;) >> >> thanks again >> >>> >>> gabor >>> >>> >
