Csound Csound-dev Csound-tekno Search About

[Csnd-dev] About 10 days to planned release o 6.08

Date2016-11-15 18:50
Fromjpff
Subject[Csnd-dev] About 10 days to planned release o 6.08
Barring sudden problems we are well set for a release for Csound30.
So if you think there is anything missing  now is the time to talk.

Draft release notes  below
==John ffitch


# CSOUND VERSION 6.08 RELEASE NOTES

As usual there are a number of opcode fixes and improvements, but the
major changes are in the language structures.  First the score language
has all-new treatment of macros and preprocessing, bringing it in line
with those of the orchestra.  The parsing of the orchestra has had a
number of fixes as outlined below.

A major, and not totally compatible change as been made in reading and
writing array elements.  The rate of the index now often determines
the time of processing; check the entry below under *Orchestra*.  This
simplifies much code and seems to capture expectations; the earlier ad
hoc code had many anomalies.

Also as usual there are a number of new opcodes and internal fixes
to memory leaks and more robust code.
  
-- The Developers

## USER-LEVEL CHANGES

### New opcodes

- dct -- Discrete Cosine Transform of a sample array (type-II DCT)

- getftargs -- copy arguments of a gen to an S-variable

- mfb -- implements a mel-frequency filter-bank for an array of input
  magnitudes 

### New Gen and Macros

- quadbezier -- generating Bezier curves in a table

### Orchestra

- The character ¬ is now correctly treated as a variant of ~ for bitwise not

- Lexing bug which could corrupt strings fixed

- Ensure no newlines in string-lexing

- Small improvement in reported line numbers

- Better checking of macro syntax

- Improved parsing of setting of labels

- Added error handling for unmatched brackets for UDO arg specification

- Check that `#included` file is not a directory

- Deeply nested macro calls better policed

- For years Csound has fixed the pitch of A4 at 440Hz.  Now this can be set in the header using the new r-variable A4, and also read with that variable

- Floating point values can use e or E for exponent

- Array access semantics have been clarified:

	- i[i]  => reading at i-time and perf-time, writing at i-time
    only.
	- i[k] =>  reading at perf-time, writing yields a runtime error
	- k[i], k[k] =>  reading at perf-time, writing at perf-time
	- a[i], a[k] => reading at perf-time, writing at perf-time
    - other (S[], f[]) => reading and writing according to index type (i,k).
   
In particular, i(k[i]) will continue not to work, as before, but the new operator
i(k[],i) is provided to cover this case.

- xout validation no longer fails when constants are given

### Score

- New code to handle macros and other preprocessor commands. Brings it
  into line with orchestra code

- New score opcode C introduced as a way of switching automatic carry off (`C 0`)
  or on (default) (`C 1`)

### Options

- The tempo setting can now be a floating point value (previously fixed to integer)

- New option --version prints version information and exits

### Modified Opcodes and Gens

- Problems in centroid fixed.

- Better treatment of rounding in printks

- OSC extended to include multicast

- Faust opcodes brought up to date with faust

- oscil1 and oscili can take a negative duration

- fout opcode documentation clarified

- Release time in mxadsr fixed

- centroid opcode  extended to take array inputs in addition

- ptable opcodes are now identical to table family

- ftgen now as array input option

- subinstr can now have string arguments

- the i() format is extended to work on k-rate arrays with the first
  argument being an array, followed by the indices
  
### Utilities

- pvlook now always prints explicit analysis window name
     
### Frontends

- icsound:

- csound~:

- csdebugger:
  
- HTML5

 - csound.node: Implemented for Linux, minor API fix.

 - pnacl: Added compileCsdText method to csound object

 - Emscripten:

- CsoundQT:

### General Usage

- Checking of valid macro names improved

- ```#undef``` fixed

## Bugs Fixed

- Fixes to prints in format use

- jitter2 reworked to make it more like the manual.

- oscbank has had multiple fixes and now works as advertised

