0
0

Hi,
I’de like to know how i could found how many speaker there is on a professional system. I found “FMOD_SPEAKERMODE_RAW”, but how to count the output ? Or should i recognise professional 8-outputs cards as “FMOD_SPEAKERMODE_7POINT1” ?
How for a card with more outputs ?
Thanks for your help,

  • You must to post comments
0
0

That’s what i’m doing.
But could is there a sort of get_output() that allows me to know the real number of outputs ? (on professionals cards)
Thanks for your help,

  • You must to post comments
0
0

What if we build a library ?

Terratec EWX 24/96
– DSound: 2×2 channels mapped on 1 digi and 1 analog
– ASIO: 4 channels

Terratec DMX 6fire
– DSound: 6 channels analog
– ASIO: 6 channels

Marian MARC 4 digi
– DSound: 3×2 channels 1 digi and 2 analog (all emulated in windows 2k/xp)
– ASIO: 2, 4 or 6 channels based on a call to asioconfig inside application

  • You must to post comments
0
0

Ehm brett that’s not what i ment.

We all report the capabilities of each soundcard we can get our hands on.
Then modify the function getDriverCaps to include a int maxChannels.

maxChannels returns the soundcard capabilities based on the current Output (mm, asio, etc.) and the developer compares it with the current getSoftwareFormat and may inform the user about the card capabilities and the current control panel setup.

That way, if needed, the application can properly manage the maximum ammount of currently available channels.

Why? Well you could set 5.1 (in control panel) for any soundcard, even for stereo cards, so the getSoftwareFormat is not reliable.

  • You must to post comments
0
0

Note: for ASIO this is still not reliable because one of my soundcards (Marian Marc) has the ability to turn on/off channels on a application basis. So for ASIO fmod should check it on its own (as you reported asio can)

Secondly i have a feature request for a long time to call the ASIO config screen from inside the library due to my marian marc issue.
Something like:
[code:2ir3s8pe]function FMOD_System_ASIO_controlPanel(int index)
{
IASIO* driver;
long rc = AsioList->asioOpenDriver(index, (void **)&driver);
if (rc == 0) {
driver->controlPanel();
AsioList->asioCloseDriver(index);
}
}[/code:2ir3s8pe]

Or atleast provide the IASIO pointer of the current initialized driver with System::getOutputHandle(); ?

  • You must to post comments
Showing 4 results
Your Answer

Please first to submit.