Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v2][macOS] No sound is output to audio driver, nor is any output via fluid_synth_process() #399

Closed
Birch-san opened this issue Jun 17, 2018 · 4 comments

Comments

@Birch-san
Copy link

Birch-san commented Jun 17, 2018

Regression. Both these use-cases work fine in v1.

====

I built master like so:

# get brew dependencies from v1 FluidSynth
brew install fluidsynth --with-libsndfile pkg-config

# now let's build v2
git clone git@github.com:FluidSynth/fluidsynth.git
# very recent commit in master
git checkout 29d194
mkdir -p build
cd build
cmake -Denable-framework=OFF -Denable-portaudio=OFF -Denable-libsndfile=ON ..
make

This output a binary to build/src/fluidsynth.

I attempted to play a MIDI file through a soundfont:

build/src/fluidsynth SGM-V2.01.sf2 mario.mid

No audio came out of my system. I assume this means nothing is output to CoreAudio.

This is definitely a regression, because next I tried brew fluidsynth v1, from my path:

fluidsynth SGM-V2.01.sf2 mario.mid

It played audio, as expected.

====

I don't think this is a CoreAudio problem. The same thing happens when I invoke fluid_synth_process(…) directly to render MIDI into a block of audio samples.

I linked my VST against build/src/libfluidsynth.2.0.0.dylib, updated the includes and source, and now no sound is heard when my audio plugin outputs audio to the plugin host via fluid_synth_process().

Is there anything that it would be useful for me to do to debug this for you?

@Birch-san
Copy link
Author

I've now pulled the latest master commit a55e7e8, rebuilt and no improvement.

One more observation: build/src/fluidsynth SGM-V2.01.sf2 mario.mid actually aborts audio playback (with no error given) after half a second.

Additionally: I've tried running my VST with fluid_settings_setstr(settings, "synth.verbose", "yes");, and no interesting messages are output by fluidsynth.

@derselbst
Copy link
Member

Indeed, seems like I've broken my local setup... should be fixed in a second.

fluid_settings_setstr(settings, "synth.verbose", "yes");, and no interesting messages are output by fluidsynth.

synth.verbose is an int setting, you must use fluid_settings_setint(). And make sure to check the return values of those functions.

@Birch-san
Copy link
Author

Thanks! Working now.

In case you're interested, these are the code changes I needed to make to upgrade from FluidSynth 1 -> 2:

Birch-san/juicysfplugin@b9eb853

I'll emphasise that 2.0.0.beta1 didn't expose enough public API, so I was reliant on the solution to this issue (now in master): #391

@derselbst
Copy link
Member

Ok, thanks for the feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants