Forums > MaxMSP

[ANNOUNCE] new iPhone controller software available

February 6, 2009 | 1:27 pm

Hi,

Our iPhone controller software "FantaStick" is now available on iTunes AppStore:

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=302266079&mt=8

This one is widget-free: you build the interface logic in Max/MSP, send drawing commands and receive multitouch events. So, 100% widget-free and customizable.

Features include drawing, fetching images from web (and caching locally for offline use) and no-hassle design for the concert setting.

For me this is finally a good replacement for the iGesture that Apple killed some years ago.

Best,
jusu
pt


February 6, 2009 | 1:46 pm


February 6, 2009 | 2:49 pm

Hi,

I missed the "required configuration" informations, so to prevent other for making the same mistake (buying without reading, oh, silly me) this advice : it doesn’t work on first generation ipod touch (whatever firmware you have).

I suppose it’s hardware-related, but any details on this would be appreciated.

thanks

leo


February 6, 2009 | 6:34 pm

Does someone know if there is a particular reason why this app is not compatible with the 1st generation ipod touch?

S


February 6, 2009 | 7:29 pm

seems like a nice approach to me!

two things:

i can’t get any data from my iPhone 3G back to max5.
tried different ports and udp objects, but that direction doesn’t work; at this moment, it’s a no-touch interface for me… :(
drawing works fine however.

the other thing: a feature request :)

can we have linewidth please? i don’t really dare to touch lines that fragile…

thanks for this interesting thingie; hope i can get it to work!

jan


February 6, 2009 | 7:39 pm

I wasn’t aware of the new iPhone controller software available.

Could someone please talk to me on the list and let me know where this
is?

I’m nice, I don’t bite, I’m a newbie (new Max/Msp) but not to other
development.

Also, I don’t have leporsy :)

I didn’t get the [ANNOUNCE] and I believe I"m on all lists for C’74
and for iPhone and ADC.

-r

On Feb 6, 2009, at 2:29 PM, Jan Klug wrote:

>
> seems like a nice approach to me!
>
> two things:
>
> i can’t get any data from my iPhone 3G back to max5.
> tried different ports and udp objects, but that direction doesn’t
> work; at this moment, it’s a no-touch interface for me… :(
> drawing works fine however.
>
> the other thing: a feature request :)
>
> can we have linewidth please? i don’t really dare to touch lines
> that fragile…
>
> thanks for this interesting thingie; hope i can get it to work!
>
> jan


February 6, 2009 | 7:45 pm

robert, what is your question?

you saw the link for the app from the OP right?

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=302266079&mt=8


February 6, 2009 | 10:00 pm

Hi all,

Jan Klug: make sure both machines (desktop/laptop and iPhone) are on the same wifi-network. On a mac, you might create a computer-to-computer network and join that with the iPhone. Make sure your firewall is off. The mxj net.udp.recv object works if your network is ok. Did you try the example patch available in pinktwins.com/fantastick?

I’ll collect the feature requests for future updates.

As for iPod 1G, no idea. Let me know which error you get. I think a cheap used 1G iPod would be perfect with this, so I’d like it to work.

Best,
jusu
pt


February 6, 2009 | 11:15 pm

Going to the itunes app store with the ipod 1gen, selecting to download the app, the process is canceled by itunes, as the system of the ipod do not match the requirements as specified. So maybe there is a workaround to make it work, but a straight download and/or transfer from the app store doesn’t seem to be possible.

S


February 6, 2009 | 11:26 pm

Ok, I’ve changed the requirements to iPhone and iPod Touch, no 2G. Sorry that I can’t test this as my device is 2G. Let us know if it works, if not I owe you a beer.

j


February 7, 2009 | 12:26 am

> Ok, I’ve changed the requirements to iPhone and iPod Touch, no 2G. Sorry that I can’t test this as my device is 2G. Let us know if it works, if not I owe you a beer.
>

Great, I let you know when the update appears in itunes.

Thanks

Leo


February 7, 2009 | 3:08 am

Jusu,

Can you please contact me directly at robert@activecommunity.com or
via this list to describe to me some background on FantaStick?

I’ve been trying to gain some rapport with the people on the list.

I’m developing iPhone apps also, not like yours, more for OpenGL and
streaming audio.

But yours is the first Max/MSP/Jitter app I’ve seen to involve any
support of iPhone apps. My ADC Membership just ran out so I was able
to get the iPhone 2.1 SDK just in time, but now I’m out of the loop
until I get my next check (and in these times…)

Anyway, looks like great work…

-r

On Feb 6, 2009, at 6:26 PM, jusu wrote:

>
> Ok, I’ve changed the requirements to iPhone and iPod Touch, no 2G.
> Sorry that I can’t test this as my device is 2G. Let us know if it
> works, if not I owe you a beer.
>
> j
>
>


February 7, 2009 | 10:08 am

I was able to install it on the 1gen iPod touch now.

Joining with the iPod the same network as the laptop (I tried the home network as well as a peer to peer), loading your patch in max5, launching FantaStick, all I get is Host not found. Please check … same network.

mrmr connects without a problem!

I included a print after the mxj net.udp.recv and nothing is received in this process.

Any ideas?

S


February 7, 2009 | 10:17 am

try visiting your system prefs, in the bottom you’ll find the prefs
for FS, where it says hostname type the ip address of the laptop
you’re trying to connect to, and set the right ports .. in the max5
patch change the default ip address to the address of your ipod ..
should work ..

On 7 feb 2009, at 11:08, Sebastian Lexer wrote:

> Joining with the iPod the same network as the laptop (I tried the
> home network as well as a peer to peer), loading your patch in max5,
> launching FantaStick, all I get is Host not found. Please check …
> same network.


February 7, 2009 | 10:22 am

… of course! Thanks, forgot that some apps have their own settings entry inside the ‘global’ settings! I just checked the network settings.
So thank you very much, it all works, great!

S


February 7, 2009 | 11:55 am


February 7, 2009 | 12:20 pm

In Fantastick settings, you can also use the zeroconf name (ie. "computername.local") instead of ip numbers, at least with a mac.

FS sends its ip periodically until it receives something. Check the example patch, it uses the ip to set address of net.udp.send-object.

This way you don’t need to know ip numbers of either device, and it still works if the numbers change.

j


February 7, 2009 | 1:56 pm

What is the maximum speed of transmission from FS to Max? Can this be changed? At the moment it seems to me that drawing commands from max to fs are transmitted quicker than the position of the fingers. I.e. using the multislider example, trying to make a straight line from left to right to ‘level’ all sliders seems impossible. I checked the amount of data received, and it struck me that the finger position is sampled quite slowly.

S


February 7, 2009 | 2:35 pm

Actually, sending finger positions is fast, but frequent screen refreshing slows it down. To keep multitouch events fast, limit the amount of screen refreshes (the "@" command). The multislider example is not a good example of this, unfortunately it’s quite the opposite. I’ll look into improving this.


February 7, 2009 | 3:21 pm

Sebastian,

The multitouch example was doing useless work, and had it backwards – it was limiting event flow instead of drawing speed. I’ve updated a new FantaStick-help.pat, check it out. The multislider in max now responds to fingers very quickly, and screen refreshes are only slightly throttled. Let me know if you think it’s ok, ok?

(the standalone applications are not yet updated)


February 7, 2009 | 5:00 pm

Version 1.1 brings a refresh performance improvement, which makes the multisliders really nice. Limiting screen refreshes shouldn’t be needed and I’m finally pretty happy with it. It’s waiting for Apple’s review.

The width-command is there too.


February 7, 2009 | 5:46 pm

thanks jusu,

solved the problem…
for some reason, the firewall didn’t let udp traffic *into* max, just out..

now it works fine!

looking forward to the next version :)

jan

>
> Jan Klug: make sure both machines (desktop/laptop and iPhone) are on the same wifi-network. On a mac, you might create a computer-to-computer network and join that with the iPhone. Make sure your firewall is off. The mxj net.udp.recv object works if your network is ok. Did you try the example patch available in pinktwins.com/fantastick?
>


February 7, 2009 | 8:38 pm

Would it be possible to implement a ‘raw’ transmission mode? I.e. the coordinates of all active touchpoints are send as one big list raw x[1] y[1] x[2] y[2] … x[n] y[n]?

Best wishes

S


February 7, 2009 | 10:52 pm

