Csound Csound-dev Csound-tekno Search About

Re: Bug in r statement?

Date1998-07-15 18:24
Fromjpff@maths.bath.ac.uk
SubjectRe: Bug in r statement?
Message written at 12 Jul 1998 21:37:11 -0400
--- Copy of mail to zarmzarm@hotmail.com ---
In-reply-to: <19980713065613.24126.qmail@hotmail.com> (message from Paul
	Winkler on Sun, 12 Jul 1998 23:56:12 PDT)
References:  <19980713065613.24126.qmail@hotmail.com>

The r score command needs TWO arguments.  The first is a count, and
the second is the name of a macro which takes the value of the
iteration.  Without the macro name it wikk fail.  OK, there ought to
be better error checking.  Will look at it.
==John ffitch



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20211;
          15 Jul 98 18:30 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa18648;
          15 Jul 98 18:30 BST
Received: (qmail 28782 invoked from network); 15 Jul 1998 17:30:16 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 17:30:16 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (SAA11516); Wed, 15 Jul 1998 18:26:10 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 18:25:33 +0100
Received: from exim@wallace.maths.bath.ac.uk [138.38.100.104] by hermes via ESMTP (SAA21813); Wed, 15 Jul 1998 18:25:26 +0100 (BST)
Received: from [138.38.99.25] (helo=maths.Bath.AC.UK ident=mmdf)
	by wallace.maths.bath.ac.uk with smtp (Exim 1.92 #2)
	for csound@maths.ex.ac.uk
	id 0ywVIx-00001k-00; Wed, 15 Jul 1998 18:25:23 +0100
Date:     Wed, 15 Jul 98 18:25:27 BST
From: jpff@maths.bath.ac.uk
Subject:  Random numbers
To: csound@maths.ex.ac.uk
Message-Id: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Message written at 12 Jul 1998 21:49:52 -0400

There does seem to be some confusions in the whole area of the random
number generators in Csound.

First, the rand, randh and randi opcodes have a simple (trivial) small
cycle pseudo randon number generator.  They are not affected by the
seed opcode, but only the optional seed argumrnt.  Each opcode is
independednt, and follows the same sequence.

The noise generators on the other hand use the ANSI C rand function,
and all share the SAME sequence, which is reasonably long cycled (30
bit typically).  

It would help if people where clear as to which one they mean in these
discussions. 

==John ffitch



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21883;
          15 Jul 98 22:54 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa07522;
          15 Jul 98 22:54 BST
Received: (qmail 11195 invoked from network); 15 Jul 1998 21:54:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 21:54:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (WAA21860); Wed, 15 Jul 1998 22:51:03 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 22:50:48 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (WAA05669); Wed, 15 Jul 1998 22:50:40 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFM3HOO028WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 14:50:39 PDT
Date: Wed, 15 Jul 1998 14:51:35 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <35AD1F33.4ACCA3FF@ere.umontreal.ca>
X-Sender: spjut@thuban.ac.hmc.edu
To: jp 
Cc: 'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
References: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 5:29 PM -0400 7/15/98, jp wrote:
>Erik proposes (but surely does not test):
>
>> k1 rand
>> k2 = 2*int(2*k1)-1
>
>
>k1 	rand	1
>k2 	= 	int(k1+1)-1
>
>on the other hand, works well.
>
>Erik goes to the corner...
>and stands in shame for the rest of the week.
>
>(Winks deemed unnecessary...)

Erik forgot that rand goes from -1 to +1 instead of the usual 0 to 1.
Erik's been busy programming things other than Csound (such as multimode
heat transfer). Hey, I spent all of 3 minutes on it.

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21883;
          15 Jul 98 22:54 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa07522;
          15 Jul 98 22:54 BST
