Problem with Roland Integra-7 Module

Hmm, at this time, Gig Performer opens all MIDI devices that it sees so that you can use them at will. It seems that under Windows, once one application has opened a MIDI port, another application can’t subsequently open the same port. This is a restriction of Windows MIDI drivers.

Apparently, the Roland plugin is trying to open MIDI drivers itself. It really shouldn’t be doing that and instead it should be receiving/sending MIDI through whatever is hosting the plugin. You should complain to Roland about that!

We’ll look into possible ways to tell Gig Performer that it should NOT open certain MIDI ports but that’s not something that will happen quickly.

Hi David,

Thanks for the reply - its good that we do seem to be agreeing on the cause of the problem.

If we are correct and that Integra-7 is trying to get exclusive access to the ‘Integra-7 CTRL’ midi port - then I do not feel sure that we can actually say that this is wrong. Maybe if they are only transmitting complex (presumably System Exclusive) midi stuff then perhaps a DAW should not be interfering or otherwise slowing it down. The only thing I would say in their defense is that it does work in Cubase and we have to assume that Steinberg are the authority of how VST’s work. Based on a previous experience of querying Roland’s design decisions - I think its a waste of time complaining to them about anything.

I would, however, respectively suggest that if Gig Performer is actually allocating/opening all available midi ports - then it too is not behaving totally correctly. There is actually life outside of Gig Performer and maybe the user might want to run parallel programs which process midi data separately or indeed in series (pre or post) with GP. I saw a suggestion of a Patch Librarian being one example of such a requirement (but then I guess that’s what the Integra-7 VST actually is).

I am not suggesting that you need to resolve this problem (although it would be nice) - but I would have thought the solution was comparatively easy and that it is to do what Cubase, Sonar and AKAI VIP do. They have a simple table of available/unavailable midi ports in ‘preferences’ which is checked/unchecked and is either used of not used by the host.

Anyway - thanks again

Barry

Hey Barry, this is Ken Boome in Dallas Texas. I too have an integral 7 that I would love to control “live” with GP3… right now I’m using a Roland A 300 pro controller to control the Integra-7. Please keep me in your loop, and what you’re learning about Gigperformer3 controlling the Integra7 please , Wouldn’t it be fantastic to have that 5000 sound “beast” more under one control. Thank you very for bringing up this topic. Keep me in your loop. Thanks in advance. Ken

I’m going to see if I can do a quick hack, perhaps a text file containing port names that shouldn’t be opened.

However, it’s not really the case that GP is not behaving properly. The fundamental problem is that most MIDI driver implementations on Windows are not allowing the ports to be opened by multiple applications. There is no good reason for such a restriction. On Mac OS X, for example, multiple apps can open the same port with no problem and this is something that Windows OS should properly support. I would argue that in fact it is Windows that is not behaving totally correctly.

There are several third party solutions such as proxyMIDI that can be used to solve the problem on Windows.

What Cubase is doing (and what we will do) is essentially compensating for a poorly implemented subsystem.

My observation, which may be totally wrong - just my opinion based on the facts as presented to me, is that Windows seems to share midi ports at the level of GP - but not at the level below. So what I mean is that it seems to be possible to run a separate program that uses midi at the same time as GP quite happily - at least examples have worked for me. The problem with Roland’s possibly dodgy Integera-7 control VST is that it tries to allocate a midi port itself (I don’t know if that is illegal in VST terms). Obviously GP has already opened it itself - so it fails. The solution I suspect is as proposed - a simple list of midi ports that GP is not allowed to allocate under any circumstances.

I don’t know what you mean by “share midi ports at the level of GP”. Most MIDI drivers (and ASIO drivers for that matter) do not support multiple clients on Windows so if you open a port from one application, you can’t open that same port simultaneously from another application. There are a few (probably counted on one hand) multi-client drivers out there, notably the one from RME.

The restriction is getting addressed in a new implementation under Windows 10 but is not yet widespread. In the meantime (until we can implement a way to not open all ports), proxyMIDI or loopMIDI supposedly lets you share ports so it may be worth looking at them.