Is there a way to experiment with FantaStick and the iPhone Simulator?

I’ve been holding out for the newer iPhone but haven’t got it yet.

But I do have the simulator that came with the iPhone SDK.

-r

On Feb 6, 2009, at 8:27 AM, jusu wrote:

>
> Hi,
>
> Our iPhone controller software "FantaStick" is now available on
> iTunes AppStore:
>
> http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=302266079&mt=8
>
> This one is widget-free: you build the interface logic in Max/MSP,
> send drawing commands and receive multitouch events. So, 100% widget-
> free and customizable.
>
> Features include drawing, fetching images from web (and caching
> locally for offline use) and no-hassle design for the concert setting.
>
> For me this is finally a good replacement for the iGesture that
> Apple killed some years ago.
>
> Best,
> jusu
> pt
>
>
>
>


February 8, 2009 | 12:10 am

Sebastian: the upcoming version sends more data (a terminating "X" after all coordinates) that allow building such a list. Counting the number of touches is also possible then.

Robert, I don’t think a simulator version is possible. Borrow a friend’s iPhone/iPod? 1G iPod on ebay would make sense – they seem to go cheaper than the good old iGesture was…


February 8, 2009 | 1:12 pm

That’s fantastic! Thank you very much for your work on this app. Your concept of controlling the entire GUI of the app from Max has made it possible to fully integrate the iPod into my performance system where the looks is less an issue than speed and reliability, obviously practical and reliability tests still pending. The chance to build list from the touch points will be the icing on the cake!

I experienced quite a steep performance drop when using images, even only as a background without using the move commands. file size of image didn’t seem to make much a difference, but image dimensions. This was even the case when no other element/text/line is used at all, therefore the image is only serving for orientation of the user. Does a touch cause a redraw of the screen?

Best wishes

Sebastian


February 8, 2009 | 2:58 pm

Thanks! We seem to have similar wants on this and your feedback is certainly good in pushing to make most of it. With the images, I’m not noticing a similar performance hit, can you send your patch to me directly to jusu a t pinktwins.com, I can have a look..

Best,
jusu


February 8, 2009 | 3:00 pm

(contnd: touch doesn’t redraw the screen)


February 8, 2009 | 3:01 pm

tomgalileo: sorry, i’m not familiar with ambimonitor, maybe someone else can have a look..


February 8, 2009 | 5:54 pm

hi

so i bought and tried the app – so far so good

a few questions

1_ B M E what are their meanings?

B seems to be the first contact with the screen (first finger)
M is movement
E is end of it all ??

in the patch you also use I (in the route IP B M E I) – i never seem
to produce such a thing…???

2_ wil there be, in a future version the accelerometer??? As i
understand it runs in the background anyhow, it would be good to be
able to receive it

3_how to build a multislider in "bar" mode ?

many thanks

kasper


Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

http://www.myspace.com/sleazeart


February 8, 2009 | 6:43 pm

Hi,

1. Yes, Begin/Move/End for individual touches, each touch will get at lest B and E. I’ve found that putting more than five fingers on it at once messes with the E part though.

I is when moving an image – see the image-subpatch in
Fantastick-help.pat.

I see the help in how images are cached is not very clear – images loaded from web are stored on the device permanently and will be loaded from disk next time with the exact same command. So, it works offline too. "clearimagecache"-command removes them.

2. accelometer would be nice.

3. In multislider / Guts, on lower right corner, change
"line $2 $1 $2 $3" to "rect $2 $1 0 $3"

Best,
j


February 8, 2009 | 9:45 pm

thanx.
that’s a pity, it would be great to have ambi points displayed on
iphone screen.

thnx for answering

On 8 Feb 2009, at 15:01, jusu wrote:

>
> tomgalileo: sorry, i’m not familiar with ambimonitor, maybe someone
> else can have a look..


February 8, 2009 | 10:24 pm

hi

the app is becoming clearer to me every minute

however, still one question, about the clear message

_if I send soemthing like

[color 255 0 0, rect 5 5 310 90, color 0 255 0, rect 5 100 310 190,
color 255 0 0, rect 5 200 310 290, @]

to FS (obviously to create 3 zones, for x-y action

and a

[color 0 0 255, rect 20 20 40 44, @] as a cursor

if i want the cursor to move I have to clear the entire zone

[clear rect 5 5 310 90, @]

redraw it, and draw the cursor at its next location ??

it seems to me that it is a lot of clearing/redrawing……

so is it the only way????

(ok, that’s why you put he speedlim in your exemple – but when I
switch the multislider to 40 sliders, the redrawing is very poor
actually)

many thanks – and it is a great app!!!

kasper

Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

http://www.myspace.com/sleazeart


February 9, 2009 | 6:09 am

Hi, thanks,

you could use image for the zones and draw over it. Or use image for the cursor, or for both.

An early version of the multislider was drawing too much (all sliders every time). Try disconnecting the link from "p Guts" to multislider in max, and try it out.

j


February 9, 2009 | 9:50 am

It would be great if there were more, concrete examples of what this software could do compared to, say, mrmr.

Right now I’m not sure what the benefit would be compared to that particular (free) application, even after browsing the web page (with a cryptic, complex image) and downloading the help patch.


February 9, 2009 | 9:54 am

>Hi, thanks,
>
>you could use image for the zones and draw over it. Or use image for
>the cursor, or for both.
>

yesterday night I thought about an image as background, but cursor as
image gives new ideas! many thanks!

kasper

Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

http://www.myspace.com/sleazeart


February 9, 2009 | 10:06 am

Hi oivindi,

Yes more examples would be great. My biggest gripe with mrmr was the widgets – I find the iPhone sliders unbearable for musical uses – they are just too hard to hit with my finger. Having a multislider screen with mrmr doesn’t work for me – you can’t "level" them all by swiping across the screen. This is the main reason for writing this app – getting the whole screen area in use and in a way that makes sense for musical uses and doesn’t require too much precision.

TouchOSC has nice sliders, but then again the multislider was reduced to about 1/3 of screen size with the builtin layouts. I like it otherwise so thumbs up there.

I think the approach with Fs gives you an open canvas to do what you need to, which is what Max is all about.


February 9, 2009 | 10:32 am

>It would be great if there were more, concrete examples of what this
>software could do compared to, say, mrmr.
>
>Right now I’m not sure what the benefit would be compared to that
>particular (free) application, even after browsing the web page
>(with a cryptic, complex image) and downloading the help patch.

after spending just a few hours with FS, it replaced mrmr on my iPod;
of course a t this point I don’t know it inside out but the few
advantages are (in my opinion, and according to my "needs")

_you can define your XY zones the size you want (in mrmr they are
defined by a grid) -of course those could be sliders
_you can partially (or totally if needed) overlap 2 zones (kind of
"mutate" between 2 sets of controls)
_setting very easily a multislider of 44 bands was a pleasure
_setting a new interface on the fly, from inside your max patch, is
easy and fast (so you could heve as many as you want – well, i guess
and hope you could !!! – during the same performance, for ex
depending on the area of the patch/effects you are working at any
given moment

probably millon other things

I still like Touch OSC – in which you have access to the
accelerometer (the XYZ based on ipods movemets) – I hope FS will have
this feature, as it seems all other similar apps do have it

best

kasper


Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

http://www.myspace.com/sleazeart



f.e
February 9, 2009 | 10:40 am


February 9, 2009 | 10:57 am

f.e, sorry, cannot test, don’t have one. It should work, and I think 2.2 is required.


February 9, 2009 | 12:56 pm

sorry if I missed something but the only FantaStick soft I found on the appstore costs 3,99 euros.
How about the free stuff ?


February 9, 2009 | 1:09 pm

what free stuff?


February 9, 2009 | 1:12 pm

Hi,

There is no free/lite or such version of this app.

Thanks,
j


February 9, 2009 | 2:47 pm

Ok, I purchased it. ;)

But, how can I "deactive" the multislider example? It seems to be stuck in the screen no matter what I do (even "clear, @").


February 9, 2009 | 3:18 pm

>Ok, I purchased it. ;)
>
>But, how can I "deactive" the multislider example? It seems to be
>stuck in the screen no matter what I do (even "clear, @").
>

just deactivate the connections in the patch itself (in max)

kasper

Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

http://www.myspace.com/sleazeart


February 9, 2009 | 3:34 pm