Received: (qmail 11195 invoked from network); 15 Jul 1998 21:54:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 21:54:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (WAA21860); Wed, 15 Jul 1998 22:51:03 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 22:50:48 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (WAA05669); Wed, 15 Jul 1998 22:50:40 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFM3HOO028WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 14:50:39 PDT
Date: Wed, 15 Jul 1998 14:51:35 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <35AD1F33.4ACCA3FF@ere.umontreal.ca>
X-Sender: spjut@thuban.ac.hmc.edu
To: jp 
Cc: 'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
References: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 5:29 PM -0400 7/15/98, jp wrote:
>Erik proposes (but surely does not test):
>
>> k1 rand
>> k2 = 2*int(2*k1)-1
>
>
>k1 	rand	1
>k2 	= 	int(k1+1)-1
>
>on the other hand, works well.
>
>Erik goes to the corner...
>and stands in shame for the rest of the week.
>
>(Winks deemed unnecessary...)

Erik forgot that rand goes from -1 to +1 instead of the usual 0 to 1.
Erik's been busy programming things other than Csound (such as multimode
heat transfer). Hey, I spent all of 3 minutes on it.

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21883;
          15 Jul 98 22:54 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa07522;
          15 Jul 98 22:54 BST
Received: (qmail 11195 invoked from network); 15 Jul 1998 21:54:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 21:54:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (WAA21860); Wed, 15 Jul 1998 22:51:03 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 22:50:48 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (WAA05669); Wed, 15 Jul 1998 22:50:40 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFM3HOO028WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 14:50:39 PDT
Date: Wed, 15 Jul 1998 14:51:35 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <35AD1F33.4ACCA3FF@ere.umontreal.ca>
X-Sender: spjut@thuban.ac.hmc.edu
To: jp 
Cc: 'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
References: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 5:29 PM -0400 7/15/98, jp wrote:
>Erik proposes (but surely does not test):
>
>> k1 rand
>> k2 = 2*int(2*k1)-1
>
>
>k1 	rand	1
>k2 	= 	int(k1+1)-1
>
>on the other hand, works well.
>
>Erik goes to the corner...
>and stands in shame for the rest of the week.
>
>(Winks deemed unnecessary...)

Erik forgot that rand goes from -1 to +1 instead of the usual 0 to 1.
Erik's been busy programming things other than Csound (such as multimode
heat transfer). Hey, I spent all of 3 minutes on it.

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21883;
          15 Jul 98 22:54 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa07522;
          15 Jul 98 22:54 BST
Received: (qmail 11195 invoked from network); 15 Jul 1998 21:54:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 21:54:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (WAA21860); Wed, 15 Jul 1998 22:51:03 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 22:50:48 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (WAA05669); Wed, 15 Jul 1998 22:50:40 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFM3HOO028WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 14:50:39 PDT
Date: Wed, 15 Jul 1998 14:51:35 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <35AD1F33.4ACCA3FF@ere.umontreal.ca>
X-Sender: spjut@thuban.ac.hmc.edu
To: jp 
Cc: 'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
References: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 5:29 PM -0400 7/15/98, jp wrote:
>Erik proposes (but surely does not test):
>
>> k1 rand
>> k2 = 2*int(2*k1)-1
>
>
>k1 	rand	1
>k2 	= 	int(k1+1)-1
>
>on the other hand, works well.
>
>Erik goes to the corner...
>and stands in shame for the rest of the week.
>
>(Winks deemed unnecessary...)

Erik forgot that rand goes from -1 to +1 instead of the usual 0 to 1.
Erik's been busy programming things other than Csound (such as multimode
heat transfer). Hey, I spent all of 3 minutes on it.

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21883;
          15 Jul 98 22:54 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa07522;
          15 Jul 98 22:54 BST
Received: (qmail 11195 invoked from network); 15 Jul 1998 21:54:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 21:54:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (WAA21860); Wed, 15 Jul 1998 22:51:03 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 22:50:48 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (WAA05669); Wed, 15 Jul 1998 22:50:40 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFM3HOO028WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 14:50:39 PDT
Date: Wed, 15 Jul 1998 14:51:35 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <35AD1F33.4ACCA3FF@ere.umontreal.ca>
X-Sender: spjut@thuban.ac.hmc.edu
To: jp 
Cc: 'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
References: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 5:29 PM -0400 7/15/98, jp wrote:
>Erik proposes (but surely does not test):
>
>> k1 rand
>> k2 = 2*int(2*k1)-1
>
>
>k1 	rand	1
>k2 	= 	int(k1+1)-1
>
>on the other hand, works well.
>
>Erik goes to the corner...
>and stands in shame for the rest of the week.
>
>(Winks deemed unnecessary...)