- bformdec1 with arrays and type 4 fixed

- Bug in pvsceps fixed

- In various formatted print opcodes extra trash characters might appear -- fixed

- Assigning variables with --sample-accurate could give unexpected results; this is believed fixed now

- padsynth square profile fix, and opcode prints less depending on warn level

- gen31 fixed

- gen41 fixed

- Bug in sensekey fixed
    
- A number of issues in centroid fixed

- An internal miscalculation of variable sizes that only affected 32bit
  architectures fixed
    
## SYSTEM LEVEL CHANGES

### System Changes

- New score lexing and preprocessor

- MAC line endings now work again

- System information messages (system sampling rate, etc) are now directed to stdout

- rtjack reworked to deal with names and numbers

- The version printing now includes the commit as so the developers
  know which patches have been applied 

### API

- API version now 4.0

- Now supports named gens

- fterror now in API

- API functions SetOutput and GetOutputFormat fixed

- Many API functions now use const where appropriate

- Messages can now be directed to stdout from the API by using CSOUNDMSG_STDOUT attribute
    
- New Lisp CFFI and FFI interfaces tested with Steel Bank Common Lisp (64 bit CPU architecture), runs in separate thread

- ctcsound.py, a new FFI interface for Python was introduced in version 6.07. It is now the recommended interface for Python,
  csnd6.py being deprecated.

### Platform Specific

- iOS

- Android

 - Multichannel input and output allowed

- Windows

 - csound64.lib import library added to Windows installer
    
- OSX

 - Minor issues with installer fixed 

- GNU/Linux

Date2016-11-16 09:45
FromTarmo Johannes
SubjectRe: [Csnd-dev] About 10 days to planned release o 6.08

Hi,

 

I am making best effort I can to include also CsoundQt 0.9.3 in the release (in the Windows and OSX installer) - hope to get it done and release notes written in coming days.

 

tarmo

 

On Tuesday, November 15, 2016 06:50:53 PM you wrote:

> Barring sudden problems we are well set for a release for Csound30.

> So if you think there is anything missing now is the time to talk.

>

> Draft release notes below

> ==John ffitch

>

>

> # CSOUND VERSION 6.08 RELEASE NOTES

>

> As usual there are a number of opcode fixes and improvements, but the

> major changes are in the language structures. First the score language

> has all-new treatment of macros and preprocessing, bringing it in line

> with those of the orchestra. The parsing of the orchestra has had a

> number of fixes as outlined below.

>

> A major, and not totally compatible change as been made in reading and

> writing array elements. The rate of the index now often determines

> the time of processing; check the entry below under *Orchestra*. This

> simplifies much code and seems to capture expectations; the earlier ad

> hoc code had many anomalies.

>

> Also as usual there are a number of new opcodes and internal fixes

> to memory leaks and more robust code.

>

> -- The Developers

>

> ## USER-LEVEL CHANGES

>

> ### New opcodes

>

> - dct -- Discrete Cosine Transform of a sample array (type-II DCT)

>

> - getftargs -- copy arguments of a gen to an S-variable

>

> - mfb -- implements a mel-frequency filter-bank for an array of input

> magnitudes

>

> ### New Gen and Macros

>

> - quadbezier -- generating Bezier curves in a table

>

> ### Orchestra

>

> - The character ¬ is now correctly treated as a variant of ~ for bitwise

> not

>

> - Lexing bug which could corrupt strings fixed

>

> - Ensure no newlines in string-lexing

>

> - Small improvement in reported line numbers

>

> - Better checking of macro syntax

>

> - Improved parsing of setting of labels

>

> - Added error handling for unmatched brackets for UDO arg specification

>

> - Check that `#included` file is not a directory

>

> - Deeply nested macro calls better policed

>

> - For years Csound has fixed the pitch of A4 at 440Hz. Now this can be set

> in the header using the new r-variable A4, and also read with that variable

>

> - Floating point values can use e or E for exponent

>

> - Array access semantics have been clarified:

