>some of us are doing privatized
>applications for an organization or two where we don't want it to be like
>the others or follow any general rules. its actually the way the customers
>want it.
Sorry for the implication that you were doing the wrong thing - probably
the majority of applications ought to use the user-set volumes, and that's
why I put in the recommendation. (Actually even for a vertical application
I'd as a user prefer to be able to control the volume, on a device I carry
around with me, but I realize that some situations may need to be
different.)
But still I fall back on the first part of my response: the volume can be
set by a parameter that you can pass to the sound manager routines.
>sooo..... i noticed that there are volume settings for certain calls,
>but i don't use them =(
Well, using the volume parameter is the way to set the volume for anything
but SysPlaySystemSound, so if you want to set the volume I'd sugest you do
use them :-)
> pretty much all the sounds in the app are results of
>their own functions or procedures. i make one sysplaysystemsound call but
>that doesn't carry a volume setting.
SysPlaySystemSound always uses the system volume setting. But if you're
calling SndDoCmd you need to bit the bullet and add the line of code to set
the volume field in the structure.
>i notice that there is a sysGetDefaultVolume. is there a corresponding
>function to set the default volume?
Yes there is, as you noticed, but I'm not sure why it isn't documented and
supported. Perhaps it could get added in the future; I'll make the request.
>tell me where i can find the "complete" palm referance or any additions
>which give more control to the programmer and the management.
It isn't an issue of control; it is one of support and compatibility. The
things that are in the documentation are functions which are tested,
guaranteed and supported on current and future OS versions. Using other
functions listed in the header files may or may not do what you want on
current devices, but if they're not in the docs then the OS team reserves
the right to change their implementation, behavior, or just plain remove
them.
In this specific instance, if your app is only running on existing devices
and you don't care if it dies a horrible flaming death on future devices or
OS releases on currently existing hardware, then feel free to do
unsupported things like calling SysSetDefaultVolume - just realize you're
on your own and that compatibility is no longer something you can rely on.
This may be fine for your project, or might not - that's up for you and
your management to decide.
-David Fedor
Palm Developer Support