Csound Csound-dev Csound-tekno Search About

[Cs-dev] [ csound-Bugs-1646099 ] csnd.jar bug, chnget doesn't work properly

Date2010-02-28 17:25
From"SourceForge.net"
Subject[Cs-dev] [ csound-Bugs-1646099 ] csnd.jar bug, chnget doesn't work properly
Bugs item #1646099, was opened at 2007-01-27 19:24
Message generated for change (Settings changed) made by jpff
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=564599&aid=1646099&group_id=81968

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
>Status: Closed
>Resolution: Out of Date
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: csnd.jar bug, chnget doesn't work properly

Initial Comment:
When using csnd.jar in java, the chnget opcode does not work on Windows PCs. This makes real-time use of java and Csound impossible. The following compilation error occurs when running the sliderdemo example from the csound journal:

>SliderDemo.java:180:
>GetChannelPtr(csnd.SWIGTYPE_p_float,java.lang.String,int) i
>n csnd.Csound cannot be applied to
>(csnd.SWIGTYPE_p_p_float,java.lang.String,int
>)if(csound.GetChannelPtr(myfltarray.GetPtr(), "pitch",
>                                                  ^
>SliderDemo.java:217:
>GetChannelPtr(csnd.SWIGTYPE_p_float,java.lang.String,int) i
>n csnd.Csound cannot be applied to
>(csnd.SWIGTYPE_p_p_float,java.lang.String,int
>)if(csound.GetChannelPtr(myfltarray.GetPtr(), "pitch",
>                                                  ^
>2 errors

Other similar examples result in a similar compilation error. Jim Hearon and I have tried to trace the problem, here is what he said:

-------------------------------------
Hi Casey,
I did a little more work on this and found a couple more things.  As I 
mentioned before the wrappers are very delicate and sensitive to changes in 
the c/c++ source code.

The GetChannelPtr wrapper method changed somewhere along the way from:

public int GetChannelPtr(SWIGTYPE_p_p_float p, String name, int type) {
    return csndJNI.Csound_GetChannelPtr(swigCPtr, 
SWIGTYPE_p_p_float.getCPtr(p), name, type);
  }
------
to this:

  public int GetChannelPtr(SWIGTYPE_p_float p, String name, int type) {
    return csndJNI.Csound_GetChannelPtr(swigCPtr, this, 
SWIGTYPE_p_float.getCPtr(p), name, type);
  }

but the odd thing is the api (csound.h) method hasn't changed, so I'm not 
sure why it's being wrapped differently and causing errors.

which throws problematic frame error in lib
[_jcsound.dll+0xba91]
-----
the other thing I noticed in the java code for the SliderDemo.java is that 
the
CsoundMYFLTArray.java,  GetPtr() method quit working for some reason, and
now needs the CsoundMYFLTArray.java,  GetPtr(int indx) method.  So something 
changed
there too.

if(csound.GetChannelPtr(myfltarray.GetPtr(1), 
"pitch", csndConstants.CSOUND_INPUT_CHANNEL 
|csndConstants.CSOUND_CONTROL_CHANNEL ) == 0)
myfltarray.SetValue(0, (double)PitchNum);

Regards,
Jim Hearon
---------------------------

Thanks for your help,

Casey Mongoven 
cm@caseymongoven.com

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=564599&aid=1646099&group_id=81968

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net