Poking the PCI bus won't work anymore.
HDAudio chips can not be reached from there,
USB Audio devices can not be reached from there.
The X1000 is one sound device that does not have mixer support, it is not the only one.
Also, with the changeover to HDAudio, I expect there will be many more that will not be supported by Mixer.
Unlike a PCI sound card, the control path to HDAudio chips is through a series of ring buffers, which do not have the means for sharing among multiple tasks.
Some programs not intendented to have options for change volume controls.
That is fine. I simply said that AHI supports volume controls from the source application.
If the application chooses to not allow the user any access to those controls, then the user doesn't get access.
There's nothing wrong with the sound chip. AHI can reach the volume controls on the chip just fine. AHI also provides each program with it's own volume control, and that works fine too. The problem is that programs ignore the volume controls they are given.
Should then workbench have volume control for bootsound ?
Absolutely! See Sys:prefs/sound System Startup Sound, Sound Volume
The same as aos4 have mixer everywhere , but not on x1000.
Not true, some versions of Juli@ also have no volume support from Mixer.
As the industry switches from AC97 to HDAudio, I expect there will be a lot more audio chips that are not supported by mixer.
Mixer will also be useless for USB audio devices, for all the same reasons.
Even if current mixer poking hardware directly, then for x1000 there should be replacement which do not poking hardware directly , but still works as mixer should work.
I think you're missing the point.
Mixer is not an AHI program. It requires special code to poke a specific address for every type of sound card it might support, and newer sound cards no longer offer a PCI address to support volume changes.
The sound chip in the X1000 works great, and AHI can reach it's volume control easily. It can actually set the level of each of the eight outputs individually. The problem is that some programs use AHI volume settings, and some ignore them.
If you want "a replacement that do not poking the hardware directly, but still works as a mixer should", then you have three choices.
You can
1> Only use sound cards that allow volume changes by poking PCI addresses.
2> Contact Intel and have them re-write the HDAudio specification to your liking.
3> Tell programmers that write programs for AHI to use the volume controls that they have been provided with all along.
We DO have volume controls available to ALL supported sound cards.
IAHI->AHI_PlayA() supports a tag called AHIP_Vol,
IAHI->AHI_ControlAudioA() supports a tag called AHIC_OutputVolume,
And if you're using the old interface, you also have
IAHI->AHI_SetVol(), which has been deprecated but is still supported.
All three of these provide the application with control of the audio volume. All three of these are supported in AHIV6, on all platforms and devices that are supported by AHI.
Using the volume controls in AHI also allow relative level settings when multiple programs are making sound at once. If every program expects the OS to control their volume that ability would be lost.