snd_ctl_add_follower(9)
snd_ctl_add_follower(9) π
Hiii bestie! Welcome to the Kernel API Manual entry for snd_ctl_add_follower β this is where we add a virtual follower control to a vmaster, and it's lowkey iconic. β¨π
πΈ NAME πΈ
snd_ctl_add_follower β add a virtual follower control π
β¨ SYNOPSIS β¨
int snd_ctl_add_follower (struct snd_kcontrol *master , struct snd_kcontrol *follower );
π ARGUMENTS π
masterβ vmaster element πfollowerβ follower element to add π¦
π¦ DESCRIPTION π¦
Okay so picture this: you're adding a virtual follower control to the given master element β and that master element has to have been created via snd_ctl_create_virtual_master beforehand. No cap. π
All followers must be the same type, meaning they return the same information via the info callback. The function doesn't check it, so it's your responsibility. iykyk ππ
π¨ Bestie, that's a real caveat β same type or it's on you. The function is literally not checking.
Also, some additional limitations:
- at most two channels
- logarithmic volume control (dB level) thus no linear volume
- master can only attenuate the volume without gain
That's the whole vibe check β no linear volume, no gain, just attenuation. π«Άβ¨
π RETURN π
Zero if successful or a negative error code. Slay when it's zero, cry when it's negative. ππ
π₯ SEE ALSO π₯
- Kernel file
./include/sound/control.hβsnd_ctl_find_id_mixer(9),snd_ctl_add_follower_uncached(9)πβ¨
That's the whole page, bestie. Signed off from ./include/sound, October 2026 β mwah ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms