Forums > MaxMSP

[sharing is Fantastick] Max Multitouch Framework for Fantastick (iPad, iPhone..)

August 25, 2010 | 7:55 pm

[MMF-Fantastick] : Max Multitouch Framework for iPad, iPhone & iPod-touch + Fantastick

if you have an iPad, an iPhone or an iPod-touch, you’ll probably enjoy it ;-)

I’m happy to share this "framework" for Max & Fantastick.
(Fantastick is a free app for iPad, iPhone & iPod-touch : http://pinktwins.com/fantastick/ )

MMF-Fantastick is an extension of MMF (Max Multitouch Framework) : a set of abstractions to control max user interface directly within a multitouch screen.

MMF-Fantastick will draw on your iThing (thanks to Fantastick) a representation of all named UI objects that are visible in the presentation mode of your Max patch, and let you control them directly from the multitouch screen of your device.
It’s really easy to configure, fast, bi-directionnal.. and free !

have a look at this video :

http://www.youtube.com/watch?v=tfvEV1zcAjQ

- first, install and configure Fantastick on your iPad/Phone/Pod (http://pinktwins.com/fantastick/ )
(test it with the maxhelp patch)
- download & install MMF-Fantastick from http://code.google.com/p/mmf/downloads/list
(copy it anywhere in your max search path)
- open MMF-Fantastick_template.maxpat
- multi-touch your iThing
(and if you test it on an iphone and love it, run out to buy an iPad !)

–> Fantastick works MUCH better with an ad-hoc WIFI network, without WEP encryption

requires Max 5.1.4 ;
you’ll probably need to download & install manually lattest version of pattr object from http://cycling74.com/downloads/incremental/

enjoy !

Mathieu

________________
Mathieu Chamagne
mathieu.chamagne@gmail.com
http://mathieuchamagne.com

http://www.maxobjects.com


August 25, 2010 | 8:02 pm

Thank you so much.


August 25, 2010 | 8:36 pm

oh yes thank you so so much
cheers


August 25, 2010 | 9:33 pm

Thank you!
But… it always crashes max. As soon as I touch something on the ipad – crash. All the gui is there but not controllable.


August 25, 2010 | 9:50 pm

Crashes here, also. Log attached.


August 25, 2010 | 9:52 pm

you probably need to download & install manually lattest version of pattr object from http://cycling74.com/downloads/incremental/ as your crash seems related to pattr…

Mathieu



EMV
August 26, 2010 | 7:20 am

Awesome! Thank you!


August 26, 2010 | 7:45 am

sorry, it seems that MMF-Fantastick 1.00 crashes current Max version…
(crash when sending a "bindto" message without argument to a pattr object ..)

it’s now fixed in lattest version : MMF-Fantastick_1.01

http://code.google.com/p/mmf/downloads/list

(with this new version, you may have some harmless error messages in your max window :
"pattr: (u143001526): failed to bind to target (::interface1::parent::MsliderH)
…don’t worry !)

Enjoy

Mathieu



EMV
August 26, 2010 | 8:48 am

Yeah, now it works – no more crashing! And it’s super fast!

Do you know if it’s possible to turn on anti-aliasing for the OpenGL elements on the iPad? There is no reference to it in the Fantastick documentation, but maybe it can be done anyway?


August 26, 2010 | 3:40 pm

this is literally Fantastic ! pun intended
kudos – great idea

I am all for helping out on the fantastick openGL interpretations of the max objects
e.g. i have ideas to sort the multislider in ‘bar’ style

plus it’d be good to reduce the z co-ord differentials (layering) so that there is no parallax error

maybe i’ve missed something but i would like to see landscape support

but this is such a powerful way to do the tricky stuff that made Fantastick so powerful
this route seems to be so responsive

wonder what jusu makes of this ? !

big thanks to mathieu for getting this out

~s~


August 26, 2010 | 4:17 pm

Awesomek! Thumbs up, Mathieu!


August 26, 2010 | 9:11 pm

Wow, that’s exactly what i needed right now…
That’s amazing.
many…

TTTTT..H…H…….A………N……N….K……K…….SSS………!
….T……H…H……A.A…….NN….N….K…K………S…………..!
….T……HHH…..AAA……N..N..N….KK…………..S………..!
….T……H…H….A….A…..N….NN….K…K…………..S
….T……H…H…A……A….N……N….K……K…….SSS……….!

This is the max external of the year. Or maybe the best external ever realized.

Note: In the READ_ME file, you write "bi-directionnal" ? : But changing ipad orientation does not change orientation of the objects… ?

Few features that would be welcome to me :

- Could we see the knob position of the [gain~] object on the ipad ?
- respect of the "ignore click" attribute : very useful when you use transparent multisliders, to edit only the one in front.
- multisliders style : "% Ghost Bar on Thin line" or "plain-bar" would nice, as the "thin-line" is hard to see under my finger on the ithing…

Notes about the wifi network:

"works much better with an ad-hoc WIFI network" : A fundamental advice.
In my case, fantastick is quite sensible to the quality of the wifi network : The drawing on the ipad is just dramatically slow when using the router network. (the fault on my spanish little white wifi box?) When creating a computer network, everything is fine.
And to notice again, when a lot of jitter/Usb-data-like-wacom-tablet are going on, the [mxj net.udp.recv] object you use, seems SO slow to me (low-priority problems) : In that case, use aka.datagram instead ( http://www.pinktwins.com/fantastick/AlternativeFSReceive.zip )

To jusu :

I find Fantastick a bit slower to draw stuff than Touchosc does for example, plus when i see all fast iapps that exist… Couldn’t you improve the graphics speed a little bit ? If this is a wifi issue, perhaps packaged-messages of differents "models", seeded thru wifi at once, to improve efficiency, would help, or not ?

Thanks again to you both, jusu and mathieu!


August 27, 2010 | 12:32 am

Hey!
Is this actually going to work also if max is running on a windows machine?
hm i guess yes right?
And, all gui objects are drawn on the ipad? live.Step, matrixctrl, waveform and all of those things not seen in the video?
thant would be too beautiful…


August 27, 2010 | 8:37 am

Thanks for all theses nice comments :-)

> Note: In the READ_ME file, you write "bi-directionnal" ? : But changing ipad orientation does not change orientation of the objects… ?

bi directionnal means that you can control a slider in your max patch, Fantastick will reflect the changes.

orientation of the device will probably come.. in a future version :-)

> – Could we see the knob position of the [gain~] object on the ipad ?

sure ! …in next version !
(some objects are still missing, but are on the to do list : matrixctrl, Tabs, function, …)

> – respect of the "ignore click" attribute : very useful when you use transparent multisliders, to edit only the one in front.

ho yes, good idea :-)

