From: Mathieu Bouchard Date: 2001-12-11T02:14:21+09:00 Subject: [ruby-talk:28107] Re: GridFlow/Video4jmax in Ruby On Wed, 5 Dec 2001, Lorien Dunn wrote: > that just scream for a 'real programming language'. I think the Max family is > strongest if you don't think of them as programming languages, but as patch > bays. I also don't like the lack of inheritance (both with plugins and > patches), as I'm a big fan of OO. Well, inheritance is not even on my wishlist yet because templates still aren't considered seriously enough in jMax. I'd very much want templates to be independent of files, that is, that you could put templates in any file in roughly the same way that you can do with patchers. > > non-trivial to do, especially because GridFlow is possibly the most > > complex jMax plugin ever, in terms of dataflow object communication. > I've got a data-flow system for ruby. It is written in c, and very fast. But > it would take some work to use it with something that expects the JMax API! Possibly not much; I use very few FTS features. However, Grids are chopped into small parts when sent over a wire, and there's a protocol for that: I do several fts_outlet_send's, with selectors :grid_begin, :grid_flow, :grid_end. > > jMax also lacks posix threading for now. However you can run multiple > > servers on the same machine and connect them by UDP or TCP; and some > > particular features (direct-to-disk sound) use separate processes as well. > I decided against this way because I want my prog to be easy to understand > and maintain. Funny. I always think I don't use threads because it'd make my programs hard to understand and maintain. For processes I only have to cut the circuits in several parts, which is much easier to do in dataflow than in stepwise (imp.) programs or stateless (func.) programs. On the side of threads, I believe they would be hidden from the jMax user, but it would raise the bar to jMax plugin programming, which is *not* a good thing (it's already difficult enough as it is; we're talking thousands of C lines that need to be quite close to bug-free) > Have you looked at SWIG (www.swig.org)? not yet... > > midi-controlled video transformations ? i want more info on this ! > What info would you like? All I meant was that I've taken care of all > the nasty internals of the midi protocol, and softened it somewhat > (for example I've made things like controller values and velocity > between 0.0 and 1.0). The kind of thing I meant was (contrived > example): > midiIn.channel[1].controller[10].value.connect(videoObj,:contrast) that's good. i know a few people who would be interested. What we've done (see my web page) is sound controlled by video (and video controlled by video). We're analysing motion from a camera, yielding a value and a picture of the motion contour. The value is used to select a movie and to select sound-trigger probabilities. ________________________________________________________________ Mathieu Bouchard http://hostname.2y.net/~matju