Hallo,
Darren Landrum hat gesagt: // Darren Landrum wrote:
Frank Barknecht wrote:
Faust can, but: Is it really important? And why
would it be important
(taking aside speed issues)?
Speed is a large part of it, yes.
Another reason to stick to C++ is for things that need the speed and
low-level abilities, like on-demand sample streaming from disk for
making a sampler.
It's a give and take. For some convenience I'll happily give away
some speed. OTOH there are areas where speed matters, those areas
should be optimized (and thus probably be coded in C/C++). The
environments I mentioned can be extended with C in these critical
areas. Anyway speed definitly is not what made Processing popular.
The core objects in Pd are all coded in C. And generally they are
quite fast. Connecting these objects adds a bit of overhead (function
calls etc.), but even that is quite fast in Pd.
The latest
versions of Pd now work on 64-bit systems as well.
Pd-vanilla can (and I do have it working), but Pd-extended still cannot.
Pd-extended is shipped with an old version of Pd.
If you skip
the compilation part, Pd (or the other environments I
mentioned, Pd is just one example) can do all that. Just bundle the
Pd binary and a sh-script with your Pd application to distribute it, if
you want. (I would prefer an unbundled download as I already have Pd.)
Does Pd do oversampling? I seem to recall it can.
Yes, you do that with the [block~] object in a subpatch.
I keep bringing this up because several of the things
I want to work
on, namely lumped modeling/wave digital filters and non-linear
processing, both require oversampling to work right, largely to
avoid frequency warping and aliasing issues.
One thing with Pd is that it is a block-based realtime system, so some
of the techniques you mentioned (i.e. those that involve feedback
delay lines) can be impossible to implement in Pd using only the
builtin objects (feedback delay lines always have a minimal delay time
of one block in Pd). But you can code these objects as C-externals or
with Faust for Pd.
A Processing-alike for audio can also integrate and
abstract away things
like LASH support, MIDI, and OSC. Something like LASH (session state
saving, see the other current thread) is an important capability in my
world.
Point taken: Session management is an area where Pd isn't especially
good. OTOH C++ out of the box isn't either. ;)
Ciao
--
Frank Barknecht _ ______footils.org__