Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] more than one string in an i-statement

Date2007-04-27 16:13
FromVictor Lazzarini
SubjectRe: [Cs-dev] more than one string in an i-statement
I would be against introducing a dependency on Boost to the
csound core.

Victor

At 16:07 27/04/2007, you wrote:
>Better yet, the pfields should be variants; each pfield should be allowed 
>to be any one of a predefined set of types that would at least include 
>int, real, boolean, string. I would not want to get too fancy with this!
>
>boost::any provides an efficient, easy to use encapsulation of this kind 
>of facility in C++, which is another argument for moving the Csound 
>internals from C to C++. I don't want to wait around for weeks or months 
>while people hammer out some implementation in C of what already works 
>perfectly in C++.
>
>Regards,
>Mike
>
>-----Original Message-----
> >From: Victor Lazzarini 
> >Sent: Apr 27, 2007 4:40 AM
> >To: Developer discussions 
> >Subject: Re: [Cs-dev] more than one string in an i-statement
> >
> >I think we should have a plan for a change in the API. Perhaps we
> >should wait for other changes before doing, so they are all done
> >in one go. So, for now, we don't do anything, but add this to a list
> >of future API changes. When that list is big enough or there is a
> >good reason for modifying the API, then we will do it.
> >
> >
> >At 02:42 27/04/2007, you wrote:
> >>Please keep in mind that if you change the EVTBLK structure to allow for
> >>more than one string, then you will also need to change the EVENT structure
> >>in cscore.h which is part of the Cscore API.  This will be an incompatible
> >>change to the API (our first) and will require the API version number to be
> >>increased to 2.0.  Increasing the API major version will require all host
> >>applications that dynamically link to Csound to be recompiled even though
> >>this change will likely not affect them.  Existing user cscore programs 
> will
> >>all need to be recompiled and will likely crash if they are loaded with the
> >>new library.
> >>
> >>None of this means that we should not make this improvement.  But these are
> >>the consequences of this particular change unless you can think of a way to
> >>avoid changing EVTBLK.
> >>
> >>If you do change EVTBLK, I would suggest that we do away with the "magic
> >>number" (*) for indicating a string p-field and instead have an array of
> >>bools.  I have not yet been able to cause anything really bad to happen 
> as a
> >>result of this hack but the CSD below certainly could be considered to
> >>behave a little "strangely".
> >>
> >>Also, I don't know if we can save space by using a union { char * ; MYFLT }
> >>for each p-field but that may not be a good idea either if it changes how
> >>Cscore users access p-fields from their code.
> >>
> >>Anthony
> >>
> >>
> >>
> >>sr      = 10
> >>kr      = 10
> >>
> >>instr 1
> >>         print   p4
> >>   ifile fiopen  p4, 1
> >>endin
> >>
> >>
> >>
> >>
> >>i1 0 1 "test string"
> >>i1 1 1 3945467
> >>e
> >>
> >>
> >>
> >>
> >>* By the way, did the magic number (SSTRCOD) change between Csound 4 & 5 or
> >>has it changed since Csound 5.00 was released?  I thought that it used 
> to be
> >>1048576 and it is now 3945467.  Am I confused?
> >>
> >>Victor Lazzarini wrote on 4/26/07 11:35 AM:
> >>
> >> > Yes, more than one string in an i-statement should be enabled,
> >> > that should be one of the items in the to-do list. At the moment the 
> data
> >> > structure that holds i-statements has only one slot for strings, so
> >> > I suppose that's where we should start.
> >>
> >>
> >>-------------------------------------------------------------------------
> >>This SF.net email is sponsored by DB2 Express
> >>Download DB2 Express C - the FREE version of DB2 express and take
> >>control of your XML. No limits. Just data. Click to get it now.
> >>http://sourceforge.net/powerbar/db2/
> >>_______________________________________________
> >>Csound-devel mailing list
> >>Csound-devel@lists.sourceforge.net
> >>https://lists.sourceforge.net/lists/listinfo/csound-devel
> >
> >Victor Lazzarini
> >Music Technology Laboratory
> >Music Department
> >National University of Ireland, Maynooth
> >
> >
> >-------------------------------------------------------------------------
> >This SF.net email is sponsored by DB2 Express
> >Download DB2 Express C - the FREE version of DB2 express and take
> >control of your XML. No limits. Just data. Click to get it now.
> >http://sourceforge.net/powerbar/db2/
> >_______________________________________________
> >Csound-devel mailing list
> >Csound-devel@lists.sourceforge.net
> >https://lists.sourceforge.net/lists/listinfo/csound-devel
>
>
>
>
>-------------------------------------------------------------------------
>This SF.net email is sponsored by DB2 Express
>Download DB2 Express C - the FREE version of DB2 express and take
>control of your XML. No limits. Just data. Click to get it now.
>http://sourceforge.net/powerbar/db2/
>_______________________________________________
>Csound-devel mailing list
>Csound-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/csound-devel

Victor Lazzarini
Music Technology Laboratory
Music Department
National University of Ireland, Maynooth


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net