Erik forgot that rand goes from -1 to +1 instead of the usual 0 to 1.
Erik's been busy programming things other than Csound (such as multimode
heat transfer). Hey, I spent all of 3 minutes on it.

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21883;
          15 Jul 98 22:54 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa07522;
          15 Jul 98 22:54 BST
Received: (qmail 11195 invoked from network); 15 Jul 1998 21:54:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 21:54:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (WAA21860); Wed, 15 Jul 1998 22:51:03 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 22:50:48 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (WAA05669); Wed, 15 Jul 1998 22:50:40 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFM3HOO028WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 14:50:39 PDT
Date: Wed, 15 Jul 1998 14:51:35 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <35AD1F33.4ACCA3FF@ere.umontreal.ca>
X-Sender: spjut@thuban.ac.hmc.edu
To: jp 
Cc: 'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
References: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 5:29 PM -0400 7/15/98, jp wrote:
>Erik proposes (but surely does not test):
>
>> k1 rand
>> k2 = 2*int(2*k1)-1
>
>
>k1 	rand	1
>k2 	= 	int(k1+1)-1
>
>on the other hand, works well.
>
>Erik goes to the corner...
>and stands in shame for the rest of the week.
>
>(Winks deemed unnecessary...)

Erik forgot that rand goes from -1 to +1 instead of the usual 0 to 1.
Erik's been busy programming things other than Csound (such as multimode
heat transfer). Hey, I spent all of 3 minutes on it.

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21883;
          15 Jul 98 22:54 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa07522;
          15 Jul 98 22:54 BST
Received: (qmail 11195 invoked from network); 15 Jul 1998 21:54:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 21:54:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (WAA21860); Wed, 15 Jul 1998 22:51:03 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 22:50:48 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (WAA05669); Wed, 15 Jul 1998 22:50:40 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFM3HOO028WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 14:50:39 PDT
Date: Wed, 15 Jul 1998 14:51:35 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <35AD1F33.4ACCA3FF@ere.umontreal.ca>
X-Sender: spjut@thuban.ac.hmc.edu
To: jp 
Cc: 'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
References: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 5:29 PM -0400 7/15/98, jp wrote:
>Erik proposes (but surely does not test):
>
>> k1 rand
>> k2 = 2*int(2*k1)-1
>
>
>k1 	rand	1
>k2 	= 	int(k1+1)-1
>
>on the other hand, works well.
>
>Erik goes to the corner...
>and stands in shame for the rest of the week.
>
>(Winks deemed unnecessary...)

Erik forgot that rand goes from -1 to +1 instead of the usual 0 to 1.
Erik's been busy programming things other than Csound (such as multimode
heat transfer). Hey, I spent all of 3 minutes on it.

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21883;
          15 Jul 98 22:54 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa07522;
          15 Jul 98 22:54 BST
Received: (qmail 11195 invoked from network); 15 Jul 1998 21:54:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 21:54:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (WAA21860); Wed, 15 Jul 1998 22:51:03 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 22:50:48 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (WAA05669); Wed, 15 Jul 1998 22:50:40 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFM3HOO028WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 14:50:39 PDT
Date: Wed, 15 Jul 1998 14:51:35 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <35AD1F33.4ACCA3FF@ere.umontreal.ca>
X-Sender: spjut@thuban.ac.hmc.edu
To: jp 
Cc: 'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
References: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 5:29 PM -0400 7/15/98, jp wrote:
>Erik proposes (but surely does not test):
>
>> k1 rand
>> k2 = 2*int(2*k1)-1
>
>
>k1 	rand	1
>k2 	= 	int(k1+1)-1
>
>on the other hand, works well.
>
>Erik goes to the corner...
>and stands in shame for the rest of the week.
>
>(Winks deemed unnecessary...)

Erik forgot that rand goes from -1 to +1 instead of the usual 0 to 1.
Erik's been busy programming things other than Csound (such as multimode
heat transfer). Hey, I spent all of 3 minutes on it.

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21883;
          15 Jul 98 22:54 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa07522;
          15 Jul 98 22:54 BST
