It's all VERY quiet on the FxIII USB MIDI Port!

SimonDreyer

Inspired
Hi Folks, now that I am fortunate enough to have an actual FxIII in my grubby little paws (and I love it!!! :)), I am working on getting my custom controller pedal to play nicely with it! (and before you all shout 'GET A FC-12!', yes, it is a wonderful thing and does lots of fantastic things, but it and the FxIII still lack the ability to download a setlist WITHOUT a laptop!). Anyway, moving past my petty requirements, my pedal was deigned to work with the FxII and it's pleasant nature! It has the forethought to think to it's self 'Maybe if something or someone changes a patch or a scene, I might want to tell the rest of the world about it on my USB port', and it does! So that allows all it's little midi band mates to keep track of what it's doing and don't have to keep asking it what it is doing all the time, and can groove along happily. Now the new and arrogant FxIII has a whole new attitude! It has decided that it doesn't care about what it's little midi band mates think, it's just going to be all quiet and mysterious and not say anything to anyone except those that ask (classic 'needy, high maintenance, lead guitar' type behavior!). This new attitude is making life unpleasant for everyone! Even when it is asked nicely in the Setup page to 'Send MIDI PC', it decides to go all 'old school valve amp' and only send the message on the 'land line' MIDI port! I think it may be time for that 'band meeting' to discuss it's possible future and how it may want to re-think it's lack of communication skills! :)
 
That's some interesting prose but I'm not sure exactly what you are asking for.
Basically that the FxIII publishes a program change, scene change and channel change event on the USB port! Any type of 'something has changed' message would suffice as a trigger to allow external systems to query it for updated data.
 
Basically that the FxIII publishes a program change, scene change and channel change event on the USB port! Any type of 'something has changed' message would suffice as a trigger to allow external systems to query it for updated data.
The Axe-Fx III is a client-server architecture. There are no "push" messages. Clients must poll the unit periodically.
 
This is my (python) code that works perfectly on the FxII, whenever something changes on the FxII, it publishes a message, my code determines what type of message it is and what it needs to do with the change. The objective here is to have a system (my foot-pedal in this instance) that can send change messages but also keep track of changes issued by other devices or manually on the front panel. This allows my foot-pedal to always display the patch name and the current scene selected on the Axe.

def process_msg(msg):
global bank
# Determine the function of the message
if (msg[0] == 191) and (msg[1] == 0): # Bank Select message
bank = int(msg[2]) # Set the bank Number
elif (msg[0] == 176) and (msg[1] == 34): # Message is a 'Scene Change Notification'
mw.get_scene_number() # Send a 'get_scene_number' request
elif msg[0] == 207: # Program Change Message
patch = int(msg[1])
process_lcd()
elif (msg[0] == 240) and (msg[5] == 15): # Message is a 'SysEx Message, Preset Name'
process_preset_name(msg)
elif (msg[0] == 240) and (msg[5] == 41): # Message is a 'SysEx Message, Scene Number'
process_scene_number(msg)
elif (msg[0] == 240) and (msg[5] == 14): # Message is a 'SysEx Message, Scene Number'
mw.get_scene_number()
 
Sorry, one more question, are the sysex request for program name and scene numbers the same as for the FxII messages?
 
Back
Top Bottom