[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [fluid-dev] fluidsynth~
From: |
Peter Hanappe |
Subject: |
Re: [fluid-dev] fluidsynth~ |
Date: |
Thu, 26 Feb 2004 11:01:32 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031107 Debian/1.5-3 |
Norbert Schnell wrote:
Hi Peter!
Hi others!
Hi Norbert,
Hi mailing list,
As you might have heard, finally I did a Max/MSP object fluidsynth~
based on your code.
So I heard!
The technique I used to integrate FluidSynth with Max/MSP is to grab
the files into a CodeWarrior project (simply requiring a
fluidsynth directory containing the FluidSynth sources next to the
directory of the CodeWarrior project) and add one file faking some
functions of the other files (essentially fluid_sys.c for the threads,
timers and logs). This has the advantage of avoiding stupid #ifdef
PP-instructions and messing up the code with Max/MSP API related stuff.
1. Would you have a better idea for handling the FluidSynth Max/MSP
integration?
2. Shell we integrate fluidsynth~ somehow (and how?) into the
FluidSynth sources?
I'd suggest to make a directory called 'bindings', or something similar,
in the fluidsynth root directory. The projects that 'bind' fluidsynth to
an application can go in there. For example, I have some Java
classes and JNI code to use the synth in Java that I would like to add
to CVS. So, if we take that option the codewarrior project could move to
the directory 'bindings/max_msp'.
About fluid_sys.c. It would be nice if you could reuse the existing
code, despite the #ifdef's (I don't like them neither, will find a
better solution). However, there is really not much you need from
fluid_sys.c. I don't think you need timers, threads, nor sockets
for the fluidsynth~ object. The log function is platform independent.
In fact, we could put that code in a new file. There are two functions
that you may need: fluid_curtime() and fluid_utime(). The synth only
uses them for profiling and to estimate the CPU load. You could
get away with returning 0 in both functions to get started.
So my suggestion would be to add a file 'config_maxmsp.h' in which you
put some of the defines you need and do keep the existing fluid_sys.c
with some minor tweaking.
Here is a web page of the fluidsynth~ I published some minutes ago on
our ATR IRCAM site:
http://www.ircam.fr/equipes/temps-reel/maxmsp/fluidsynth.html
Fancy!
Cheers and see you soon!
Peter
Norbert