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

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Reply via email to