>

> - i[i] => reading at i-time and perf-time, writing at i-time

> only.

> - i[k] => reading at perf-time, writing yields a runtime error

> - k[i], k[k] => reading at perf-time, writing at perf-time

> - a[i], a[k] => reading at perf-time, writing at perf-time

> - other (S[], f[]) => reading and writing according to index type (i,k).

>

> In particular, i(k[i]) will continue not to work, as before, but the new

> operator i(k[],i) is provided to cover this case.

>

> - xout validation no longer fails when constants are given

>

> ### Score

>

> - New code to handle macros and other preprocessor commands. Brings it

> into line with orchestra code

>

> - New score opcode C introduced as a way of switching automatic carry off

> (`C 0`) or on (default) (`C 1`)

>

> ### Options

>

> - The tempo setting can now be a floating point value (previously fixed to

> integer)

>

> - New option --version prints version information and exits

>

> ### Modified Opcodes and Gens

>

> - Problems in centroid fixed.

>

> - Better treatment of rounding in printks

>

> - OSC extended to include multicast

>

> - Faust opcodes brought up to date with faust

>

> - oscil1 and oscili can take a negative duration

>

> - fout opcode documentation clarified

>

> - Release time in mxadsr fixed

>

> - centroid opcode extended to take array inputs in addition

>

> - ptable opcodes are now identical to table family

>

> - ftgen now as array input option

>

> - subinstr can now have string arguments

>

> - the i() format is extended to work on k-rate arrays with the first

> argument being an array, followed by the indices

>

> ### Utilities

>

> - pvlook now always prints explicit analysis window name

>

> ### Frontends

>

> - icsound:

>

> - csound~:

>

> - csdebugger:

>

> - HTML5

>

> - csound.node: Implemented for Linux, minor API fix.

>

> - pnacl: Added compileCsdText method to csound object

>

> - Emscripten:

>

> - CsoundQT:

>

> ### General Usage

>

> - Checking of valid macro names improved

>

> - ```#undef``` fixed

>

> ## Bugs Fixed

>

> - Fixes to prints in format use

>

> - jitter2 reworked to make it more like the manual.

>

> - oscbank has had multiple fixes and now works as advertised

>

> - bformdec1 with arrays and type 4 fixed

>

> - Bug in pvsceps fixed

>

> - In various formatted print opcodes extra trash characters might appear --

> fixed

>

> - Assigning variables with --sample-accurate could give unexpected results;

> this is believed fixed now

>

> - padsynth square profile fix, and opcode prints less depending on warn

> level

>

> - gen31 fixed

>

> - gen41 fixed

>

> - Bug in sensekey fixed

>

> - A number of issues in centroid fixed

>

> - An internal miscalculation of variable sizes that only affected 32bit

> architectures fixed

>

> ## SYSTEM LEVEL CHANGES

>

> ### System Changes

>

> - New score lexing and preprocessor

>

> - MAC line endings now work again

>

> - System information messages (system sampling rate, etc) are now directed

> to stdout

>

> - rtjack reworked to deal with names and numbers

>

> - The version printing now includes the commit as so the developers

> know which patches have been applied

>

> ### API

>

> - API version now 4.0

>

> - Now supports named gens

>

> - fterror now in API

>

> - API functions SetOutput and GetOutputFormat fixed

>

> - Many API functions now use const where appropriate

>

> - Messages can now be directed to stdout from the API by using

> CSOUNDMSG_STDOUT attribute

>

> - New Lisp CFFI and FFI interfaces tested with Steel Bank Common Lisp (64

> bit CPU architecture), runs in separate thread

>

> - ctcsound.py, a new FFI interface for Python was introduced in version

> 6.07. It is now the recommended interface for Python, csnd6.py being

> deprecated.

>

> ### Platform Specific

>

> - iOS

>

> - Android

>

> - Multichannel input and output allowed

>

> - Windows

>

> - csound64.lib import library added to Windows installer