Received: (qmail 11195 invoked from network); 15 Jul 1998 21:54:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 21:54:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (WAA21860); Wed, 15 Jul 1998 22:51:03 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 22:50:48 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (WAA05669); Wed, 15 Jul 1998 22:50:40 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFM3HOO028WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 14:50:39 PDT
Date: Wed, 15 Jul 1998 14:51:35 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <35AD1F33.4ACCA3FF@ere.umontreal.ca>
X-Sender: spjut@thuban.ac.hmc.edu
To: jp 
Cc: 'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
References: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 5:29 PM -0400 7/15/98, jp wrote:
>Erik proposes (but surely does not test):
>
>> k1 rand
>> k2 = 2*int(2*k1)-1
>
>
>k1 	rand	1
>k2 	= 	int(k1+1)-1
>
>on the other hand, works well.
>
>Erik goes to the corner...
>and stands in shame for the rest of the week.
>
>(Winks deemed unnecessary...)

Erik forgot that rand goes from -1 to +1 instead of the usual 0 to 1.
Erik's been busy programming things other than Csound (such as multimode
heat transfer). Hey, I spent all of 3 minutes on it.

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21883;
          15 Jul 98 22:54 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa07522;
          15 Jul 98 22:54 BST
Received: (qmail 11195 invoked from network); 15 Jul 1998 21:54:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 21:54:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (WAA21860); Wed, 15 Jul 1998 22:51:03 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 22:50:48 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (WAA05669); Wed, 15 Jul 1998 22:50:40 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFM3HOO028WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 14:50:39 PDT
Date: Wed, 15 Jul 1998 14:51:35 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <35AD1F33.4ACCA3FF@ere.umontreal.ca>
X-Sender: spjut@thuban.ac.hmc.edu
To: jp 
Cc: 'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
References: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 5:29 PM -0400 7/15/98, jp wrote:
>Erik proposes (but surely does not test):
>
>> k1 rand
>> k2 = 2*int(2*k1)-1
>
>
>k1 	rand	1
>k2 	= 	int(k1+1)-1
>
>on the other hand, works well.
>
>Erik goes to the corner...
>and stands in shame for the rest of the week.
>
>(Winks deemed unnecessary...)

Erik forgot that rand goes from -1 to +1 instead of the usual 0 to 1.
Erik's been busy programming things other than Csound (such as multimode
heat transfer). Hey, I spent all of 3 minutes on it.

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20559;
          15 Jul 98 20:04 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa25497;
          15 Jul 98 20:04 BST
Received: (qmail 4077 invoked from network); 15 Jul 1998 19:04:03 -0000
Received: from unknown (HELO hurricane.netgate.be) (193.121.99.70)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 19:04:03 -0000
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-ID: <19980715190822890.AAA51@turing.hogent.be>




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20601;
          15 Jul 98 20:08 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa25846;
          15 Jul 98 20:08 BST
