What is the difference between MIDI-Keyboard Macros and Multi-Keyboard Macros?
Both applications follow each other very closely as the features go. The Multi-Keyboard Macros uses multiple USB alpha-numerical or numerical keyboards as the macro triggers and MIDI-Keyboard Macros use various MIDI devices instead that are normally sitting on your desk under-utilized outside music application. MIDI-Keyboard Macros also have a few more tricks in its sleeve because the Script has access to velocity of the pads/keys or values of Sliders and Knobs for some extra special actions. For example it can display the name of the script with only a slight touch of fingers but not triggering the macro.Despite the similar looks and very close feature set, the way they utilize their input devices is quite different.
MIDI Macros app doesn’t recognize some buttons or knobs on controllers/keyboards
MIDI Keyboard Macros work with devices that produce MIDI data. Some older controllers have a specialized buttons or knobs that do not transmit midi data, and rather rely on the application driver. Check if the device in question has any driver and install it, check any setup utility if the controls in question have settings that makes them to produce midi data. It is always bit risky buying controllers that are tied to a certain application instead of communicate as general MIDI device. Today it is best is to stick to the class compliant MIDI devices - those are devices that do not need any special driver and would work immediately when you plug them in. When you are getting MIDI device, check if it is class compliant or can work in class compliant mode - it saves you a lot of headaches down the line.
Can I use more than one controller/MIDI device?
Yes, but in order for the app to positively recognize each device separately, they need to be different models or at least different model versions. Some devices have settings that allows them to change device name - precisely for the purpose of using more than one. The easiest solution is to simply use different models.
How to create sets for different applications?
Many MIDI pad controller have special buttons or button combination that will “transpose” the notes of the pads, sometimes they would call it banks where first bank will trigger first 16 notes, second bank will trigger next, higher 16 notes… essentially allowing you to assign potentially a very large number of macros (often more than 100) to a single pad controller without much of additional work. You can always use Swap Macro Set trigger command in the MIDI-Keyboard Macros itself that allows you to assign a whole new set of commands at a press of a pad or key to the entire controller - making it an unlimited number of sets.
What MIDI devices are supported?
Any MIDI device that produce MIDI data is supported. The best choice is to use class-compliant devices since devices with drivers or the ones promissing “a deep integration” may use some buttons or knobs exclusively tied to only certain applications.4x4 pad controllers are a great option for Macros as 16 buttons are quite right amount to start with. There are also many matrix launchers for Ableton - such as Novation Launchpad or AKAI version that offer large number of buttons to program. Always check if the particular controller is class compliant - there were some version of these devices that worked only with Ableton.A small short keyboards with mini keys are portable, non expensive and offer good amount of keys to program.Various mixing controllers with sliders and knobs can be utilized in many interesting ways. Also the fact that you can receive the velocity of pads and keys can lead into some very interesting combination.
Do I have to use the scripting language?
Not at all. All the basic functionality can be just done visually - like sequence of macros, key shortcuts, opening app etc. However with scripting you can do infinitely more. The script can create a special macro logic (press Modifier key before you press a macro key etc..) but also allows you to modify macros depending on the press velocity or use scroll/knob controllers. Script can work with clipboard, extract text under cursor, process it, send it to keyboard buffer, create multiple clipboards and much more. It is something that very few macro application have to this extend.As time goes, people will figure out a clever way how to use the script for more than we suggested.
Does MIDI macros capture Note off (release) event?
Yes, not only key down event is captured, but also key release event and it can be utilized two different ways in MIDI keyboard macro - as a separate Note OFF macro or as a part of the main macro that is dedicated to key off event using KEY_OFF macro block. This is mainly used with Script language and command SendKeystroke with RELEASE and HOLD options. With just a few commands in the script you can program macros that can “hold” a key while you are holding down the macro note/key and release it when you release the note/macro key and many other non-standard situations. For more information and example see chapter Note OFF and KEY_OFF Macroblock in PDF manual.
Clicking on Relative area of screen
To locate particular area on screen - for example a button on a web page or adding text to text entry, we added a feature matching function called Match and Click.First you need to set it up by selecting Anchor area. This would be a part of screen such as buttons, or text that the Match function will try to find on the screen when triggered. Then you set a point where the mouse need to click that is relative to the area.This allows you to click on applications or web pages regardless where they are on the screen. See more in the Match and Click chapter in the in PDF manual.
Holding a key while holding a trigger key.
You can control hold and release key events in a script. Together with a macroblock KEY_OFF you can create a trigger that will emulate holding a key and then releasing when you release trigger (for example in Photoshop holding space bar or ALT). See example in the Manual file under KEY_OFF Macroblock.