>

> - OSX

>

> - Minor issues with installer fixed

>

> - GNU/Linux

>

> ==END==

 


Date2016-11-16 18:50
FromGuillermo Senna
SubjectRe: [Csnd-dev] About 10 days to planned release o 6.08
Attachmentsgetftargs.c  
Hi John,

Do you think there's time to include the last version of getftargs? I've
tested it and don't see any problems. Although,  as I've said in the
past I'm mostly used to C++ and I'm just getting the hang of C.

It's an implementation change so there's no need to update the Manual or
anything else.

Thanks!

On 15/11/16 15:50, jpff wrote:
> Barring sudden problems we are well set for a release for Csound30.
> So if you think there is anything missing  now is the time to talk.
>
> Draft release notes  below
> ==John ffitch
>
>
> # CSOUND VERSION 6.08 RELEASE NOTES
>
> As usual there are a number of opcode fixes and improvements, but the
> major changes are in the language structures.  First the score language
> has all-new treatment of macros and preprocessing, bringing it in line
> with those of the orchestra.  The parsing of the orchestra has had a
> number of fixes as outlined below.
>
> A major, and not totally compatible change as been made in reading and
> writing array elements.  The rate of the index now often determines
> the time of processing; check the entry below under *Orchestra*.  This
> simplifies much code and seems to capture expectations; the earlier ad
> hoc code had many anomalies.
>
> Also as usual there are a number of new opcodes and internal fixes
> to memory leaks and more robust code.
>   
> -- The Developers
>
> ## USER-LEVEL CHANGES
>
> ### New opcodes
>
> - dct -- Discrete Cosine Transform of a sample array (type-II DCT)
>
> - getftargs -- copy arguments of a gen to an S-variable
>
> - mfb -- implements a mel-frequency filter-bank for an array of input
>   magnitudes 
>
> ### New Gen and Macros
>
> - quadbezier -- generating Bezier curves in a table
>
> ### Orchestra
>
> - The character ¬ is now correctly treated as a variant of ~ for bitwise not
>
> - Lexing bug which could corrupt strings fixed
>
> - Ensure no newlines in string-lexing
>
> - Small improvement in reported line numbers
>
> - Better checking of macro syntax
>
> - Improved parsing of setting of labels
>
> - Added error handling for unmatched brackets for UDO arg specification
>
> - Check that `#included` file is not a directory
>
> - Deeply nested macro calls better policed
>
> - For years Csound has fixed the pitch of A4 at 440Hz.  Now this can be set in the header using the new r-variable A4, and also read with that variable
>
> - Floating point values can use e or E for exponent
>
> - Array access semantics have been clarified:
>
> 	- i[i]  => reading at i-time and perf-time, writing at i-time
>     only.
> 	- i[k] =>  reading at perf-time, writing yields a runtime error
> 	- k[i], k[k] =>  reading at perf-time, writing at perf-time
> 	- a[i], a[k] => reading at perf-time, writing at perf-time
>     - other (S[], f[]) => reading and writing according to index type (i,k).
>    
> In particular, i(k[i]) will continue not to work, as before, but the new operator
> i(k[],i) is provided to cover this case.
>
> - xout validation no longer fails when constants are given
>
> ### Score
>
> - New code to handle macros and other preprocessor commands. Brings it
>   into line with orchestra code
>
> - New score opcode C introduced as a way of switching automatic carry off (`C 0`)
>   or on (default) (`C 1`)
>
> ### Options
>
> - The tempo setting can now be a floating point value (previously fixed to integer)
>
> - New option --version prints version information and exits
>
> ### Modified Opcodes and Gens
>
> - Problems in centroid fixed.
>
> - Better treatment of rounding in printks
>
> - OSC extended to include multicast
>
> - Faust opcodes brought up to date with faust
>
> - oscil1 and oscili can take a negative duration
>
> - fout opcode documentation clarified
>
> - Release time in mxadsr fixed
>
> - centroid opcode  extended to take array inputs in addition
>
> - ptable opcodes are now identical to table family
>
> - ftgen now as array input option
>
> - subinstr can now have string arguments
>
> - the i() format is extended to work on k-rate arrays with the first
>   argument being an array, followed by the indices
>   
> ### Utilities
>
> - pvlook now always prints explicit analysis window name
>      
> ### Frontends
>
> - icsound:
>
> - csound~:
>
> - csdebugger:
>   
> - HTML5
>
>  - csound.node: Implemented for Linux, minor API fix.
>
>  - pnacl: Added compileCsdText method to csound object
>
>  - Emscripten:
>
> - CsoundQT:
>
> ### General Usage
>
> - Checking of valid macro names improved
>
> - ```#undef``` fixed
>
> ## Bugs Fixed
>
> - Fixes to prints in format use
>
> - jitter2 reworked to make it more like the manual.
>
> - oscbank has had multiple fixes and now works as advertised
>
> - bformdec1 with arrays and type 4 fixed
>
> - Bug in pvsceps fixed
>
> - In various formatted print opcodes extra trash characters might appear -- fixed
>
> - Assigning variables with --sample-accurate could give unexpected results; this is believed fixed now
>
> - padsynth square profile fix, and opcode prints less depending on warn level
>
> - gen31 fixed
>
> - gen41 fixed
>
> - Bug in sensekey fixed
>     
> - A number of issues in centroid fixed
>
> - An internal miscalculation of variable sizes that only affected 32bit
>   architectures fixed
>     
> ## SYSTEM LEVEL CHANGES
>
> ### System Changes
>
> - New score lexing and preprocessor
>
> - MAC line endings now work again
>
> - System information messages (system sampling rate, etc) are now directed to stdout
>
> - rtjack reworked to deal with names and numbers
>
> - The version printing now includes the commit as so the developers
>   know which patches have been applied 
>
> ### API
>
> - API version now 4.0
>
> - Now supports named gens
>
> - fterror now in API
>
> - API functions SetOutput and GetOutputFormat fixed
>
> - Many API functions now use const where appropriate
>
> - Messages can now be directed to stdout from the API by using CSOUNDMSG_STDOUT attribute
>     
> - New Lisp CFFI and FFI interfaces tested with Steel Bank Common Lisp (64 bit CPU architecture), runs in separate thread
>
> - ctcsound.py, a new FFI interface for Python was introduced in version 6.07. It is now the recommended interface for Python,
>   csnd6.py being deprecated.
>
> ### Platform Specific
>
> - iOS
>
> - Android
>
>  - Multichannel input and output allowed
>
> - Windows
>
>  - csound64.lib import library added to Windows installer
>     
> - OSX
>
>  - Minor issues with installer fixed 
>
> - GNU/Linux
>
> ==END==


