Piing
Axe-Master
Sorry. Dropbox removed the access to the Public Folder. Here it is:
https://www.dropbox.com/s/01bhe11yddlfffg/AxeController_V6.9.ino?dl=0
https://www.dropbox.com/s/01bhe11yddlfffg/AxeController_V6.9.ino?dl=0
The code listed in post #22 is only for the sysex portion of the program. In this case the sysex is used solely for query and response from the AxeFX in order to get information such as preset name and number and does not make or request any block or preset changes to the AxeFX.Is the code on post #22 right for the initial definition 3 x 5 switch row, preset/scene/looper discribed in the first posts of the thread ??
is it the most recent version of the code ?
I have tried to read the code (not specialist of arduino at all) and I don't see anything particuliar regarding the led/switch definition . Is it normal ??
Where is then defined the numbers of switches ?
Just for me to be sure.
The CC commands are still used (in the full code: post #42) to control the AxeFX and do things like switch scenes, presets, and control the loop functions.if I understood well, the last code is bi-directional with the AXE FX II. also I suppose that the CC Effect definiton is not necessary anymore in comparison with previous version of the code
void setPreset(int currentPreset) {
if (currentPreset < 128) {
MIDI.sendControlChange(0, 0, MIDIKANAL);
MIDI.sendProgramChange(currentPreset, MIDIKANAL);
}
else if (currentPreset < 256) {
MIDI.sendControlChange(0, 1, MIDIKANAL);
MIDI.sendProgramChange(currentPreset - 128, MIDIKANAL);
}
else if (currentPreset < 384) {
MIDI.sendControlChange(0, 2, MIDIKANAL);
MIDI.sendProgramChange(currentPreset - 256, MIDIKANAL);
}
else if (currentPreset >= 384) {
currentPreset = 0;
MIDI.sendControlChange(0, 0, MIDIKANAL);
MIDI.sendProgramChange(currentPreset, MIDIKANAL);
}
}
void presetUp(int presetChangeAmount) {
currentPreset = currentPreset + presetChangeAmount;
if (currentPreset < 128) {
MIDI.sendControlChange(0, 0, MIDIKANAL);
MIDI.sendProgramChange(currentPreset, MIDIKANAL);
}
else if (currentPreset < 256) {
MIDI.sendControlChange(0, 1, MIDIKANAL);
MIDI.sendProgramChange(currentPreset - 128, MIDIKANAL);
}
else if (currentPreset < 384) {
MIDI.sendControlChange(0, 2, MIDIKANAL);
MIDI.sendProgramChange(currentPreset - 256, MIDIKANAL);
}
else if (currentPreset >= 384) {
currentPreset = 0;
MIDI.sendControlChange(0, 0, MIDIKANAL);
MIDI.sendProgramChange(currentPreset, MIDIKANAL);
}
}
void presetDown(int presetChangeAmount) {
currentPreset = currentPreset - presetChangeAmount;
if (currentPreset < 0) {
currentPreset = 384 - presetChangeAmount;
MIDI.sendControlChange(0, 2, MIDIKANAL);
MIDI.sendProgramChange(currentPreset - 256, MIDIKANAL);
}
else if (currentPreset < 128) {
MIDI.sendControlChange(0, 0, MIDIKANAL);
MIDI.sendProgramChange(currentPreset, MIDIKANAL);
}
else if (currentPreset < 256) {
MIDI.sendControlChange(0, 1, MIDIKANAL);
MIDI.sendProgramChange(currentPreset - 128, MIDIKANAL);
}
else if (currentPreset < 383) {
MIDI.sendControlChange(0, 2, MIDIKANAL);
MIDI.sendProgramChange(currentPreset - 256, MIDIKANAL);
}
}
int currentPreset = presetToChangeTo;
On your Axe III, go to SETUP > MIDI and page over to OTHER.
Then set SCENE SELECT to match the CC number that your MFC is sending for scene selection (probably 34).
@Piing is it still in a three ring binder?