| 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 |