alsa-project/alsa-gobject pull request #54 was opened from takaswie: This patchset fixes #53 . ALSARawmidi.StreamPair.open() has `subdevice_id` argument to select one of substreams supported by the Rawmidi device. However, this parameter is ignored and the first substream is always selected. In ALSA rawmidi core, private structure associated to file descriptor to control character device assists selection of rawmidi substream. It requires to keep the file descriptor until the selected substream is actually attached by open rawmidi character device. Current implementation of libalsarawmidi is to close the file descriptor before opening rawmidi character device. This is the cause of the issue. This commit fixes the bug by keeping the file descriptor till opening rawmidi character device. ``` Takashi Sakamoto (2): rawmidi: query: allow caller to take ownership of file descriptor for control character device rawmidi: stream_pair: fix to select substream src/rawmidi/privates.h | 2 +- src/rawmidi/query.c | 16 ++++++++++------ src/rawmidi/stream-pair.c | 4 +++- 3 files changed, 14 insertions(+), 8 deletions(-) ``` Request URL : https://github.com/alsa-project/alsa-gobject/pull/54 Patch URL : https://github.com/alsa-project/alsa-gobject/pull/54.patch Repository URL: https://github.com/alsa-project/alsa-gobject