> – multisliders style : "% Ghost Bar on Thin line" or "plain-bar" would nice, as the "thin-line" is hard to see under my finger on the ithing…

yep, still lot of work on this one as well !

cheers

Mathieu


August 27, 2010 | 11:10 am

Good news!!!!!!

Just an idea : When overlapping 10 pictsliders, it would be funny if the different pictsliders would react only to the nearest finger!! (simple pythagore formula for distance = sqr(x^2+y^2) )

Note: Above, i wrote: "But changing ipad orientation does not change orientation of the objects"… In fact, it shouldn’t, because this would be annoying, an orientation toggle in your patch would be perfect.


August 27, 2010 | 4:22 pm

This is looking excellent, thank you. Time to sell my lemur so I can afford an iPad…


September 3, 2010 | 9:14 am

Also maybe: Finger sized circle knobs for pictsliders, like on the lemur?…


September 3, 2010 | 10:45 am

Brilliant thanks, colour swatch UI would be nice, it comes up but without the coloured background.


September 6, 2010 | 2:03 pm

Could also be nice in futures versions: [preset]


September 7, 2010 | 3:50 pm

Just amazing ! Thanks a lot

Mayou


September 15, 2010 | 2:44 pm

Newbie question: all examples are working, but when I try to create own stuff with MMF I need the "mmf.FS.interface " object which is unknown in MAX.
I am using V 5.1.5.
Any hints for me?