Received: (qmail 5513 invoked from network); 15 Jul 1998 19:08:21 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 19:08:21 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA26146); Wed, 15 Jul 1998 20:03:44 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 20:03:25 +0100
Received: from [193.121.99.70] by hermes via ESMTP (UAA01997); Wed, 15 Jul 1998 20:03:18 +0100 (BST)
Received: from turing.hogent.be ([193.190.88.183]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA51;
          Wed, 15 Jul 1998 21:08:35 +0200
From: David Schuyeteneer 
To: jpff@maths.bath.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: Csound List 
Subject: rand has nasty audible cycle
Date: Wed, 15 Jul 1998 20:58:53 +0200
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980715190822890.AAA51@turing.hogent.be>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk




I have found the rand,randh and randi opcodes very annoying when used for 
a-rate signals, because in my humble opinion they don't have a "reasonably
long"
cycle as I can always hear the cyclic repetition ! It sounds like a looped
sample,
and not like a stream. However those other, non-uniform random generators
like gauss, weibull etc are very well suited for a seamless stream !

What is the technical difference between the cyclic rand and the
non-uniform generators ??

David.


> There does seem to be some confusions in the whole area of the random
> number generators in Csound.
> 
> First, the rand, randh and randi opcodes have a simple (trivial) small
> cycle pseudo randon number generator.  They are not affected by the
> seed opcode, but only the optional seed argumrnt.  Each opcode is
> independednt, and follows the same sequence.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21037;
          15 Jul 98 21:18 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa00932;
          15 Jul 98 21:18 BST
Received: (qmail 7370 invoked from network); 15 Jul 1998 20:18:38 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 20:18:38 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA13116); Wed, 15 Jul 1998 21:15:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:15:14 +0100
Received: from [199.85.19.2] by hermes via ESMTP (VAA02647); Wed, 15 Jul 1998 21:15:07 +0100 (BST)
Received: by fw.osler.com id <20632>; Wed, 15 Jul 1998 16:19:33 -0400
Message-Id: <98Jul15.161933edt.20632@fw.osler.com>
From: "Ruston, Paul" 
To: 'Csound group' 
Subject: RANDOM NUMBERS
Date: Wed, 15 Jul 1998 11:43:11 -0400
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Could anyone recommend a simple way to generate random +1's and -1's
(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
formula I could use with krnd without using if - then statements? 

Thanks as always
Paul Ruston



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21324;
          15 Jul 98 21:59 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03701;
          15 Jul 98 21:59 BST
Received: (qmail 9513 invoked from network); 15 Jul 1998 20:59:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 20:59:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA19878); Wed, 15 Jul 1998 21:55:39 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 21:55:22 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (VAA09470); Wed, 15 Jul 1998 21:55:13 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFK5NGA148WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 13:55:07 PDT
Date: Wed, 15 Jul 1998 13:56:04 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <98Jul15.161933edt.20632@fw.osler.com>
X-Sender: spjut@thuban.ac.hmc.edu
To: "Ruston, Paul" , 
    'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 11:43 AM -0400 7/15/98, Ruston, Paul wrote:
