OS/2, eCS & ArcaOS - Technical > Multimedia

Rebuilds of MM Audio Pack

<< < (6/10) > >>

Lars:
That is already supported with installing USBAUDIO package. It adds the necessary SPI info so that MMPM can understand this new Samplerate/numchannels/bit depth format.

Here is a list of what formats have been added by now:



--- Code: ---/* additional Subtypes for DATATYPE_WAVEFORM:*/
#define    WAVE_FORMAT_32M16        0x0011L   /*  32.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_48M16        0x0012L   /*  48.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_64M16        0x0013L   /*  64.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_882M16       0x0014L   /*  88.2kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_96M16        0x0015L   /*  96.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_1764M16      0x0016L   /* 176.4kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_192M16       0x0017L   /* 192.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_3528M16      0x0018L   /* 352.8kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_384M16       0x0019L   /* 384.0kHz  , Mono, 16-bit*/

#define    WAVE_FORMAT_32S16        0x001AL   /*  32.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_48S16        0x001BL   /*  48.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_64S16        0x001CL   /*  64.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_882S16       0x001DL   /*  88.2kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_96S16        0x001EL   /*  96.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_1764S16      0x001FL   /* 176.4kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_192S16       0x0020L   /* 192.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_3528S16      0x0021L   /* 352.8kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_384S16       0x0022L   /* 384.0kHz  , Stereo, 16-bit*/

#define    WAVE_FORMAT_32M24        0x0023L   /*  32.0kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_4M24         0x0024L   /*  44.1kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_48M24        0x0025L   /*  48.0kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_64M24        0x0026L   /*  64.0kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_882M24       0x0027L   /*  88.2kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_96M24        0x0028L   /*  96.0kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_1764M24      0x0029L   /* 176.4kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_192M24       0x002AL   /* 192.0kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_3528M24      0x002BL   /* 352.8kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_384M24       0x002CL   /* 384.0kHz  , Mono, 24-bit*/

#define    WAVE_FORMAT_32S24        0x002DL   /*  32.0kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_4S24         0x002EL   /*  44.1kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_48S24        0x002FL   /*  48.0kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_64S24        0x0030L   /*  64.0kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_882S24       0x0031L   /*  88.2kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_96S24        0x0032L   /*  96.0kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_1764S24      0x0033L   /* 176.4kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_192S24       0x0034L   /* 192.0kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_3528S24      0x0035L   /* 352.8kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_384S24       0x0036L   /* 384.0kHz  , Stereo, 24-bit*/

#define    WAVE_FORMAT_32M32        0x0037L   /*  32.0kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_4M32         0x0038L   /*  44.1kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_48M32        0x0039L   /*  48.0kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_64M32        0x003AL   /*  64.0kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_882M32       0x003BL   /*  88.2kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_96M32        0x003CL   /*  96.0kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_1764M32      0x003DL   /* 176.4kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_192M32       0x003EL   /* 192.0kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_3528M32      0x003FL   /* 352.8kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_384M32       0x0040L   /* 384.0kHz  , Mono, 32-bit*/

#define    WAVE_FORMAT_32S32        0x0041L   /*  32.0kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_4S32         0x0042L   /*  44.1kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_48S32        0x0043L   /*  48.0kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_64S32        0x0044L   /*  64.0kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_882S32       0x0045L   /*  88.2kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_96S32        0x0046L   /*  96.0kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_1764S32      0x0047L   /* 176.4kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_192S32       0x0048L   /* 192.0kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_3528S32      0x0049L   /* 352.8kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_384S32       0x004AL   /* 384.0kHz  , Stereo, 32-bit*/

#define    WAVE_FORMAT_12M16        0x004BL   /*  12.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_16M16        0x004CL   /*  16.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_24M16        0x004DL   /*  24.0kHz  , Mono, 16-bit*/

#define    WAVE_FORMAT_12S16        0x004EL   /*  12.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_16S16        0x004FL   /*  16.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_24S16        0x0050L   /*  24.0kHz  , Stereo, 16-bit*/

#define    WAVE_FORMAT_8M24         0x0051L   /*   8.0kHz  , Mono,   24-bit*/
#define    WAVE_FORMAT_8S24         0x0052L   /*   8.0kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_8M32         0x0053L   /*   8.0kHz  , Mono,   32-bit*/
#define    WAVE_FORMAT_8S32         0x0054L   /*   8.0kHz  , Stereo, 32-bit*/

--- End code ---

Additionally, of course, the sound driver has to understand the format. For the USB audio drivers, Wim implemented a (lengthy) routine to convert sample rate/num channels/bit depth to the closest match of what the USB audio HW supports. Works perfectly.
As far as I can tell UNIAUD typically supports 8000 Hz, 11025 Hz, 22050 Hz, 44100 Hz, 48000 Hz (cannot remember what bit depths are typically supported). The support depends on the actual audio HW as UNIAUD is a generic driver covering all sorts of different audio HW.

Remy:
Nice to know.

Dariusz Piatkowski:

--- Quote from: Lars on December 02, 2022, 07:26:19 am ---That is already supported with installing USBAUDIO package. It adds the necessary SPI info so that MMPM can understand this new Samplerate/numchannels/bit depth format....
--- End quote ---

...even if I'm not using a USB based audio device?

Martin Iturbide:
Hi Dariuz

Lar's told me on some email time ago.

"Even though the name implies something different, USBWAV.DLL has no direct relationship to USBAUDIO.
It is a standalone DLL containing multiple IO Procs and codecs that work on any OS/2 system with MMPM.
The name is a leftover due to historical reasons."

I think it does not depends on USB.

Regards

Lars:

--- Quote from: Dariusz Piatkowski on December 09, 2022, 02:43:11 am ---
--- Quote from: Lars on December 02, 2022, 07:26:19 am ---That is already supported with installing USBAUDIO package. It adds the necessary SPI info so that MMPM can understand this new Samplerate/numchannels/bit depth format....
--- End quote ---

...even if I'm not using a USB based audio device?

--- End quote ---

Yes. The addition of new data subtypes (samplerate/numchannels/bit depth combination) to MMPM (done via SPI.INI) is independent of any specific audio driver but is a necessary precondition to use that combination at all.
But of course, the audio driver also has to support that sample rate/bit depth/numchannels combination.

In short, the update package to SPI.INI contained in USBAUDIO will satisfy the prerequisites so that for example UNIAUD could use those new subtypes.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version