Better support for multiple MIDI devices

Suggest and discuss new features here.
dag
Posts: 26
Joined: Thu Jul 21, 2016 8:59 am

Re: Better support for multiple MIDI devices

Postby dag » Wed Aug 10, 2016 8:20 am

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?
User avatar
planet-h
Posts: 1292
Joined: Wed Jun 19, 2013 4:46 pm

Re: Better support for multiple MIDI devices

Postby planet-h » Wed Aug 10, 2016 9:08 am

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.
User avatar
planet-h
Posts: 1292
Joined: Wed Jun 19, 2013 4:46 pm

Re: Better support for multiple MIDI devices

Postby planet-h » Wed Aug 10, 2016 9:16 am

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.
dag
Posts: 26
Joined: Thu Jul 21, 2016 8:59 am

Re: Better support for multiple MIDI devices

Postby dag » Thu Aug 11, 2016 10:21 pm

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?
User avatar
planet-h
Posts: 1292
Joined: Wed Jun 19, 2013 4:46 pm

Re: Better support for multiple MIDI devices

Postby planet-h » Fri Aug 12, 2016 1:30 pm

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.
dag
Posts: 26
Joined: Thu Jul 21, 2016 8:59 am

Re: Better support for multiple MIDI devices

Postby dag » Sat Aug 13, 2016 3:54 am

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.
User avatar
planet-h
Posts: 1292
Joined: Wed Jun 19, 2013 4:46 pm

Re: Better support for multiple MIDI devices

Postby planet-h » Sat Aug 13, 2016 6:57 am

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.
dag
Posts: 26
Joined: Thu Jul 21, 2016 8:59 am

Re: Better support for multiple MIDI devices

Postby dag » Mon Aug 15, 2016 3:37 am

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. ;-)
User avatar
planet-h
Posts: 1292
Joined: Wed Jun 19, 2013 4:46 pm

Re: Better support for multiple MIDI devices

Postby planet-h » Mon Aug 15, 2016 7:20 am

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.
dag
Posts: 26
Joined: Thu Jul 21, 2016 8:59 am

Re: Better support for multiple MIDI devices

Postby dag » Mon Aug 15, 2016 10:24 am

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! ;-) I honestly mean what I wrote and I just wanted to let you know your efforts are appreciated. Even more so given that yes, I do know G-Stomper is a one-man show and the result is all the more impressive for it.

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!

Return to “Feature Requests”

Who is online

Users browsing this forum: No registered users and 3 guests