As jusu cannot test on 1gen iPod I thought it might be useful for some to know, FantaStick works on the 1st Gen iPod.
Mine is running firmware 2.2 so I cannot confirm any earlier firmware versions.

Hope this helps.

Furthermore you might want to consider that this app enables the iPod to be a blank canvas where basically your proficiency in Max is determining what FantaStick can or can’t do. I would like to propose that users of FantaStick supply examples to jusu, if he is up for it he could start a little library of examples of approaches and setups of ‘ready made’ controller patches.

As the GUI is controlled from Max, you are not limited to four banks of controllers as in OSCtouch and mrmr, Max can change the layout for you, so you can also use it as a cue systems for performances. This app is so open, that makes it so great.

However a few of feature requests (a couple of them are repeats from posts before):
1) coordinates of all touch points as one list
2) transmission of accel data, with possibility to request and stop transmission from Max)
3) FantaStick to remember last page after closing (maybe this could be optional in the settings)
4) as 3 for an image

Best wishes

Sebastian


February 9, 2009 | 3:41 pm

maybe one more?

5) possibility to set pixels to a specific colour in the style of jit.matrix set [x y] val [r g b]

S


February 9, 2009 | 4:04 pm

it works on old generation iphone
updated to 2.2

tested with max 5

i bet also max 4.6


February 9, 2009 | 4:05 pm

Quote: Sebastian Lexer wrote on Mon, 09 February 2009 08:34
—————————————————-
> I would like to propose that users of FantaStick supply examples to jusu, if he is up for it he could start a little library of examples of approaches and setups of ‘ready made’ controller patches.

This would help greatly!

I’m pretty confused right now as to where to start and how to make, say, a few squares of X-Y controllers.


February 9, 2009 | 4:26 pm

>maybe one more?
>
>5) possibility to set pixels to a specific colour in the style of
>jit.matrix set [x y] val [r g b]

unless I did not understood what you want (possible) you can change
the colour of every image (line, text, rectangle) by setting its RGB
values just before its coordinates

i did try with longer lists, messages like [color 255 0 0, rect 5 5
310 90, color 0 255 0, rect 5 100 310 190, color 255 0 0, rect 5 200
310 290, @] work

hope it helps

best

kasper

Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

http://www.myspace.com/sleazeart


February 9, 2009 | 4:32 pm

Hi,

I’m ok with collecting examples to the fs site, just send any you might have to me on jusu a t pinktwins.com.

comments on these:

1) touch points can be parsed to one list on 1.1
2) will be on 1.2
3) FS sends a string "FantaStick init" on launch, you could use this to redraw the interface. Seeing an interface without having the corresponding max patch open is a horrifying thought.
4) as 3
5) this is easy with message:
"set x y val r g b" -> "color $5 $6 $7, line $2 $3 $2 $3"
It’s a few characters more to transmit but I don’t think that’s significant.

j

> 1) coordinates of all touch points as one list
> 2) transmission of accel data, with possibility to request and > stop transmission from Max)
> 3) FantaStick to remember last page after closing (maybe this > could be optional in the settings)
> 4) as 3 for an image
> 5) possibility to set pixels to a specific colour in the style > of jit.matrix set [x y] val [r g b]


February 9, 2009 | 4:42 pm

Thanks, but yes I knew this. The feature request has more to do with controlling the screen on the iPod with the same messages as a jit.matrix. Obviously I can add a translator into my patch, but then I thought the packages send over the network would be smaller. Maybe the performance gain is negligible and doesn’t justify the effort to implement it into the FantaStick code. At the moment the controls seem to be modeled as the lcd control, adding some functions as you control a jit.matrix I thought to be useful.
And my ideas for the GUI are quite pointillistic anyway …

Best wishes

Sebastian


February 9, 2009 | 4:44 pm


February 9, 2009 | 4:44 pm

ok, jusu’s reply came while I was writing the previous post.

Thanks!

S


February 9, 2009 | 4:47 pm

> i can see the multiple flows of numbers coming at the same
> time, but i cannot track them if they dont have label.

in version 1.1, sorry about that.


February 9, 2009 | 5:35 pm


February 9, 2009 | 7:42 pm

Quote: Kasper T Toeplitz wrote on Mon, 09 February 2009 03:32
—————————————————-

> _you can define your XY zones the size you want (in mrmr they are
> defined by a grid) -of course those could be sliders
> _you can partially (or totally if needed) overlap 2 zones

Have you managed to make XY controls/grids, Kasper? Each with its own control?

The only thing I can manage is multisliders …

And if I understand correctly there is no way to control the incoming data in terms of multitouch (each touch has its own value etc.)?


February 9, 2009 | 9:48 pm

> Have you managed to make XY controls/grids, Kasper? Each with its > own control?
> The only thing I can manage is multisliders …

Here’s a patch with 4 control areas, is this it?

http://pinktwins.com/fantastick/fs_4Grid.pat

(open fantastick-help first, with multislider disconnected)

I wish I’d saved the unoptimized version. It was a little easier to read, but this shows a nice optimization of drawing.

> And if I understand correctly there is no way to control the
> incoming data in terms of multitouch (each touch has its own
> value etc.)?

I think you mean separating fingers and tracking them individually, like drawing each touch point with a different color? That’s possible in next version.


February 10, 2009 | 7:10 am

Quote: Sebastian Lexer wrote on Mon, 09 February 2009 16:34
—————————————————-
> As jusu cannot test on 1gen iPod I thought it might be useful for some to know, FantaStick works on the 1st Gen iPod.

Hi,

itunes still doesn’t want to update my app, so I still can’t test it on my 1gen ipod. When will the 1.1 version be available ?

Thanks,
Leo


February 10, 2009 | 2:52 pm

Hi,

I think you should delete the app from itunes/ipod, and download again. It should inform you that you’ve purchased it already and the download is free.

1.1 is waiting for apple’s review, when submitting the app it took between 2-7 days for them to do so.


February 10, 2009 | 5:54 pm

> I think you should delete the app from itunes/ipod, and download again. It should inform you that you’ve purchased it already and the download is free.

I suspected it would be the case but was not sure and after my first mistake…
And it works.

Thanks again.

Leo


February 12, 2009 | 11:51 am

hi

a question about images on FS (or rather about the computer as web
server, so a little OT)

