Any way to prevent scroll wheel from scrolling and just send a MIDI message via MIDIBuddy?

I previously used Autohotkey to lock the cursor to the loop brace. I did this by first using the mouse to position the cursor over the loop brace, then pressing the middle button. My Autohotkey script then sent a left mouse button down. Curiously, this doesn’t work when button suppression is invoked by MIDIBuddy.

Even more curious. I had another way of locking the cursor to the loop brace. I pressed a button on one of my Akai APC Mini controllers. Ths also sent a Left Button down command from MT. This also is blocked by the suppression in MB.

So… again, could you explore the possibility of sending a temporary unsuppress just before the Left Button Down message is sent?

I’m testing with your files.
Here is the current MIDIBuddy Behavior. By handling your ALT behavior request you made some time back, it doesn’t work exactly as you requested.
Normal Behavior
—————
Mouse button pressed no
Send Mouse Button and MIDI
Push Special Button to Suppress Mouse Click
Reverse Behavior
—————-
Mouse button pressed no Pressed.
Send MIDI Only
Push Button to send Mouse with the Special AND Mouse Click with MIDI

So in your translator if you see that mode is enabled, You will need to send Alt Down, Button, Alt Up
from MIDIBuddy (assuming you are using Alt ask the
I’m trying to get it so that it will take the mouse click without the Alt (from MIDI mouse only) but that is where I’m having problems. You can test with the above behavior if you would like,
I send the following MIDI string when Reverse Mode is invoked
Reverse Mode
F0 7D 42 4F 4D 45 7F 02 0B F7
Normal Mode (Assumed ad MIDIBuddy Startup)
F0 7D 42 4F 4D 45 7F 02 0C F7
You could use these to set/unset a global variable to enable/disable special down and special up translators
In the meantime, I’m working on MIDIBuddy to change the behavior as you expected.

We’re using different words to describe what’s happening, so I’ll tell you what I think you’re saying, so I’m sure I understand.

Your words:

Normal Behavior
—————
Mouse button pressed no <Gabriel> This means the state of Mouse button is “Not Pressed”

Send Mouse Button and MIDI <Gabriel> This means Press Middle Mouse Button with the effect that MT sends Mouse Position and then sends Left Mouse Down

Push Button to Suppress Mouse Click <Gabriel> I don’t know why this is here. I don’t send another button to Suppress Mouse Click. What button would I be pressing? At this point, the cursor has already been locked to the loop brace. Nothing else needs to be done. The only problem is that the right button context menu comes up anytime I use it, which can lead to errors. That’s why I originally suggested suppressing right button… at least suppressing it’s context menu behaviour.

Reverse Behavior <Gabriel> Sorry, I really can’t understand what the statements below mean. I’ll give it a try though
—————-
Mouse button pressed no Pressed. <Gabriel> Does this mean start with Middle Button pressed and then release it?

Send MIDI Only <Gabriel> Does this mean send MIDI without sending a command to windows to display the right button context menu?

Push Button to send Mouse with the AND Mouse Click with MIDI <Gabriel> I don’t understand this at all.

So in your translator if you see that mode is enabled, You will need to send Alt Down, Button, Alt Up
from MIDIBuddy (assuming you are using Alt ask the <Gabriel> I think you’re saying that, in order to temporarily stop the suppression, I would need to send Alt Down. That’s correct, it would work, but I don’t want to have to access the laptop keyboard to do it, and don’t want to load my mind down with the need to do it in the first place. I was hoping to be able to send the Alt Down from MT somehow, but don’t know how to do it.

I’m trying to get it so that it will take the mouse click without the Alt (from MIDI mouse only) but that is where I’m having problems. You can test with the above behavior if you would like,

I send the following MIDI string when Reverse Mode is invoked
Reverse Mode
F0 7D 42 4F 4D 45 7F 02 0B F7 <Gabriel> This is the MIDI String sent from MIDIBuddy to invoke Reverse Mode, correct?

Normal Mode (Assumed ad MIDIBuddy Startup)
F0 7D 42 4F 4D 45 7F 02 0C F7 <Gabriel> And this is what MIDIBuddy sends on startup, which invokes normal behavior. Right?

You could use these to set/unset a global variable to enable/disable special down and special up translators <Gabriel> Does this mean that if I have invoked Reverse Mode, I could undo it temporarily by sending F0 7D 42 4F 4D 45 7F 02 0C F7 to MT. I don’t get it. How would that affect anything? What would MT be expected to do if I sent this string.
In the meantime, I’m working on MIDIBuddy to change the behavior as you expected.

One more piece of info:
– If suppression is in effect, using physical LEFT mouse button down to lock cursor to loop brace doesn’t work.
– If suppression is in effect, but I press ALT, using physical LEFT mouse button down to lock DOES work.
However, If I try to lock cursor to brace with the MIDIBuddy routine, which also sends out the LEFT mouse button down, this left Button from MT does not seem to reach Live, and no locking occurs.
BTW… if my descriptions are baffling to you, maybe we should establish a common terminology for these actions.

anyway, I’m not sure how the messages sent to MT from MIDIBuddy affect the behavior I’m having problems with. Whether or not Reverse Mode is invoked, MT sends the Left Mouse Down message to Live. It’s something else that’s preventing Live from receiving or maybe reacting to that message.

Hi, I’m using a remapping technique. This doesn’t actually suppress keystrokes. It simply redefines them. I won’t go into much more detail because I’m actually trying to get it to work the way you want to behave.
In the meantime, in reverse mode you have to send altdown button altup. In normal mode just the button. Whether from mouse or from MT Pro. Anyway that is the way it behaves now. Yes the strings I sent you are to signal MT Pro whether it is in normal or reverse mode so MT Pro would know what to do.

OK, thanks for keeping at it.
I’m not quite sure what you mean by “Yes the strings I sent you are to signal MT Pro whether it is in normal or reverse mode so MT Pro would know what to do.”
It seems to me that MT is sending out the same messages whether or not the suppression is in effect. It seems to be in Windows itself that the suppression is happening, regardless of what’s happening in MT. But I think I should stop pestering you so that you can attack the problem in peace. No need to answer my statement.

Sending you another version shortly. Hopefully it will behave as you like. Had to do major surgery so hopefully no other side affects. I keep old versions so we can always get you back to a known state if this hoses things up.

This version should behave as follows
Normal
Pressing Click on real mouse sends click and MIDI message
Pressing Special and Click on real mouse suppressed mouse action but MIDI sent
Sending Click from MIDI Buddy sets click message
Reverse
Pressing Click with no Special sends MIDI message but no click
Presssing Special plus click sends Special plus click plus MIDI message
Sending Click with not special from MT Pro sends click
I think this is what you are asking for.
So you can put in Reverse Mode
Press middle mouse button. Only MIDI message sent to MT Pro (no mouse click)
MT Pro takes MIDI message and sends Left Click Down
You should now be able to drag the loop.
New version link in your email build:=”2017-12-06-16:49”

Steve,
I don’t see a link in my email…
Gabriel

Oh… I see it. You sent it and then the Forum sent a notification, so I missed it.

By Jove! I think you’ve done it. I haven’t tested in all circumstances, but trying it a few times – It works exactly as I hoped for.

I’ve got to walk the dog (no kidding) but will be back soon to test extensively.
Congrats,
Gabriel

I’m not able to test the new version because of a strange artifact. I haven’t kept track of the actions that lead to the problem, but at some point after trying Reverse mode and also non-reverse mode, the cursor disappears when I move it over the Live window. If I resize the window to, say, half size, I see the cursor when it’s not over the Live window, but when I move the cursor over the Live screen, it’s as if the Live screen obscures the cursor. If I start a second instance of Live, the cursor shows up if its over this second instance.

I’ll track down the events leading up to this. As for the Reverse mode etc etc, all else may be working well.

Gabriel

Very Strange, I’ve heard of users complaining of this before with Live but I’ve never experienced. I’ll see if I can duplicate the behavior and figure out what is happening.

Don’t spend too much time with this. It doesn’t happen all the time, and I’ve only experienced it one more time since I first reported it to you. Let me try to pin it down a bit more first. A clue might be what happens when you detune a clip. Try this:
Click a clip so it starts playing. At the bottom of the screen you should now see the sample waveform, and to the left of that, 3 or four panes, one of which is labeled “Sample” In that pane, you’ll see a transpose “wheel” , and under it, the word Detune. Under that there is a spinner – A horizontal bar. Click and hold on that spinner. The cursor will disappear and you’ll be locked on the Detune bar, which will change as you move the mouse up or down. It transposes in cents. When you release, the cursor reappears.
Maybe something like that is involved. I do have my code do this automatically in response to some MT commands, and maybe I invoked this, but couldn’t release the locked state. It’s not quite that simple since I didn’t see the detuning happening, but something similar might be in play.
I’ll let you know.
Gabriel

With the 12/6 version I’m now getting very confusing results. When I press Ctrl Alt P to pause mouse movements, the mouse movements do stop, but also the suppression message comes up as if I had also pressed Ctrl Alt R. Then I’m in a weird state where I can’t tell how to enable mouse button presses or enable mouse movement. It seems somewhat random, Perhaps because of my choice of Alt as the special key (I’ve tried other choices as well, but something is still amiss.

As for the disappearing cursor, it did happen once more. I was reaching awkwardly for Ctrl Alt P while holding the mouse in the air to prevent movement until I could prevent it with the pause function, and might have hit some other combination of hotkeys which hides the cursor somehow, but I was unable to duplicate it.

For now, though, I’m unable to go further until the Ctrl Alt P vs Ctrl Alt R mixup is resolved. Do you also see the same thing?

We were so close to having the solution, and then something seems to have blown up. Maybe it’s just me. It’s pretty late and I’m pretty loopy.

Gabriel

Hi Gabriel,

I didn’t do any regression testing on Pause function as I was in a hurry to get Reverse function working for you. With that said in looking at my code. Pause will stop ALL outgoing relative MIDI messages from MIDIBuddy, including those that your are trying to re-route via MT Pro. It was put in place primarily to be able to stop outgoing MIDI messages while you were setting MT Pro or other MIDI device functions. You might be seeing two tool tips (one for Pause and one for reverse). Pause will override Reverse so you will have to toggle pause back off before you re-invoke reverse toggle. I’ll look at what to do about having multiple competing tool tips. I think I can show both simultaneously. I know the reverse tooltip is only there when you are touching the mouse where pause should be there whether you are touching mouse or not.

I recommend you don’t use both simultaneosly but if you do you will need to release pause before toggling reverse.

I’ll do some testing today and also see if I can figure out if the hidden mouse pointer is a problem with MIDIBuddy or the problem other users are reporting with Ableton Live.

Steve

My guess is that there is a certain mouse, keystroke combination that makes this occur and it may occur more often when doing the fancy stuff we are doing with MT Pro and MIDIBuddy. For instance on a normal mouse, you probably will not be hitting many (if any keys), while holding a mouse button down but if you send a mouse down message automatically with MT Pro, there is a lot of other stuff you may hit before sending a separate mouse up. There are several posts on Ableton Live about “missing mouse pointer” and they all seem to recommend resetting the Windows Mouse Driver or changing screen magnification.

So where is the state of your project after the Pause function discussion. So far for me things seem to be working as advertised after yesterday’s fix/enhancement.

Note, it was really not a bug because it worked as originally advertised but I worked on it because what you were wanting seem to be more intuitive than the implementation I had. I still might tweak with it a bit,

I really don’t want to send Alt-Mouse Click when the Alt Key is pressed, I would rather only send real mouse clicks and use the Special Key to merely signal MIDIBuddy whether to suppress or not suppress the mouse click.

So the next question is, What if you really want to send Alt-Click while holding the Alt-Key down? Right now I think I would like to keep it simple and not support combination Keystroke Mouse combinations.

Hi Steve,

I haven’t dropped the idea of using MIDIBuddy with a trackball for controlling Live, but have come up against a problem which I can’t solve.

X axis control works perfectly. Y axis control works perfectly. But this is only when only one axis is involved in Live control. When they are both mapped (to different faders or knobs in Live) at the same time, I can’t get them to work entirely independently of one another.

If I do an extended Y axis movement, the X axis will seem to drift – mostly in one direction, but somewhat erratically – sometimes jittering back and forth. The same is true for X axis movement affecting the Y axis.

This isn’t as pronounced when I use a mouse instead of the trackball, but it’s still there to a lesser degree. I think this is in the nature of the physical “architecture” of the trackball. As I move the ball up or down with my fingers, they don’t necessarily stay exactly centered over the ball. My fingers might go slightly to the left or right of center, and when I do this, there would necessarily be some right/left movement as the ball would spin in that direction too.

I’m not sure that this accounts entirely for the problem because, even if I try to make up for the errant axis movement by moving my fingers diagonally, I don’t get absolute independence. And anyway, this would be counter intuitive as far as controlling x and y.

The only solution I can think of is to monitor x and y movements relative to each other, and to lock x movement if y is the prevalent movement… or maybe just suppress it somewhat. In my analog joystick, there isn’t the same problem, since it uses absolute rather than relative control. Also, there is some resistance to movement in either direction, and when the intended movement is in the Y dimension, most of the force is applied in that direction, and less force is applied in the X dimension – so the stick doesn’t tend to move at all in the X dimension.

Hmmm. Maybe going back to absolute control with MIDIBuddy would be the solution. I’ve lost track of the iterations of MB and of the MT project files that accompanied them. I don’t know which one might have had a reasonably good solution for absolute movement.

I’d really appreciate it if you could resurrect these files for me so I could try that approach again.

Thanks,

Gabriel