Hello,
It says on the FluidSynth homepage to email this list with any new programs
using FluidSynth. I've been working on a program called Z-Maestro which is
basically like Apple Garageband for Windows. It offers some functionality that
Garageband lacks, and lacks some functionality that Garageband gives, but it
generally works pretty well. I'm going to be releasing RC1 soon, so I though
you might want to take a look at it. My website is at http://www.z-sys.org/,
and the product page for it is at http://www.z-sys.org/zmaestro.aspx. Like I
said, it's for Windows, and it needs the .NET framework 2.0 to be installed.
That's right, it is managed code running FluidSynth. In fact, Z-Maestro is
almost completely programmed in VB.NET. I never thought I would get it working.
Originally, I was using the Windows MIDI functions, but then I obviously run
into the problems of normal MIDI such as it sounding different on different
computers. I knew I needed a synth, so I searched around. It took me a long
time to find FluidSynth. Due to the complexity of FluidSynth, I couldn't just
import the functions into managed code. So, I created a partially managed
wrapper in C++. If you aren't familiar with Microsoft's managed C++, it
basically gives you the compatibility of normal C++ and improvements of being
managed. You can write classes that aren't managed, classes that are partially
managed, and completely managed classes. I was able to import the FluidSynth
libraries directly into the wrapper project and create a few managed classes
for use in VB.NET. Unfortunately, I am currently using the original 1.0.0
FluidSynth libraries since for some reason, when I tried to upgrade, it kept
crashing. Being that I have little experience in native code, it could be a
simple problem. If I can get the wrapper working fully, I will release it as
open source.
Another problem is that (mainly due to my lack of experience in native C++/C
and the interop required between managed and native code) I can't figure out
how some functions are used and how I can marshal them to managed code. The one
function I am most anxious to figure out how to translate is the
fluid_synth_write_s16 function for recording output. I'd like to see some
simple examples of how it's used. The documentation only says that it fills two
buffers with left and right audio info. Does this mean that FluidSynth is
keeping a buffer in-memory of all audio?
Thanks for creating such a useful synth.
Zachary Northrup
http://www.z-sys.org/
_______________________________________________
fluid-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/fluid-dev