_when I can perfectly well fetch, load and manipulate images which i
stored on my ft server (the message [image
http://kasper.free.fr/KTTlive.jpg, @] works perfectly well) I would
like to be able to load images from my computer: in a concert
situation i usually set a small "private" network, with fixed IP
numbers and all this, and this work very well for communicationg
between computers (all macs) and my computer < -> iPOD (running FS)

but I can not load an image from my computer (the image which would
be, say, in my Images folder) – the problem must be that I set an
incorrect path, most certainly:

When I set my small network, in the systeme preferences -> sharing ->
web sharing it says my computers web site is http://TheDeep.local/
but a message such as [image image
http://TheDeep.local/Deep/Users/KTT/Images/KTTLem.jpg, @] does not
load the image I want (which is in this folder) but a "generic" (?)
white/grey rectangle

which path should I use??

many thanks

kasper


Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

http://www.myspace.com/sleazeart


February 12, 2009 | 1:18 pm

Hi,

on OS X web sharing the link http://laptop.local/~username loads stuff from
/Users/username/Sites/ , so use message such as

image http://TheDeep.local/~KTT/Images/KTTLem.jpg

and put the Images-folder to folder /Users/KTT/Sites/

ok?

j


February 12, 2009 | 1:37 pm

>Hi,
>
>on OS X web sharing the link http://laptop.local/~username loads stuff from
>/Users/username/Sites/ , so use message such as
>
>image http://TheDeep.local/~KTT/Images/KTTLem.jpg
>
>and put the Images-folder to folder /Users/KTT/Sites/
>
>ok?

fantastic!

many thanks

kasper


February 12, 2009 | 3:51 pm

hi

here do i send my first real try at a FS interface

as it is it works – but poorly, there is a very big delay. What
surprised me mostly s the fact that when using an image as the
background ( the image is here http://kasper.free.fr/3sl1tr2.jpg )
the reactions are VERY slow, clearing the image ( and leaving only
the sliders) seems to improve this.
Any reason for that? I mean am I doing something VERY wrongly,, or is
it the part which will be fixed in v 1.1, or this is the way it is
(and makes FS less appealing – would be a pity as the app is
exciting!)

(the patch is made in max 4.6 but should open no problem in max5)

many thanks

kasper

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P comment 497 632 100 196617 3/ set sliders color;
#B frgb 0 4 232;
#P message 495 615 72 196617 color 255 0 0;
#P comment 201 621 173 196617 of course set your ip address here;
#B frgb 9 70 255;
#P message 414 573 84 196617 clearimagecache;
#P message 352 554 79 196617 clearimages , @;
#P comment 528 564 100 196617 2/ set image’s size;
#B frgb 0 4 232;
#P message 526 582 157 196617 set 3sl1tr2.jpg size 321 484 , @;
#P message 112 642 210 196617 image http://kasper.free.fr/3sl1tr2.jpg , @;
#P message 15 551 48 196617 clear , @;
#P number 476 336 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 476 315 162 196617 if $i1 > 214 & $i1 < 310 then $i2;
#P newex 476 473 40 196617 line;
#P message 476 455 37 196617 $1 22;
#P message 520 496 215 196617 clear 6 214 310 310 , rect 6 214 $1 310 , @;
#P user multiSlider 476 354 45 99 10. 310. 1 2921 47 0 0 2 0 0 0;
#M frgb 255 14 9;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P number 283 336 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 283 315 162 196617 if $i1 > 107 & $i1 < 208 then $i2;
#P newex 283 473 40 196617 line;
#P message 283 455 37 196617 $1 22;
#P message 283 496 212 196617 clear 6 109 310 208 , rect 6 109 $1 208 , @;
#P user multiSlider 283 354 45 99 10. 310. 1 2921 47 0 0 2 0 0 0;
#M frgb 255 14 9;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P number 136 267 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 94 267 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 50 164 40 196617 unpack;
#P number 90 336 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 90 315 150 196617 if $i1 > 6 & $i1 < 101 then $i2;
#P newex 90 473 40 196617 line;
#P message 90 455 37 196617 $1 22;
#P message 90 496 188 196617 clear 6 6 310 101 , rect 6 6 $1 101 , @;
#P user multiSlider 90 354 45 99 10. 310. 1 2921 47 0 0 2 0 0 0;
#M frgb 255 14 9;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P newex 50 137 45 196617 route M;
#P toggle 216 51 15 0;
#P newex 216 89 29 196617 gate;
#P newex 215 115 32 196617 print;
#P newex 46 520 74 196617 r toFantaStick;
#P newex 102 604 267 196617 mxj net.udp.send @address 169.254.230.25
@port 6662;
#P newex 50 36 144 196617 mxj net.udp.recv @port 6661;
#P comment 110 661 100 196617 1/ go get the image;
#B frgb 9 70 255;
#P connect 36 0 2 0;
#P connect 15 0 12 1;
#P connect 15 0 21 1;
#P connect 15 0 27 1;
#P connect 26 0 24 0;
#P connect 25 0 26 0;
#P connect 23 0 25 0;
#P connect 28 0 23 0;
#P connect 27 0 28 0;
#P connect 16 0 12 0;
#P connect 16 0 21 0;
#P connect 16 0 27 0;
#P connect 20 0 18 0;
#P connect 19 0 20 0;
#P connect 17 0 19 0;
#P connect 22 0 17 0;
#P connect 21 0 22 0;
#P connect 1 0 7 0;
#P connect 1 0 5 1;
#P connect 6 0 5 0;
#P connect 5 0 4 0;
#P connect 14 1 16 0;
#P connect 3 0 2 0;
#P connect 9 0 2 0;
#P connect 29 0 2 0;
#P connect 18 0 2 0;
#P connect 24 0 2 0;
#P connect 30 0 2 0;
#P connect 31 0 2 0;
#P connect 33 0 2 0;
#P connect 34 0 2 0;
#P connect 14 0 15 0;
#P connect 11 0 9 0;
#P connect 10 0 11 0;
#P connect 8 0 10 0;
#P connect 13 0 8 0;
#P connect 12 0 13 0;
#P connect 7 0 14 0;
#P window clipboard copycount 38;


February 12, 2009 | 8:03 pm

Hey, let’s make it more exciting, not less. Here are my performance tips, and the patch. What do you think?

(these tips are on the patch too, and are easier to figure on the right context)

- Use Begin and End coordinates too, not just Move. Tapping the device once doesn’t give you the M event.

- Don’t use line or other ways to create more drawing than is neccessary. With enough heavy drawing version 1.1 will make such slide effect for you, unless you prevent it with speedlim.

- Separate screen refresh from drawing commands, and speedlim the refresh.

- speedlim the individual controls too, this makes a better multitouch experience.

- Create images to their intended size.

- Use a computer-to-computer network when concerned about lag. Going through a base station 10 meters away adds a noticable delay.

And, in 1.1 the touch events are prioritized over drawing, which improves the response.

best,

j

max v2;
#N vpatcher 200 44 1009 773;
#P window setfont "Sans Serif" 9.;
#P window linecount 0;
#P message 389 213 13 196617;
#P window linecount 1;
#P comment 410 215 249 196617 5. Create images to their intended size.;
#P message 246 678 309 196617 image http://pinktwins.com/fantastick/3sl1tr2_320x480.jpg , @;
#P window linecount 0;
#P message 389 188 13 196617;
#P window linecount 2;
#P comment 410 184 249 196617 4. speedlim the individual controls too , this makes a better multitouch experience.;
#P window linecount 1;
#P newex 90 466 64 196617 speedlim 50;
#P newex 283 466 64 196617 speedlim 50;
#P newex 476 465 64 196617 speedlim 50;
#P newex 50 263 40 196617 t l l l;
#P window linecount 3;
#P comment 410 242 249 196617 6. Use a computer-to-computer network when concerned about lag. Going through a base station 10 meters away adds a noticable delay.;
#P window linecount 0;
#P message 388 156 13 196617;
#P window linecount 2;
#P comment 410 152 249 196617 3. Separate screen refresh from drawing commands , and speedlim the refresh.;
#P window linecount 0;
#P message 388 110 13 196617;
#P window linecount 4;
#P comment 410 95 249 196617 2. Don’t use line or other ways to create more drawing than is neccessary. With enough heavy drawing version 1.1 will make such slide effect for you , unless you prevent it with speedlim.;
#P window linecount 0;
#P message 388 68 13 196617;
#P window linecount 1;
#P newex 154 572 70 196617 speedlim 100;
#P message 154 552 16 196617 @;
#P newex 154 530 45 196617 route @;
#P newex 155 196 83 196617 prepend address;
#P newex 155 173 46 196617 route IP;
#P comment 497 632 100 196617 3/ set sliders color;
#B frgb 0 4 232;
#P message 495 615 72 196617 color 255 0 0;
#P comment 201 621 173 196617 of course set your ip address here;
#B frgb 9 70 255;
#P message 414 573 84 196617 clearimagecache;
#P message 414 546 79 196617 clearimages , @;
#P comment 528 564 100 196617 2/ set image’s size;
#B frgb 0 4 232;
#P message 526 582 157 196617 set 3sl1tr2.jpg size 321 484 , @;
#P message 112 642 210 196617 image http://kasper.free.fr/3sl1tr2.jpg , @;
#P message 7 564 48 196617 clear , @;
#P number 476 336 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 476 315 162 196617 if $i2 > 214 & $i2 < 310 then $i1;
#P newex 552 469 40 196617 line;
#P message 552 451 37 196617 $1 22;
#P message 501 496 212 196617 clear 6 212 310 310 , rect 6 212 $1 306 , @;
#P user multiSlider 476 354 45 99 10. 310. 1 2921 47 0 0 2 0 0 0;
#M frgb 255 14 9;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P number 283 336 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 283 315 162 196617 if $i2 > 107 & $i2 < 208 then $i1;
#P newex 367 462 40 196617 line;
#P message 367 444 37 196617 $1 22;
#P message 283 496 212 196617 clear 6 109 310 204 , rect 6 109 $1 204 , @;
#P user multiSlider 283 354 45 99 10. 310. 1 2921 47 0 0 2 0 0 0;
#M frgb 255 14 9;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P number 90 336 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 90 315 150 196617 if $i2 > 6 & $i2 < 101 then $i1;
#P newex 177 470 40 196617 line;
#P message 177 452 37 196617 $1 22;
#P message 90 496 188 196617 clear 6 6 310 101 , rect 6 6 $1 101 , @;
#P user multiSlider 90 354 45 99 10. 310. 1 2921 47 0 0 2 0 0 0;
#M frgb 255 14 9;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P newex 50 137 62 196617 route B M E;
#P toggle 216 51 15 0;
#P newex 216 89 29 196617 gate;
#P newex 215 115 32 196617 print;
#P newex 38 533 74 196617 r toFantaStick;
#P newex 102 604 267 196617 mxj net.udp.send @address 169.254.230.25 @port 6662;
#P newex 50 36 144 196617 mxj net.udp.recv @port 6661;
#P comment 110 661 100 196617 1/ go get the image;
#B frgb 9 70 255;
#P window linecount 2;
#P comment 210 164 100 196617 FS sends its IP on launch , use that.;
#P comment 410 63 249 196617 1. Use Begin and End coordinates too , not just Move. Tapping the device once doesn’t give you the M event.;
#P window linecount 1;
#P comment 410 29 100 196617 Performance tips:;
#P window linecount 4;
#P comment 98 247 100 196617 Send both numbers as list , otherwise max can mess them up.;
#P connect 5 0 11 0;
#P connect 44 0 11 0;
#P connect 11 2 50 0;
#P connect 11 1 50 0;
#P connect 11 0 50 0;
#P connect 50 0 16 0;
#P connect 16 0 17 0;
#P connect 17 0 12 0;
#P connect 12 0 53 0;
#P connect 53 0 13 0;
#P connect 15 0 13 0;
#P connect 41 1 6 0;
#P connect 43 0 6 0;
#P connect 40 0 6 0;
#P connect 37 0 6 0;
#P connect 7 0 6 0;
#P connect 30 0 6 0;
#P connect 31 0 6 0;
#P connect 34 0 6 0;
#P connect 35 0 6 0;
#P connect 56 0 6 0;
#P connect 25 0 41 0;
#P connect 19 0 41 0;
#P connect 13 0 41 0;
#P connect 48 0 41 0;
#P connect 41 0 42 0;
#P connect 42 0 43 0;
#P connect 5 0 39 0;
#P connect 39 0 40 0;
#P connect 46 0 15 0;
#P connect 14 0 15 0;
#P connect 9 0 8 0;
#P connect 10 0 9 0;
#P connect 5 0 9 1;
#P connect 58 0 56 0;
#P connect 50 1 22 0;
#P connect 22 0 23 0;
#P connect 23 0 18 0;
#P connect 55 0 52 0;
#P connect 18 0 52 0;
#P connect 52 0 19 0;
#P connect 21 0 19 0;
#P connect 20 0 21 0;
#P connect 50 2 28 0;
#P connect 28 0 29 0;
#P connect 29 0 24 0;
#P connect 24 0 51 0;
#P connect 51 0 25 0;
#P connect 27 0 25 0;
#P connect 26 0 27 0;
#P pop;


February 12, 2009 | 8:23 pm

>Hey, let’s make it more exciting, not less. Here are my performance
>tips, and the patch. What do you think?

sure

>
>(these tips are on the patch too, and are easier to figure on the
>right context)
>
>- Use Begin and End coordinates too, not just Move. Tapping the
>device once doesn’t give you the M event.

I should have thought about this one

>
>- Don’t use line or other ways to create more drawing than is neccessary.

would a LINE (representing a slider) be lighter ah a rectangle??

>
>- Separate screen refresh from drawing commands, and speedlim the refresh.
>
>- speedlim the individual controls too, this makes a better
>multitouch experience.
>
>- Create images to their intended size.

yeah, well you have to start somewhere!!

>
>- Use a computer-to-computer network when concerned about lag. Going
>through a base station 10 meters away adds a noticable delay.

I use computer-to-iPOD – would a "real" wireless router add anything?

>
>And, in 1.1 the touch events are prioritized over drawing, which
>improves the response.
>

exciting

thanks for the tips

best

kasper

Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

http://www.myspace.com/sleazeart


February 12, 2009 | 8:31 pm

> sure

:)

> I should have thought about this one

:)

> would a LINE (representing a slider) be lighter ah a rectangle??

Oh, I mean line as in max line object, to ramp up to the selected value (and multiply number of drawing commands).

> yeah, well you have to start somewhere!!

:)

> I use computer-to-iPOD – would a "real" wireless router add anything?

real? use computer-to-ipod.

>And, in 1.1 the touch events are prioritized over drawing, which
>improves the response.
>exciting

:)

