fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] fluidsynth plugin for the Music Player Daemon


From: Pedro Lopez-Cabanillas
Subject: Re: [fluid-dev] fluidsynth plugin for the Music Player Daemon
Date: Sun, 22 Feb 2009 11:25:17 +0100
User-agent: KMail/1.9.6 (enterprise 20070904.708012)

Hi,

Although some of your complains are valid, I would like to add some comments.

Max Kellermann wrote:
> - there is no way to tell whether the "player" has finished playing a
>   MIDI file - the "status" attribute is not exposed.  Even the
>   "fluidsynth" program does not exit when the song is finished,
>   because it doesn't know either.

This is not true. The command line program doesn't exit because it has a 
shell, that remains waiting for commands when the player has finished. If you 
don't need a shell and want the CLI program to exit when the song has 
finished, simply do:

$ fluidsynth -i font.sf2 tune.mid

The "-i" switch is documented:

      -i, --no-shell
              Don't read commands from the shell [default = yes]

For programs using the library, there is a function fluid_player_join() that 
works like pthread_join() waiting until the player terminates.

> - the "player" insists on playing in real-time, all my attempts to
>   fill MPD's internal audio buffer as fast as possible failed, there
>   was only silence in the buffer after the fluid_synth_write_s16()
>   call.  The same might be true when MPD is paused - I suspect
>   fluidsynth will continue playback, but havn't tried yet (wasted more
>   than enough time with figuring out the API).  I don't want
>   fluidsynth to make any assumptions on the wall clock - I want to
>   read PCM samples out of it whenever I feel like doing so, as fast as
>   the CPU can handle it.  Just like all the other decoder libraries.

This is a planned feature, see ticket #15 (add support for faster than 
realtime MIDI file rendering.) http://fluidsynth.resonance.org/trac/ticket/15

The current implementation using wall clock timing may be useful for other 
scenarios, and should also be enhanced.

Regards,
Pedro




reply via email to

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