[LAD] [Fwd: Re: [Zynaddsubfx-user] more on improved jack io]

cal cal at graggrag.com
Thu Aug 13 10:52:36 UTC 2009


A short while back I floated some experimental notions involving ZynAddSubFX
on LAU. That was useful, especially Paul D's comments (they always are). I
subsequently posted a patch on the project's Tracker on sourceforge, which
naturally caught the attention of Mark McCurry, currently running the
ZynAddSubFX project.

As far as Zyn is concerned, I do so wish for good things to happen to it in
the future. I suspect there's both lurkers and devs on this list with some
interest in zyn, so with the indulgence of everyone concerned I'm presenting
a thread from Zynaddsubfx-user. I hope Mark doesn't mind, but airing this
here might somehow prove helpful. Hope so.


-------- Original Message --------
Subject: Re: [Zynaddsubfx-user] more on improved jack io
Date: Thu, 13 Aug 2009 19:09:41 +1000
From: cal <cal at graggrag.com>
To: Mark McCurry <mark.d.mccurry at gmail.com>
CC: zynaddsubfx-user <zynaddsubfx-user at lists.sourceforge.net>
References: <4A7E48B3.2030401 at graggrag.com>	<278139b70908121642p78b4a0caw7543afd87e4d8db8 at mail.gmail.com>

Mark McCurry wrote:
> Cal,
> 
> I would like to integrate in your patch into the main branch, as better 
> jack and alsa audio are something that is desired, but it does look like 
> it currently needs some extra work.
> For the previous patches, they did get out of date before I had too much 
> of a chance to integrate them.
> For the previous iteration of this patch, I do believe that I asked 
> Harald Hvaal to attempt to integrate some of your work after contacting you.
> He told me that he did email you, but he did not get a response.
> 
> In the diff, it looks like you took the changes that you made to an 
> earlier version and just diffed it with current code.
> This generates an unreasonable amount of noise to hide the signal.
> There are also a good number of stylistic/superficial differences 
> (REALTYPE -> zynsample_t , whitespace differences, Master -> zynMaster , 
> etc) (in my opinion).
> 
> If the diff was readable, then it would have a good chance to get into 
> the main git branch, but for now it is illegible.
> I apologize for letting it balloon to this size and I am still 
> interested in integrating parts into the git code, but it needs to have 
> the fat trimmed before that can happen.
> 
> --Mark McCurry
> (If you prefer that this discussion occurs on the mailing list, then 
> that is fine with me)
> 

hi Mark,

As patch reviews go, that one's probably about as naive and shallow as they
come. I do appreciate your mail though, and I've cc'd the user list as
suggested - perhaps a wider audience might help the discussion.

In dismissing "stylistic/superficial differences", I suspect you have no
clue as to why I considered those changes desirable and/or necessary from a
software engineering perspective, as distinct from merely stylistic. From
your review, I also suspect there's been little or no analysis of what it
might take to improve the structure of the audio and midi drivers, and to
have zyn use jack's reported samplerate and buffer size. And no comment
whatsoever on how well or badly I've achieved those goals. Naive in the
extreme.

On the subject of whitespace - the complete absence of whitespace and rational
indentation in the official code is one of the main reasons (but not the only
one) why zyn is in danger of bit-rotting its way to oblivion. Code like that
was normal in 2002, but you'd be hard pressed to get any serious coder to even
look at it today. In my humble opinion, the whole codebase needs the whitespace
issue addressed if the code's to have any future.

I started looking into the zyn code because I needed it to work well and
reliably, which the official codebase does not do. What I've actually attempted
is to take what I consider the latest interesting version of the code (2.4.0,
released by paulnasca) and fix those broken elements that were causing me grief.
I needed jack audio/midi to work well, so I fixed it. I saw alsa audio out as
potentially useful for simple performance, so I added it.

My patch is clearly labeled "experimental", so if anyone else finds it
interesting or useful, then that's cool too. I'm pretty comfortable with what
I've achieved so far. Jack audio is better, jack midi works well although the
structure is far from ideal, or even good practice. I'm surprised you didn't
notice that in your review of the patch. I know how to resolve that, but it's
going to take even more serious restructuring to accommodate it properly. If
and when I manage to get that together, I predict that that too will be
summarily dismissed as just more fat to be trimmed.

I'm also quite comfortable with the fact that my personal goals are way out of
alignment with those of the "official" project. Over some months I've watched
the changes going into git, and I'm less than enamoured with the changes since
paulnasca's active involvement. In moments of melancholy, I do fear the official
codebase is devolving ever so slowly toward becoming just a sad undergraduate
fantasy. Naively sprinkling esoteric abstractions through the code while
blissfully ignoring significant shortcomings in the code isn't likely to
produce anything of value.

Merging my audio/midi driver changes into git wouldn't be a trivial exercise,
but really not all that hard. No offense, but I suspect neither you or Harald
have the necessary skills (yet) to achieve that effectively. I don't see the
current direction of the "official" development effort as interesting, hence
I'm reluctant to engage in any serious fashion. 

cheers, Cal

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Zynaddsubfx-user mailing list
Zynaddsubfx-user at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/zynaddsubfx-user




More information about the Linux-audio-dev mailing list