UltraStar-Deluxe / USDX

The free and open source karaoke singing game UltraStar Deluxe, inspired by Sony SingStar™
https://usdx.eu
GNU General Public License v2.0
888 stars 162 forks source link

[Feature request] Manually Select an audio output device #206

Open neomannheim opened 7 years ago

neomannheim commented 7 years ago

Hello,

On the UAudioCore_Portaudio.pas file, we can read :

 * Conclusion: We are not able to autodetect a working device with
 *   portaudio (at least not with the newest v19_20071207) at the moment.
 *   So we have to provide the possibility to manually select an output device
 *   in the UltraStar options if we want to use portaudio instead of SDL.

In the last version, do you provide a way to manually select an audio output devide ? On my plateform i don't use pulse, only Alsa. Ultrastar-Deluxe use Portaudio to find alsa configuration and take the first device only. With asound.conf, .asoundrc, environments variables (force SDL and PortAudio to use specific device), i have didn't succeed to force UltraStar-Deluxe to use a specific card and device

it use only

STATUS: Open HDA Intel PCH: ALC892 Analog (hw:0,0) [Portaudio]
STATUS: Latency of HDA Intel PCH: ALC892 Analog (hw:0,0): 0.0348299319727891 [Portaudio]

for information

aplay -l
carte 0: PCH [HDA Intel PCH], périphérique 0: ALC892 Analog [ALC892 Analog]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 1: ALC892 Digital [ALC892 Digital]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 3: HDMI 0 [HDMI 0]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 7: HDMI 1 [HDMI 1]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 8: HDMI 2 [HDMI 2]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0

Thanks for your ansmer.

Bests regards

PS : you do a great job with this soft

basisbit commented 7 years ago

Hi neomannheim, honestly, linux / OS X based systems are not "supported" currently because there is no active developer regularly working on that. I myself only develop on Windows. @AlexanderS and a few others occasionally provide small bugfixes every few months, but that is about all. If you know objective pascal / delphi, I'll gladly introduce you to the codebase. Otherwise, I guess you might have more success with the Performous karaoke singing game.

AlexanderS commented 7 years ago

The STATUS messages are regarding the audio input device.

IIRC the audio output is only handled by SDL without portaudio. So setting:

export SDL_AUDIODRIVER="alsa"

and configuring the correct pcm.!default device in your asound.conf should be sufficient.