ALSA Library Reference Manual
NANE
snd_mixer_sort_gid_table - グループのリストを指定の種類順にソートする関数
SYNOPSIS
DESCRIPTION
snd_mixer_sort_gid_table関数はグループのリストlist[0...(count-1)]を、アプリケーションで用意したリストtable[0...n]を元に種類順にソートし直す関数である。
この関数は、snd_mixer_groups関数などで取得したグループのリストをソートし直すのに用いると良い。
グループを種類順に整列させるためのリストtable[0...n]はsnd_mixer_weight_entry構造体のリストであり、以下の情報を用意する。
- char table[n].name[24]
- グループの種類を指定する。SND_MIXER_IN_XXXX、SND_MIXER_OUT_XXXX、SND_MIXER_GRP_XXXX、SND_MIXER_ELEMENT_XXXX、SND_MIXER_SW_XXXX、などで指定できる。
- int table[n].weight
- グループの種類によるソート順の重さを指定する。数が低いほど先に整列される。
リストの最後にはtable[n].char = NULL、table[n].weight = 0を挿入する。リストにない種類のグループがあった場合は、重さを0としてソートする。同じ重さのグループがあった場合には、その中で名前順に整列され、名前も同じであった場合はそれぞれのグループのID順に整列される。
また、単純にグループを種類順にソートしたい場合には、snd_mixer_weight_entry_t *snd_mixer_default_weightsにリストが用意されている。このリストはsnd_mixer_sort_eid_table関数と共に利用できる。
SEE ALSO