DSDPlus DSD+ Fastlane Audio Output specification

Status
Not open for further replies.

V_A_R_I_A_B_L_E

CIA Agent
Feed Provider
Joined
Aug 23, 2011
Messages
112
Location
Portland, OR
Note: I am a feed provider aiming for maximum uptime, however I'm not always in town and able to monitor/maintain my copy of DSD+.

Currently, the selected audio output for VC.bat is specified numerically (the argument "-o1" is used for audio device #1, "-o2" for device #2, etc). My PC that is running DSD+ is also connected to a TV via an HDMI cable, as it is also used as an htpc. This results in Windows changing the numeric assignment of audio output devices, depending on whether or not the TV is powered on.

With the TV powered on, the devices get numbered as follows:
1-HDMI Audio
2-Speakers
3-Headphones
4-VB Virtual Audio Cable.

With the TV off, Windows detects that the HDMI Audio output device has been "disconnected" and the audio output devices get re-numbered as follows:
1-Speakers
2-Headphones
3-VB Virtual Audio Cable

My issue is that I want to reliably route the audio output to the VB Virtual Audio Cable ALL the time. Starting VC.bat with the TV powered on or off will make/break whether the audio gets routed correctly, as sometimes that device will be numbered 3 or 4 depending on the power state of the TV.

Question: Is there some other way (or can there be) to specify the desired audio output device by name rather than numeric order? I saw that a recent update provided similar functionality when selecting which RTL-SDR dongle you want to use (you can now select by string ID instead of device number, and can even custom edit the string ID for each RTL-SDR dongle that you have).

Basically I want my desired audio configuration to work regardless of whether or not the TV is on/off when DSD+ starts. The reason for this is that sometimes I reboot the computer while at home with the TV on, and other times, perhaps during a power failure and perhaps I'm not at home, the PC is set up to automatically turn back on when power is restored, and restart DSD+ upon boot in order to resume streaming the feed, however the TV would be off in this case.
 

V_A_R_I_A_B_L_E

CIA Agent
Feed Provider
Joined
Aug 23, 2011
Messages
112
Location
Portland, OR
A nice bandaid, but this relies upon windows assigning the same numbers every time, and on the addition of no new audio devices. I'm looking for something more surefire, such as is the case with the custom string option when specifying which dongle to use in the FMP24.bat files.
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
921
Location
NE Wisconsin
Have you considered running op25 and liquidsoap? Very reliable combination for feed providers.
 

slicerwizard

Member
Joined
Sep 19, 2002
Messages
7,643
Location
Toronto, Ontario
A nice bandaid, but this relies upon windows assigning the same numbers every time, and on the addition of no new audio devices. I'm looking for something more surefire, such as is the case with the custom string option when specifying which dongle to use in the FMP24.bat files.
I imagine that someone could come up with some scripting that uses the DSD+ output to ascertain the correct device number and then runs DSD+ using that number.
 

scannerbox

Member
Joined
Jan 30, 2010
Messages
92
Location
michigan
I created a DSDLauncher application a few years ago that would allow you to specify the sound card names and it would convert that to the number needed by DSDPlus.

See this post for more information: DSD+ audio input and output device order changes

I haven't tested this against the last few DSDPlus releases so I'm not sure if it still works anymore.
 

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,850
This will cause DSD+ to show the audio devices DSD+ and save to file.
Code:
DSDPlus.exe -o255 > audiodevices.txt

Output/File contents will be something like this:
Code:
DSD+ 2.235
Appending synthesized audio to file '1R-DSDPlus.wav'
Current working directory is "C:\DSD"

Assuming FMPA/FMPP/FMP24 is signal source; auto polarity detect is disabled

audio output device #1 = 'Speakers (ASUS Xonar DG Audio D'
audio output device #2 = 'Line 2 (Virtual Audio Cable)'
audio output device #3 = 'S/PDIF Pass-through Device (ASU'
audio output device #4 = 'Line 1 (Virtual Audio Cable)'
audio output device #5 = 'AMD HDMI Output (AMD High Defin'
audio output device #6 = 'Line 3 (Virtual Audio Cable)'
audio output device #7 = 'Line 4 (Virtual Audio Cable)'

audio output device open failed

You could then open file and parse it from a batch file looking for device and storing dev# in a variable to use with DSD+.
 

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,850
Result like this:

18GGtkY.png
 
Status
Not open for further replies.
Top