Le 19 avr. 2010 à 00:34, Paul Davis a écrit :
On Sun, Apr 18, 2010 at 4:21 PM, rosea.grammostola
<rosea.grammostola(a)gmail.com> wrote:
This could all be true, but that's not the
point I was talking about.
JACK2 was planned as successor of JACK1. But at some point that changed,
No, Jack2 (then jackdmp) was not planned as a successor of Jack1.
It was jackdmp *then* jack2 ((-:
It
was initially planned as an alternate implementation and a playground
to try out some ideas, mostly because Stephane didn't feel that it was
going to be easy to do that with the existing C codebase of Jack (and
I think that everybody else agreed with him about that).
The reasons for a new code base were multiple:
- after the initial "jack1on OSX work" , I has a good understanding of the C
code, enough to think that going for the SMP *and* multi-platform support would be a
nightmare... or would require huge rework, that was done in the C+ version indeed.
- they were some stability problems on OSX (like random crashes..) I could not find and
fix. The kind of crash I usually describe as coming from "too complex and non
understandable code"
- they were some subtle bugs in the C code (like memory leaks in jack port management
because of this double sever side/client side management, some shared memory issue.. some
more i don't remember right now)
The C++ code base then has been improved by a lot of people, Michael Voigt did a lot of
work to improve multi-platform support (for his L4/drop port), Tim Blechmann simplified
the C++ class hierarchy and did optimization everywhere, Nedko added the control API and
D-Bus support in *pure* C with his own naming conversion (so this can even be done..),
Devin Anderson added some MIDI related code.... etc...
*Later*, we
agreed that Jack2 would become the successor of Jack1.
Stephane