Dear all,
I have some questions about ALSA control interface.
Currently I'm working for writing control applications in userspace. The application adds some control elements to a certain control device, then execute interprocess communication via the device by ALSA control interface.
To help this work, I'm preparing for alsa-gir, with partly implementation of ALSA Control/Timer/Sequencer interface. (Currently I have no plan to support the other interfaces, such as PCM.)
https://github.com/takaswie/alsa-gir
Then I have six questions.
1.The 'numid' is unique number for each element or not. 2.The 'numid' is always zero in SND_CTL_EVENT_MASK_ADD event. 3.The way to change permissions of each control element. 4.Added elements are not removed when closing fd. 5.Processes can delete elements which the other processes added. 6.The operation to replace element generates separate events.
In detail: 1.The 'numid' is unique number for each element or not? I want to use it to indicate each element, if possible. But there're more members in snd_ctl_elem_id structure.
2.The 'numid' can be notified in SND_CTL_EVENT_MASK_ADD event? As long as I test, it's always zero when userspace applications add any elements. Is it an expected behaviour? Or a bug?
3.The way to change permissions of each control element. Is it possible after adding the elements? If possible, how to notify it in the other processes?
4.Any elements added by a process are not removed at closing snd_ctl_t. They're remained after closing the process' snd_ctl_t. Is it an expected behaviour? Or a bug?
5.Processes can delete elements which the other processes added. Is it an expected behaviour? Or a bug?
6.The operation to replace elements generates separate events. ADD/REMOVE events occurs sequencially. Userspace application cannot distinguish replacement from adding/removing, therefore cannot process appropriate action. Is it an expected behaviour? Or a bug?
Regards
Takashi Sakamoto