best,
j


February 15, 2009 | 6:00 pm

hi

here is my first really working interfecae for FS on Ipod/iPhone

the background image is at

http://kasper.free.fr/4sl2tr.jpg

(should load by itself – i don’t load from a distat server but from
my computer, so i did not try this one)

here is a simple, very classical interface – 4 sliders and 2 X-Y "pads"
But FS can do much more interesting things, far away from a
"hardware-like" interface

Jusu, at some point you said you are willing to host exemples – feel
free to do so with this one if you want

best

kasper

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 887 239 33 196617 swap;
#P newex 485 676 50 196617 deferlow;
#P newex 877 291 51 196617 r initload;
#P newex 403 720 51 196617 s initload;
#P button 442 678 15 0;
#P newex 442 697 66 196617 t b b b b b;
#P newex 485 653 48 196617 loadbang;
#P newex 442 654 33 196617 r init;
#P button 877 311 15 0;
#P newex 1532 548 31 196617 + 22;
#P newex 1418 548 31 196617 + 22;
#P number 1406 529 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 1523 529 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 1388 575 66 196617 pack 0 0 0 0;
#P newex 1310 354 106 196617 t b i;
#P newex 1496 378 27 196617 i;
#P newex 952 354 93 196617 t b i;
#P newex 1125 378 27 196617 i;
#P newex 1388 595 64 196617 speedlim 50;
#P newex 1017 595 64 196617 speedlim 50;
#P newex 900 330 40 196617 t 64 63;
#P newex 694 481 64 196617 speedlim 50;
#P newex 476 481 64 196617 speedlim 50;
#P newex 283 481 64 196617 speedlim 50;
#P newex 90 481 64 196617 speedlim 50;
#P newex 40 757 83 196617 prepend address;
#P newex 40 720 46 196617 route IP;
#P newex 122 696 70 196617 speedlim 100;
#P message 122 676 16 196617 @;
#P newex 122 654 77 196617 route @;
#P newex 90 171 18 196617 t l;
#P newex 694 461 40 196617 change;
#P newex 476 461 40 196617 change;
#P newex 283 461 40 196617 change;
#P message 1141 475 116 196617 rect 7 322 153 478 , @;
#P message 1513 482 128 196617 rect 166 322 312 478 , @;
#P newex 1310 262 183 196617 if $i1 > 166 & $i1 < 290 then 1 else 0;
#P newex 1310 292 29 196617 gate;
#P newex 1496 292 29 196617 gate;
#P newex 1496 262 183 196617 if $i1 > 323 & $i1 < 456 then 1 else 0;
#P newex 1496 331 105 196617 scale 166 290 0 127;
#P newex 1496 311 162 196617 if $i1 > 166 & $i1 < 290 then $i1;
#P newex 1310 331 105 196617 scale 323 456 0 127;
#P newex 1310 311 162 196617 if $i1 > 323 & $i1 < 456 then $i1;
#P newex 1406 509 105 196617 scale 0 127 323 456;
#P newex 1523 509 105 196617 scale 0 127 166 290;
#P message 1388 614 218 196617 clear 166 323 312 478 , rect $1 $2
$3 $4 , @;
#P user pictslider 1406 400 100 100 4 4 4 4 SliderDefaultKnob.pct 1
SliderDefaultBkgnd.pct 1 2163 0 8323072 127 1. 1.;
#P message 877 331 20 196617 10;
#P newex 952 262 171 196617 if $i1 > 7 & $i1 < 133 then 1 else 0;
#P newex 952 292 29 196617 gate;
#P newex 1125 292 29 196617 gate;
#P newex 1125 262 183 196617 if $i1 > 323 & $i1 < 456 then 1 else 0;
#P newex 1125 331 93 196617 scale 7 133 0 127;
#P newex 1125 311 150 196617 if $i1 > 7 & $i1 < 133 then $i1;
#P newex 952 331 105 196617 scale 323 456 0 127;
#P newex 952 311 162 196617 if $i1 > 323 & $i1 < 456 then $i1;
#P message 456 775 76 196617 color 0 0 245 ,;
#P newex 1161 548 31 196617 + 22;
#P newex 1047 548 31 196617 + 22;
#P number 1035 529 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 1035 509 105 196617 scale 0 127 323 456;
#P number 1152 529 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 1152 509 93 196617 scale 0 127 7 131;
#P message 1017 614 206 196617 clear 7 323 153 478 , rect $1 $2
$3 $4 , @;
#P newex 1017 575 66 196617 pack 0 0 0 0;
#P user pictslider 1035 400 100 100 4 4 4 4 SliderDefaultKnob.pct 1
SliderDefaultBkgnd.pct 1 2163 0 8323072 127 1. 1.;
#P newex 694 315 162 196617 if $i2 > 244 & $i2 < 314 then $i1;
#P message 694 502 212 196617 clear 8 244 310 314 , rect 8 244 $1 314 , @;
#P user multiSlider 694 354 45 99 10. 310. 1 2921 47 0 0 2 0 0 0;
#M frgb 1 34 213;
#M brgb 214 214 214;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P newex 90 461 40 196617 change;
#P message 470 757 204 196617 image http://kasper.free.fr/4sl2tr.jpg , @;
#P message 141 763 84 196617 clearimagecache;
#P message 498 720 79 196617 clearimages , @;
#P message 484 739 48 196617 clear , @;
#P newex 476 315 162 196617 if $i2 > 165 & $i2 < 235 then $i1;
#P message 476 502 212 196617 clear 8 165 310 235 , rect 8 165 $1 235 , @;
#P user multiSlider 476 354 45 99 10. 310. 1 2921 47 0 0 2 0 0 0;
#M frgb 1 34 213;
#M brgb 214 214 214;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P newex 283 315 156 196617 if $i2 > 86 & $i2 < 156 then $i1;
#P message 283 502 200 196617 clear 8 86 310 156 , rect 8 86 $1 156 , @;
#P user multiSlider 283 354 45 99 10. 310. 1 2921 47 0 0 2 0 0 0;
#M frgb 1 34 213;
#M brgb 214 214 214;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P number 918 220 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 878 219 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 878 199 50 196617 unpack;
#P newex 90 315 144 196617 if $i2 > 8 & $i2 < 77 then $i1;
#P message 90 502 176 196617 clear 8 7 310 77 , rect 8 7 $1 77 , @;
#P user multiSlider 90 354 45 99 10. 310. 1 2921 47 0 0 2 0 0 0;
#M frgb 1 34 213;
#M brgb 214 214 214;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P newex 90 145 62 196617 route B M E;
#P newex 122 807 267 196617 mxj net.udp.send @address 169.254.230.25
@port 6662;
#P newex 90 124 144 196617 mxj net.udp.recv @port 6661;
#P fasten 77 0 76 0 1528 571 1393 571;
#P connect 77 0 80 0;
#P connect 44 0 77 0;
#P fasten 42 1 44 0 1501 504 1528 504;
#P connect 7 0 89 0;
#P fasten 7 0 38 1 883 289 1149 289;
#P fasten 7 0 51 1 883 289 1520 289;
#P connect 74 0 42 1;
#P fasten 69 0 72 0 905 350 1130 350;
#P fasten 69 0 75 0 905 350 1315 350;
#P fasten 69 0 74 0 905 350 1501 350;
#P connect 49 0 74 0;
#P fasten 75 0 74 0 1315 374 1501 374;
#P connect 48 0 49 0;
#P connect 51 0 48 0;
#P connect 50 0 51 0;
#P connect 8 0 89 1;
#P fasten 8 0 37 0 923 252 1130 252;
#P fasten 8 0 50 0 923 252 1501 252;
#P fasten 79 0 76 3 1423 568 1447 568;
#P fasten 80 0 76 2 1537 573 1429 573;
#P connect 78 0 79 0;
#P connect 78 0 76 1;
#P connect 45 0 78 0;
#P connect 42 0 45 0;
#P connect 75 1 42 0;
#P connect 71 0 43 0;
#P connect 76 0 71 0;
#P fasten 89 0 39 1 892 283 976 283;
#P fasten 89 0 52 1 892 283 1334 283;
#P connect 47 0 75 0;
#P connect 46 0 47 0;
#P connect 52 0 46 0;
#P connect 53 0 52 0;
#P fasten 89 1 40 0 915 259 957 259;
#P fasten 89 1 53 0 915 259 1315 259;
#P fasten 27 0 24 0 1157 571 1022 571;
#P connect 27 0 31 0;
#P connect 26 0 27 0;
#P fasten 23 1 26 0 1130 504 1157 504;
#P connect 72 0 23 1;
#P fasten 73 0 72 0 957 374 1130 374;
#P connect 36 0 72 0;
#P connect 35 0 36 0;
#P connect 38 0 35 0;
#P connect 37 0 38 0;
#P fasten 30 0 24 3 1052 568 1076 568;
#P fasten 31 0 24 2 1166 573 1058 573;
#P connect 29 0 30 0;
#P connect 29 0 24 1;
#P connect 28 0 29 0;
#P connect 23 0 28 0;
#P connect 73 1 23 0;
#P connect 70 0 25 0;
#P connect 24 0 70 0;
#P fasten 69 1 73 0 935 350 957 350;
#P connect 34 0 73 0;
#P connect 33 0 34 0;
#P connect 39 0 33 0;
#P connect 40 0 39 0;
#P connect 6 1 8 0;
#P connect 81 0 41 0;
#P fasten 81 0 69 0 882 328 905 328;
#P connect 6 0 7 0;
#P connect 59 0 5 0;
#P fasten 59 0 11 0 95 244 288 244;
#P fasten 59 0 14 0 95 244 481 244;
#P fasten 59 0 22 0 95 244 699 244;
#P fasten 59 0 6 0 95 194 883 194;
#P connect 87 0 81 0;
#P connect 68 0 21 0;
#P connect 58 0 68 0;
#P connect 20 0 58 0;
#P fasten 41 0 3 0 882 349 95 349;
#P fasten 41 0 9 0 882 349 288 349;
#P fasten 41 0 12 0 882 349 481 349;
#P fasten 41 0 20 0 882 349 699 349;
#P connect 22 0 20 0;
#P connect 84 4 16 0;
#P connect 83 0 88 0;
#P connect 84 3 15 0;
#P connect 67 0 13 0;
#P connect 57 0 67 0;
#P connect 12 0 57 0;
#P connect 14 0 12 0;
#P connect 84 2 18 0;
#P connect 84 1 32 0;
#P connect 85 0 84 0;
#P connect 82 0 85 0;
#P connect 88 0 85 0;
#P fasten 84 0 86 0 447 717 408 717;
#P connect 66 0 10 0;
#P connect 56 0 66 0;
#P connect 9 0 56 0;
#P connect 11 0 9 0;
#P connect 64 0 1 0;
#P fasten 60 1 1 0 194 719 127 719;
#P connect 62 0 1 0;
#P connect 17 0 1 0;
#P connect 16 0 1 0;
#P connect 15 0 1 0;
#P connect 18 0 1 0;
#P connect 32 0 1 0;
#P connect 61 0 62 0;
#P connect 60 0 61 0;
#P fasten 43 0 60 0 1393 641 127 641;
#P fasten 25 0 60 0 1022 641 127 641;
#P fasten 21 0 60 0 699 585 127 585;
#P fasten 13 0 60 0 481 585 127 585;
#P fasten 10 0 60 0 288 585 127 585;
#P fasten 4 0 60 0 95 585 127 585;
#P connect 65 0 4 0;
#P connect 19 0 65 0;
#P connect 3 0 19 0;
#P connect 5 0 3 0;
#P fasten 2 2 59 0 129 166 95 166;
#P fasten 2 0 59 0 95 166 95 166;
#P fasten 2 1 59 0 112 166 95 166;
#P fasten 0 0 63 0 95 143 45 143;
#P connect 0 0 2 0;
#P connect 63 0 64 0;
#P window clipboard copycount 90;

Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

