Csound Csound-dev Csound-tekno Search About

[Cs-dev] Still attempting to understand the API in Java

Date2009-08-10 17:37
Fromjpff
Subject[Cs-dev] Still attempting to understand the API in Java
I need to use csound->ChanOAGet but the code in
java_interface_wrap.cc (Java_csnd_csndJNI_csoundChanOAGet) says

  CSOUND *arg1 = (CSOUND *) 0 ;
  double *arg2 = (double *) 0 ;
  int arg3 ;
  int result;
  
  arg1 = *(CSOUND **)&jarg1; 
  arg2 = *(double **)&jarg2; 
  arg3 = (int)jarg3; 
  result = (int)csoundChanOAGet(arg1,arg2,arg3);

so arg2 is an array of doubles.  This is not in accord with the API in
H/csoundCore.h 
   int (*ChanOAGet)(CSOUND *, MYFLT *value, int n);
unless MYFLT is double.

What have I misunderstood?

==John ffitch

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2009-08-10 17:46
FromFelipe Sateler
SubjectRe: [Cs-dev] Still attempting to understand the API in Java
AttachmentsNone  None  
El lunes 10 de agosto, jpff escribió:
> I need to use csound->ChanOAGet but the code in
> java_interface_wrap.cc (Java_csnd_csndJNI_csoundChanOAGet) says
>
>   CSOUND *arg1 = (CSOUND *) 0 ;
>   double *arg2 = (double *) 0 ;
>   int arg3 ;
>   int result;
>
>   arg1 = *(CSOUND **)&jarg1;
>   arg2 = *(double **)&jarg2;
>   arg3 = (int)jarg3;
>   result = (int)csoundChanOAGet(arg1,arg2,arg3);
>
> so arg2 is an array of doubles.  This is not in accord with the API in
> H/csoundCore.h
>    int (*ChanOAGet)(CSOUND *, MYFLT *value, int n);
> unless MYFLT is double.
>
> What have I misunderstood?

all the *_interface_wrap.cc files are created by SWIG, so your build is 
probably a doubles build. SWIG probably doesn't even see the MYFLT typedef.


Saludos,
Felipe Sateler

Date2009-08-10 19:39
FromMichael Gogins
SubjectRe: [Cs-dev] Still attempting to understand the API in Java
Actually, the wrapper file is probaby left over from a prior build.
SWIG is configured by SCons with the correct MYFLT definition. A clean
and rebuild should fix the problem.

Hope this helps,
Mike

On 8/10/09, Felipe Sateler  wrote:
> El lunes 10 de agosto, jpff escribió:
>> I need to use csound->ChanOAGet but the code in
>> java_interface_wrap.cc (Java_csnd_csndJNI_csoundChanOAGet) says
>>
>>   CSOUND *arg1 = (CSOUND *) 0 ;
>>   double *arg2 = (double *) 0 ;
>>   int arg3 ;
>>   int result;
>>
>>   arg1 = *(CSOUND **)&jarg1;
>>   arg2 = *(double **)&jarg2;
>>   arg3 = (int)jarg3;
>>   result = (int)csoundChanOAGet(arg1,arg2,arg3);
>>
>> so arg2 is an array of doubles.  This is not in accord with the API in
>> H/csoundCore.h
>>    int (*ChanOAGet)(CSOUND *, MYFLT *value, int n);
>> unless MYFLT is double.
>>
>> What have I misunderstood?
>
> all the *_interface_wrap.cc files are created by SWIG, so your build is
> probably a doubles build. SWIG probably doesn't even see the MYFLT typedef.
>
>
> Saludos,
> Felipe Sateler
>


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

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net