Hi Peter,
While doing some homework for Qsynth, I've been testing with this
new_fluid_audio_driver2 function as once suggested in recent thread about
external effects processing by fluidsynth API (see below).
My interest isn't in doing any effects processing, but just having QSynth
to show some audio output meters.
Following your example code, I've been trying this:
audio_driver = new_fluid_audio_driver2(settings, my_synth_process, synth);
where the audio process function were just a stub:
int my_synth_process ( void *data, int len, int nin, float **in, int
nout, float **out )
{
return fluid_synth_process((fluidsynth_t *) data, len, nin, in, nout,
out);
}
The relevant initial settings are as follows:
audio.driver = jack
audio.jack.auto-connect = 1
audio.jack.multi = no
On startup, the fluidsynth engine spits out the following message on stderr:
fluidsynth: warning: Could not connect to any physical jack ports;
fluidsynth is unconnected
whenever audio.jack.autoconnect == 1. However the jack ports get connected
alright. Puzzled.
Another issue I have noticed, is that the number of jack ports created is
always the same regardless of the settings given on audio.jack.multi,
synth.audio-channels and synth.audio-groups.
The port names differ from normal hehaviour as they are numbered (out_00,
out_01) instead of the traditional stereo names when applicable (e.g.
left, right).
However, it honors the value in audio.output-channels instead of
synth.audio-channels.
My question goes to whether this is working as expected or is it open for
improvement any soon?
Cheers,