Integra-7 controlled by Gig Performer - is it possible yet?

Hello GP friends,

Sorry, if I’m beating a dead horse. I’ve read the few threads here that mention Integra-7, but has anyone actually been successful at controlling the Integra-7 using Roland’s INTEGRA-7 Editor Ver.2 VST inside of Gig Performer? If so, are you willing to share how it’s done?

I have the Editor version 2.0.3, which I believe was the latest update, along with the latest Windows driver. The plugin block loads into GP, and the main page opens nicely. However, when you use the Utility tab to select the MIDI devices, it seems no matter what is chosen, they all return a Connect Failed ERROR. If it can’t be done, maybe it’s time to retire the unit, but with 6,000 or so sounds, kind of hard to shelve it.

Are any of those MIDI ports assigned to Gigperformer (options->MIDI ports). Most MIDI drivers cannot be used by more than one client, and it seems the Roland vst does open these ports by itself, instead of using the MIDI in/out it could get from the plugin host, in this case Gigperformer.

I have the same problem. It seems the integra 7 editor wants to control the port, which is exactly the same thing it did with ableton. The only solution there was to replicate the port and tell ableton to ignore the one I was using for the plugin. Sadly when I tried that with GP it just crashed.

Some time ago I wrote a scriptlet for manipulating the part levels by converting midi from my panorama sliders into Sysex commands. (my parts share midi channels so i can layer tones which makes it impractical to control volumes via standard C7 commands)

So… I am working on a scriptlet to control the part parameters of the integra directly (bypassing the integra edit). Then I can pretty much wire it into anything and it will play well with GP. It may take a while. If you want a copy when I am done let me know.

2 Likes

What version of GP?

Why didn’t you try exactly?

Interesting topic. Looking forward to hear a conclusion on it. I to tried to set up Integra inside gp but the Integra vst did not satisfy me enough to feel safe to use live.

Gp can control it’s individual midi channels and volume on these channels splits and layers etc using multiple midi in blocks. But would like gp to have direct control over synth parameters for example and the vst is required for this.

That’s exactly how I’m controlling my Integra 7 now… using
Program Change Sender

@dhj 4.0.52 is my version
What i did was patch my integra via an rtp midi port. I unchecked the port in GP, then tried to have the roland plugin talk to it directly. Which resulted in crash.

This doesnt work if you are layering multiple tones on the same midi channel. For example, a string pad combined with a velocity sensitive brass layer. Sending a volume change on a midi channel will affect both tones. The only way to control the tones individually is with sysex :frowning:

Why? Does the Integra not support control of synth parameters via CC messages or sysex?

That’s old….the current released version is 4.5.8

I should add that its also useful to disable the midi receive for Voice management. (Again only possible over sysex). So for instance i have a layered set with 6 tones and they are all somewhat cpu heavy, i cant get full poly on all of them at once without turning some off.

Upgraded to 4.5.8. Same behavior :frowning:

Heres the scriptlet for controlling over SysEx I mentioned.

// Declare various kinds of parameters
var
   StudioSet_Select : Subrange Parameter 1..64 = 1
   Part01_Receive : Discrete Parameter "Off","On" = "Off"
   Part02_Receive : Discrete Parameter "Off","On" = "Off"
   Part03_Receive : Discrete Parameter "Off","On" = "Off"
   Part04_Receive : Discrete Parameter "Off","On" = "Off"
   Part05_Receive : Discrete Parameter "Off","On" = "Off"
   Part06_Receive : Discrete Parameter "Off","On" = "Off"
   Part07_Receive : Discrete Parameter "Off","On" = "Off"
   Part08_Receive : Discrete Parameter "Off","On" = "Off"
   Part09_Receive : Discrete Parameter "Off","On" = "Off"
   Part10_Receive : Discrete Parameter "Off","On" = "Off"
   Part11_Receive : Discrete Parameter "Off","On" = "Off"
   Part12_Receive : Discrete Parameter "Off","On" = "Off"
   Part13_Receive : Discrete Parameter "Off","On" = "Off"
   Part14_Receive : Discrete Parameter "Off","On" = "Off"
   Part15_Receive : Discrete Parameter "Off","On" = "Off"
   Part16_Receive : Discrete Parameter "Off","On" = "Off"
   Part01_Level : Continuous Parameter = 0.0
   Part02_Level : Continuous Parameter = 0.0
   Part03_Level : Continuous Parameter = 0.0
   Part04_Level : Continuous Parameter = 0.0
   Part05_Level : Continuous Parameter = 0.0
   Part06_Level : Continuous Parameter = 0.0
   Part07_Level : Continuous Parameter = 0.0
   Part08_Level : Continuous Parameter = 0.0
   Part09_Level : Continuous Parameter = 0.0
   Part10_Level : Continuous Parameter = 0.0
   Part11_Level : Continuous Parameter = 0.0
   Part12_Level : Continuous Parameter = 0.0
   Part13_Level : Continuous Parameter = 0.0
   Part14_Level : Continuous Parameter = 0.0
   Part15_Level : Continuous Parameter = 0.0
   Part16_Level : Continuous Parameter = 0.0

   
