Arduino Axe-Fx control library

If that effect is in the current presets, just loop over the effects list until you find the right ID, then get the channel.
 
Hey there @tysonlt

This thread has been my no1 the last month, going over and over again to find answers. I find many, but i cannot find a solution how to recover
  • Display preset name and number
Is it possible to get preset name that is "not" the current preset? I got scene 1-8 from a function the axefxcontroller provides, but i would like to get preset name from say preset 1 and 3 . This i want to use when i am on preset 2. Preset up screen shows Preset 3.name and preset down will show Preset1.name

I try not to ask toomuch questions and learn how to do it reading and trying , but i dont know how to use the correct libriary function to get this working like the list of scene names

Thank you in advance

Cheers
 
In AxeSystem.h:

void requestPresetName(const PresetNumber number = -1);

pass a number for the preset you want, eg:

Axe.requestPresetName(56);
 
In AxeSystem.h:

void requestPresetName(const PresetNumber number = -1);

pass a number for the preset you want, eg:

Axe.requestPresetName(56);
Hey there @tysonlt

Can you help me out with the presetnames; I am trying to get 10 presetnames like you have suggested how to do it, but after hours of knobling, i still cannot figgure out how to do this.

I got a callback registered in Setup()
Axe.registerPresetNameCallback(onPresetName);

I got the function:
void onPresetName(const PresetNumber presetNumber, const char* name, const byte length)
{
Now i would like to get the presetnames of preset 0, preset 1, preset 2 etc. from the axe so i can show them on my screens.
Can you show me what is the code to get this done with the library... because even with looking trough examples i still am unable to get it working.
I tried Axe.requestPresetName(0); Axe.requestPresetName(1); Axe.requestPresetName(2); etc.
Maby that works, but i dont know how to show the actual name of that preset on my screen.


Thank you in advance
 
Hi Axelman, without seeing your code I can’t do too much, but make sure you are only testing one step at a time. So the first thing is to make sure the callback is being called. Try printing a message to the console like in the examples. If that works, then I presume you are using some kind of LCD screen, so perhaps make a sketch that just prints a simple message to the screen (no axe stuff). Once you have both parts working on their own then join them, otherwise when debugging it’s hard to know which part isn’t working.
 
Just hopping in to say this is awesome. I got my Axe 3 a few days ago, and I'm using this library to hack together an interface to use my old line6 FBV longboard (possibly 2).
 
tysonlt is the man. I've got scenes working, I've got effects buttons working. CCs with the pedals going too. You' ve helped me turn $1k in junk into a stomp fest. Thanks man.
 
Hey there @tysonlt

I have been updating my Peddleboard program and am working on a function that lets me set the channel for the AMP and CAB blocks.
As i was updating the AxeEffect.CPP i came across something strange that i didnt notice before.

3 things:

1: Showing Drive effects is working but as I see it, it is using the wrong ID_

This is in the library:
bool AxeEffect::isDrive() {
return (_effectId >= ID_FUZZ1 && _effectId <= ID_FUZZ4);
}

! but when i change it to the following it doesnt work:
bool AxeEffect::isDrive() {
return (_effectId >= ID_DRIVE1 && _effectId <= ID_DRIVE4);
}

I also added DRIVE1,2,3,4 in AxeEffectEnum.h but that stopped the sysex from continuing with the ID_s after that one.
I also cannot find FUZZ1,2,3,4 on the AxeEffectLabels.h, but DRIVE/DRV is there.

FUZZ:
2: My guess is that FUZZ is the drive?

Adding AMP to AxeEffect.cpp and .h doesnt work:
3: Adding AMP1,2,3,4 doesnt work. It is not showing the AMP that is used, only AMP2, but i am still searching were it is coming from.
It is not clear what is triggering the AMP2 to show up, as there is no ID_ for AMPs anywere?


I am still searching for an answer in the lib and on this thread, but maby you know what is going on?


Thank you in advance:


Cheers
 
Well, i got something from the libriary

This is written in the library:
AxeFxControl\src\interface\private\AxeEffect.cpp
Line 245: case ID_DISTORT1: // these are actually amps, fuz is distortion

So the DISTORT = AMP.... but then the FUZZ is DRIVE I guess? not AMP

Complicated


Cheers
 
Hi Axelman, yes those are the effect ids published in the MIDI spec from fractal. DISTORT indeed is the symbol for amps, and FUZZ refers to the drive pedals.

That list is an enumeration, so each entry is actually a number. The order has to stay the same so that those numbers match what is coming back from the Axe. So you won’t be able to add or reorder anything or it will indeed stop working because the numbers no longer line up.
 
Also, by default the amps will be filtered out of the effect list. If you want to include the amps in the list of effects for a preset, you can attach your own effect filter callback.
 
Hey there @tysonlt

The work on the ABCD channel switching is coming together... it works, but i think there is a bug in the library.
The effects cycle does not return AMP1. I have fixed it by using effectId(58), but i guess it is a bug in the sysex to the axe?
Now i cannot get the active channel from AMP1, i can just select it, bypass it or/and change the channel. I would like to show what is the current channel, but that is not possible at the moment.

How to test:
return effect.isDistort() ; i only get AMP2, but not AMP1

I am not in a hurry, so if you have the time to check it sometime, thank you in advance

cheers
 
I’d have to see all the code, but I’m thinking it might be in your custom effects filter?
Hey there,

I doubt that, because i get AMP2. My guess is that the code behind the code (sysex) is not working properly

What can i share to have this checked? I have tried many options, but i cannot fix this one. i got a work around that is working, but i cannot query the active channel.



Cheers
 
Hey,

for me channel switching with AMP and CAB block is working fine.
Hey there,

Thank you for the reply,
Channel switching is not the problem in my case. Getting the active channel is also no problem at all.
The problem is that AMP1 is not returned like AMP2, AMP3. As it is not registered, i cannot get the active channel of AMP 1

Question:
Are you getting AMP1, AMP2, AMP3? if so, then i have to dig deeper...dmn

Cheers
 
Back
Top Bottom