Csound Csound-dev Csound-tekno Search About

[Csnd] Relevance of Csound 5 books for Csound 6?

Date2013-05-11 12:50
FromJohn Colgrove
Subject[Csnd] Relevance of Csound 5 books for Csound 6?
I'm curious about something. What's the transition to Csound 6 going to be
like for a user learning out of books pertaining to Csound 5? Will those
books have to be updated to support version 6 changes? Will code written in
version 5 be more or less compatible with version 6 (of course a few changes
are expected)?



--
View this message in context: http://csound.1045644.n5.nabble.com/Relevance-of-Csound-5-books-for-Csound-6-tp5723188.html
Sent from the Csound - General mailing list archive at Nabble.com.

Date2013-05-11 12:59
FromVictor Lazzarini
SubjectRe: [Csnd] Relevance of Csound 5 books for Csound 6?
There is full compatibility from the first released version of Csound in 1986. There is good compatibility with MUSIC11 all the way back to the 1970s.
It might be also possible to convert MUSIC360 code to Csound, bringing it back to 1968. 

So there is no loss of relevance. Of course new features are only supported in Csound 6, but that has always been the case with new releases.

Victor
On 11 May 2013, at 12:50, John Colgrove wrote:

> I'm curious about something. What's the transition to Csound 6 going to be
> like for a user learning out of books pertaining to Csound 5? Will those
> books have to be updated to support version 6 changes? Will code written in
> version 5 be more or less compatible with version 6 (of course a few changes
> are expected)?
> 
> 
> 
> --
> View this message in context: http://csound.1045644.n5.nabble.com/Relevance-of-Csound-5-books-for-Csound-6-tp5723188.html
> Sent from the Csound - General mailing list archive at Nabble.com.
> 
> 
> Send bugs reports to the Sourceforge bug tracker
>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
> 

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie





Date2013-05-11 13:09
FromJohn Colgrove
Subject[Csnd] Re: Relevance of Csound 5 books for Csound 6?
I figured as much but I just wanted to ask. Although, I would never have
guessed full compatibility went that far back with Csound.

I never heard of MUSIC11 or MUSIC360. Then again, I probably wasn't even
thought of at that time! Haha



--
View this message in context: http://csound.1045644.n5.nabble.com/Relevance-of-Csound-5-books-for-Csound-6-tp5723188p5723194.html
Sent from the Csound - General mailing list archive at Nabble.com.

Date2013-05-11 15:29
From\\js
SubjectRe: [Csnd] Relevance of Csound 5 books for Csound 6?
hi

On Sat, 11 May 2013 07:59:32 -0400, Victor Lazzarini  
 wrote:
> There is full compatibility from the first released version of Csound in  
> 1986. There is good compatibility with MUSIC11 all the way back to the  
> 1970s.
> It might be also possible to convert MUSIC360 code to Csound, bringing  
> it back to 1968.

yeah- *this* is why i love csound [and open source in general]. of course,  
it's an amazing software synthesizer- flexible as water and like water  
allows its usefulness to manifest in different ways [realtime to orc/sco];  
but the kindness [maybe that's overstating, but maybe not] of the devs to  
think of all of those people making music with earlier versions, on old  
hardware, maybe in an institutional setting where things cannot be so  
readily upgraded, or maybe a particular artist only needs a very small set  
of the functionality ...

they are all taken into account as the software changes over time.

it almost restores my faith in humanity ... :-P

-- 
\js

Date2013-05-11 15:53
Fromjpff@cs.bath.ac.uk
SubjectRe: [Csnd] Re: Relevance of Csound 5 books for Csound 6?
Just to add that if you want to USE csound then the earlier books are
useful and correct.  If however you want to dive into the internals there
are significant changes.  compatability refers to user level, and in
particular pieces.

==John ff




Date2013-05-12 03:05
FromJohn Colgrove
Subject[Csnd] Re: Relevance of Csound 5 books for Csound 6?
So if I'm understanding this right, if I wanted to eventually develop opcodes
(mainly lua opcodes), that's where it would make a difference?


jpff wrote
> Just to add that if you want to USE csound then the earlier books are
> useful and correct.  If however you want to dive into the internals there
> are significant changes.  compatability refers to user level, and in
> particular pieces.
> 
> ==John ff





--
View this message in context: http://csound.1045644.n5.nabble.com/Relevance-of-Csound-5-books-for-Csound-6-tp5723188p5723262.html
Sent from the Csound - General mailing list archive at Nabble.com.

Date2013-05-12 04:19
FromMichael Gogins
SubjectRe: [Csnd] Re: Relevance of Csound 5 books for Csound 6?
As jpff said, Csound orchestra and score code that ran in Csound 5 should run in Csound 6, only maybe faster in some cases if you use multiple threads, or more precisely if you use sample accurate scheduling.

I found a lot of C and C++ clients of the Csound API also worked fine either just by recompiling, or with slight changes.

The two Lua opcode examples in examples\opcode_demos in the Csound 6 git repository work fine for me, although they might not if you specified sample accurate timing.

It's in writing opcodes whether in C or any other language that there are differences, mainly because of the sample accurate timing. You can see the required changes in the fluidOpcodes.cpp file. The changes are that if ksmps_offset is nonzero, you start computing samples at the offset, and if ksmps_no_end is nonzero, you reduce ksmps by that amount. Both of these offsets, if they exist, should be zeroed out. If you do not use sample accurate timing in performance, earlier code and this code will behave the same.

          uint32_t offset = opds.insdshead->ksmps_offset;
          uint32_t early  = opds.insdshead->ksmps_no_end;
          if (UNLIKELY(offset)) {
            memset(aLeftOut, '\0', offset*sizeof(MYFLT));
            memset(aRightOut, '\0', offset*sizeof(MYFLT));
             }
          if (UNLIKELY(early)) {
            ksmps -= early;
            memset(&aLeftOut[ksmps], '\0', early*sizeof(MYFLT));
            memset(&aRightOut[ksmps], '\0', early*sizeof(MYFLT));
          }
         for (frame = offset; frame < ksmps; frame++) {
            leftSample = 0.0f;
            rightSample = 0.0f;
            fluid_synth_write_float(fluidSynth, 1, &leftSample, 0, 1,
                                    &rightSample, 0, 1);
            aLeftOut[frame] = leftSample /* * csound->e0dbfs */;
            aRightOut[frame] = rightSample /* * csound->e0dbfs */;
          }


Hope this helps,
Mike



On Sat, May 11, 2013 at 10:05 PM, John Colgrove <alpha.omega23@ymail.com> wrote:
So if I'm understanding this right, if I wanted to eventually develop opcodes
(mainly lua opcodes), that's where it would make a difference?


jpff wrote
> Just to add that if you want to USE csound then the earlier books are
> useful and correct.  If however you want to dive into the internals there
> are significant changes.  compatability refers to user level, and in
> particular pieces.
>
> ==John ff





--
View this message in context: http://csound.1045644.n5.nabble.com/Relevance-of-Csound-5-books-for-Csound-6-tp5723188p5723262.html
Sent from the Csound - General mailing list archive at Nabble.com.


Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"




--
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com