September 15, 2010 | 4:41 pm

Hi,
Remember this : ‘Externals’ objects (that are not in the commercial distribution), are only found by max in two situations:
- if they are in the same folder than the object that you are loading. For example, when you open "MMF-Fantastick_iPad_template.maxpat", max will find ‘mmf-fs.interface’ because it’s in the same folder (‘MMF-Fantastick’)
- if they are in your "max search path" and that you restarted max. ( look in the help section for "max search path" )

So in ‘File Preferences…", you can either create a ‘userpath’ with the ‘MMF-Fantastick’ folder, or a ‘userpath’ with a folder called ‘my-max-externals’ where you will put this ‘MMF-Fantastick’ folder.


September 16, 2010 | 11:37 am

Alexandre, thank you very much. That was the initial trigger for me.


September 21, 2010 | 4:17 pm

I have Fantastick working with Max, and I am very interested in this framework, but Google gives me an error when I try to access the page: http://code.google.com/p/mmf/downloads/list. What’s happening?


September 21, 2010 | 7:57 pm

mh… strange.. http://code.google.com/p/mmf/downloads/list works fine here…

here is another link to the same file :

http://dl.dropbox.com/u/174493/MMF-Fantastick_1.01.zip

Mathieu


September 21, 2010 | 8:17 pm

Hi Mathieu

Thank you, that worked fine. Can’t wait to dig into it.

John R



EMV
September 24, 2010 | 6:01 pm

Hi, I have added fpic support in the Max Multitouch Framework.

You need:

  • named fpic objects in the interface patches, with pictures loaded from disk;
    (restrictions Fantastick imposes on your pictures apply here as well: they need to have dimensions that are a power of 2, so 16,32,64,128 px etc)
  • a webserver running on your computer, with the images you have used in the fpic objects placed in the web directory;
    (note that the images you put in fpic don’t actually need to come directly from the webserver folder, it’s just that images with the same filename need to be present in the web folder).
  • a [textedit] object in your main patch (on the same level as the mmf core object) named mmf_imgpath. Enter the web path to your image folder there, including trailing slash. Examples of paths: http://192.168.1.10/images/ , or http://your-bonjour-name.local/images/
  • the modified javascript file attached to this post.

,
(I haven’t tested this with windows yet, on mac it works perfectly, very fast too)


September 26, 2010 | 9:19 am

Thanks EMV for this brilliant contribution :-)

with your permission, I’ll add it in the next MMF-Fantastick version.

best

Mathieu



EMV
September 28, 2010 | 9:06 am

Yes, of course add it in the next version!


October 1, 2010 | 6:05 am

hey has anybody got any kind of image to display on the iphone using MMF-fantastick? i’m really mystified by the need for images with measurements of a power of two. it makes creating backgrounds for sliders difficult on the iphone which is 240pix X 480px. the closest measurement in landscape mode would either exceed the screen size or be just over half of the width.

i want to display a waveform below an rslider object but it looks to be really difficult. i got a patcher from the pinktwins website which draws an opengl waveform from a jit.buffer but i can’t figure how to integrate it with MMF-fantastick. ideally i suppose i’d use two layers – one for the waveform render in OpenGL and the other MMF-fantastick layer on top.

any help appreciated – hope i’m not hijacking the thread…

scott



EMV
October 1, 2010 | 9:07 am

Images can be done using the method I described above, or directly with the OpenGL implementation of Fantastick.
The power of two stuff works like this:
Both of the dimensions have to be 2^something, but they don’t have to be equal and they can extend beyond the borders of the screen. So 32×16, 128×128, 512×16 etc are all valid.
At some point I’ll add the possibility to define the depth (z-coordinate) of images by putting a number into the ‘annotation’ field of the fpic object, but right now every picture is at the same depth as normal objects (z=0), and panels are at z=-1.


January 5, 2011 | 9:31 am

