VOGONS

Common searches


First post, by WhiteKnight

User metadata
Rank Newbie
Rank
Newbie

Hello there,

Just wondering if there is a way that I can configure DOSBox to output mono audio (e.g. only left channel or only right channel audio through ALL speakers at one time)?

Reply 1 of 7, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Not sure. I think you can use the MIXER command to cut out a channel from inside DOSBox, and then perhaps go to your normal sound control panel and turn mono sound on??

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 2 of 7, by WhiteKnight

User metadata
Rank Newbie
Rank
Newbie

thanks for the reply...however, i dont want to completely cut out an audio channel....i have a program that has code to play either right channel audio or left channel audio, not both, at one time. However, since it is old, it does not function correctly with newer systems and plays both right and left channel audio at the same time....the problem is that the left channel audio contains different speech phrases than the right channel audio. As such, I was thinking if i could setup dosbox or my sound system such that ALL speakers play the left channel data OR the right channel data, not both, at a single time, then that setup would probably work. I'm probably not explaining it right, but I did post the problem in the DOS Games section under CHronicles of the Sword - speech problem...that contains a better description of the problem I think.

ON a related note, is there a function (perhaps keypress) within DOSBox that allows the balance of the audio to shift between left and right channel. If so, then I could probably make use of such a keypress/function such that I could mute one channel when the other channel is played...

Reply 3 of 7, by PavelJ

User metadata
Rank Newbie
Rank
Newbie

ok, after i read your other thread Chronicles of the Sword - Speech problem the problem becomes clearer.
back in these days many games had there soundtrack as audiotracks, since they could be played dirctly by the cd-drive, thus wasting almost no cpu time, as they were passed from the cd to the soundcard in analouge form. this specfic game seems to use a clever trick to "double" the space on the cd by handling the left and right channel of each audiotrack as different mono channels.
microsoft's mscdex allowed to specificly controll each channel's volume directly on the cd-rom drive. i don't know, if this is still possible or if this is today handled by the soundcard.
i also do not know how dosbox handles such calls to mscdex. i don't know the code and it is quite possible, that i'm way of here, but a quick look at cdrom.h makes me believe, that this specific function is not handled. but please don't believe me, until a dev has confirmed it. my c/c++ is rather weak (any chance for a java port? ;) and it was a real quick look.

Reply 4 of 7, by WhiteKnight

User metadata
Rank Newbie
Rank
Newbie

thanks for your thoughts PavelJ...i think you are accurate with your description of mscdex controlling the volume. I've been playing around with a few things my own and i'm even trying to create a hotkey that will instantly switch the CD Audio balance in the Windows Mixer to either the left or right channel...with use of this hotkey, I will then be able to press it during the game to effectively "mute" one of the channels. So far, I been able to determine the Control ID for each of the main Windows Mixer vertical sliders (e.g. Wave, MIDI, CD Audio, Microphone, etc); however, I have NOT be able to determine the Control ID for any of the "Balance" sliders which appear above the vertical sliders. ANy idea how I can determine the Control ID (number) for the Balance sliders?

Reply 7 of 7, by PavelJ

User metadata
Rank Newbie
Rank
Newbie
WhiteKnight wrote:

ANy idea how I can determine the Control ID (number) for the Balance sliders?

maybe you can cycle through all available controls and check the control type against MIXERCONTROL_CT_CLASS_SLIDER (balance control). just a wild guess, since i basicly have no idea of windows programming.