Momentary Pads not working correctly on my Electra One?

Hi, I’ve just got my Electra One MKII a few days ago. I downloaded a few presets and everything seems to be working ok except for the fact that when I use a momentary Pad, either in a downloaded preset or in one I create from scratch, I usually get only the On value. With “usually” I mean that if I touch the pad on the screen with a single tap the Electra transmits only the On value. If, instead, I double tap on the pad I get 2 On values followed by a single off value. I’m wondering if this behavior is normal or if there’s something wrong with my unit, since I thought that momentary pads were supposed to send the On value when you press the pad and the off value when you release it

Really just had a minute to look at this, but it seems that with a button in “Momentary” mode, you can define an on and off value in the left panel:

The problem that you have is that you only see the On value being transmitted by the E1 and it doesn’t send the Off value for a single tap? How are you investigating this (do you look this up in E1’s browser debugger and MIDI logger)?

Thanks for your reply.
I’ve looked at it in a MIDI Monitor application. I can get the off value only if do a double tap on the pad and this is been sent after two On values; I’ve tried with CC messages and note messages but the behavior is the same. The problem is only with the Momentary Pads, the Toggle Pads, like you are showing in your screenshot, work as intended.

Random thought - do you have more than one momentary pad using the same parameter number?

No, on the test preset I made I have only two Pads, one is of the toggle type and the other is momentary. Also I noticed the same behavior in presets I downloaded here. There are some presets for Cherry Audio synths that have momentary Pads that are mapped to switches inside the synths, for example to switch some waveform on and off. Problem is that the synths are programmed to switch the waveform when they receive a value different from the previous one so, if a single press to the pad is always sending a 127 value, the pad will work only the first time. Can someone please make a simple test for me? Create a blank preset, insert a momentary Pad that transmit whichever CC number and look at the MIDI console? I’ve attached a screenshot to show what I get. The first line is what I get with a single tap (only the On value), If i do double tap on the pad I get the subsequent 3 lines, two On values followed by one Off value. Is this the normal behavior for a momentary pad? It seems strange to me and it makes really awkward to use the presets for the Cherry Audio synths that I mentioned before, that are full of momentary pads

I just tested that I do see the same issue as you describe. I will take a look at it. Thanks for reporting!

Oh so you mean this could be a bug? I thought it was an issue with my unit, thanks for your help!

I’m experiencing the same, for now as a work around I am setting the type to virtual and do this in a function call (see below). This is not ideal however, because the event happens to soon, I want the off state to be sent only on release of the button. @martin Also I would expect the momentary button to call the function twice (at least in virtual type mode), once for the on state and once for the off state. That way I could have programmed below function better, because than you can evaluate/anticipate on what to do for the on or off value

function momentaryCC(valueObject, value)
   logValue(valueObject, value)

   sendControlChange(valueObject, 127)
   sendControlChange(valueObject, 0)
end

function sendControlChange(valueObject, value)
    local message = valueObject:getMessage()
    local device = devices.get(deviceId)
    local port = device:getPort()
    local channel = device:getChannel()

    print ("controlChange sent: port=" .. port ..
              " channel=" .. channel ..
              " controllerNumber=" .. message:getParameterNumber() .. 
              " value=" .. value)
    midi.sendControlChange(port, channel, message:getParameterNumber(), value)
end