Date2016-11-16 19:32
Fromjpff
SubjectRe: [Csnd-dev] About 10 days to planned release o 6.08
Tere is time; so send me the code if yo do not ave diect access, o do a 
pull request

On Wed, 16 Nov 2016, Guillermo Senna wrote:

> Hi John,
>
> Do you think there's time to include the last version of getftargs? I've
> tested it and don't see any problems. Although,  as I've said in the
> past I'm mostly used to C++ and I'm just getting the hang of C.
>
> It's an implementation change so there's no need to update the Manual or
> anything else.
>
> Thanks!
>
> On 15/11/16 15:50, jpff wrote:
>> Barring sudden problems we are well set for a release for Csound30.
>> So if you think there is anything missing  now is the time to talk.
>>
>> Draft release notes  below
>> ==John ffitch

Date2016-11-16 19:55
FromGuillermo Senna
SubjectRe: [Csnd-dev] About 10 days to planned release o 6.08
Oh, great! I've attached the code in the previous message. Is the server
that handles the mailing list blocking it by any chance?


On 16/11/16 16:32, jpff wrote:
> Tere is time; so send me the code if yo do not ave diect access, o do
> a pull request
>
> On Wed, 16 Nov 2016, Guillermo Senna wrote:
>
>> Hi John,
>>
>> Do you think there's time to include the last version of getftargs? I've
>> tested it and don't see any problems. Although,  as I've said in the
>> past I'm mostly used to C++ and I'm just getting the hang of C.
>>
>> It's an implementation change so there's no need to update the Manual or
>> anything else.
>>
>> Thanks!
>>
>> On 15/11/16 15:50, jpff wrote:
>>> Barring sudden problems we are well set for a release for Csound30.
>>> So if you think there is anything missing  now is the time to talk.
>>>
>>> Draft release notes  below
>>> ==John ffitch

