I don't think either of my controllers have any support for virtual interfaces. Haven't seen anything relevant in the documentation or the firmware configuration apps for them.
Regarding mapping devices by name, yeah, I don't see any other way to do it, either. However, I don't think you'd have to do that continuously, rather the check would only be needed at device connect time? So when a MIDI device is "attached", check its name and then map that connection to a device configuration. This should be stable since G-Stomper is "notified" of devices being "attached" and "detached"?
In the case of using a USB hub and multiple devices, in the MIDI Scope app for me the two devices are assigned different "alsa_card" numbers. Isn't that something you can use to efficiently differentiate the connected devices? You'd only need to check the name on new connections and then internally map the card number to the device configuration.
I've never done any Android programming myself although I am a programmer. Are you using the android.media.midi API?
Better support for multiple MIDI devices
Re: Better support for multiple MIDI devices
dag wrote:I don't think either of my controllers have any support for virtual interfaces. Haven't seen anything relevant in the documentation or the firmware configuration apps for them.
Regarding mapping devices by name, yeah, I don't see any other way to do it, either. However, I don't think you'd have to do that continuously, rather the check would only be needed at device connect time? So when a MIDI device is "attached", check its name and then map that connection to a device configuration. This should be stable since G-Stomper is "notified" of devices being "attached" and "detached"?
In the case of using a USB hub and multiple devices, in the MIDI Scope app for me the two devices are assigned different "alsa_card" numbers. Isn't that something you can use to efficiently differentiate the connected devices? You'd only need to check the name on new connections and then internally map the card number to the device configuration.
I've never done any Android programming myself although I am a programmer. Are you using the android.media.midi API?
I took a quick look to the api docs. Android exposes the serialnumber, which should be unique, at least for a particular device model.
So the identification won't be a big deal anymore.
I've added an item to the "to-be-considered" features list.
I cannot look into it any deeper at the moment, since there are too many other urgent tasks pending.
I also cannot give you a promise yet, if it will be done or not.
I will look at it when the rush is over.
Re: Better support for multiple MIDI devices
dag wrote:Are you using the android.media.midi API?
No, GSS uses an own MIDI driver which works from Android 3.1 and higher.
Re: Better support for multiple MIDI devices
I thought of that too, but In MIDI Scope, the serial_number for the Arturia BeatStep is reported as null. It does provide an mVendorId and an mProductId as part of usb_device which holds some sort of mapping object. Do you see anything for reading those in your API?
Re: Better support for multiple MIDI devices
dag wrote:I thought of that too, but In MIDI Scope, the serial_number for the Arturia BeatStep is reported as null. It does provide an mVendorId and an mProductId as part of usb_device which holds some sort of mapping object. Do you see anything for reading those in your API?
Oh, that's too sad.
Sure, you can access all USB specific data like vendorId, productId, etc.
But these are not unique. Two connected beatstep controllers will both have exactly the same vendorId (brand) and productId (model).
Therefore I thought the serialNo could be a solution.
Re: Better support for multiple MIDI devices
Oh, you want to differentiate two identical connected devices. I hadn't thought of that, I suppose it's a valid use case. Still, I think differentiating non-identical devices is good enough for most users of a mobile app? But I can't speak for others, of course.
Re: Better support for multiple MIDI devices
dag wrote:Oh, you want to differentiate two identical connected devices. I hadn't thought of that, I suppose it's a valid use case. Still, I think differentiating non-identical devices is good enough for most users of a mobile app? But I can't speak for others, of course.
At the end, it could be a solution to simply disable the use of two identical devices (even if it's an ugly solution).
However, once the experimental multi-device support is live, I'll see how many users actually use it (in google analytics).
Depending on that numbers I can decide if it's worth the effort or not.
With Android N, I'll anyway integrate a new hook up based on Google's MIDI API. That will be a good time to do a MIDI overhaul as well.
Re: Better support for multiple MIDI devices
Just wanted to say again that G-Stomper probably has the best support for MIDI devices I've seen on Android, so kudos and thanks for that. If I'm flooding you with requests for improvements, it's only because it's already so good that the horizon of perfection is almost in sight, and doesn't seem so out of reach. ![Wink ;-)](./images/smilies/icon_e_wink.gif)
![Wink ;-)](./images/smilies/icon_e_wink.gif)
Re: Better support for multiple MIDI devices
dag wrote:Just wanted to say again that G-Stomper probably has the best support for MIDI devices I've seen on Android, so kudos and thanks for that. If I'm flooding you with requests for improvements, it's only because it's already so good that the horizon of perfection is almost in sight, and doesn't seem so out of reach.
Thanks a lot, dag. I absolutely understand you the right way, and I really appreciate your suggestions.
That I don't dive straight into such an implementation has nothing to do with the fact that I like the idea or not.
I definitely like it.
The point is that the MIDI integration is already quite complicated, not the code, it's complicated for the users, especially for such who are new to anything around MIDI.
The virtual interfaces already brought a lot of complexity to the setup. And I'm a bit afraid, that bringing one more parameter into it could probably over-complicate it.
That's why I first want to see the numbers.
Also... not sure if you know, the complete G-Stomper project is completely managed by a single person, myself.
That's why I have to consider very seriously which features go to the development pipeline, and which do not.
In any way, the new experimental MIDI support is ready to go. It'll be definitely part of the next beta (probably ready this week).
I think that update will make things much easier for you.
Re: Better support for multiple MIDI devices
planet-h wrote:Thanks a lot, dag. I absolutely understand you the right way, and I really appreciate your suggestions.
That I don't dive straight into such an implementation has nothing to do with the fact that I like the idea or not.
I definitely like it.
The point is that the MIDI integration is already quite complicated, not the code, it's complicated for the users, especially for such who are new to anything around MIDI.
The virtual interfaces already brought a lot of complexity to the setup. And I'm a bit afraid, that bringing one more parameter into it could probably over-complicate it.
That's why I first want to see the numbers.
Also... not sure if you know, the complete G-Stomper project is completely managed by a single person, myself.
That's why I have to consider very seriously which features go to the development pipeline, and which do not.
In any way, the new experimental MIDI support is ready to go. It'll be definitely part of the next beta (probably ready this week).
I think that update will make things much easier for you.
Oh, I wasn't trying to shame you into action!
![Wink ;-)](./images/smilies/icon_e_wink.gif)
I may be a paying customer but the price I paid was very reasonable and you're providing upgrades for free. It's great that you listen to feature requests but I want to express that at least for me my requests are merely hints and not meant as demands. I completely understand the need to prioritize where you invest your time, and the need to get things right before release.
Perhaps all this is unnecessary to say, but I just don't want you to take requests as complaints or evidence of customer dissatisfaction. So I'm letting you know I really like G-Stomper and that I think the MIDI support I'm posting a lot about is already perhaps the best on Android.
Cheers!
Who is online
Users browsing this forum: No registered users and 53 guests