Liam,
The recent patches I posted allow querying a modifier/device's supported/ conflicting device list from a modifier/device either within the currently active verb (if any) or an explicitly defined verb.
I figured a similar enhancement to snd_use_case_get might be useful; i.e. to allow querying within a specific verb, and also to indicate that one shouldn't fall back to a verb, or overall values. I'd propose something like this:
NAME[[=]/<modifier>|<device>[/[=]<verb>]]
The "=" would prevent fallback to a "higher" object if present. So for example:
Current verb, not from device or modifier, with fallback to verb and ValueDefaults:
PlaybackVolume
Current verb, from device/modifier with fallback to verb and ValueDefaults:
PlaybackVolume/Play Music
Current verb, from dev/mod without fallback to verb or ValueDefaults:
PlaybackVolume/=Play Music
Specify a verb and dev/mod, but allow fallback to verb or ValueDefaults:
PlaybackVolume/Play Music/HiFi
Specify a verb and dev/mod, but no fallback to verb or ValueDefaults:
PlaybackVolume/=Play Music/=HiFi
One can also query from just a verb, with/without fallback:
PlaybackVolume//HiFi PlaybackVolume//=HiFi
Or current verb with no fallback:
PlaybackVolume//=
Does this seem useful, and a sane query string syntax?
An alternative would be to drop the added "=" stuff, and never auto- fallback. However, that'd be a regression relative to current functionality, force clients to implement fallback themselves, and make querying ValueDefaults hard.