Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] Recent changes break API compatibility?

Date2008-09-11 03:29
FromMichael Gogins
SubjectRe: [Cs-dev] Recent changes break API compatibility?
I think we should increment the API major version number. Alternatively, I can move these members to the end of the struct and see if it still breaks compatibility.

Regards,
Mike

-----Original Message-----
>From: Anthony Kozar 
>Sent: Sep 10, 2008 10:18 PM
>To: Csound Developer list 
>Subject: Re: [Cs-dev] Recent changes break API compatibility?
>
>I have confirmed that backwards compatibility of the Csound library has been
>broken due (at least) to the addition of the spoutlock and spinlock struct
>members below.  I tried a barmodel plugin compiled with 5.08 with the
>current 5.09 sources and it crashed Csound.  No crash with pure 5.08 or puer
>5.09.
>
>Will this and any other potential breaks to the API be fixed before 5.09 is
>released or will the API major version number be increased?
>
>Anthony
>
>Michael Gogins wrote on 9/9/08 8:30 AM:
>
>> You are correct, Csound API compatibility is not being preserved.
>> 
>> I also noticed that the Csound structure is not declared with sized types,
>> e.g. int is used instead of int32 or int64 or whatever.
>> 
>> Regards,
>> Mike
>> 
>> -----Original Message-----
>>> From: Anthony Kozar 
>>> Sent: Sep 9, 2008 2:20 AM
>>> To: New Csound Developer list 
>>> Subject: [Cs-dev] Recent changes break API compatibility?
>>> 
>>> I am just looking through various changes over the past few months and I
>>> noticed a number of things that make me wonder if API compatibility is being
>>> preserved.
>>> 
>>> Most recently, two new variables, spoutlock and spinlock, were added to the
>>> middle of the public section of the CSOUND struct:
>>> 
>>> int    ksmps, global_ksmps, nchnls, spoutactive, spoutlock, spinlock;
>
>
>-------------------------------------------------------------------------
>This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
>Build the coolest Linux based applications with Moblin SDK & win great prizes
>Grand prize is a trip for two to an Open Source event anywhere in the world
>http://moblin-contest.org/redirect.php?banner_id=100&url=/
>_______________________________________________
>Csound-devel mailing list
>Csound-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/csound-devel




-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-09-11 04:38
FromAnthony Kozar
SubjectRe: [Cs-dev] Recent changes break API compatibility?
I _think_ moving them to the end of the public section of the struct would
maintain compatibility.  But then there is the possible issue that I
mentioned with long -> int32.

I seem to recall that there were a number of desired changes that have been
put off because they would break compatibility.  I would recommend that
these either be all done at once or that we maintain compatibility.  I don't
think that we should increase the major version number for trivial changes
either.  As you know, that will force the need for the recompilation of all
third-party hosts and plugins.  (MacCsound in particular has not been
updated for awhile but is still popular ...)

If compatibility is maintained for 5.09, I will point out that the minor API
version number should be incremented to 7 since it has not been changed yet.

Anthony 

Michael Gogins wrote on 9/10/08 10:29 PM:

> I think we should increment the API major version number. Alternatively, I can
> move these members to the end of the struct and see if it still breaks
> compatibility.
> 
> Regards,
> Mike


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net