From mailserv@lhasa.es.com Wed Dec 29 04:54:25 1993
Precedence: Bulk
Date: Wed, 29 Dec 93  3:48 
From: gus-sdk-request@dsd.es.com (GUS Programmer's Server)
Reply-To: gus-sdk@dsd.es.com (GUS Programmer's Digest)
Subject: GUS Programmer's Digest V7 #9

GUS Programmer's Digest     Wed, 29 Dec 93  3:48         Volume 7: Issue   9  

Today's Topics:
                      New GUS SDK Questions ....

Standard Info:
	- Meta-info about the GUS can be found at the end of the Digest.
	- Before you ask a question, please READ THE FAQ.

----------------------------------------------------------------------

Date: Tue, 28 Dec 93 09:37:18 EST
From: support@fortech.com (Technical Support)
Subject: New GUS SDK Questions ....

Hello,

In Response To:

> Date: Sat, 25 Dec 93 19:29:00 CST
> From: chuth@lonestar.utsa.edu (Cornel H. Huth)
> Subject: GUS SDK 2.10 impressions

> Probably the most disturbing item is the NOTICE, line 86, to quote:

> Any copying, duplication, selling, or otherwise distributing the program or
> support files described in this manual, other than for the limited purposes
> of system  backup and  loading the  program into  the computer  as part  of
> executing the program, is a violation of the software license agreement and
> the law.  Willful violation of the  copyright law of the United States  can
> result in statutory damages of up to $50,000 in addition to actual damages,
> plus   criminal penalties  of imprisonment  for  up to  one year  and/or  a
> $10,000 fine.

> Just who are they trying to scare? Developers like me? Take a hike, bozos.

First of all, CONSTRUCTIVE criticism is always welcome. Comments like this
last sentence are neither appreciated or called for.

The Copyright notice is most likely not necessary any longer. It is a
holdover from when the SDK was NOT public. I will check with Gravis and
it will be removed if this is the case.

> Nowhere does it say "when bit0=1 then...". It's all a guessing game
> (that's all it really can be). Later, in line 6963, these "modes"
> are further defined. Still, nowhere does it say "when bit0=1...". I
> take it from the wording in 6963+ that all definitions are for when
> the bit is set. Still, the above is about as crazy as anything.

I guess we could expand on this, but so far noboday else has had
any confusion over what this stuff means.

> In line 6945, "A complete table" is mentioned (and again, and again).
> There is no table.

(Actually, its only mentioned TWICE.)
Error of omission. I'll get a copy of it and put it in and post it
to this group. I'll also include the formula for building this table.
The formula is what you would probably use anyway.

> In line 6905, the SDK lists balance=0 as 100% right; 15 as 100% left.
> Line 4627 lists the exact opposite.

Line 4627 is right. 0 is all left, 15 is all right. We'll fix the doc.

> In line 6846, the start/end loop fractions defs are again wrong!
> (The only other documentation I have on this is the beta SDK, and
> it too is wrong!). The high nybble is the end fraction; the low
> nybble the start. How can this still be wrong?!

Its still wrong because nobody brought the error to our attention. It
is indeed flipped. The low nibble is the start fraction and the high
nibble is the end fraction. We'll fix it also.

> In line 6988, the scale factor is mentioned as 0, 512, 1024... In line
> 6724, it says: Scale_Factor    : WORD; { From 0 to 2048 or 0 to 2 }
> Just what we really need (not!) -  more ambiguity.

Yes, this is quite ambiguous. What it means is that the step from one 
key to the next can range from 0 semitones (you won't hear it) to 2 semitones.
The number in the structure is used as a multiplier. 1024 will give you
a step of 1 semitone. 512 will give you 1/2 a semitone step. 256 will give 
you a 1/4 semitone step. 1536 will give you a 1 1/2 semitone step, etc.

> should not have left Canada as is. I would feel very uneasy about using
> any of the code in this SDK, to say the least. Actually, since I write

As far as I know, there are no bugs in the SDK code. We use it for a lot
of stuff and don't have any problems. I would encourage people to use 
the code as is for as much as possible. I have spent countless hours 
working with people who subscribe to the 'not invented here' syndrome.
90% of those people could have used this code with absolutely no
changes or additions, but seem to feel that their way is better. Of
course there are better and worse ways to write code, but the SDK is
meant to keep things as simple and straight forward as possible. Even
if you can't use the code directly, it is usually simple enough for
somebody to extract the pieces they need for their application.

Obviously, the SDK does not have a lot of in-depth info on the patches
or how to implement them. That is not its primary focus. Most developers
do not want to deal with that high of a level. If they do, MOST use
Ultramid, so they don't need to worry about the implementation details.
We will probably add more info/examples in future SDKs. 

I would like to thank Cornel for reviewing the doc. We NEED the feedback 
so that we can make fixes/additions to the SDK to make it more useable.
If anybody else has any comments etc, please let us know. I can't promise
that we will be able to provide everything you want, but we'll try.

Forte Tech Support.

------------------------------

End of GUS Programmer's Digest V7 #9
************************************

To post to tomorrow's digest:                    <gus-sdk@dsd.es.com>
To (un)subscribe or get help:            <gus-sdk-request@dsd.es.com>
To contact a human (last resort):          <gus-sdk-owner@dsd.es.com>

FTP sites:           archive.epas.utoronto.ca              /pub/pc/ultrasound
                     wuarchive.wustl.edu            /systems/ibmpc/ultrasound
                     archive.orst.edu                    /pub/packages/gravis
                     theoris.rz.uni-konstanz.de                /pub/sound/gus
                     nctuccca.edu.tw                           /PC/ultrasound
FTP mail server:     mail-server@nike.rz.uni-konstanz.de

Hints:
      - Get the FAQ from the FTP sites or the request server.
      - Mail to <gus-sdk-request@dsd.es.com> for info about other GUS
	related mailing lists (general use, musician's, etc.).


