[Top][All Lists]

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

Re: [fluid-dev] Fluidsynth + Portaudio device selection

From: Pedro Lopez-Cabanillas
Subject: Re: [fluid-dev] Fluidsynth + Portaudio device selection
Date: Wed, 6 Jun 2012 17:38:29 +0200
User-agent: KMail/1.13.5 (Linux/; KDE/4.4.4; i686; ; )

On Wednesday 06 June 2012, Massimo Callegari wrote:
> Can you explain the other "use cases" you're talking about ? If I can help 
> to cover most of them I would be happy to do so.

I'm talking about Qsynth ( http://qsynth.sourceforge.net )

If you take a look to the audio tab of the setup dialog, the "Audio Device" 
combo box is populated when you choose PortAudio in the "Audio Driver" using 
the list of names returned by the "audio.portaudio.device" settings. The 
user can only select the device names displayed in that drop-down list.

> BTW I didn't mean "hardcoded" device names. I meant that if an application 
> allows users to select a device by name, it will probably save the string 
> on a config file for later uses. Changing the names in FS would mean one  
> day those users will start their application and most likely won't hear   
> any sound since the saved name doesn't exist anymore. (unless a good 
> segfault kicks in :P)

The saved device name is not reliable anyway between sessions. I've noticed 
that you have a "M-Audio USB" device. What happens now if you saved that 
name in your program configuration, and later you start your program when  
that USB device is unplugged? The USB / Firewire / Bluetooth audio and MIDI 
devices are pretty common nowadays, and all of them are hot-pluggable. My 
advice is that a program should never assume that any present device will be 
available the next time the program is run, and never segfault because this. 
Instead, let the user know the problem and suggest the possible solutions, 
like choosing another device, or restarting / reopening the audio after 
connecting the old device.


reply via email to

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