Commit f50b0bb6 authored by Jonathan Wilkes's avatar Jonathan Wilkes
Browse files

move rjlib into externals, add new fluid~ lib to externals

parent e72deb8d
......@@ -128,7 +128,7 @@ CXXFLAGS = $(CFLAGS)
#
# WARNING! this MUST be all on one line because the automatic package
# building scripts rely on it being that way.
LIB_TARGETS = adaptive arraysize autotune bassemu boids bsaylor comport creb cxc cyclone disis earplug ekext ext13 fftease freeverb ggee hcs iem_ambi iem_bin_ambi iemlib iemgui iemguts iem_adaptfilt iemmatrix iemxmlrpc iem_delay iem_roomsim iem_spec2 iem_tab jasch_lib loaders-hexloader loaders-libdir lyonpotpourri mapping markex maxlib mjlib moocow moonlib motex mrpeach oscx pan pdcontainer pddp pdogg plugin pmpd rtcmix sigpack smlib tof unauthorized vbap windowing zexy flext
LIB_TARGETS = adaptive arraysize autotune bassemu boids bsaylor comport creb cxc cyclone disis earplug ekext ext13 fftease fluid freeverb ggee hcs iem_ambi iem_bin_ambi iemlib iemgui iemguts iem_adaptfilt iemmatrix iemxmlrpc iem_delay iem_roomsim iem_spec2 iem_tab jasch_lib loaders-hexloader loaders-libdir lyonpotpourri mapping markex maxlib mjlib moocow moonlib motex mrpeach oscx pan pdcontainer pddp pdogg plugin pmpd rjlib rtcmix sigpack smlib tof unauthorized vbap windowing zexy flext
# DISABLED: flatgui
......@@ -448,6 +448,8 @@ cyclone_clean:
#------------------------------------------------------------------------------#
# DISIS
disis:
cd $(externals_src)/disis/cwiid && aclocal && autoconf && \
./configure --with-python=python2 && make
make -C $(externals_src)/disis PD_PATH=$(pd_src)
disis_install:
......@@ -456,6 +458,7 @@ disis_install:
install
disis_clean:
make -C $(externals_src)/disis/cwiid clean
make -C $(externals_src)/disis clean
#------------------------------------------------------------------------------#
......@@ -534,9 +537,9 @@ flext:
./build.sh pd gcc install
#fluid~
cd footils/fluid && \
../../grill/trunk/flext/build.sh pd gcc build && \
../../grill/trunk/flext/build.sh pd gcc build
# cd footils/fluid && \
# ../../grill/trunk/flext/build.sh pd gcc build && \
# ../../grill/trunk/flext/build.sh pd gcc build
#disis_munger~
cd ../l2ork_addons/disis_munger && \
......@@ -548,9 +551,9 @@ flext_install:
# so we only install statically linked externals
#fluid~
cd footils/fluid && \
install -D pd-linux/release-multi/fluid~.pd_linux $(DESTDIR)$(objectsdir)/flext/fluid~.pd_linux && \
install -D pd/* $(DESTDIR)$(objectsdir)/flext/
# cd footils/fluid && \
# install -D pd-linux/release-multi/fluid~.pd_linux $(DESTDIR)$(objectsdir)/flext/fluid~.pd_linux && \
# install -D pd/* $(DESTDIR)$(objectsdir)/flext/
#disis_munger~
cd ../l2ork_addons/disis_munger && \
......@@ -563,8 +566,8 @@ flext_clean:
./build.sh pd gcc clean
#fluid~
cd footils/fluid && \
../../grill/trunk/flext/build.sh pd gcc clean
# cd footils/fluid && \
# ../../grill/trunk/flext/build.sh pd gcc clean
#fluid~
cd ../l2ork_addons/disis_munger && \
......@@ -596,7 +599,17 @@ flib_clean:
-rm -f -- $(externals_src)/postlude/flib/*/*.bak
-rm -f -- $(externals_src)/postlude/flib/*/*.*~
#------------------------------------------------------------------------------#
# FLUID~
fluid:
make -C $(externals_src)/fluid~ PD_PATH=$(pd_src)
fluid_install:
make -C $(externals_src)/fluid~ DESTDIR="$(DESTDIR)" \
objectsdir="$(objectsdir)" install
fluid_clean: make -C $(externals_src)/fluid~ clean
#------------------------------------------------------------------------------#
# FRANKENSTEIN
......@@ -1625,6 +1638,16 @@ postlude_clean:
-rm -f -- $(externals_src)/postlude/*/*.bak
-rm -f -- $(externals_src)/postlude/*/*.*~
#------------------------------------------------------------------------------#
# RJLIB
rjlib:
rjlib_install:
install -d $(DESTDIR)$(objectsdir)/rjlib
cp -rf $(externals_src)/rjlib/* $(DESTDIR)/$(objectsdir)/rjlib
rjlib_clean:
#------------------------------------------------------------------------------#
# RTCMIX~
......
Copyright: Frank Barknecht , 2003
Jonathan Wilkes, 2016
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
This diff is collapsed.
fluid~ - soundfont external for Pd
orchestra in a box by fbar@footils.org
ported to Pd's C API by Jonathan Wilkes
fluid~ is an external build around the free fluidsynth soundfont synthesizer
available on www.fluidsynth.org Soundfonts collect digitally sampled
instruments. fluid~ converts Pd or (x)Max to a fullblown orchestra with just a
single external.
#N canvas 304 280 450 300 10;
#X obj 224 205 dac~;
#X obj 224 32 inlet~;
#X obj 259 60 inlet~;
#X obj 318 69 tgl 16 0 \$0-d \$0-d DSP 0 -6 1728 8 -260818 -123526
-33289 0 1;
#X msg 318 93 \; pd dsp \$1;
#X obj 69 186 hsl 64 16 0 1 0 0 \$0-v \$0-v volume -2 -6 1728 8 -260818
-123526 -1 0 1;
#X obj 269 108 r \$0-v;
#X obj 262 206 outlet~;
#X obj 166 206 outlet~;
#X obj 357 28 r pd;
#X obj 357 52 route dsp;
#X obj 269 155 line~;
#X msg 269 132 \$1 10;
#X obj 259 180 *~;
#X obj 224 180 *~;
#X connect 1 0 14 0;
#X connect 2 0 13 0;
#X connect 3 0 4 0;
#X connect 6 0 12 0;
#X connect 9 0 10 0;
#X connect 10 0 3 0;
#X connect 11 0 13 1;
#X connect 11 0 14 1;
#X connect 12 0 11 0;
#X connect 13 0 0 1;
#X connect 13 0 7 0;
#X connect 14 0 0 0;
#X connect 14 0 8 0;
#X coords 0 0 1 1 90 55 1;
startaddrofs
endaddrofs
startloopaddrofs
endloopaddrofs
startaddrcoarseofs
modlfotopitch
viblfotopitch
modenvtopitch
filterfc
filterq
modlfotofilterfc
modenvtofilterfc
endaddrcoarseofs
modlfotovol
unused1
chorussend
reverbsend
pan
unused2
unused3
unused4
modlfodelay
modlfofreq
viblfodelay
viblfofreq
modenvdelay
modenvattack
modenvhold
modenvdecay
modenvsustain
modenvrelease
keytomodenvhold
keytomodenvdecay
volenvdelay
volenvattack
volenvhold
volenvdecay
volenvsustain
volenvrelease
keytovolenvhold
keytovolenvdecay
instrument
reserved1
keyrange
velrange
startloopaddrcoarseofs
keynum
velocity
attenuation
reserved2
endloopaddrcoarseofs
coarsetune
finetune
sampleid
samplemode
reserved3
scaletune
exclusiveclass
overriderootkey
pitch
last
#N canvas 398 411 737 434 10;
#X msg 301 123 read fluid.gen.txt cr;
#X obj 301 96 loadbang;
#X obj 193 372 outlet;
#X obj 116 30 inlet gen_number;
#X msg 193 138 rewind;
#X obj 78 157 until;
#X obj 193 254 textfile;
#X obj 193 317 spigot;
#X msg 320 277 0;
#X msg 269 279 1;
#X obj 116 91 t f b b b f;
#X obj 78 187 i 0;
#X obj 108 189 + 1;
#X obj 78 112 f;
#X msg 118 157 0;
#X obj 77 207 t b f;
#X obj 269 255 select 0;
#X obj 78 134 + 1;
#X text 268 38 inlet: Number of generator;
#X text 270 56 outlet: Name of generator;
#X text 18 253 Count to inlet num + 1;
#X text 340 254 only open on inlet num;
#X obj 193 346 symbol;
#X text 261 343 we're only interested in syms;
#X text 52 47 change if neccessary;
#X obj 116 62 clip 0 60;
#X text 296 150 fluid.gen.txt was created from the gen.h fluidsynth
header file. All names were converted to lowercase because I hate to
read uppercase.;
#X connect 0 0 6 0;
#X connect 1 0 0 0;
#X connect 3 0 25 0;
#X connect 4 0 6 0;
#X connect 5 0 11 0;
#X connect 6 0 7 0;
#X connect 7 0 22 0;
#X connect 8 0 7 1;
#X connect 9 0 7 1;
#X connect 10 0 13 0;
#X connect 10 2 14 0;
#X connect 10 3 4 0;
#X connect 10 4 16 1;
#X connect 11 0 12 0;
#X connect 11 0 15 0;
#X connect 12 0 11 1;
#X connect 13 0 17 0;
#X connect 14 0 11 1;
#X connect 15 0 6 0;
#X connect 15 1 16 0;
#X connect 16 0 9 0;
#X connect 16 1 8 0;
#X connect 17 0 5 0;
#X connect 22 0 2 0;
#X connect 25 0 10 0;
#N canvas 243 11 1015 761 10;
#X text 35 71 A soundfont player using If I Were You \, from www.iiwu.org
;
#X text 173 286 fluid~ wants channel # first: should I change this?
;
#X text 263 595 Program change ("prog" or "p" + chan + value);
#X text 173 254 Note messages start with "note" \, "n" or with nothing
(pure list input): chan + note + velocity;
#X obj 36 34 cnv 15 102 32 empty empty empty 20 12 1 14 -1 -66577 0
;
#X obj 37 35 cnv 15 100 30 empty empty fluid~ 20 15 1 14 -257472 -66577
0;
#X obj 593 55 cnv 15 374 160 empty empty empty 20 12 1 14 -1 -66577
0;
#X text 181 120 "load" soundfonts. Creation argument is possible as
well:;
#X obj 594 56 cnv 15 372 158 empty Notes Soundfonts 20 12 65 14 -228992
-66577 0;
#X msg 650 146 load /usr/lib/awe/sfbank/2gmgsmt.sf2;
#X msg 644 126 load \$1;
#X obj 644 104 openpanel;
#X obj 644 84 bng 15 250 50 0 empty empty empty 0 -6 0 8 -260818 -1
-1;
#X obj 629 171 s \$0-iiwu;
#X obj 375 146 fluid~ notavail.sf2;
#X obj 593 219 cnv 15 374 160 empty empty empty 20 12 1 14 -1 -66577
0;
#X obj 594 220 cnv 15 372 158 empty Notes Notes 20 12 65 14 -228992
-66577 0;
#X obj 837 261 notein;
#X obj 837 283 pack 0 0 0;
#X msg 695 325 n 1 60 0;
#X obj 640 348 s \$0-iiwu;
#X obj 695 281 bang;
#X msg 837 305 \$3 \$1 \$2;
#X obj 837 327 s \$0-iiwu;
#X obj 593 382 cnv 15 374 160 empty empty empty 20 12 1 14 -1 -66577
0;
#X text 159 432 Controller Change: "control" or "c" or "cc" + chan
+ cc# + value;
#X obj 594 383 cnv 15 372 158 empty Notes Controller_Change/Pitch_Bend
20 12 65 14 -228992 -66577 0;
#X obj 632 510 s \$0-iiwu;
#X floatatom 632 425 5 0 0 0 - - -;
#X msg 649 478 c 2 \$1;
#X msg 632 444 control 1 2 \$1;
#X obj 593 546 cnv 15 374 160 empty empty empty 20 12 1 14 -1 -66577
0;
#X obj 594 547 cnv 15 372 158 empty Notes Program_Change 20 12 65 14
-228992 -66577 0;
#X obj 703 664 s \$0-iiwu;
#X msg 703 617 prog 1 \$1;
#X msg 783 617 p 2 \$1;
#X floatatom 703 587 5 0 0 0 - - -;
#X obj 695 239 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
-1;
#X floatatom 783 587 5 0 0 0 - - -;
#X floatatom 673 425 5 0 0 0 - - -;
#X msg 695 259 note 1 60 120;
#X obj 741 425 ctlin;
#X msg 741 469 cc \$3 \$2 \$1;
#X obj 741 447 pack 0 0 0;
#X obj 856 433 bendin;
#X obj 856 455 pack 0 0;
#X obj 856 499 s \$0-iiwu;
#X msg 856 477 bend \$2 \$1;
#X text 159 464 Pitch Bend works the same: "bend" or "b" + chan + val
;
#X msg 857 611 bank 1 \$1;
#X floatatom 857 592 5 0 0 0 - - -;
#X text 857 632 bank select;
#X obj 789 224 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 715 224 metro 1000;
#X obj 695 303 del 500;
#X obj 40 261 cnv 15 102 32 empty empty empty 20 12 1 14 -1 -66577
0;
#X obj 41 262 cnv 15 100 30 empty empty empty 20 15 1 14 -257472 -66577
0;
#X obj 66 269 fluid~;
#X obj 43 342 ezdac~;
#X obj 66 199 r \$0-iiwu;
#X msg 66 233 help;
#X connect 9 0 13 0;
#X connect 10 0 13 0;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
#X connect 17 0 18 0;
#X connect 17 1 18 1;
#X connect 17 2 18 2;
#X connect 18 0 22 0;
#X connect 19 0 20 0;
#X connect 21 0 54 0;
#X connect 22 0 23 0;
#X connect 28 0 30 0;
#X connect 29 0 27 0;
#X connect 30 0 27 0;
#X connect 34 0 33 0;
#X connect 35 0 33 0;
#X connect 36 0 34 0;
#X connect 37 0 40 0;
#X connect 38 0 35 0;
#X connect 39 0 29 0;
#X connect 40 0 20 0;
#X connect 40 0 21 0;
#X connect 41 0 43 0;
#X connect 41 1 43 1;
#X connect 41 2 43 2;
#X connect 42 0 27 0;
#X connect 43 0 42 0;
#X connect 44 0 45 0;
#X connect 44 1 45 1;
#X connect 45 0 47 0;
#X connect 47 0 46 0;
#X connect 49 0 33 0;
#X connect 50 0 49 0;
#X connect 52 0 53 0;
#X connect 53 0 37 0;
#X connect 54 0 19 0;
#X connect 57 0 58 0;
#X connect 57 1 58 1;
#X connect 59 0 57 0;
#X connect 60 0 57 0;
#N canvas 79 6 1015 761 10;
#X text 35 71 A soundfont player using If I Were You \, from www.iiwu.org
;
#X text 170 296 fluid~ wants channel # first: should I change this?
;
#X text 287 518 Program change ( prog or p + chan + value);
#X text 170 246 Note messages start with note \, n or with nothing
(pure list input): chan + note + velocity;
#X obj 36 34 cnv 15 102 32 empty empty empty 20 12 1 14 -1 -66577 0
;
#X obj 37 35 cnv 15 100 30 empty empty fluid~ 20 15 1 14 -257472 -66577
0;
#X obj 593 18 cnv 15 374 160 empty empty empty 20 12 1 14 -1 -66577
0;
#X text 181 120 load soundfonts. Creation argument is possible as well:
;
#X obj 594 19 cnv 15 372 158 empty Notes Soundfonts 20 12 1 14 -228992
-66577 0;
#X msg 650 109 load /usr/lib/awe/sfbank/2gmgsmt.sf2;
#X msg 644 89 load \$1;
#X obj 644 67 openpanel;
#X obj 644 47 bng 15 250 50 0 empty empty empty 0 -6 0 8 -260818 -1
-1;
#X obj 629 134 s \$0-iiwu;
#X obj 375 146 fluid~ notavail.sf2;
#X obj 593 182 cnv 15 374 160 empty empty empty 20 12 1 14 -1 -66577
0;
#X obj 594 183 cnv 15 372 158 empty Notes Notes 20 12 1 14 -228992
-66577 0;
#X obj 837 224 notein;
#X obj 837 246 pack 0 0 0;
#X msg 695 288 n 1 60 0;
#X obj 640 311 s \$0-iiwu;
#X obj 695 244 bang;
#X msg 837 268 \$3 \$1 \$2;
#X obj 837 290 s \$0-iiwu;
#X obj 593 345 cnv 15 374 160 empty empty empty 20 12 1 14 -1 -66577
0;
#X text 159 413 Controller Change: control or c or cc + chan + cc#
+ value;
#X obj 594 346 cnv 15 372 158 empty Notes Controller_Change/Pitch_Bend
20 12 1 14 -228992 -66577 0;
#X obj 632 473 s \$0-iiwu;
#X floatatom 632 388 5 0 0 0 - - -;
#X msg 649 441 c 2 \$1;
#X msg 632 407 control 1 2 \$1;
#X obj 593 509 cnv 15 374 160 empty empty empty 20 12 1 14 -1 -66577
0;
#X obj 594 510 cnv 15 372 158 empty Notes Program_Change 20 12 1 14
-228992 -66577 0;
#X obj 703 627 s \$0-iiwu;
#X msg 703 580 prog 1 \$1;
#X msg 783 580 p 2 \$1;
#X floatatom 703 550 5 0 0 0 - - -;
#X obj 695 202 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
-1;
#X floatatom 783 550 5 0 0 0 - - -;
#X floatatom 673 388 5 0 0 0 - - -;
#X msg 695 222 note 1 60 120;
#X obj 741 388 ctlin;
#X obj 741 410 pack 0 0 0;
#X obj 856 396 bendin;
#X obj 856 418 pack 0 0;
#X obj 856 462 s \$0-iiwu;
#X msg 856 440 bend \$2 \$1;
#X text 159 445 Pitch Bend works the same: bend or b + chan + val;
#X msg 857 574 bank 1 \$1;
#X floatatom 857 555 5 0 0 0 - - -;
#X text 857 595 bank select;
#X obj 789 187 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 715 187 metro 1000;
#X obj 40 261 cnv 15 102 32 empty empty empty 20 12 1 14 -1 -66577
0;
#X obj 41 262 cnv 15 100 30 empty empty empty 20 15 1 14 -257472 -66577
0;
#X obj 43 342 ezdac~;
#X obj 66 199 r \$0-iiwu;
#X msg 66 233 help;
#X msg 146 217 init /usr/lib/awe/sfbank/2gmgsmt.sf2;
#X obj 66 269 fluid~;
#X text 145 185 init [soundfont] can (re)initialize fluid~ for example
to adapt to new samplerates.;
#X msg 741 432 cc \$3 \$2 \$1;
#X obj 203 617 cnv 15 302 110 empty empty empty 20 12 1 14 -1 -66577
0;
#X obj 204 618 cnv 15 300 108 empty Notes generators 20 12 1 14 -228992
-66577 0;
#X msg 231 682 gen 1 \$2 \$1;
#X obj 231 704 s \$0-iiwu;
#X floatatom 289 642 5 0 60 0 - - -;
#X floatatom 231 642 5 0 0 0 - - -;
#X obj 231 662 pack 0 17;
#X text 78 607 gen 17 is "pan".;
#X text 78 594 Setting generators like for example:;
#X obj 695 266 del 1000;
#X symbolatom 343 684 20 0 0 0 - - -;
#X obj 343 656 fluid.gen2sym;
#X text 345 700 a little helper;
#N canvas 402 274 605 444 dust 0;
#X obj 119 135 del 10;
#X obj 119 41 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X floatatom 386 66 5 0 0 1 dustiness - -;
#X floatatom 386 164 5 0 0 1 note_range - -;
#X floatatom 387 198 5 0 0 1 note_center - -;
#X obj 237 417 s \$0-iiwu;
#X obj 387 242 / 2;
#X floatatom 387 223 5 0 0 1 pan_mod - -;
#X msg 237 281 gen 1 17 \$1;
#X obj 237 237 random 100;
#X obj 237 259 - 50;
#X obj 119 273 pack 0 0;
#X obj 119 63 metro;
#X obj 126 339 pack 0 0;
#X msg 126 371 note 1 \$1 \$2;
#X obj 119 251 makenote 100 2;
#X obj 119 212 + 60;
#X obj 119 178 random 24;
#X obj 198 80 random 150;
#X obj 119 301 poly 8 1;
#X obj 198 108 t f f;
#X text 98 11 Inspired by Hans-Christoph Steiner and Derek Holzer;
#X text 15 11 __Dust__;
#X connect 0 0 9 0;
#X connect 0 0 17 0;
#X connect 1 0 12 0;
#X connect 2 0 18 1;
#X connect 3 0 17 1;
#X connect 4 0 16 1;
#X connect 6 0 10 1;
#X connect 7 0 6 0;
#X connect 7 0 9 1;
#X connect 8 0 5 0;
#X connect 9 0 10 0;
#X connect 10 0 8 0;
#X connect 11 0 19 0;
#X connect 12 0 0 0;
#X connect 12 0 18 0;
#X connect 13 0 14 0;
#X connect 14 0 5 0;
#X connect 15 0 11 0;
#X connect 15 1 11 1;
#X connect 16 0 15 0;
#X connect 17 0 16 0;
#X connect 18 0 20 0;
#X connect 19 1 13 0;
#X connect 19 2 13 1;
#X connect 20 0 0 1;
#X restore 709 715 pd dust;
#X text 601 716 A composition:;
#X msg 705 87 load /home/ico/Downloads/Soundfonts/jRhodes3.sf2;
#X connect 9 0 13 0;
#X connect 10 0 13 0;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
#X connect 17 0 18 0;
#X connect 17 1 18 1;
#X connect 17 2 18 2;
#X connect 18 0 22 0;
#X connect 19 0 20 0;
#X connect 21 0 71 0;
#X connect 22 0 23 0;
#X connect 28 0 30 0;
#X connect 29 0 27 0;
#X connect 30 0 27 0;
#X connect 34 0 33 0;
#X connect 35 0 33 0;
#X connect 36 0 34 0;
#X connect 37 0 40 0;
#X connect 38 0 35 0;
#X connect 39 0 29 0;
#X connect 40 0 20 0;
#X connect 40 0 21 0;
#X connect 41 0 42 0;
#X connect 41 1 42 1;
#X connect 41 2 42 2;
#X connect 42 0 61 0;
#X connect 43 0 44 0;
#X connect 43 1 44 1;
#X connect 44 0 46 0;
#X connect 46 0 45 0;
#X connect 48 0 33 0;
#X connect 49 0 48 0;
#X connect 51 0 52 0;
#X connect 52 0 37 0;
#X connect 56 0 59 0;
#X connect 57 0 59 0;
#X connect 58 0 59 0;
#X connect 59 0 55 0;
#X connect 59 1 55 1;
#X connect 61 0 27 0;
#X connect 64 0 65 0;
#X connect 66 0 68 1;
#X connect 66 0 73 0;
#X connect 67 0 68 0;
#X connect 68 0 64 0;
#X connect 71 0 19 0;
#X connect 73 0 72 0;
#X connect 77 0 13 0;
#include <fluidsynth.h>
#include "m_pd.h"
static t_class *fluid_tilde_class;
typedef struct _fluid_tilde {
t_object x_obj;
fluid_synth_t *x_synth;
fluid_settings_t *x_settings;
t_outlet *x_out_left;
t_outlet *x_out_right;
} t_fluid_tilde;
t_int *fluid_tilde_perform(t_int *w)
{
t_fluid_tilde *x = (t_fluid_tilde *)(w[1]);
t_sample *left = (t_sample *)(w[2]);
t_sample *right = (t_sample *)(w[3]);
int n = (int)(w[4]);
//while (n--) *out++ = (*in1++)*(1-f_pan)+(*in2++)*f_pan;
fluid_synth_write_float(x->x_synth, n, left, 0, 1, right, 0, 1);
return (w+5);
}
static void fluid_tilde_dsp(t_fluid_tilde *x, t_signal **sp)
{
dsp_add(fluid_tilde_perform, 4, x,
sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n);
}
static void fluid_tilde_free(t_fluid_tilde *x)
{
outlet_free(x->x_out_left);
outlet_free(x->x_out_right);
}
static void fluid_help(void)
{
const char * helptext =
"_ __fluid~_ _ a soundfont external for Pd and Max/MSP \n"