Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be93709c authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: doc: Recommend the use of snd_ctl_elem_info()



Instead of the open code for the info call back of enum elements,
recommend the use of snd_ctl_elem_info(), which will reduce lots of
codes.

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent f114040e
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -3657,6 +3657,29 @@ struct _snd_pcm_runtime {
          </informalexample>
        </para>

        <para>
	  The above callback can be simplified with a helper function,
	  <function>snd_ctl_enum_info</function>.  The final code
	  looks like below.
	  (You can pass ARRAY_SIZE(texts) instead of 4 in the third
	   argument; it's a matter of taste.)

          <informalexample>
            <programlisting>
<![CDATA[
  static int snd_myctl_enum_info(struct snd_kcontrol *kcontrol,
                          struct snd_ctl_elem_info *uinfo)
  {
          static char *texts[4] = {
                  "First", "Second", "Third", "Fourth"
          };
          return snd_ctl_enum_info(uinfo, 1, 4, texts);
  }
]]>
            </programlisting>
          </informalexample>
        </para>

        <para>
	  Some common info callbacks are available for your convenience:
	<function>snd_ctl_boolean_mono_info()</function> and