Web page in Max

    Jan 28 2006 | 2:39 pm
    Dear all, maybe you've already discuss this question in this forum, but I can't find anything about it now. So, sorry for this not-original thread :)
    I would like to write a web page in Max(MSP), or simply attach a patch inside a web page, so that it's visible.
    To do that, I'm thinking to use my Windows-pc (with MaxMsp 4.5 installed) as server, and shared the web-page using Microsoft IIS (Internet Information Service).
    How can I do that? Is it possible?
    Thank you veru much!

    • Jan 28 2006 | 3:29 pm
      hello list,
      long time no see. a bit of off topicness: i really like new site, and forums are cool. mail filters re-adjusted in few minutes. good work c74!
      mr. bruno,
      do you have jitter? if you do, you could use jit.desktop to capture window, process it using standard jit objects(cropping for instance, or glueing), export it to .jpg and put it on any ftp-enabled server using jit.uldl. don't know about ms iss.
    • Jan 28 2006 | 3:39 pm
      Thank you Nesa for your attention. But put a JPG on my website is not what I asked :)
      I'm asking if it's possible to put a Max interactive patch into my website. I mean, when you open my webpage you should be able to interact with my Max-patch, without download it and without have MaxMSP Runtime installed in your computer. I hope it is possible because on the server MaxMSP would be installed, so it would be an interaction between client and server... I hope :)
      ps: yes, I have Jitter too (on the server I'm talkin'about)
    • Jan 28 2006 | 4:30 pm
      Now wouldn't that be nice!!
      But before we get a Max browser plugin, I'd like to see 1. a Max timeline with pattr integration 2. JavaScript capable of running in high priority 3. a contextual menu object 4. and wealth of new graphical objects, such as a menu capable of displaying icons instead of just text.
      But everybody's probably busy with the MacTel port.
    • Jan 28 2006 | 4:49 pm
      And, why not, an "Undo" longer than the present one :-)
      Mah, I really hoped about a max web-page. Sigh.
    • Jan 28 2006 | 5:12 pm
      Installing the MaxMSP runtime isn't such a terrible chore. It's only 4.5MB for Windows and 5.7MB for OSX. The chores are: - provide accurate platform requirements(sound channels, peripherals, video capabilities, etc) and step-by-step installation guide for each OS. - making sure that the patch works (or fails gracefully and informatively) for all possible platforms, and with controllers the user has which may be different from yours, and including every special object used in a local folder, whether or not it's provided with some versions of MaxMSP and not others. - making sure that every peripheral connection in the patch is editable (dynamic menu, text-editable coll, etc) because the user can't edit the patch. - making sure that every controlled item which is controlled by an external controller also has a slider, number box, dial or whatever, for users without those peripherals.
      VJs and DJs are accustomed to installing "players" for datafiles built with a large number of applications.
      If your patch is cool (and do show a JPG, MP3, and or MPG or AVI by the way) then people will take the time to install MaxMSP runtime to play with it and use it.
      Amorphic Robot Works
    • Jan 28 2006 | 5:32 pm
      Thank you Frank for the reply. But, however, if client (people that want to see my webpage) has installed MaxMSP Runtime on his machine, he has to download my patch anyway if he wants to see and use it. My question is: how can I do that my patch works on my website, without download it? Just through the browser, just with the mouse, just inside my webpage :)
    • Jan 28 2006 | 5:33 pm
      I'm not saying you should, but you can build a server running: Max/MSP runtime Apache VNC server (with Java client enabled) Set up the console to be logged in to a _very_ restricted account (no logout, no app open or close, no window open or close, etc). Apache serves the webpage containing the link to VNC's Java client, which loads and runs in the user's browser. The VNC client shows the console running the Max/MSP patch. The user can click and slide things. This allows many people to log into the same console with only their browser, and mess with the same patch in close to real-time, depending on your broadband upload speed. A T1 or SDSL line is recommended. A VERY fast computer is recommended. Some versions of VNC offer sound streaming, though other Javabased sound-streaming servers are also available. Jitter video out will likely NOT be visible to remote users if the server's video hardware acceleration is on. If the server is PC-based, then VNC servers like UltraVNC and TightVNC can run with a video hook driver which really speeds up screen refreshes for things like Max patches.
      This is a lot of work for a rather restricted public view of a not-really-realtime rendition of a Max patch.
      One distinct advantage of this approach is that your local sensors (switches, video in, etc) will be seen by Max in local realtime, even if the user sees/hears the changes delayed.
      Just my two cents.
    • Jan 28 2006 | 5:47 pm
      > But put a JPG on my website is not what I asked :)
      ah, ok:)
      that should also be possible, with jitter and flash. it would be a bit complicated to show max/msp application interface, but you could build custom ui in flash, send users control data to max and back. max would stream audio back to client computer. checkout max net objects, jitter+flash tutorials, externals for streaming(was there oggcast~ object)...
      hth, nesa
    • Jan 28 2006 | 5:49 pm
      At this time, you can't. Sorry.
    • Jan 28 2006 | 5:57 pm
      There is a PD (Pure Data, a long lost cousin to Max/MSP) plugin, if you wanted to go that route.
      It has some security issues, but either way, it will require someone to download something:
      either the runtime (max), or the browser plugin (pd)
      most likely this will make users run screaming and shouting from your site.
      A better methodology would to be use client/server technologies like open sound control to interface the browser to Max/MSP
      A Flash based front end that sends Open Sound Control messages to a Max/MSP 'server' that then interfaces with your webserver is some way. (hopefully an interesting way)
      I setup something similar with an RSS feed parser in max, which parses images, sends to jitter, remixes them, sends them to a jit.broadcast, and users can all play with the stream via an OSC client which talks to the main patch on the server (that last OSC part is still in the works), but its all technically feasible and very straightforward.
      If you want to actually *make* a webpage in max, ie: output html (ie etc etc), id suggest you look at jaschs objects, specifically detox, intox and toxine, which allows you to input xml (youd be using xhtml), and format xml, and output files. Im not sure how easy that would be in a Max context, but making the RSS parser was much easier than I anticipated.
      Id suggest you explore the options with Open Sound Control, search the archives and search google for 'OSC', and 'Open Sound Control'. Many gems.
      Good luck!
      v a d e //
      www.vade.info abstrakt.vade.info
    • Jan 28 2006 | 5:58 pm
      It's already existing. Take a look at FLOSC, interactions between Flash and Max thru OpenSoundControl, i found a bunch of examples a few time ago. Sorry i didn't bookmarked them but you should find them after a while googling...
      Flashserver is good for this. I made some UI with it to control Max patches (a great thrill !) and i guess it should work the same way on a distant computer (server)
    • Jan 28 2006 | 6:01 pm
      Sure ? maybe i misunderstood... But a flash movie in a web page can send data to any server (java, i guess) , then be received by a running max who will send audio (Ali made a working mp3 broadcast system in java) in return, right ? Of course, you'll have to define a max number of clients and use a poly~ solution...
    • Jan 28 2006 | 6:05 pm
      Heh - Then consider my suggestion "old school" and leave it at that... As for users "screaming and running" they tend not to do so if a Java or Flash is involved, or they're relatively sophisticated users (DJs and VJs) already accustomed to frequent installs for media playback...
    • Jan 28 2006 | 6:07 pm
      What, never? Well, hardly ever. How about the "Max/MSP runtime/Apache/VNC" approach? That is Java only...
    • Jan 28 2006 | 6:15 pm
    • Jan 28 2006 | 7:40 pm
      On 28 janv. 06, at 17:30, Georg Hajdu wrote:
      > 2. JavaScript capable of running in high priority
      yourfunction.immediate = 1 since MaxMSP 4.5.5
      Best, ej
    • Jan 28 2006 | 11:42 pm
      Wonderful. My problem is that I don't have the time to be a jack of all trades. That's when a community proves to be useful. So if you have made a contextual menu object (I made one myself with standard Max objects and scripting, which almost behaves like the real thing), please share it with the other users.
    • Jan 28 2006 | 11:50 pm
      After both Nick Rothwell and I have reported stability problems with Javascript, particularly with garbage collection, Joshua Kit Clayton wrote:
      > In general, I'd stay away from JS > at high priority for the time being
      Best regards,
    • Jan 30 2006 | 9:31 pm
      actually that is an old request by me, either "export as html", or simply "save as text file to ftp adress" and "open from text file at ftp adress"
      the text format of max patches is really great for sharing, like we do it on the mailing list for example, but for "realtime file exchange" it is a too slow procedure sometimes.
      sure, maybe it could be done using the [shell] and script write foo [thispatcher], but "export to ftp adress" in the file manu would be so much more sexy.
      -sexy 110
    • Jan 31 2006 | 5:15 pm
      lexein-arw@yahoo.com wrote: > Heh - > Then consider my suggestion "old school" and leave it > at that... > As for users "screaming and running" they tend not to > do so if a Java or Flash is involved, or they're > relatively sophisticated users (DJs and VJs) already > accustomed to frequent installs for media playback...
      As a result of my desire to avoid flash and java, I have been working on a library of JavaScript (in the web page javascript) user interface elements that communicate using AJAX to a webserver which forwards the requests over OSC to any client that can read them.
      I have the stuff mostly working, but it is not thoroughly tested and currently includes only multisliders, 2 and 1 dimensional sliders, toggles, and bangs. If anyone has interest in playing with this or working on it with me, let me know, and I can send you some code.