http://www.myspace.com/sleazeart


February 15, 2009 | 8:41 pm

hi

is it a bug, feature, or something different:

when I import an image, set it to moveable, and drag it around the
iPod’s screen the position of my finger is not reported…… when i
move the finger on the screen, but without "catching" the image, the
position IS reported.

You once suggested to make sliders out of images – very fine but if
the sider/image does not report its position when being moved…….

or did i overlooked something?

many thanks

best

kasper

Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

http://www.myspace.com/sleazeart


February 15, 2009 | 8:42 pm

Hi,

This patch is absolutely great, thank you very much!

I’ll put it online. Once they get 1.1 out the door,
I’d like to do a patch that changes between different
interfaces with a shake or by orientation. Let’s see.

I had to add this:

max v2;
#N vpatcher 44 44 1440 865;
#P origin 39 36;

and #p pop; at the end to open it, is my Max old or something?

Best,
j


February 15, 2009 | 8:44 pm

When moving an image the coordinate comes with an I prefix.


February 15, 2009 | 8:50 pm

>
>This patch is absolutely great, thank you very much!

thanks!!

>
>I had to add this:
>
>max v2;
>#N vpatcher 44 44 1440 865;
>#P origin 39 36;
>
>and #p pop; at the end to open it, is my Max old or something?
>