I’ve just updated MMF-Fantastick -> version 1.1

- waveform~, Tab & Nodes support added
- "touch area" Fantastick messages support (.. now your iDevice is ‘pressure’ sensitive !)
- fpic support (webserver must be configured on local host)
- scrolling interface option added
- new and simplified abstractions & folders structure
(now everything is in mmf-fs.core – including the network connection patch)
- preferences (IP ports, UI preferences, ..) are stored in a mmf-fs.preferences.txt file
- new example & template interfaces patches.
- interface orientation option added

(requires Max 5.1.7 + Fantastick 2.3)

download latest version : http://code.google.com/p/mmf/downloads/list

enjoy !

Mathieu


January 5, 2011 | 6:04 pm

Wow! Great stuff, Mathieu!


January 6, 2011 | 5:39 pm

[broken record]

Please add to our new Toolbox to reach the most Max users!

http://cycling74.com/?post_type=toolbox

Thanks,
Lilli


January 7, 2011 | 9:25 pm

pressure’ sensitive ?!?!! wwow…
I can’t check this now (i’m in Berlin for tango holidays), but will soon! Thanks Mathieu!


January 9, 2011 | 6:57 pm

This is so awesome looking it is really tempting me to get an iPad…


April 6, 2011 | 4:53 am

Hello,
I just bought an ipad, mostly for the incredible power your software gives it.
Thank you so much for sharing this wonderful innovation.

However, I’ve run into a problem.

When I run this patch, only one of the node centers gets updated on the ipad. The other circle just stays where it is, no matter how I slide my finger. The corresponding node on the screen get updated just fine when I slide my finger on the ipad node, but the ipad doesn’t update.

Am I doing something wrong? Is this a bug, or the way it’s supposed to work?
Thanks for all your help!
Ben

Here’s the patch:

– Pasted Max Patch, click to expand. –

April 6, 2011 | 7:42 am

Hello Ben,

damned, you’re right, 2 Nodes in the same MMF-interface patch just do not work actually…
I’ll fix it asap !

I’ll probably need to add an abstraction for the Nodes objects, because it doesn’t exposes its Nodes positions to the main pattrstorage, so the way it works actually is a bit messy, and won’t be adaptable to multiple objects in one interface.

thanks for reporting it !

Mathieu


April 7, 2011 | 10:59 pm

Hi Mathieu,
Thanks for responding so quickly! I can’t wait for the update.
Ben


April 8, 2011 | 11:27 pm

Well, I’ve really done it this time. . .
Now I can’t get any connection at all. I’ve followed the connection instructions (typing in the numbers from the ‘What is my IP address’ subpatcher into the Fantastick settings on my ipad), both with an ad-hoc connection and using my household wifi.
None of the example patches will show up on the ipad when I send them a bang. Instead, I get ‘UdpSender: IOException: java.io.IOException: Host is down’ about 30 time in the Max window.

I got the example patches to work when I first got the ipad, but no longer. Does any network wizard have any suggestions? I’m at a total loss.
Thanks!
Ben


January 30, 2012 | 11:14 am

Hi! I’ve got a little problem.. well.. at my school there is no wifi connection and for some reason i also can’t create an ad-hoc network.. Is there any other way to connect fantastick on my ipad to MAX?


January 30, 2012 | 3:59 pm

Just buy a wif router/hotspot. Can’t imagine they’re that expensive…


March 9, 2012 | 7:10 pm

Hi,

Really liking Fantastick to use an iPad as a control interface. I’m using it as the basis of my final year project, and its got some really powerful capabilities.

I’m having some trouble with the nodes object though – The edges of nodes can spill over the edges of the nodes object on the iPad display (rather than being clipped at the boundaries as in Max), which gets really messy with larger node sizes.

I can’t get candy caning or the nodes’ indices to display on the iPad either, does anyone know if those functions are supported?

Thanks,

Ash


July 4, 2013 | 10:54 am

Hi guys,
is there anyway this can work with an android tablet?


Viewing 44 posts - 1 through 44 (of 44 total)