[Csnd] Relevance of Csound 5 books for Csound 6?
Date | 2013-05-11 12:50 |
From | John 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. |
Date | 2013-05-11 12:59 |
From | Victor Lazzarini |
Subject | Re: [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 |
Date | 2013-05-11 13:09 |
From | John 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. |
Date | 2013-05-11 15:29 |
From | \\js |
Subject | Re: [Csnd] Relevance of Csound 5 books for Csound 6? |
hi On Sat, 11 May 2013 07:59:32 -0400, Victor Lazzarini |
Date | 2013-05-11 15:53 |
From | jpff@cs.bath.ac.uk |
Subject | Re: [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 |
Date | 2013-05-12 03:05 |
From | John 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. |
Date | 2013-05-12 04:19 |
From | Michael Gogins |
Subject | Re: [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 Michael Gogins Irreducible Productions http://www.michael-gogins.com Michael dot Gogins at gmail dot com |