Csound Csound-dev Csound-tekno Search About

Re: Multiple versions (3.49, linux)

Date1998-11-05 18:54
FromSean Costello
SubjectRe: Multiple versions (3.49, linux)
Nicola Bernardini wrote:
> 
> On Thu, 5 Nov 1998, Larry Troxler wrote:
> 
> [snip]
> > I'm with John Fitch on this one. I can't see any possible advantage to
> > having multiple versions. Can someone please explain why it is
> > needed in this case?
> 
> Can you see advantages in having instead one unique version? Could you spell
> them out?

Think of it as the difference between Java and MS Java.  Java is an
attempt to create a language that runs on all platforms, so that code
created on one platform can run on all other platforms without any
changes.  MS Java is an alteration of this code, so that the code is
optimized for MS platforms.  By making Java platform specific, Microsoft
has tried to subvert the whole platform-independent nature of Java.

Csound, as it currently stands, is fairly platform independent.  True,
there are going to be differences between platforms, such as the types
of sound files generated (.wav, .aiff, etc.), as well as differing
real-time capabilities.  Still, the strength of Csound is that you can
write code on a PC, send it out on this list, and know that everyone out
there can run your code, whether they are on a Mac, a Silicon Graphics
machine, or a Linux platform.  This quality of platform independence,
plus the large number of machines that Csound runs on, makes it the
closest thing yet to a universal synthesis language.

I use both Linux and Windows for my Csound work.  It is VERY IMPORTANT
for me that code I write on one platform be able to work on the other
platform.  If I use the moogvcf opcode (a very nice addition to 3.49,
btw), I would expect that ANY program designated "Csound 3.49.x" be able
to run this opcode.  I rely upon different versions of Csound acting the
same.  

> > I sadly suspect there must be some political garbage going on here :-(
> 
> Huh? Which would be? Can you please be more specific?

See the Java vs. MS Java comparison above.

I, for one, would welcome any work that you or anyone else is doing to
improve Csound.  My one request is that there not be any conflicting
standards.  If a program is designated "Csound 3.xx.x" I would expect it
to behave the same across all platforms.  All the opcodes need to be in
there, all of the commands should work the same, and so on.  Otherwise,
Csound is no longer a universal language.

My recommendations:

1) If your changes can fit within the general scope of all Csound
platforms, submit them to wherever the "official" Csound distribution
source is.  This isn't about any sort of power play; this is about
keeping a consistent standard that everyone can use.

2) If your changes are Linux-specific, and can't work on other
platforms, create a new version of Csound that is labeled in such a way
as to set it apart from other versions of Csound.  Call it Lsound, or
LXCsound, or something like that.  Just don't call it "Csound 3.49.x"
when it is not compatible with other versions of Csound 3.49.x.  Set it
apart from the other versions, so people will know the differences. 
This works with other Csound offshoots (like Extended Csound, RTsound,
DirectCsound).