fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] NOTE_OFF events aren't being sent with libfluidsynth


From: Ben Gonzales
Subject: Re: [fluid-dev] NOTE_OFF events aren't being sent with libfluidsynth
Date: Sun, 20 Dec 2015 11:33:45 +1100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

Hi Ryan.

You'll probably find that the controller is sending a note_on with velocity=0 rather than a note off. That's what my AKAI EWI-USB does. Fluidsynth interprets that as a note_off.

Nice surname, by the way.

Ben

On 20/12/15 08:00, Ryan Gonzalez wrote:
Hello!

I'm using FluidSynth 1.1.6, and I've come upon an...interesting issue.

I basically have something like this (insanely simplified):


#include <fluidsynth.h>
#include <fluid_midi.h>

int event_callback(void *data, fluid_midi_event_t *event) {
    int type = fluid_midi_event_get_type(event);
    if (type == NOTE_OFF) puts("123");
    return fluid_synth_handle_midi_event(data, event);
}

int main(int argc, char** argv) {
    int i;
    fluid_settings_t* settings;
    fluid_synth_t* synth;
    fluid_player_t* player;
    fluid_audio_driver_t* adriver;

    settings = new_fluid_settings();
    fluid_settings_setstr(settings, "audio.driver", "alsa");
    fluid_settings_setstr(settings, "player.timing-source", "system");
    synth = new_fluid_synth(settings);
    player = new_fluid_player(synth);
    adriver = new_fluid_audio_driver(settings, synth);

    assert(fluid_synth_sfload(synth, "/usr/share/sounds/sf2/FluidR3_GM.sf2", 1) != FLUID_FAILED);
    assert(fluid_player_add(player, "/home/ryan/Documents/piano_req.midi.mid") != FLUID_FAILED);
    fluid_player_play(player);
    fluid_player_join(player);

    delete_fluid_audio_driver(adriver);
    delete_fluid_player(player);
    delete_fluid_synth(synth);
    delete_fluid_settings(settings);
    return 0;
}


The weird part is that nothing ever gets printed out. I hear the notes being played, and the NOTE_ON events are being sent correctly. However, when I hear the notes end, I get another NOTE_ON event. No NOTE_OFFs are ever sent. Am I missing something??

Thanks is advance! :)

--
Ryan
[ERROR]: Your autotools build scripts are 200 lines longer than your program. Something’s wrong.


_______________________________________________
fluid-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/fluid-dev


reply via email to

[Prev in Thread] Current Thread [Next in Thread]