Csound Csound-dev Csound-tekno Search About

[CSOUND-DEV:3605] New FluidSynth Opcodes in csound4 cvs

Date2003-12-02 09:47
Fromstevenyi
Subject[CSOUND-DEV:3605] New FluidSynth Opcodes in csound4 cvs
Hi all,

I've committed an opcode library I've been working on into csound4 cvs,
under the soundfonts directory, in a directory entitled fluidOpcodes.
(For developers: I chose this directory as it's completely out of the
way of everything else so can't possibly affect the build process of the
main csound.  If there are any problems with this being here I will
remove them immediately.)

These opcodes are based on Michael Gogins' FluidsynthOpcode, found in
the soundfonts directory.  The opcodes split creation of fluid_engines,
loading of soundFonts, playing of soundFonts, and outputting audio from
engines into four different opcodes.  This scheme is more complex to use
than Michael's but also allows more control for routing of audio, as
well as allows for note releases to fully sound.   It is not as
comprehensive as Michael's in that there is no opcode for handling midi
control signals, though there are plans to port that part of Michael's
work over to this scheme.  

There is a test.csd file to demonstrate usage as well as man page info
in fluidOpcodes.cpp.  A makefile for linux is provided.  I've attempted
to compile on windows but have not done so successfully yet; when I do,
I will commit a Makefile for that as well.  

NB: If you are interested in using this opcode plugin, you will need to
get the latest version of csound4 from cvs as there was a code change I
committed so that opcode deinitialization functions will be called for
i-time opcodes. 
 
There may be some changes in assigning soundfonts to channels, but am
not expecting much more changes except bug fixes beyond that.

Big thanks to Michael Gogins for writing his FluidsynthOpcode, as I
certainly would not have been able to write mine without it!  And also a
general thanks to *all* of the developers for their time spent working
on csound (as well as their patience to endure all of my questions on
the dev list). 

steven

Date2003-12-02 11:51
Fromramsdell@mitre.org (John D. Ramsdell)
Subject[CSOUND-DEV:3606] getDB undefined
Attempts to link Csound utilities using getstring.c on MinGW fail
because getDB is undefined, yet linking csound.exe succeeds.  The
program csound.exe is linked with a library that includes csound.c.
On line 74 of that file, one finds:

  //    This needs a stub definition in this file.

  char *getDB(void)
  {
    return 0;
  }

Does anyone know why this stub was placed here?  On Windows, what
library defines getDB?

John

Date2003-12-02 11:59
FromRobert McNulty Junior
Subject[CSOUND-DEV:3607] Re: getDB undefined
use -D_CONSOLE.
Worked for  me.


John D. Ramsdell wrote:

>Attempts to link Csound utilities using getstring.c on MinGW fail
>because getDB is undefined, yet linking csound.exe succeeds.  The
>program csound.exe is linked with a library that includes csound.c.
>On line 74 of that file, one finds:
>
>  //    This needs a stub definition in this file.
>
>  char *getDB(void)
>  {
>    return 0;
>  }
>
>Does anyone know why this stub was placed here?  On Windows, what
>library defines getDB?
>
>John
>
>
>  
>

Date2003-12-02 13:12
Fromramsdell@mitre.org (John D. Ramsdell)
Subject[CSOUND-DEV:3608] Re: getDB undefined
Robert McNulty Junior  writes:

> use -D_CONSOLE.
> Worked for  me.

Yup, your trick works for me too.  Thanks.  I'm still a little curious
about reason for the stub in csound.c.

John