// Studio Set Change Via Sysex
Function SetupSysexChange( function_number: integer, value: integer )
    var
        partChangeSysex : SysexMessage = # F0 41 7F 00 00 64 12 01 00 00 04 00 00 F7  
        checksum : integer

    checksum = 128 - ( (24 + 00 + 01 + function_number + value ) % 128 )
    SM_ChangeValue(partChangeSysex, 10, function_number)
    SM_ChangeValue(partChangeSysex, 11, value)
    SM_ChangeValue(partChangeSysex, 12, checksum)
    SendSysexNow(partChangeSysex)
End

   
On ParameterValueChanged(p: Subrange, index: integer) matching StudioSet_Select
    SetupSysexChange( 4, 85 )
    SetupSysexChange( 5, 0 )
    SetupSysexChange( 6, p-1 )
End


  
// This directly mutates the part irrespective of midi channel using sysex commands
//
// Function numbers are on page 12 of the Integra7 midi implementation manaual
// and are equal to the last part of the address from the Studio Set Part Section
// and must first be converted from hexadecimal to decimal
// (ie: 0A = 10)
//
Function StudioSetPartChange( part: integer, function_number: integer, value: integer )
    var
        partChangeSysex : SysexMessage = # F0 41 7F 00 00 64 12 18 00 20 00 00 00 F7  // '19 is part 1' 11 and 12 (last 2) are volume and checksum, respectively
        checksum : integer

    checksum = 128 - ( (24 + 00 + (31 + part) + function_number + value ) % 128 )
    SM_ChangeValue(partChangeSysex, 9, 31 + part) 
    SM_ChangeValue(partChangeSysex, 10, function_number)
    SM_ChangeValue(partChangeSysex, 11, value)
    SM_ChangeValue(partChangeSysex, 12, checksum)
    SendSysexNow(partChangeSysex)
End


On ParameterValueChanged(p: Continuous, index: integer) matching Part01_Level,Part02_Level,Part03_Level,Part04_Level,Part05_Level,Part06_Level,Part07_Level,Part08_Level,Part09_Level,Part10_Level,Part11_Level,Part12_Level,Part13_Level,Part14_Level,Part15_Level,Part16_Level
    StudioSetPartChange(index+1,9,ParamToMidi(p))
End


On ParameterValueChanged(p: Discrete, index: integer) matching Part01_Receive,Part02_Receive,Part03_Receive,Part04_Receive,Part05_Receive,Part06_Receive,Part07_Receive,Part08_Receive,Part09_Receive,Part10_Receive,Part11_Receive,Part12_Receive,Part13_Receive,Part14_Receive,Part15_Receive,Part16_Receive
    If ( p == "Off" ) Then
        StudioSetPartChange(index+1,1,0)
    Else
        StudioSetPartChange(index+1,1,1)
    End
End

Initialization
   SetInfoMessage("Script by dana@madsoundseattle.com. All rights reserved. Use at your own risk.")
End


Can we see the crash report?

Absolutely. Where do i find it? (Windows)

This is how you can post the crash report here.

When a crash occurs, please select What does this report contain?

What-does-this-report-contain

Afterwards, click on the Export… button:

Export

Give your report a meaningful name and save it in the desired folder:

Save-As

Finally, attach this file here.

I think it does. Ive read some where that almost all the parameters of the integra 7 are controllable through sysex.

I have no idea how to program or use sysex and wondered if this is something that gp would be able to control.

I dont actually get to the second dialog with the export button.

You can send both cc and sysex to integra from GP. But All parts on same midi channel will respond to a CC message. The only way to control the levels of parts that are on the same midi channel individually is via sysex.