>Could anyone recommend a simple way to generate random +1's and -1's
>(whole #'s - nothing in between and no zeros)?  Maybe there's a simple
>formula I could use with krnd without using if - then statements?

k1 rand
k2 = 2*int(2*k1)-1

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa21883;
          15 Jul 98 22:54 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa07522;
          15 Jul 98 22:54 BST
Received: (qmail 11195 invoked from network); 15 Jul 1998 21:54:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 21:54:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (WAA21860); Wed, 15 Jul 1998 22:51:03 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 22:50:48 +0100
Received: from Thuban.AC.HMC.Edu [134.173.53.8] (may be forged) by hermes via ESMTP (WAA05669); Wed, 15 Jul 1998 22:50:40 +0100 (BST)
Received: from [134.173.38.61] (Spjut.Eng.HMC.Edu)
 by THUBAN.AC.HMC.EDU (PMDF V5.1-7 #28820)
 with ESMTP id <01IZFM3HOO028WX185@THUBAN.AC.HMC.EDU> for
 csound@maths.ex.ac.uk; Wed, 15 Jul 1998 14:50:39 PDT
Date: Wed, 15 Jul 1998 14:51:35 -0700
From: Erik Spjut 
Subject: Re: RANDOM NUMBERS
In-Reply-To: <35AD1F33.4ACCA3FF@ere.umontreal.ca>
X-Sender: spjut@thuban.ac.hmc.edu
To: jp 
Cc: 'Csound group' 
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
References: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 5:29 PM -0400 7/15/98, jp wrote:
>Erik proposes (but surely does not test):
>
>> k1 rand
>> k2 = 2*int(2*k1)-1
>
>
>k1 	rand	1
>k2 	= 	int(k1+1)-1
>
>on the other hand, works well.
>
>Erik goes to the corner...
>and stands in shame for the rest of the week.
>
>(Winks deemed unnecessary...)

Erik forgot that rand goes from -1 to +1 instead of the usual 0 to 1.
Erik's been busy programming things other than Csound (such as multimode
heat transfer). Hey, I spent all of 3 minutes on it.

-------------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Acting Director,The Center for Design Education
and/or Associate Professor of Engineering
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu      Ph & Voice mail (909) 607-3890      Fax (909) 621-8967





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22730;
          15 Jul 98 23:48 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa11312;
          15 Jul 98 23:48 BST
Received: (qmail 13073 invoked from network); 15 Jul 1998 22:48:44 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 22:48:44 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (XAA27857); Wed, 15 Jul 1998 23:46:00 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 23:45:36 +0100
Received: from exim@wallace.maths.bath.ac.uk [138.38.100.104] by hermes via ESMTP (XAA04431); Wed, 15 Jul 1998 23:45:30 +0100 (BST)
Received: from [138.38.99.25] (helo=maths.Bath.AC.UK ident=mmdf)
	by wallace.maths.bath.ac.uk with smtp (Exim 1.92 #2)
	for csound@maths.ex.ac.uk
	id 0ywaIh-0000Jm-00; Wed, 15 Jul 1998 23:45:27 +0100
Date:     Wed, 15 Jul 98 23:45:31 BST
From: jpff@maths.bath.ac.uk
Subject:  Re: Csound sources
To: csound@maths.ex.ac.uk
Message-Id: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Message written at 14 Jul 1998 16:22:02 -0400
--- Copy of mail to gogins@nyc.pipeline.com ---
In-reply-to: <000d01bdafa7$2d08e9c0$e18256d1@axe> (message from Michael Gogins
	on Wed, 15 Jul 1998 00:15:16 -0400)
References:  <000d01bdafa7$2d08e9c0$e18256d1@axe>

I managed to miss nreverb.h when making one set of sources.  I will
add to end of this message.
wrt lptrkfuns.c, well use a better compiler?!?  Works on all my
platforms, including MSVC4
==John ffitch
------------------------------------------------------------------------
#define	Combs	6
#define	Alpas	5
typedef struct	{
	OPDS	h;
	float	*out, *in, *time, *hdif, *istor;
	float	*cbuf_cur[Combs], *abuf_cur[Alpas];
	float	c_time[Combs], c_gain[Combs], a_time[Alpas], a_gain[Alpas];
	float	z[Combs], g[Combs];
        AUXCH	temp;
	AUXCH	caux[Combs], aaux[Alpas];
	float	prev_time, prev_hdif;
} NREV;




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22736;
          15 Jul 98 23:49 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa11317;
          15 Jul 98 23:48 BST
Received: (qmail 13083 invoked from network); 15 Jul 1998 22:48:56 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 22:48:56 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (XAA05712); Wed, 15 Jul 1998 23:46:30 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Wed, 15 Jul 98 23:45:50 +0100
Received: from exim@wallace.maths.bath.ac.uk [138.38.100.104] by hermes via ESMTP (XAA02966); Wed, 15 Jul 1998 23:45:41 +0100 (BST)
Received: from [138.38.99.25] (helo=maths.Bath.AC.UK ident=mmdf)
	by wallace.maths.bath.ac.uk with smtp (Exim 1.92 #2)
	for csound@noether.ex.AC.UK
	id 0ywaIs-0000Jr-00; Wed, 15 Jul 1998 23:45:38 +0100
Date:     Wed, 15 Jul 98 23:45:41 BST
From: jpff@maths.bath.ac.uk
Subject:  Re: RESET macro and re-entrant Csound
To: csound@maths.ex.ac.uk
Message-Id: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Message written at 14 Jul 1998 16:24:01 -0400
--- Copy of mail to gogins@nyc.pipeline.com ---
In-reply-to: <001301bdafad$c45bde80$e18256d1@axe> (message from Michael Gogins
	on Wed, 15 Jul 1998 01:02:27 -0400)
References:  <001301bdafad$c45bde80$e18256d1@axe>

The RESET stuff is Richard Dobson's code, as occasionally fixed by me
as the code evolved.  It is not guaranteed, but is a reasonable
starting point.  RichardD did have a re-entrant version once.
==John ffitch



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22917;
          16 Jul 98 0:16 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa13855;
          16 Jul 98 0:16 BST
Received: (qmail 13711 invoked from network); 15 Jul 1998 23:16:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 15 Jul 1998 23:16:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA26491); Thu, 16 Jul 1998 00:11:34 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:11:17 +0100
Received: from out1.ibm.net [165.87.194.252] by hermes via ESMTP (AAA00612); Thu, 16 Jul 1998 00:11:10 +0100 (BST)
Received: from ibm.net (slip166-72-74-26.dc.us.ibm.net [166.72.74.26]) by out1.ibm.net (8.8.5/8.6.9) with ESMTP id XAA40634 for ; Wed, 15 Jul 1998 23:11:08 GMT
Message-Id: <35AD381C.B3F979EE@ibm.net>
Date: Wed, 15 Jul 1998 19:15:40 -0400
From: Job van Zuijlen 
Reply-To: zuijlen@ibm.net
X-Mailer: Mozilla 4.05 [en] (Win95; U)
Mime-Version: 1.0
To: Csound List 
Subject: Re: Csound sources (compiling)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I have been able to build Csound with the learning version of Visual C++
(also version 5.0) without problems.  The learning version is stripped 
down, but maybe that is an advantage.

Since I am new to this list, I will provide an introduction pretty soon.

Job van Zuijlen



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa22934;
          16 Jul 98 0:19 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa14051;
          16 Jul 98 0:19 BST
Received: (qmail 14109 invoked from network); 15 Jul 1998 23:19:32 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 15 Jul 1998 23:19:32 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA13380); Thu, 16 Jul 1998 00:16:11 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 00:14:39 +0100
Received: from howl.werewolf.net [206.103.224.20] by hermes via ESMTP (AAA19917); Thu, 16 Jul 1998 00:14:19 +0100 (BST)
Received: from hans7.cray.com (dial39.werewolf.net [206.103.225.49])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id SAA07818
	for ; Wed, 15 Jul 1998 18:12:57 -0500 (CDT)
From: Hans Mikelson 
To: Csound List 
Subject: Req: Orchestras and Scores was Re: list is sleepy
Date: Wed, 15 Jul 1998 18:16:07 -0500
Message-Id: <01bdb046$8b7d83e0$31e167ce@hans7.cray.com>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.71.1712.3
X-Mimeole: Produced By Microsoft MimeOLE V4.71.1712.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

Seems like it got sleepy last year at this time.  People must be
vacationing.  Here is a piece I just finished using terrain mapping
synthesis:

http://www.werewolf.net/~hljmm/csound/terrain.orc
http://www.werewolf.net/~hljmm/csound/terrain.sco

Anyone else care to contribute an orc/sco please?

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa24482;
          16 Jul 98 4:35 BST
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa03766;
          16 Jul 98 4:35 BST
Received: (qmail 19495 invoked from network); 16 Jul 1998 03:35:04 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 16 Jul 1998 03:35:04 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (EAA26830); Thu, 16 Jul 1998 04:31:40 +0100 (BST)
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 16 Jul 98 04:31:21 +0100
Received: from camel8.mindspring.com [207.69.200.58] by hermes via ESMTP (EAA08520); Thu, 16 Jul 1998 04:31:14 +0100 (BST)
Received: from axe (user-38ld1nt.dialup.mindspring.com [209.86.134.253])
	by camel8.mindspring.com (8.8.5/8.8.5) with SMTP id XAA11701
	for ; Wed, 15 Jul 1998 23:31:11 -0400 (EDT)
Message-Id: <002501bdb06b$8dd556c0$fd8656d1@axe>
From: Michael Gogins 
To: Csound list 
Subject: Re-entrant Csound
Date: Wed, 15 Jul 1998 23:40:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-Msmail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

As promised, here is my proposed API for a re-entrant Csound library that I
think will support building a DirectSound (ActiveMovie) transform filter or
plugin. I will gladly receive comments.

As you can see, the API is actually something a little bit more than that.
It is an abstract interface to a generic Csound-like synthesizer, so it
could be implemented using either Csound, or any other software synthesizer
that is fast enough, like Cmix or perhaps a speeded-up SAOLC.

#ifndef ISYNTHESIZER_H
#define ISYNTHESIZER_H
// I S Y N T H E S I Z E R
// Copyright (c) 1998 by Michael Gogins. All rights reserved.
// A U T H O R
// Michael Gogins
// P U R P O S E
// Defines the public abstract interface to a generic software synthesizer.
// Designed to be subclassed by various implementations of the interface,
e.g. Csound.
// I M P L E M E N T A T I O N   R E Q U I R E M E N T S
// All functions must return true for success or false for failure.
// All return values must be passed by reference in arguments.
// Synchronization must be controlled by timestamp, as follows:
// Input drivers must call the synthesizer's input callbacks (push
processing).
// As soon as any input callback has received a new timestamp
// (within the granularity of ksmps),
// the synthesizer must handle all the received input data,
// compute all the output data for the previous timestamp,
// and call all the output callbacks with the previous timestamp.
// Some implementations may not require or permit input or output callbacks,
// in which case they must create their own inputs and outputs according to
option settings.
class ISynthesizer
{
public:
 // Initialization.
 virtual long open()=0;
 virtual long close()=0;
 // Informational log callback.
 // Actual messages are implementation-dependent.
 typedef static long (LogCallback)(ISynthesizer *synthesizer, double
timestamp, const char *message);
 virtual long setLogCallback(LogCallback *callback);
 // Options.
 // Actual names and values are implementation-dependent.
 virtual long getOption(const char *option, const char **value)=0;
 virtual long setOption(const char *option, const char *value)=0;
 // Sets options in a batch, e.g. the Csound command line.
 virtual long getOptions(const char **commandLine)=0;
 virtual long setOptions(const char *commandLine)=0;
 // Synthesizer data is stored as well-formed Extensible Markup Language.
 // Some elements are implementation-dependent (ISynthesizer id ==
implementation).
 // Other elements are fixed for all implementations. Element tags are:
 // 
 //  
 //   
 //  
 //  
 //   text datatext data, e.g. Csound