don’t know – mine was made in max463….

best

kasper

Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

http://www.myspace.com/sleazeart


February 15, 2009 | 8:57 pm

> But FS can do much more interesting things, far away from a
> "hardware-like" interface

Showing waveforms (of audio buffers) is what I wanted the images for..


February 15, 2009 | 9:02 pm

>When moving an image the coordinate comes with an I prefix.

but it seems it does not allow to move 2 images at the same time……

what’s even strangeris the fact that if I move one image, and when
still holding it I use another finger somewhere else on the screen,
the image "obey" (but not strictly) the second finger. And when I
release one of the 2 fingers the images goes away (maybe not always,
but often)

best

kasper

Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

http://www.myspace.com/sleazeart


February 15, 2009 | 10:07 pm

> but it seems it does not allow to move 2 images
> at the same time……

yes :(


February 17, 2009 | 4:47 pm

Hi

I’d like to share my first attempt to work with FantaStick.

First I’ve made a java class sorting the finger order.
I know this will be fixed with the 1.1 version but couldn’t help doing it.

It’s help file provides simple drawing examples.

Then I’ve made a little looper controlled by FantaStick, called FantaStickRepeater
(the original idea is similar to repeaterDS homebrew on nintendo DS for those who know it – http://www.glitchds.com/documentation/repeaterds)

What you need to make it work :

* Max5 + Jitter
* FantaStick for iPod/iPhone
* bargraf~ by the GMEM for max5 (mac/win http://dvlpt.gmem.free.fr/web/static.php?page=max_externals)
* xsample by Thomas Grill
mac UB : http://grrrr.org/ext/beta/max/osx/xsample.mxo.zip
win : http://grrrr.org/ext/beta/max/win/xsample.mxe
helpfile : https://svn.grrrr.org/ext/trunk/xsample/maxmsp/xsample.help
object-mapping (needed > put in c74/init) : https://svn.grrrr.org/ext/trunk/xsample/maxmsp/xsample-objectmappings.txt

*A local web server (apache included on os x, window users search the web ! sorry), if not you might have to tweak the patch a little bit (there might be a workaround using an online server with jit.uldl…)

The basic idea is that the waveform is shown on the iphone, so Jitter is needed the take the screen capture, and Apache to run the local server were the image will be downloaded by FantaStick.

Seems a bit complicated but once it is set up…

Attached a screenshot.

http://leopold.frey.free.fr/dev/FantaStickHelper.zip

Enjoy.

Comments, improvements, suggestions are welcome.

Some comments on FantaStick :

* Could it be OSC-compliant – in order to work with PD for example ?
* What about drawing circles & polygons ?
* What about adding alpha ?
* It seems a bit cpu heavy, especially with images, and text. I know there isn’t an octocore inside, but lot more complicated games run perfectly fine.

Thanks

Leo


February 17, 2009 | 10:35 pm

Great stuff! This might be helpful, it draws a waveform image from soundfile (forgot where I copied it from):

http://pinktwins.com/fantastick/jitterwavedisplay.pat

> * Could it be OSC-compliant – in order to work with PD for
> example ?

Well, PD can handle UDP too..

> * What about drawing circles & polygons ?
> * What about adding alpha ?
> * It seems a bit cpu heavy, especially with images, and text.
> I know there isn’t an octocore inside, but lot more complicated
> games run perfectly fine.

Yes, games use opengl hardware, and fs uses quartz, which is slower. 1.1 is slightly better, and speed of events from fs to max is not slowed down by drawing.

and cmon apple, it’s been over a week in review!


February 18, 2009 | 1:14 am

> http://pinktwins.com/fantastick/jitterwavedisplay.pat

Nice, it seems to be long for big files, but that’s a workaround.

> > * Could it be OSC-compliant – in order to work with PD for
> > example ?
>
> Well, PD can handle UDP too..

Ok, I didn’t know about the netsend / netreceive objects, I was only using dumpOSC / sendOSC.
That said, it doesn’t work. see PD patch attached.

> Yes, games use opengl hardware, and fs uses quartz, which is slower. 1.1 is slightly better, and speed of events from fs to max is not slowed down by drawing.

I don’t know much about QC, especially it’s iphone implementation but isn’t it based on OpenGL ?
It should be able to do particles, 3D rendering…
So displaying a bunch of images, 2D polygons and alpha colors shouldn’t be a problem.
I may be wrong and I don’t really mesure the heavyness of the scripting UI thing behind FantaStick. Scripts are always heavier than compiled code.

My next attempt will be to implement box2D physics – the great game "Rolando" already use it. But given the framerate I assume it won’t be as fun as rolando, we’ll see.
I’ll let you know.

> and cmon apple, it’s been over a week in review!

+1.

Thanks

Leo


February 19, 2009 | 10:51 am

> Ok, I didn’t know about the netsend / netreceive objects,
> I was only using dumpOSC / sendOSC.
> That said, it doesn’t work. see PD patch attached.

Right, I forgot to terminate with semicolon. Should have known better from the pd years.. Will be fixed.

> I don’t know much about QC, especially it’s iphone
> implementation but isn’t it based on OpenGL ?
> It should be able to do particles, 3D rendering…
> I may be wrong and I don’t really mesure the heavyness
> of the scripting UI thing behind FantaStick.
> Scripts are always heavier than compiled code.

QC, Quartz Composer? That’s different, Quartz in iThing is the 2d drawing api. Some of it is fast, some slow.
The scripting behind fs is not an issue, compared to drawing it takes practically no cpu at all..

> So displaying a bunch of images, 2D polygons and alpha
> colors shouldn’t be a problem.
> My next attempt will be to implement box2D physics – the
> great game "Rolando" already use it. But given the
> framerate I assume it won’t be as fun as rolando, we’ll see.
> I’ll let you know.

:-o Not as fun as rolando is quite a crushing statement. Ok, I’m tempted to add scope of this app to the direction you’re talking about.


February 19, 2009 | 2:38 pm

> > That said, it doesn’t work. see PD patch attached.
>
> Right, I forgot to terminate with semicolon. Should have known better from the pd years.. Will be fixed.

Great.

> > I don’t know much about QC, especially it’s iphone
> > implementation but isn’t it based on OpenGL ?
> > It should be able to do particles, 3D rendering…
> > I may be wrong and I don’t really mesure the heavyness
> > of the scripting UI thing behind FantaStick.
> > Scripts are always heavier than compiled code.
>
> QC, Quartz Composer? That’s different, Quartz in iThing is the 2d drawing api. Some of it is fast, some slow.
> The scripting behind fs is not an issue, compared to drawing it takes practically no cpu at all..
>

Ok sorry, I just had a quick look at the sdk.

> > So displaying a bunch of images, 2D polygons and alpha
> > colors shouldn’t be a problem.
> > My next attempt will be to implement box2D physics – the
> > great game "Rolando" already use it. But given the
> > framerate I assume it won’t be as fun as rolando, we’ll see.
> > I’ll let you know.
>
> :-o Not as fun as rolando is quite a crushing statement. Ok, I’m tempted to add scope of this app to the direction you’re talking about.
>

The app is not strong enough for a real box2d experience for now, so I gave up and get back learning how to draw efficiently.
After different trials, I found a way of sending drawing commands that’s better.
But unlike what you said, it seems to affect the finger response.
See example attached.
I wonder if the problems isn’t due to network.

Thanks

Leo


February 19, 2009 | 2:54 pm

> The app is not strong enough for a real box2d experience
> for now, so I gave up and get back learning how to draw
> efficiently. After different trials, I found a way of
> sending drawing commands that’s better.
> But unlike what you said, it seems to affect the finger
> response.
> See example attached.
> I wonder if the problems isn’t due to network.

It applies to 1.1, that is, in 1.1 finger response and
drawing are separated. Sorry for the confusion.

Have a look at the 4sliders2xypads-example:

http://pinktwins.com/fantastick/4sliders2xypads.pat

It does a good job of drawing optimization..

Best,

j


February 19, 2009 | 3:27 pm

> It applies to 1.1, that is, in 1.1 finger response and
> drawing are separated. Sorry for the confusion.
>

Ok

> Have a look at the 4sliders2xypads-example:
> http://pinktwins.com/fantastick/4sliders2xypads.pat
>
> It does a good job of drawing optimization..

Yes but it supposes that you know where to clear and that 2 different drawings don’t interfere.

Thanks

Leo


February 22, 2009 | 9:20 am

> Yes but it supposes that you know where to clear and that
> 2 different drawings don’t interfere.

I hate to say "next version" but if you’re planning something heavy you might want to wait for next version. If apple is consistent they’ll review it on friday.

best,
j



pm
February 23, 2009 | 2:18 am

And does the next version will make use of the iPhone accelerometer?

This video I found on the net makes me dream of a accelerometered lemur…
http://blog.medallia.com/2007/08/fun_with_the_iphone_accelerome.html


February 23, 2009 | 2:34 am
jusu wrote on Wed, 18 February 2009 09:35
and cmon apple, it’s been over a week in review!

Update seems to be available in the App store now.


February 23, 2009 | 6:36 am

Hi, the version 1.1 available now has accelerometer support. Redownload the help-patch from http://pinktwins.com/fantastick for details.


February 27, 2009 | 5:55 pm

hi!
i’ve just bought my iPod Touch…
i’m on windows xp with Max5.0.6..
when i start fantastick on my ipod i get
"Host not found. Please check hostname in Settings. Device must be on the same network"

do anybody have an idea?
is Settings referring to some FS setting (which i don’t know where is…) or to the general iPod wi-fi settings…

it seems to me that the general wi-fi settings of my i-pod are just the same of my laptop…

in other words…some help?
thanx guys


February 27, 2009 | 6:17 pm

Hi!

Thanks for trying Fantastick! Settings refers to the Settings application on the iPod menu screen. There’s a section for Fantastick if you scroll down a bit. From there you can configure the hostname FS tries connecting to.

Best,
j


February 27, 2009 | 6:26 pm

thanx jusu!
found it Smile
..do FS need jitter do be fully functional as a touch controller?
a.


February 27, 2009 | 6:29 pm

I don’t think Jitter is needed, and the current example patch doesn’t need it if I remember right. In next version one of the examples uses some jitter objects, but not much.


March 24, 2009 | 12:12 pm

hello Jusu and fantastick users,
I’ve read the post you made about websharing and where to place images folder.
However i still can not load my images.
First i had this image default get loaded and some search on apple support brought me to

http://support.apple.com/kb/TA25038?viewlocale=en_US

because i had this error 403

But now the weird thing is that it does load the frame but nothing is inside, everything is grey (pixel info are missing)

I put your pp_teaser.jpg in the images file and well this is the only image wich is loading correctly. I tried this under a private network to be sure the mxj.net.receive/send want pick up anything on the web by default.

So i looked at the image format of your jpg wich is color LCD Caibrated Vesa2006.

So my question is :
Is the image bg message working properly for other image colour format?

And well if you have any other idea about the trouble i’m facing to, help would be appreciated

I’m on MAC OS X.5.6
MaxMSP 5.0.6 Jitter 1.7
17" Macbookpro 2,16 gHZ, ATI Radeon X1600

Cheers,
Hubert


March 24, 2009 | 12:50 pm

Hi,

All jpegs should work. Can you send me link to your image, I can try it out?


March 25, 2009 | 10:39 am

Hello,
Sorry i had to go to work
here is a link!
http://192.168.15.27/~centralGHP/images/water3.jpg
I’m not sure it will work as i’m not a super guy on web stuff
Let me know if you get the image under firefox or safari
and if you can load it entirely.
I stil load the frame without the colour infos
Thanks a lot
Cheers
Hubert


March 25, 2009 | 10:49 am

> http://192.168.15.27/~centralGHP/images/water3.jpg

hi, this looks like an address in your private network,
and it’s not reachable from here. but,

if you are using the above link, check that the image is in

/Users/centralGHP/Sites/images/water3.jpg

And if all else fails, send your patch and the image to me at
jusu at pinktwins.com

cheers
j


April 11, 2009 | 10:41 am

> http://192.168.15.27/~centralGHP/images/water3.jpg

Just to write it down here – this was a problem of image resolution – in opengl mode, image width and height must be powers of two.


December 25, 2009 | 5:24 pm

Hi,

i cant seem to download this, it tells me that it isn’ty available in the UK Store,

does anyone know a way i can get around this?

if it helps i have an iPhone 3G S,

cheers,

C. Carvalho


December 28, 2009 | 3:13 am

Hi jusu, I’m totally psyched to get this rolling… I have Fantastick installed, the connection is on, the touches all seem to be working, the examples with sliders etc. all move as they should… but nothing has drawn onto the screen yet. Could my iPhone version be the culprit?

Original iPhone 8GB. Model: MA712LL. Software version 3.1.2 (7D11)

If only the 3G and up are supported and I missed that, my apologies…

This app looks like the best of the interface touch apps! Great that you’ve gone about it in this direction, where the sky’s the limit and we use Max to make the magic….Thank you!!


December 28, 2009 | 4:55 pm

Hi,

I can think of only two things..

- when FS launches, it sends you iPhone IP to Max. If you closed the patch and reopened it, it no longer has the IP, and you need to restart FS to send it again.

- the quartz drawing is not visible in opengl mode, and vice versa. change in/out of opengl by sending "opengl 0 " or "opengl 1" depending on what you’re doing.

Not sure but I think you can go to airplane mode and still switch wlan on, see if that is possible and if it helps this issue.

As a last resort, get a dedicated (used?) iPod Touch for Fs..

On the App Store issue, FS is still not available in most EU stores due to silly legal issues. BUT since it’s free I’m told you can create a US account without a credit card, and download it from there.

Best,
j


May 7, 2010 | 10:46 pm

I saw Leopolds question about drawing circles and polygons pass by.
No-one answered it yet.
But I wanna know this.
Is it possible to draw circles with fantastick?


May 8, 2010 | 7:10 am

daeve,

Here you go.

j


May 8, 2010 | 11:54 am

Thanks alot.

great program by the way.


August 21, 2010 | 12:23 pm

Has anyone streamed video from max to fantastick? seams if open Gl works should be quite possible. I’m going to try it out this coming week, but wanted to see if anyone all ready knew if it was at least possible.


August 21, 2010 | 4:05 pm

Hi Eric, there’s no video streaming features in Fantastick.
Cheers,
j


May 5, 2011 | 7:07 pm

Hello

I’ve been working with Fantastick for a little while already. It’s always been easy to make the connection between the iphone and a MaxforLive device. It works fine before I decided to update Ableton Live, Max and iphone ios to the latest versions (the iphone is jailbroken 4.3.2 if that changes something…). Since, I have big troubles to make the connection between Max and FS.
Sometimes, it’s working one way, sometimes the other way and sometimes it’s working fine…?

The major thing I noticed is that FS doesn’t send its ip address every time it starts… I don’t know why but it keeps its previous state (what was on the screen before restarting stays). I can enter its ip address manually inside max but I don’t want to do it while on a stage between two pieces…

Someone had this issue?


May 8, 2011 | 3:38 pm

Ok. I tested with another iphone with Fantastick and it worked well. That one was on 4.2. I’m wondering if my problem has something to do with the OS version (mine was on 4.3.2) or with the fact that mine is jailbroken (since before I upgraded to 4.3 it worked well even jailbroken…).


May 10, 2011 | 12:10 am

When will the PC version of this be coming out?


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