Multitouch Navigator (Composition by smokris)

Author: smokris
License: MIT
Date: 2009.11.27
Compatibility: 10.6
Categories:
Required plugins:
(none)

Kinda like the Trackball, but uses MultitouchPatch for interaction instead.

Update:

  • Changed reset mechanism to five-finger tap (instead of keyboard space)
  • This doesn't work in Leopard (just because it uses Virtual Patches)
PreviewAttachmentSize
MultitouchNavigator.qtz27.85 KB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

dust's picture
Re: Multitouch Navigator (Composition by smokris)

so this is cool i have been, making lots of these multi-touch navigation patches as of late with tuio.

you multi-touch patch is wicked i have to start using it and make some library macro's to structure out the data like i have with tuio.

so the rotation is single finger rotation ? thats pretty wicked. you even have the axis for making those 3d finger prints.

im thinking about using your multi-touch patch to drive unity3d like i'm doing with tuio because the single finger rotation could be a cool addition.

right now im using the single touch xy to drive the FPS with quaternion math as the look and a second finger as w,a,s,d keys but the more i can do with one finger the better so i'm thinking about sending out osc and using single finger trackpad rotation for look and xy pos to move around. that will kill all the navigation with one finger. leaving second and 3rd for jump and fire.

nice work smorkis

leegrosbauer's picture
Re: Multitouch Navigator (Composition by smokris)

Excellent! Delivers trackball style functionality into apps that lack such capability. That's a really big deal! Way good!

leegrosbauer's picture
Re: Multitouch Navigator (Composition by smokris)

The keyboard reset works well as long as cursor focus can be maintained on a QC viewer window, but I haven't figured how to maintain that type of focus when the composition is used in 3rd party applications. Would it be reasonable to inquire about a multitouch gesture for that reset function? Or ... maybe it could get accidentally triggered too much, I suppose. Thoughts?

This is a really useful composition, btw. Thanks!

hiltmeyer's picture
Re: Multitouch Navigator (Composition by smokris)

im still on 10.5 and if i open this composition i get this error. is it only for 10.6?

(null) : Bundle at path "/Library/Graphics/Quartz Composer Patches/Ambient Light Sensor.plugin" is not a valid Graph Foundation plug-in

(null) QCPlugIn: Bundle at path "/Library/Graphics/Quartz Composer Plug-Ins/Backdrops.plugin" is not a valid Quartz Composer plug-in

(null) QCPlugIn: Bundle at path "/Library/Graphics/Quartz Composer Plug-Ins/OpenCV.plugin" is not a valid Quartz Composer plug-in

(null) QCPlugIn: Cannot preflight plug-in at path "/Library/Graphics/Quartz Composer Plug-Ins/v002 ScreenCapture.plugin" (Error Domain=NSCocoaErrorDomain Code=3587 UserInfo=0x18361e70 "The bundle “v002 ScreenCapture” could not be loaded because it is damaged or missing necessary resources." (dlopen_preflight(/Library/Graphics/Quartz Composer Plug-Ins/v002 ScreenCapture.plugin/Contents/MacOS/v002 ScreenCapture): no suitable image found. Did find: /Library/Graphics/Quartz Composer Plug-Ins/v002 ScreenCapture.plugin/Contents/MacOS/v002 ScreenCapture: unknown required load command 0x80000022))

(null) QCPlugIn: There is already a QCPlugIn registered for class "v002525PlugIn"

(null) QCPlugIn: There is already a QCPlugIn registered for class "v002AnalogGlitchPlugIn"

(null) QCPlugIn: There is already a QCPlugIn registered for class "v002FBOGlitchPlugIn"

(null) QCPlugIn: There is already a QCPlugIn registered for class "WOTDPlugIn"

(null) : Patch with name "/gesture: 2 finger drag" is missing

Macro Patch Cannot create node of class "/gesture: 2 finger drag" and identifier "(null)"

(null) : Patch with name "/gesture: 2 finger spin" is missing

Macro Patch Cannot create node of class "/gesture: 2 finger spin" and identifier "(null)"

(null) : Patch with name "/gesture: 3 finger drag" is missing

Macro Patch Cannot create node of class "/gesture: 3 finger drag" and identifier "(null)"

(null) : Patch with name "/gesture: 2 finger pinch" is missing

Macro Patch Cannot create node of class "/gesture: 2 finger pinch" and identifier "(null)"

Macro Patch Cannot create connection from ["key_0020" @ "Keyboard_1"] to ["Reset_Signal" @ "Patch_3"]

Macro Patch Cannot create connection from ["Y_Value" @ "Patch_6"] to ["inputRotateX" @ "Camera_1"]

Macro Patch Cannot create connection from ["outputMultitouchInfo" @ "MultitouchPatch_1"] to ["Multitouch_Info" @ "Patch_2"]

Macro Patch Cannot create connection from ["X_Value" @ "Patch_1"] to ["inputTranslateX" @ "Camera_1"]

Macro Patch Cannot create connection from ["key_0020" @ "Keyboard_1"] to ["Reset_Signal" @ "Patch_1"]

Macro Patch Cannot create connection from ["X_Value" @ "Patch_6"] to ["inputRotateY" @ "Camera_1"]

Macro Patch Cannot create connection from ["key_0020" @ "Keyboard_1"] to ["Reset_Signal" @ "Patch_2"]