instrument definition
 //  
 //  
 //   text datatext
data
 //  
 //  
 //   text data, e.g. pfields for Csound
 //  
 //  
 //   binary
data
 //  
 //  
 //   binary
data
 //  
 // 
 virtual long read(const char *xmlFilename)=0;
 virtual long write(const char *xmlFilename)=0;
 // Real-time control.
 virtual long initialize()=0;
 virtual long cue(double timestamp)=0;
 virtual long play()=0;
 virtual long stop()=0;
 virtual long pause()=0;
 virtual long resume()=0;
 // The format of commands is implementation-dependent, but commands could
be text representations of events.
 typedef static long (CommandIOCallback)(ISynthesizer *synthesizer, double
timestamp, const char *command);
 virtual long getCommandInputCallback(CommandIOCallback **callback)=0;
 virtual long setCommandOutputCallback(CommandIOCallback *callback)=0;
 // The format of events is implementation-dependent, but events could be
extended MIDI:
 // p1  == Instrument number (same as low-order nybble of MIDI status, or
channel, + 1).
 // p2  == Time in seconds.
 // p3  == Duration in seconds (can be 0).
 // p4  == Status (same as high-order nybble of MIDI status, plus additional
implementation-dependent values).
 // p5  == Pitch (same as MIDI data byte 1, or key number).
 // p6  == Loudness (same as MIDI data byte 2, or key velocity).
 // p7  == Phase (in radians).
 // p8  == X dimension of spatial location (in meters, listener at 0).
 // p9  == Y dimension of spatial location (in meters, listener at 0).
 // p10 == Z dimension of spatial location (in meters, listener at 0).
 typedef static long (EventIOCallback)(ISynthesizer *synthesizer, double
timestamp, long pfieldCount, double *pfields);
 virtual long getEventInputCallback(long bus, EventIOCallback **callback)=0;
 virtual long setEventOutputCallback(long bus, EventIOCallback *callback)=0;
 // Exactly ksmps * nchnls samples per timestamp.
 typedef static long (AudioIOCallback)(ISynthesizer *synthesizer, double
timestamp, double *samples);
 virtual long getAudioInputCallback(long bus, AudioIOCallback **callback,
long *ksmps, long *nchnls)=0;
 virtual long setAudioOutputCallback(long bus, AudioIOCallback *callback,
long ksmps, long nchnls)=0;
};

#endif