Date2016-11-16 20:00
FromVictor Lazzarini
SubjectRe: [Csnd-dev] About 10 days to planned release o 6.08
why don't you do a pull request, it's much easier that way.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

> On 16 Nov 2016, at 19:56, Guillermo Senna  wrote:
> 
> Oh, great! I've attached the code in the previous message. Is the server
> that handles the mailing list blocking it by any chance?
> 
> 
>> On 16/11/16 16:32, jpff wrote:
>> Tere is time; so send me the code if yo do not ave diect access, o do
>> a pull request
>> 
>> On Wed, 16 Nov 2016, Guillermo Senna wrote:
>> 
>>> Hi John,
>>> 
>>> Do you think there's time to include the last version of getftargs? I've
>>> tested it and don't see any problems. Although,  as I've said in the
>>> past I'm mostly used to C++ and I'm just getting the hang of C.
>>> 
>>> It's an implementation change so there's no need to update the Manual or
>>> anything else.
>>> 
>>> Thanks!
>>> 
>>>> On 15/11/16 15:50, jpff wrote:
>>>> Barring sudden problems we are well set for a release for Csound30.
>>>> So if you think there is anything missing  now is the time to talk.
>>>> 
>>>> Draft release notes  below
>>>> ==John ffitch

Date2016-11-16 20:29
Fromjpff
SubjectRe: [Csnd-dev] About 10 days to planned release o 6.08
It was attached -- my mailer did not show it -- my fault


On Wed, 16 Nov 2016, Guillermo Senna wrote:

> Oh, great! I've attached the code in the previous message. Is the server
> that handles the mailing list blocking it by any chance?

Date2016-11-17 07:18
FromGuillermo Senna
SubjectRe: [Csnd-dev] About 10 days to planned release o 6.08
Thanks John! I can see the commit in Github now. I've forked the Csound
repo and next time I'll just try to do a pull request. Although I'll
probably still bother you all to check my code!

Cheers.


On 16/11/16 17:29, jpff wrote:
> It was attached -- my mailer did not show it -- my fault
>
>
> On Wed, 16 Nov 2016, Guillermo Senna wrote:
>
>> Oh, great! I've attached the code in the previous message. Is the server
>> that handles the mailing list blocking it by any chance?

Date2016-11-22 19:44
FromRory Walsh
SubjectRe: [Csnd-dev] About 10 days to planned release o 6.08
Hi John. There was a small issue with the ftsamplebank opcode whereby file extensions were not being read correctly in a small number of cases. It's fixed now, and Steven has kindly added it to the source. I'm not sure this needs to go in the release notes, but I thought I mention it anyway. Thanks.  

On 17 November 2016 at 07:18, Guillermo Senna <gsenna@gmail.com> wrote:
Thanks John! I can see the commit in Github now. I've forked the Csound
repo and next time I'll just try to do a pull request. Although I'll
probably still bother you all to check my code!

Cheers.


On 16/11/16 17:29, jpff wrote:
> It was attached -- my mailer did not show it -- my fault
>
>
> On Wed, 16 Nov 2016, Guillermo Senna wrote:
>
>> Oh, great! I've attached the code in the previous message. Is the server
>> that handles the mailing list blocking it by any chance?
>>