snd_ctl_elem_list | 要素のリストを取得 |
---|---|
snd_ctl_elem_list_get_count | デバイスの項目の数を取得 |
snd_ctl_elem_list_get_used | 実際に使用されている項目の数を取得 |
操作 | |
snd_ctl_elem_list_sizeof | snd_ctl_elem_list_t のサイズを取得 |
snd_ctl_elem_list_malloc | snd_ctl_elem_list_t を確保する |
snd_ctl_elem_list_free | snd_ctl_elem_list_t を解放 |
snd_ctl_elem_list_clear | クリア |
snd_ctl_elem_list_copy | 複製 |
snd_ctl_elem_list_alloc_space | 要素リストのスペースを確保 |
snd_ctl_elem_list_free_space | 要素リストのスペースを解放 |
情報 | |
snd_ctl_elem_list_set_offset | 最初の要素のインデックスをセット |
snd_ctl_elem_list_get_id | 要素の識別子を取得 |
snd_ctl_elem_list_get_numid | 要素の numid を取得 |
snd_ctl_elem_list_get_interface | 要素のインターフェイスを取得 |
snd_ctl_elem_list_get_device | 要素のデバイスを取得 |
snd_ctl_elem_list_get_subdevice | 要素のサブデバイスを取得 |
snd_ctl_elem_list_get_name | 要素の名前を取得 |
snd_ctl_elem_list_get_index | 要素のインデックスを取得 |
要素の識別子のリスト
int snd_ctl_elem_list(snd_ctl_t *ctl, snd_ctl_elem_list_t *list);
サウンドカード・ドライバからデータを取得し、要素のリストをセットする。
実際にデータを読み込むには、あらかじめ項目分のスペースを確保する必要がある。
スペースが少なすぎる場合は、要素の一部がセットされる。
スペースが多すぎる場合は、一部が未使用のままになる。
まずは、snd_ctl_elem_list_malloc() を使用して、snd_ctl_elem_list_t を確保しておく。
次に、項目に必要な個数の情報を取得するため、この関数を実行する。
この時点では、スペースが確保されていないので、実際のデータは読み込まれない。
その後、snd_ctl_elem_list_get_count() を使って、必要な個数を取得し、snd_ctl_elem_list_alloc_space() で、必要な数のスペースを確保する。
この状態でもう一度この関数を実行すれば、実際にデータがセットされる。
実際にデータを読み込むには、あらかじめ項目分のスペースを確保する必要がある。
スペースが少なすぎる場合は、要素の一部がセットされる。
スペースが多すぎる場合は、一部が未使用のままになる。
まずは、snd_ctl_elem_list_malloc() を使用して、snd_ctl_elem_list_t を確保しておく。
次に、項目に必要な個数の情報を取得するため、この関数を実行する。
この時点では、スペースが確保されていないので、実際のデータは読み込まれない。
その後、snd_ctl_elem_list_get_count() を使って、必要な個数を取得し、snd_ctl_elem_list_alloc_space() で、必要な数のスペースを確保する。
この状態でもう一度この関数を実行すれば、実際にデータがセットされる。
戻り値
0 で成功、負の値でエラーコード
unsigned int snd_ctl_elem_list_get_count(const snd_ctl_elem_list_t *obj);
CTL デバイスに存在する要素の、合計数を取得する。
この情報は、snd_ctl_elem_list() が呼び出された後に存在する。
この情報は、snd_ctl_elem_list() が呼び出された後に存在する。
操作
int snd_ctl_elem_list_malloc(snd_ctl_elem_list_t **ptr);
snd_ctl_elem_list_t を確保する
戻り値
0 で成功、負の値でエラーコード
void snd_ctl_elem_list_free(snd_ctl_elem_list_t *obj);
snd_ctl_elem_list_t を解放する。
snd_ctl_elem_list_alloc_space() を使用した場合は、この関数を呼び出す前に snd_ctl_elem_list_free_space() を使用する必要がある。
snd_ctl_elem_list_alloc_space() を使用した場合は、この関数を呼び出す前に snd_ctl_elem_list_free_space() を使用する必要がある。
void snd_ctl_elem_list_clear(snd_ctl_elem_list_t *obj);
クリアする。
この関数を呼び出した後は、確保済みのスペースを解放できないため、事前に snd_ctl_elem_list_free_space() を呼び出す必要がある。
この関数を呼び出した後は、確保済みのスペースを解放できないため、事前に snd_ctl_elem_list_free_space() を呼び出す必要がある。
void snd_ctl_elem_list_copy(snd_ctl_elem_list_t *dst, const snd_ctl_elem_list_t *src);
浅い複製を実行する。
つまり、両方のリストは、要素に対して同じスペースを共有し、要素はコピーされない。
つまり、両方のリストは、要素に対して同じスペースを共有し、要素はコピーされない。
int snd_ctl_elem_list_alloc_space(snd_ctl_elem_list_t *obj, unsigned int entries);
各要素のスペースを確保する。
entries
割り当てる項目の数。
戻り値
0 で成功、負の値でエラーコード
情報
void snd_ctl_elem_list_get_id(const snd_ctl_elem_list_t *obj, unsigned int idx, snd_ctl_elem_id_t *ptr);
要素の識別子を取得
idx
項目のインデックス
unsigned int snd_ctl_elem_list_get_numid(const snd_ctl_elem_list_t *obj, unsigned int idx);
要素の numid を取得
snd_ctl_elem_iface_t snd_ctl_elem_list_get_interface(const snd_ctl_elem_list_t *obj, unsigned int idx);
要素のインターフェイスを取得
unsigned int snd_ctl_elem_list_get_device(const snd_ctl_elem_list_t *obj, unsigned int idx);
要素のデバイスを取得