I've been working with your software for about a month, and its working really well. I'll be publishing some interfaces in the next week or so for everyone to check out.
I have found a bug on my system, though, and I'm wondering if its just me, or if others are experiencing the same thing.
I noticed early in working that certain elements would stop working after a while (i.e. a fader or button that responded to TUIO would suddenly stop working after a while of use). I realized that what is happening is that that add messages that are stored inside the #1-mmf-polytouch 1 coll are not being removed successfully sometimes, even though Max is receiving the remove message from the TUIO client. I'm using W2TIO on Windows7 with a Dell Latitude.
I've written a hack to periodically poll the colls everytime a touch is added to see if there are duplicates inside the coll and clear it if one exists (which is why they no longer function…. for each touch, there will be numerous first touches on a broken element, e.g.: element name, 10 10 10 10 10 10) and this works ok, but of course sometimes there is a touch that is dropped before the clear happens. Also, I'm sure this constant polling is creating a performance hit for my interfaces.
I haven't completely had time to unravel your system for MMF enough to see where the actual problem is. I am operating with overdrive turned off, as the reaction time with overdrive on is FAR greater. I'm wondering if this is perhaps the reason why this is happening. Anyway, if someone could give me some insight, that would be great.
Again, let me congratulate Mathieu on this astounding framework, I can't believe how well it functions in so many regards. I have created interfaces emulating the novation Remote SL25, Nocturn, Mackie Control Universal and XT, and Monome 256. My demo of Max on Windows will expire in 4 days, so my development will be halting for a little while. I'll publish my patches when I get a chance to compile them in a more encapsulated manner. Cheers :)
I've never noticed this problem here. Maybe some tuio messages are "corrupt", or missing ? (I've never tried W2TUIO..)
wich version of max are you using ? mac / win ?
I'm always working with overdrive ON in max (Scheduller in overdrive, but NOT in audio interupt). I've never noticed any latency difference between overdrive on & off ; and I don't think this could cause message lost.. but.. who knows… :-s
Maybe you could try to increase "poll throttle" and "queue throttle" in max preferences / Scheduler.
by the way… how is MMF going on a multitouch Dell Latitude ? I would love to see a demo video .
–Maybe some tuio messages are “corrupt”, or missing ?
As far as I can tell, all the data that should be there IS THERE. Its very strange. Maybe my screen calibration is messing with something (I just thought of this, I'll have to check it out).
–wich version of max are you using ? mac / win ?
most current max on win7.
–I'm always working with overdrive ON in max (Scheduller in overdrive, but NOT in audio interupt). I've never noticed any latency difference between overdrive on & off ; and I don't think this could cause message lost.. but.. who knows… :-s
yeah, I've not noticed it while running on a Mac, but there is a definite difference in Win7 between overdrive on (higher latency…..go figure?) and overdrive off. It seems like messages are getting lost completely, or reordered perhaps. Unfortunately I'm not going to have time to figure this out before my demo expires, so I'll have to just fly the way it is. Is anyone else using this configuration? (Win7, Dell Latitude XT, W2TUIO, MaxMSP current version)
–Maybe you could try to increase “poll throttle” and “queue throttle” in max preferences / Scheduler.
I'll try this tonight or tomorrow if I have time and get back to you with the results.
–by the way… how is MMF going on a multitouch Dell Latitude ? I would love to see a demo video .
It's going exceedingly well, except for the aforementioned bug. I've been surprised, I wasn't sure if it would be usable when I invested in the laptop. The W2TUIO app does bug out every once in a while and has to be restarted, or sometimes I need to logout/login (the cursor sometimes disappears and doesn't come back until you logout or restart the computer). Also, there is a lot of beta involved in this setup. WinBeta7, as well as Beta NTRIG drivers for the screens multitouch capabilities. The NTRIG drivers disable touch capability when using Vista, DONT support pen functionality at all in Win7 or Vista, and at times, completely stop working until an OS restart happens (the last bit, though, doesn't usually happen unless the laptop has been on for at least several hours, and usually after 8-12 hours).
I have one portion of one interface to finish, and then some code optimization and encapsulation to complete, and I'll be ready to start sharing some of this stuff. Hopefully someday soon I'll be able to start making music again instead of coding control surfaces :). I'm working on opening a theatre this week, but hopefully next week I'll have some time to sit down and document and video some of this stuff.
I actually have just been having the same issue using mmf with tuio. The objects in the coll are not cleared out when the new ones are entered. I also have been having some wierd things happening with mmf running on my 30" 2560x1600. I have been hacking around some other parts of the abstractions though so i was hesitant to post incase it was due to me doing something.
I have been trying to use the #0-touch2 from polytouch to be able to have two coordinates for the two simultaneous touches in one object but for some reason when i add a second touch it doesn't work like this. I tried to make a polytouch mini by banging the mmf-root-UI with the newly touhed object to see if two touches exist. I was then going to use a dynamic router (f0.router_index i think) to seperate the two.
This was how I came to see that the main UI coll was storing much more than just the current scene. Sorry if i didn't have any solutions…..but does anyone have any suggestions about getting two seperate touches in once object? When i watch the mmf.core object patch, the touch2 input is confusing to follow. When i add a second touch, touch2 only activates 1/10 times, and when it does touch1 stops giving data. Any help would be apreciated.
please download this debug patch. (copy & paste it in your main mmf patch, and connect it to "p tuio") (+ double click on loadmess objects if needed to connect the cellblocks to the colls)
amounra : you said in your fisrt post "for each touch, there will be numerous first touches on a broken element, e.g.: element name, 10 10 10 10 10 10" that would mean that several cursors with the same id have been mapped to the same object. strange :-s
as I said, I don't have this problem here, so it's not easy for me to find a solution…
please make sure you don't have several objects with the same name in your interfaces.
one more thing you could test : replace the content of your "p tuio" patcher with this patch that uses the "real" tuioclient object. (download the lattest version here : http://www.tuio.org/?software (version 1.4rc1) and let's see if it make a diference with the abstraction version..
- the coll root-mmf-polytouch is never cleared ; it contains all objects you have touched at least one time. if there is no cursor on this object, the second column should contains only a 0. (otherwise, it contains all the cursors id, in order of appearance)
to know how many cursors are on an object, it's easier to use the message receive on object_name/cursor/poly + object_name/cursor/id to know the cursor's IDs. (have a look on how it's done in mmf.waveform~.maxpat, for example)
the messages sent on #0-touch2 are used locally in each voice of mmf-max-polytouch, can't be used outside this poly~. (it's here to prevent several cursors to control a monotouch object, as for example a slider : in p slider, only messages sent to #0-touch1 are received)
sorry guys, I'm out of time for a couple of days, and my demo of Max expires today….I'm going to try to compile this stuff to an app and then then do a fresh OS install on the Win7, but I won't have time to do anything else until next week probably. I'll give this a go in a couple of days when I have more time. Grand Opening of the Theatre last night, things went well, I should have more time very soon I think.
I had a little time to sit down with MMF tonight. some good, some bad. I think I am having problems with the scheduler. Matrix control seems to be buggering up my processor pretty badly, which is a problem, since the main thing I'm trying to accomplish is a virtual monome. In any case, I've tweaked some settings (mainly poll and queue throttles, as you suggested Mathieu) as well as reducing the slop threshold (that actually seemed to make the biggest difference).
I had to rethink several things, and the whole thing is actually working fairly well right now, but not well enough. Hopefully tomorrow I will have time to load up the debug patch you posted. I think that this is Win7/laptop specific. My setup is VERY sluggish at times, especially when it is doing any amount of redrawing. All the stuff I am running right now is beta. I'm going to bounce them off of someone else with a more reliable setup as soon as I can get the server side patches compartmentalized enough for someone else to make sense of them.
If anyone has any more insight, lemme know. In the meantime, here is hoping for a slow week so I can get some of this stuff finished and start making some music again.
Allright….don't know if anyone else is using my setup, but here's the update….
Apparently Matrixctrl is kicking my Win7/Intel 1.2's butt. It is using a lot of resources anytime this part of my patch is working. I've made some modifications to my environment, and have a dependably working patch right now (mostly, lowering all values within MaxMSP's scheduler preferences to 1, e.g. event interval, scheduler interval, scheduler slop, and raising poll throttle and que throttle quite a bit (100 and 200 respectively, I think). This has dropped latency to an acceptable degree, and the problems with the coll I began this thread about have been reduced considerably (I would say the issues are only occurring about 10 – 20% as often, and the patch I created takes care of these issues well enough).
I am testing these patches currently, and hopefully will have videos and some public domain shares of my patches this week. Cheers :)
I too am experiencing gui objects becoming inactive to tuio after a certain time. I can't confirm that this is due to touches not being removed from the coll, because my coll is empty when I check.
Have your debugging attempts been conclusive in any way?
Every Time I use MMF, with TUIO through W2TUIO, I have gui objects that become unresponsive to TUIO. How do I debug this? I'm having trouble understanding the above conversation. I need clear indications.
Also, I can't open the max patches you copied into the discussion above. They just don't open when I copy and select new from Clipboard…. can you attach them as an attachment?
(copy & paste "p debug" in your main mmf patch, and connect it to “p tuio”) (+ double click on loadmess objects if needed to connect the cellblocks to the colls)