pianosimon Posted November 24, 2010 Share Posted November 24, 2010 I am trying to setup an external instrument in Mainstage by sending Midi data out through an IAC bus. When I select the IAC bus 1 in the Midi Out area of the channel strip and then press a note on the keyboard I keep getting an error message saying MIDI LOOP DETECTED. How do I solve this please!! Link to comment Share on other sites More sharing options...
Thorste Posted December 18, 2010 Share Posted December 18, 2010 Could you explain your setup further. An IAC bus is a bus between two apps and you shouldn't require that (IAC) going to a piece of external hardware. Thanks Link to comment Share on other sites More sharing options...
romemulus Posted July 19, 2012 Share Posted July 19, 2012 I am trying to setup an external instrument in Mainstage by sending Midi data out through an IAC bus.When I select the IAC bus 1 in the Midi Out area of the channel strip and then press a note on the keyboard I keep getting an error message saying MIDI LOOP DETECTED. How do I solve this please!! I have a similar issue. "MIDI LOOP DETECTED: A MIDI Loop while receiving MIDI events on Port "Bus 1 IAC Driver" was detected." Has anyone ran into this using the IAC driver, 3rd party plugins (such as Sampletank, omnisphere) and solved it? I'm trying to minimize cpu usage by using the IAC driver to use Spectrasonics OMnisphere outside of Mainstage as an "external instrument"...it works, I saved quite a bit of cpu usage...but I get this midi loop error. Link to comment Share on other sites More sharing options...
stevecowley Posted June 2, 2013 Share Posted June 2, 2013 Hi guys, I have kind of solved this issue, but it has created another problem! I've detailed it in a new post as it's rather a long explanation - see viewtopic.php?f=17&t=96042 Hope we get this one sorted eventually... Link to comment Share on other sites More sharing options...
Jordi Torres Posted June 2, 2013 Share Posted June 2, 2013 All you need to do is select the keyboard in Layout mode, and change its hardware input device port from "All" to the port of your actual MIDI keyboard. The "All" port includes IAC, and since anything that is output through an IAC bus comes back in through the same IAC bus, you get a MIDI feedback loop. J. Link to comment Share on other sites More sharing options...
stevecowley Posted June 2, 2013 Share Posted June 2, 2013 Hi Jordito, many thanks for your reply. I am running a MainStage session with 3 MIDI keyboards, each routed to inputs of my MOTU micro lite MIDI interface. In the layout page, there is a keyboard representing each of these, and all have the relevant hardware settings. As far as I know, all MIDI inputs are set correctly, but I'm now going to set up a brand new concert, very simple, to see what happens: First of all, Jack is running to provide 32 channels of audio. Jack is not set up to handle MIDI. I plan to route MIDI from Mainstage to an external instance of Kontakt, on channel 1 of IAC Driver bus 1. The audio will then return to MainStage via Jack channels 31-32. MainStage preferences: Audio Output on MOTU Ultralite mk3 Hybrid Audio Input on JackRouter Layout mode - set up one keyboard, with the MIDI Out of the keyboard plugged into Port 1 of the micro lite. Keyboard 1 Hardware Input: Device: Port 1 micro lite Channel: Channel 1 Sustain pedal 1 Hardware Input: Device: Port 1 micro lite Channel: Channel 1 Type: Press/release Number: 64 (sustain) MIDI Thru: Automatic Send Value to: None Edit mode - set up one external instrument In the New Channel Strip dialog box: 1 External Instrument MIDI Input: Port 1 micro lite MIDI Output: IAC Bus 1 MIDI Channel: 1 Format: Stereo Input: 31-32 (these are Jack channels) Output: 1-2 Play notes on the keyboard - fine. Press sustain pedal - MIDI loop detected. So there are no keyboards in Layout apart from the one I have created, which is set to receive on micro lite Port 1 only. There are no channel strips within the concert other than the external instrument I just created, which should only be receiving MIDI from the keyboard on Port 1. Clearly MainStage is responding to MIDI coming back through the IAC bus. At this point I don't even have Kontakt open, but if I do have it open and set to receive MIDI on IAC Bus 1, and set to not pass any MIDI through, the result is the same. Have I missed something obvious?! Steve Link to comment Share on other sites More sharing options...
Jordi Torres Posted June 3, 2013 Share Posted June 3, 2013 Play notes on the keyboard - fine. Press sustain pedal - MIDI loop detected. So there are no keyboards in Layout apart from the one I have created, which is set to receive on micro lite Port 1 only. There are no channel strips within the concert other than the external instrument I just created, which should only be receiving MIDI from the keyboard on Port 1. Clearly MainStage is responding to MIDI coming back through the IAC bus. At this point I don't even have Kontakt open, but if I do have it open and set to receive MIDI on IAC Bus 1, and set to not pass any MIDI through, the result is the same. Have I missed something obvious?! It doesn't matter if Kontakt is open or not. every time you send MIDI data out an IAC bus, it will come back in again through that same bus. This is why one must block its entrance to the program where the MIDI is originating from. I don't know what's missing in your particular case, but if the loop is being detected, then the IAC bus is somehow finding its way back into Mainstage. I really don't use Mainstage that much so I wouldn't know where else to look...maybe CCT or Eric Bradley or mmm42 or DougZ can chime in on this. J. Link to comment Share on other sites More sharing options...
stevecowley Posted June 4, 2013 Share Posted June 4, 2013 Exactly - whatever is sent on the IAC bus appears to be coming back into Mainstage. And of course Mainstage assumes that any incoming MIDI that you haven't routed anywhere should be sent EVERYWHERE! This is why I created a dummy keyboard in Layout mode - to absorb this incoming MIDI on the IAC bus. Unfortunately this has the effect over time of introducing a massive amount of latency - I'm not sure why. To be honest, I think I'm about ready to give up on the IAC bus idea, as I need it to work in one direction only, or for Mainstage to be able to ignore anything coming in on the IAC bus. I've tried setting up a session using Plogue Bidule as a place to host instruments outside of Mainstage, and this seems to be working. For now, I'd recommend this as a workaround. Link to comment Share on other sites More sharing options...
Jordi Torres Posted June 4, 2013 Share Posted June 4, 2013 Exactly - whatever is sent on the IAC bus appears to be coming back into Mainstage. And of course Mainstage assumes that any incoming MIDI that you haven't routed anywhere should be sent EVERYWHERE! This is why I created a dummy keyboard in Layout mode - to absorb this incoming MIDI on the IAC bus. Unfortunately this has the effect over time of introducing a massive amount of latency - I'm not sure why. To be honest, I think I'm about ready to give up on the IAC bus idea, as I need it to work in one direction only, or for Mainstage to be able to ignore anything coming in on the IAC bus. How strange, in Logic it's so easy... you just patch an object (to function as a dead end) to the IAC port in the Physical Input object and you're done. Any data coming in from that IAC bus never gets past that object and therefore is completely ignored. The method I proposed took care of it when I tested it. I didn't notice anything strange with latency or whatever...how can a feedback loop form if you're not using IAC as the input for anything in Mainstage? I don't understand J. Link to comment Share on other sites More sharing options...
jvelard Posted July 15, 2013 Share Posted July 15, 2013 Hey Steve I'm having a similar problem with the IAC Driver and am curious about Plogue Bidule. Does it run as a Standalone or a Plugin when you use it to get Mainstage and Kontakt Standalone to talk to each other? Looking through threads online trying to figure this out... Link to comment Share on other sites More sharing options...
stevecowley Posted July 23, 2013 Share Posted July 23, 2013 Hi, Re. Plogue Bidule - I ran it as a standalone program, hosting Kontakt as a plug-in. It's been a few weeks since I did this, but from memory, I used the IAC bus to carry the MIDI from Mainstage to Bidule. Then set up Mainstage audio channels with the Bidule outputs set as inputs, to route the audio from Bidule back into Mainstage. Unfortunately this idea ran aground because everything I did resulted in latency being introduced. The idea I mentioned above, to set up a dummy channel strip to absorb the MIDI messages that were coming back in on the IAC bus, didn't work. Then I found out about going to the Assignments and Mappings tab, selecting the "Unassigned" assignment at the bottom of the list, and unchecking "Send unassigned MIDI to all channel strips". This negated the need for a dummy channel strip, but I still had the latency problem after running for around 30 minutes. It seems that either: - There is a fundamental problem with the IAC bus (unlikely as I haven't found anyone else with the problem) - There is a problem with Mainstage that makes the IAC bus unusable (possible) - There is a problem with my specific system that makes this not work (hopefully unlikely as I am using a brand new MacBook Pro with all the latest software and drivers) Having said all of the above, I'm not even sure that using the IAC driver is the solution to my problems, as I *think* I've had the CPU spikes even when using only stock Logic/Mainstage plug-ins. I need to do more research on this. Please keep us updated with how your IAC bus adventures go! Steve Link to comment Share on other sites More sharing options...
michaelhuisman Posted July 24, 2013 Share Posted July 24, 2013 Play notes on the keyboard - fine. Press sustain pedal - MIDI loop detected. okay, just a HUNCH, since note on/offs didn't trigger this, but a control message did... (this is how it's written up in the MainStage 3 manual, but concept was the same in v2) hope it helps, for me, I needed this setting to stop some pitch/mod wheel messages on one of my controllers routing thru to all channel strips when it shouldn't have... How MainStage passes through MIDI messages Some MIDI messages sent by your keyboard controller (or other MIDI device) are “passed through” to any channel strips in the MainStage concert that are mapped to the same controller (or device). Whether or not MIDI messages are passed through depends on the following conditions: • If there is no screen control in your layout assigned to receive the message type sent by the controller, the messages are passed through. • If a screen control for that MIDI message type exists, and the MIDI Thru parameter for the screen control is set to Automatic or to the input device, the messages are passed through. This is the default for screen controls set to receive volume, pan, expression, sustain, modulation, pitch bend, and aftertouch messages. • If a screen control for that MIDI message type exists, and the MIDI Thru parameter for the screen control is set to “Do not pass through,” the data is not passed through. This is the default for most other screen controls. The reason for these exceptions is so that when you add a screen control for a modulation wheel or a sustain pedal, for example, it “automatically” responds to the appropriate MIDI message type, without your having to configure it further. If you want to have the screen control respond to a different type of MIDI message, you can choose another MIDI message type from the Number pop-up menu in the Screen Control Inspector. Incoming MIDI messages that are passed through are passed to any channel strips mapped to the same device sending those messages (that is, to the keyboard controller you are using to “play” those channel strips). If there is no matching device, the MIDI messages are sent to all channel strips. You can also filter incoming MIDI messages for individual channel strips. For information on filtering MIDI messages, see Filter MIDI messages on page 53. Link to comment Share on other sites More sharing options...
stevecowley Posted July 27, 2013 Share Posted July 27, 2013 Thanks Michael. I solved the sustain pedal issue - it was creating a MIDI loop because Mainstage was set to pass any unassigned MIDI input to ALL channels. The sustain pedal had not been assigned to a specific instrument, so it was being sent to all instruments. Link to comment Share on other sites More sharing options...
michaelhuisman Posted July 27, 2013 Share Posted July 27, 2013 great! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.