Hi
i need to Filter incoming Midi messages
MAB LSB PC 121.74.0-127
and 121.75.0-127 just when I send this MSB LSB PC for this two Banks should GP to switch Racks/Variations and for all other MSB LSB it should be blocked any Midi CC and Notes to not coming in Gig Performer.
How can we do this in Gig Performer?
Why?
Can you please explain what you’re actually trying to accomplish rather than discussing filtering without explaining the purpose?
OK
I have one Arranger Keyboard Korg Pa5x.
Im using with Gig Performer but there are Internal Sounds with MSB LSB and User Sound Banks 11 and 12 which are 121.74.0-127 and 121.75.0-127.
This two banks are withound any User Sounds(or Custom Samples) they are dummy Sounds. I want to mapp this two Banks(128+128=256 Sounds) on GO Racks& Variations. This all is working nice.
But when I play on my Pa5x with internal Sounds(other MSB LSB) it sounds too Rack/Variation from GP. That’s why I need this filtering, to filte(block) any other MSB LSB to not go on GP.
I hope Im clear a little bit more now.
Thanks.
I want to be able to use booth Internal Sounds from Pa5x and External(Gig Performer) and combinations together.
Because its an Arranger Keyboard with Styles I want also to map Style Tracks with GP Racks/Variations. It’s not Master Keyboard without Internal Sounds.
Hm, not filtering but a different approach:
As far as I understood you are selecting your rackspaces from your Pa5x directly by MIDI PC incl. MSB/LSB
What you could do instead is to create dummy songs (if you don’t use them yet) - or a singe song with all relevant parts.
In Setlist/Songs you are able to react on explicit MSB/LSB/PC for a song part
HTH - BBB
If I understand you correctly, you want GP to switch to appropriate rackspaces when you use banks 121.74 and 121.75 and ignore completely anything that comes in when you switch to any other bank.
How many rackspaces do you have in GP?
Rather than trying to block everything, it seems to me that you should just switch to an empty rackspace whenever you choose a bank outside those two you mentioned above.
This can be done with a Global Script quite easily
Create a rackspace and call it “Silent”
Open the global rackspace and insert a MIDI In block that is tied to your Pa5x
Give it a script handle called PA5X (yes, all upper case)
Then paste the script below into the Global Rackspace script editor
Then, any rackspace that has MSB = 121 and LSB = 74 or 75 will work and if you send any other bank, GP will switch to the Silent rackspace which just ignores everything
//$<AutoDeclare>
// DO NOT EDIT THIS SECTION MANUALLY
Var
PA5X : MidiInBlock
//$</AutoDeclare>
const msbCCNumber : integer = 0
const lsbCCNumber : integer = 32
var
lastMSBBankNumber : integer = 0
lastLSBBankNumber : integer = 0
function ProcessIncomingBankMessages(m : ControlChangeMessage)
Print("MSB = " + lastMSBBankNumber)
Print("LSB = " + lastLSBBankNumber)
if lastMSBBankNumber == 121 and lastLSBBankNumber in [74..75]
then Print("Valid")
else SwitchToRackspaceByName("Silent", 0)
end
End
//Called when a program change message is received at some MidiIn device
On ProgramChangeEvent(m : ProgramChangeMessage) from PA5X
var
pc : integer = GetProgramChangeNumber(m)
Print("Program Change: " + pc)
SwitchToProgramNumberEx(pc, lastMSBBankNumber, lastLSBBankNumber)
End
On ControlChangeEvent(m : ControlChangeMessage) Matching msbCCNumber from PA5X
lastMSBBankNumber = GetCCValue(m)
ProcessIncomingBankMessages(m)
End
On ControlChangeEvent(m : ControlChangeMessage) Matching lsbCCNumber from PA5X
lastLSBBankNumber = GetCCValue(m)
ProcessIncomingBankMessages(m)
End
Yes this is what I want, it works,
Thanks.
This is actually i wanna accomplish too. What are the LSB, MSB of the GP so I can do program change using forscore…
Can i accomplish this using bluetooth instead of midi?
MIDI over Blootooth
How do I accomplish this pls.
Set up ‘Actions…’ Add MSB/LSB/PC to be send out to your devices.
Regarding your Forescroe setup (I’ve provided some links in the other thread). Specify your own map of MSL/LSB/PC and assign mappings in either direction (only one direction! otherwise you can end up in a loop…).