I did say it was based on my observation only - so it could well be wrong and just a local specific circumstance. But as an example when I am using GP - I sometimes run at the same time a program called Chordie( https://www.chordieapp.com/ ) - which displays chords being played on my keyboard (Motif XS). So GP is playing music based on reading notes from the MOtif-XS midi port. Chordie independently (i.e. outside GP) reads the same midi notes from the same midi port. As far as I can see that is what is happening unless there is some strange redirection going on that I haven’t bothered to figure out - coz it just works 100% reliably.

Of course - I have probably just misinderstood what the real argument above is about.

Did you have to install a special MIDI driver for the Motif? What MIDI interface are you using?

OK - it looks like I misled you (and myself). The driver for the Motif is Yamahas own and obviously handles multiple access (the midi interface is a Focusrite Scarlett 6I6). The dual use works with the Motif->Chordie,GP combination. If I try the same experiment using a Roland Arranger in place of the Motif keyboard then Chordie is unable to see/open the Roland arranger midi input (the Roland using Windows drivers).

I don’t understand MIDI like you guys do, but I do own the INTEGRA 7 and am a long time Cubase user, on a custom Windows10 Laptop with 4 SSD’s etc.

INTEGRA 7 is definitly a swiss army knife of synths, “All in One” tool. I currently control it with a Roland A300 pro controller, and it is comp[licated using their VST app etc.

So if Steinberg got it right (about controling INTEGRA 7) from within CuBase, How hard would it be to send Gig Performer3 commands to a dedicated PORT/CHANNEL that is “SPECIFACALLY” assigned to CuBase’s handling of the INTEGRA 7 by itself.?
I would so love to have GP3 control that INTEGRA 7, instead of having to do it thru Rolands PC/MSB/LSB Studio set approach.

Thanks in advance !
KB

Please see my earlier comment

The issue is that most MIDI drivers under Windows don’t allow MIDI ports to be opened by multiple apps. Gig Performer currently just opens every MIDI port it finds so when another app (including the Roland VST which can be considered another app for this purpose) tries to open it, it can’t.

We will add the ability to exclude specified ports in a future update (which is what Steinberg did) but right now the only option is to use a multi port MIDI driver or a proxy virtual driver

Thank-You dhj;

Unfortunately I don’t understand how these devices talk to each other.
But could GP3 cut thru this protocol and just simply send messages to
Steinbergs CuBase which would send the necessary messages to the Roland Integra 7.
My assumption is blind, but if Steinberg wrote their VST software in a way that allows the Integra 7 to work under the “hood” of Cubase. Wouldn’t be easy to send the neccessary commands from GP3 right into Cubase, and to the PORT/CHANNEL that is dedicated to running the Integra 7?

Again I apologize that i don’t understand programing.

KB

I don’t know anything about Cubase. If Cubase can create virtual MIDI ports that Gig Performer can open then sure, you could do that. But those 3rd party proxy programs that I mentioned earlier are doing exactly that. They open the physical port (exclusively) but they then allow multiple other applications to open virtual MIDI ports that are then routed to that physical port.

That’s still your best option for now.

As long as proxyMIDI is not yet available, another workaround would probably be to connect your Integra-7 to your computer using another MIDI interface which has drivers supporting multiple clients. (Perhaps you can just use the MIDI ports on your audio interface for that)

The problem is that very few drivers on a Windows support multiple apps.
But loopMIDI can also be used, it’s avaialble

https://www.tobias-erichsen.de/software/loopmidi.html

I don’t think it is correct to have to feed midi from GP into Cubase. And anway GP will still grab hold of all midi channels as before so I’m not sure how this helps…

The problem is that Roland have written a perfectly good VST which allows full control of the Integra-7 facilities. But what happens is that GP gets there first and grabs hold of a specialised mid channel the VST needs - so that the Roland VST cannot. Unusual that it is - this VST cannot be the only one in the world which requires exclusive use of a specialised midi channel. And it would seem to me that it makes common sense to at least have the option of being able to tell GP not to grab specific channels. The suggestion of a simple text file which contains the name of a midi channel that GP is not to grab seems to me easy to implement and something that would be a sensible thing to do anyway.

And PS

Is it not possible that people want to run other programs outside of GP (i.e in parallel) which use midi - and if GP hogs the whole lot then its stopping those programs from operating too.

Yes, we will add a way to exclude ports, probably with a text file in the short term and a proper GUI in the long term.

But please understand, this issue is due to a flaw in some MIDI drivers and only on Windows. It is because of this that third party solutions such as loopMIDI were developed and while we are all waiting for a GP fix, the workaround using loopMIDI should work.

I haven’t tried that solution myself (I don’t have an Integra) but the way it should work is that you would first open the Integra with loopMIDI and then you would run Gig Performer and then you should be able to select the loopMIDI proxy from the Roland VST so as to be able to communicate with it.

image

Not sure you know, but the latest version of GP does support the ability to exclude ports