fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] midi player issues


From: David Henningsson
Subject: Re: [fluid-dev] midi player issues
Date: Thu, 02 Apr 2009 07:16:52 +0200
User-agent: Thunderbird 2.0.0.21 (X11/20090318)

Felix Krause skrev:
> Hi all,
> 
> I'm using the fluidsynth library (current unstable Mac version from
> fink) and tested the midi file player. It behaves very strange:
> 
> - fluid_player_set_loop doesn't seem to have any effect (I tried to set
> loop to 1, 5, negative values...).

According to the source, fluid_player_set_loop is not implemented. :-(

> - fluid_player_set_bpm seems to set the bpm always to 0, no matter what
> bpm value I'm calling it with. This results in the first chord of the
> midi file being played forever. My application hangs if I call
> delete_fluid_player or fluid_player_join afterwards.
> - fluid_player_set_midi_tempo shows the same behaviour.

According to the source, fluid_player_set_bpm is the same as calling
fluid_player_set_midi_tempo with a tempo value of 60 millions divided by
the bpm value, so it's no surprise they act the same.

> - fludi_player_stop stops the midi player, but doesn't mute the
> currently playing notes. 

My guess is that this is expected, call fluid_synth_system_reset if you
want to stop all playing notes.

> If I call fluid_player_start afterwards, the
> player doesn't output anything for exactly the amount of time it had
> played my file until I called stop. Then, it continues playing the file
> from the position I stopped it.

I'm assuming you mean fluid_player_play as there is no
fluid_player_start function. Anyway, this does not seem thought of
either, so we should decide what we want to happen if a song is
interrupted and then started again - should we restart the song, move on
 to the next in the playlist, or start from where we stopped? Either way
it seems like something must be corrected.

> Is this a bug? Or am I simply doing something awfully wrong?

If you wish to pause the audio stream rather than the midi file player,
there will be another possibility when the sample timers are being
introduced. Then you could control the audio stream by calling
fluid_synth_write_s16 yourself and give that to the audio driver if
you're playing (and just give the audio driver silence if you're paused).
But I'm still waiting for the sample timers feature to be committed to
SVN so at the moment that isn't an option for you (unless you want to
try the patch yourself).

// David





reply via email to

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