Macro Patch Cannot create connection from ["outputMultitouchInfo" @ "MultitouchPatch_1"] to ["Multitouch_Info" @ "Patch_1"]

Macro Patch Cannot create connection from ["outputMultitouchInfo" @ "MultitouchPatch_1"] to ["Multitouch_Info" @ "Patch_3"]

Macro Patch Cannot create connection from ["outputMultitouchInfo" @ "MultitouchPatch_1"] to ["Multitouch_Info" @ "Patch_6"]

Macro Patch Cannot create connection from ["Value" @ "Patch_3"] to ["inputRotateZ" @ "Camera_1"]

Macro Patch Cannot create connection from ["key_0020" @ "Keyboard_1"] to ["Reset_Signal" @ "Patch_6"]

Macro Patch Cannot create connection from ["Value" @ "Patch_2"] to ["inputTranslateZ" @ "Camera_1"]

Macro Patch Cannot create connection from ["Y_Value" @ "Patch_1"] to ["inputTranslateY" @ "Camera_1"]

(null) State restoration failed on

gtoledo3's picture
Re: Multitouch Navigator (Composition by smokris)

Are you installing in the patches folder (not plug-ins)? Check the installation instructions in the bright orange box at the top of the Kineme front page. The plugin does work in 10.5 as well as 10.6.

edit....er, nevermind, I'm getting the same thing on this qtz (thought I'm not running the most recent build of this, so at this point, I take the fifth).

hiltmeyer's picture
Re: Multitouch Navigator (Composition by smokris)

i installed everythig right i think. the defoult compositions work on my side. its only this patch.

smokris's picture
Re: Multitouch Navigator (Composition by smokris)

Most of the errors are from other unrelated plugins. But this error:

hiltmeyer wrote:
: Patch with name "/gesture: 2 finger drag" is missing

is a result of Leopard not understanding Snow Leopard's Virtual Patch storage mechanism.

So, this composition doesn't work on Leopard, but the individual components should work --- you can pretty easily reconstruct it from the other Multitouch clips in the repository.

smokris's picture
Re: Multitouch Navigator (Composition by smokris)

Oh, good idea.

I updated the composition to detect a five-finger tap, to reset.

leegrosbauer's picture
Re: Multitouch Navigator (Composition by smokris)

Sincerely appreciated! Thanks!

dust's picture
Re: Multitouch Navigator (Composition by smokris)

just take the other 2 multi-touch drag comps and open them select everything and then add as a clip. then the patch might work in leopard at least i now in snow leopard that the clip function has been replaced by repository and library. the library being pretty much the same thing as a clip. although the clip convention has been removed but i still use tb clips so i had to make a clip folder. the clip folder is in your /developer/library/quartzcomposer/clips folder and in snow leopard the add to library formally known as clips go to your ~/library/graphics/patches folder... but like smorkis said you can just take all the elements and put them into one patch and it should work supposing you the multi-touch patch works in leopard. i have gone all SL so can not test for you this functionality.

leegrosbauer's picture
Re: Multitouch Navigator (Composition by smokris)

I'm revisiting this topic with queries regarding the potential for getting cursor focus recognized in viewerless environments; as in compositions running in 3rd party applications. I was wondering if this functionality might somehow be achieved with the Kineme MultitouchPatch?

I have tested a MultitouchNavigator/FreeboardPatch combination and I must say it works nicely and looks really cool, but it continues to be dependent upon having cursor focus in a QC viewer window. If the equivalent of that same focus could instead be somehow achieved via Magic Mouse while the composition was running in a 3rd party application, the usefulness of many compositions would be greatly expanded. The limitations regarding the need for cursor focus in QC viewer windows is that the compositions simply don't work in QC hosting contexts other than in Quartz Composer itself.

Maybe some Kineme magic could create a faux QC viewer window circumstance that the Magic Mouse could apply cursor focus upon? I do understand that it's been previously stated elsewhere that it's not do-able due to absence of the QC viewer window, but I'm trying to envision alternate circumstances under which it might be acheivable.

cwright's picture
Re: Multitouch Navigator (Composition by smokris)

Multitouch Patch should work without a viewer/focus -- it gets multitouch information "out of band" (not provided by QC). the Mouse patch, the keyboard (and freeboard) patches work by "in band" data (QC hands the patch the event data, so if the view isn't focused, QC doesn't actually provide data) -- some exceptions: mouse location (X/Y) is out-of-band (but the mouse patch itself is broken on 10.6 so this doesn't work as expected).

freeboard could make use of out-of-band information (it could get app-wide key presses regardless of QC handing the data) in theory, but it would risk dropping or duplicating key presses from time to time depending on rendering load. for artistic effect (where perfect key data is not necessarily required) this could be ok, but for other uses (typing file names, for example) this wouldn't work so well. With more effort, de-duplication is feasible, but there's no way to recover dropped keys without some particularly nasty treachery.

leegrosbauer's picture
Re: Multitouch Navigator (Composition by smokris)

ok. Thanks. Just a thought. Like everybody else I'm always looking for ways to broaden QC usefulness. The recent discussions elsewhere regarding the Freeboard Patch got me to pondering this circumstance once more. Maybe at a later juncture something will arise that would create more a favorable situation for follow up.