Hi, i came across your question while browsing the web for information
on the alsa9 pcm plugin architecture..
My thought on this would be: Just make your soft synth a normal
application but be sure to make it work with the alsa pcm - plugin
layer of alsa. Then people can use the pcm plugin - layer to mix and
route the signal.
The midi stuff in alsa isn't really hard (just finding docu is :).
Anyways, a good option to add would be jack support. but again the
alsa-pcm-plugin layer has a jack-plugin that enables
every alsa app to talk to a jack server. I don't know about the details
in latency and timing, but on todays systems, the alsa layer shouldn't
hit performance that bad.
Anyways, i think it is crucial, that the synth works with the pcm layer
so people without hardware mixing capabilities can run multiple
instances of the synth(s) without the hassle of setting jack up..
Florian Schmidt
--
mista.tapas(a)gmx.net
sound clips - http://www.arted.biz/mista.tapas
Hi!
Sorry for the english .. :-)
SoundFontCombi takes the advantages of ALSA sequencer and the wavetable
devices for emulate a synthetizer.
I'm not programmer, this program dont have project page, CVS, or mailing
list, is in proof of concept rigth now. And only the binaries are available.
Is my first program in C++, my first graphic program for *nix, and belive
me the source code needs a "making up" rigth now. Maybe next month when i
learned how to do a Makefile :-)
SoundFontCombi was tested in Debian sid and Gentoo.
Requires FLTK v1.x.x (tested on v1.1.1) and ALSA with sequencer.
The binaries are available in :
http://personal.telefonica.terra.es/web/soudfontcombi/sfc-v0.005.tar.gz
Any commets will be apreciated.
Josep
Hi I know it's not a C++ specific list, but maybe someone can shed some
light on this. I have encountered this problem with all C++ compilers
and I don't know exactly what it is.
Sometimes I might make a class, and inherit it from another. Or, the
class just has virtual functions in it ( I am planning to derive others
from it). In any case, I am trying to access a virtual function in an
instantiated instance at runtime, and when I do, the program crashes. I
try to see if it is reaching the function (printf("Hi!") from inside or
something), but it doesn't. It is like the vtable is being destroyed
somehow.
So, is it possible to smash the vtable of a class? I can't imagine all
compilers have the same quirk, because I have seen this problem on half
a dozen compilers. Usually it is in classes where I am doing heavy
memory management. My guess is that the vtable can be corrupted somehow
by a smash.
Hi!
Sorry for the english .. :-)
SoundFontCombi takes the advantages of ALSA sequencer and the wavetable
devices for emulate a synthetizer.
I'm not programmer, this program dont have project page, CVS, or mailing list,
is in proof of concept rigth now. And only the binaries are available. Is my
first program in C++, my first graphic program for *nix, and belive me the
source code needs a "making up" rigth now. Maybe next month when i learned
how to do a Makefile :-)
SoundFontCombi was tested in Debian sid and Gentoo.
Requires FLTK v1.x.x (tested on v1.1.1) and ALSA with sequencer.
The binaries are available in :
http://personal.telefonica.terra.es/web/soudfontcombi/sfc-v0.005.tar.gz
Any commets will be apreciated.
Josep
Hello,
How can I make Jackd always run? Right now I have to set it up in a
console window. I'd like to learn how to run it always at startup and
not have to start/stop it when I need it.
Also how do you use Jack in real-time mode? In order to run it I have to
be root, but if I run it as root, nobody else can see Jack unless they
are also root.
I wish somebody would write a Jack-HOWTO so dummies like me can figure
out how to run this thing.
Thanks
More like a golden buddha child but hey...
I got them all working, it was problemos in my plugin manager code. The
plugins were fine.
Are you itching to know what the problem was? I'll tell you.
There is the mysterious number called NAN.
I found out where NAN was coming from.
I was calculating the log(number) to put in the control value The
culprit number=>0. Put 0 into log, and it makes NAN. Put NAN into plugin
dry/wet mix control, and plugin makes zillions of NANs. And all those
NANs will make your computer run slower than an Atari 800. What's even
worse is trying to convert NAN to an integer and play it on a sound
card.. I guess between the massive buffer underruns and trying to
synthesize all NANs was why I was hearing the most horrible noises I
ever heard in my life. I have no idea what NAN becomes when you cast it
to an int. Some demon posessed number I suppose. It doesn't sound like
white noise either.
If you want to hear the most hideous noise try it. Put log(0) into a
control volume and watch what happens. Try it with about 15 plugins at
once. It is super loud too.
I am sure it will destroy your speakers too. Don't try it with expensive
speakers.
Now which controls do it? A good many of them. It's not really a design
defect of the plugin programmer. I am sure, they don't expect anyone but
an idiot to put NAN into the control value. I didn't do it on purpose!
It was a mistake! A simple error on my part.
I hope somebody else has done this by accident too.. it'll make me feel
better...
I got my app to host plugins, but I am having problems figuring out how
to filter plugins out that won't work in my app. I only need F/X
processors. If a plugin does not process an audio stream, or is used
only for synthesis, or has peculiar controls that are not defined in the
hints, than I want to ignore them.
Is it possible? How can I find out how a plugin is used? I am reading
the API header but it's not entirely clear what properties determine how
a plugin is used or how I can tell if a plugin won't work for my app.
Thanks
>>On Tue, Apr 15, 2003 at 10:22:40AM -0400, Dave Phillips wrote:
>>> Nick's advice to upgrade my compiler is timely (I'm using GCC 2.96 from
>>> RH 7.2) but unfortunately I can't make the switch right now. If there's
>>> an obvious (or non-obvious) solution to my dilemma I'd be happy to hear
>>> of it.
The redhat rpms work fine side by side. gcc3 is the default (/usr/bin/gcc). To
use 2.96, you have to change your Makefiles to CC=gcc296, or set the env var
and then just make. I've had no problem with executables from either compiler
finding the correct runtime libs.
The rpms are:
compat-gcc-7.3-2.96.110
gcc-3.2-7
They are from the redhat 8.0 distribution but my system is a mismash, 7.0
with many upgrades.
HTH
Hi all,
I am doing a modest partial MWPP implementation for a networking class
and I want to demo it for the professor and class, but am not keen on
carting my midi keyboard around campus if I can help it. Realtime would
of course be nice, but a pre-recorded sound file would be ok too. I
thought timidity++ would be a reasonable way to do this, but
unfortunately timidity sounds _awful_ when used as an ALSA sequencer
client, even when I'm feeding it with pmidi (i.e. I've ruled out network
jitter). It's very jittery. pmidi or my own program going to the
hardware midi port has no such jitter.
Is there a setting to make timidity behave better? I've tried a few
things (like -B 0) but to no avail. What's more, I can't get timidity to
output to a file with the -iA switch even if I do get the jitter down.
Alternatively, and probably more cool, I could create an SMF and play it
with timidity or playmidi or make a sound file with csound or something.
I like the csound option. :) Is there something out there that will take
midi from the ALSA sequencer and create an SMF?
Thanks,
Hans
--
Hans Fugal | De gustibus non disputandum est.
http://hans.fugal.net/ | Debian, vim, mutt, ruby, text, gpg
http://gdmxml.fugal.net/ | WindowMaker, gaim, UTF-8, RISC, JS Bach
---------------------------------------------------------------------
GnuPG Fingerprint: 6940 87C5 6610 567F 1E95 CB5E FC98 E8CD E0AA D460