Hi,
On 2 August 2012 12:21, Adrian Godwin <artgod...@gmail.com> wrote:
> It would definitely be for low-end versions such as a couple of audio
> streams, and yes, probably a sledgehammer - but it's often useful to
> be able to use the same tool everywhere,
+1
> and the small boards are
> getting more powerful (r-pi is perhaps comparable with a 5 year old
> recycled pc ?)
I'd be tempted to dispute that comparison - with little evidence to hand! :)
The main issue is one of x86 vs ARM, and the low performance of free
JVMs on ARM. AFAIK the standard Fedora install for the Pi only has an
interpreter-only JVM, which is no good. Debian might be better as it
does have JIT I believe, but still not anywhere near the performance
of OpenJDK on x86 (and that's without taking the relative performance
of the CPUs into account).
> I'm guessing at how things work as I haven't looked deeply into it.
> But there's an example of a script, apparently to be run by a command
> line tool. Is the LIVE version a visual editor that creates those
> scripts and has less of a role at runtime, or is it a quite different
> runtime environment ?
Pretty much. Praxis (core) is a framework and command line launcher.
Praxis LIVE builds on top of the core to provide a live visual editor
and other tools.
> I'm thinking here as much about the turnkey aspect as the embedded one
> - although the live aspects are useful, for a permanent installation
> it wants to usable unattended and perhaps even resist tampering by
> assistants.
Yes, I use it to set up projects like that, and the command line
launcher is what I use for that. It isn't in the current install at
the moment, though I can make you a build - I'm trying to get the two
things into a single install as so much code is shared.
The other thing coming very soon, which actually makes the command
line tool less necessary, is a runtime harness to allow projects to be
distributed as separate executables.
> Yes, multiple discrete computers.
> The system I'm thinking of here has a number of self-contained units
> dealing with different aspects of the installation. Some might be
> motion controllers, others sound or light controllers. In that case,
> each had its own scheduler but the events were triggered by a master
> scheduler on yet another machine. This meant that higher bandwidth
> requirements were localised, with only trigger information sent
> globally. Is this a feasible architecture or would you do it a
> different way if using Praxis ?
hmm .. not quite sure if I understand you. If / when Praxis gains
this ability then events would be sent directly between the unit
creating it and the unit you want to receive it. Assuming everything
is networked then I'm not sure why you *need* a central point, even
without using Praxis.
> OSC is an interesting possibility. It's certainly something that would
> be good to have for musical reasons, I'm not sure whether it would do
> the job I've got in mind.
It interests me far more than the musical aspect, because it's a
simple but still fairly lightweight networking protocol that ties in
nicely with the addressing and type system in Praxis.
> It's a bit speculative, but I'm looking at an application where motion
> control algorithms are run in a PC (or, at least, a series of single
> board computers running linux), whereas previously I used dedicated
> boards for each axis. This takes advantage of the higher computational
> power of these boards but also forces realtime requirements up to a
> less customised system.
> I have had previous experience of a realtime distributed system
> running several hundred 32-bit data channels, some at 1000 samples per
> second (it ran a race car's control systems). This required very
> customised hardware and software, but it was a few years ago - maybe
> it's now possible to recreate that using commodity hardware and a
> well-organised data distribution system. The most difficult
> requrements are the data throughput, and a desire to keep all channels
> in synchronism to within 1 sample (at a seelction of sample rates).
> I don't expect Praxis to be that system (yet), but I'm interested in
> whether it's a direction it could take.
It might (big might!) be possible, but I'm not sure it's the right
solution. Praxis is not primarily a distributed system, it's a system
heavily inspired by distributed systems in order to solve another
problem - how to work with different media within a single system on a
single computer. It is in some ways tangential to the initial problem
that Praxis might work well in a distributed way.
> I've probably explained this in a fairly muddled way - I'm actually
> looking at a spectrum of applications and wondering what range of them
> Praxis might handle. I could probably divide them down into much more
> precisely stated needs, but that would tend to assume my old solutions
> and I'm interested to know whether a different approach would be
> better. So I'm being deliberately vague in order to pick up on your
> vision instead. Maybe I should present some scenarios to solve
> instead, but that will get even more wordy.
Wordy in person might be better if you're down at Oxford hackspace sometime! :)
btw - away from my computer most of the next fortnight now, so
responses may be less immediate.
Best wishes,
Neil
--
Neil C Smith
Artist : Technologist : Adviser
http://neilcsmith.net
Praxis - open-source intermedia system for live creative play -
http://code.google.com/p/praxis
OpenEye - specialist web solutions for the cultural, education,
charitable and local government sectors - http://openeye.info