Keyboard Maestro AND/OR Stream Deck + NE AND/OR Console Tools: User Experiences?

[EDIT: With apologies as warranted, I renamed this thread a second time to fully include @Alexander_Ploetz 's Console Tools. At the risk of doing what I believe is referred to as “bumping the thread,” I’ve come to realize that it stands right alongside other software (macro apps) and hardware (Stream Deck) solutions in any conversation about potentially improving/enhancing one’s Dorico workflow, and I’m hoping to bring more experienced users in on the conversation. I’ve marked all of my changes/additions with “[EDIT: …]” to try and streamline it for those who’ve already contributed.]


The more time I spend on this forum the more I observe how many of you make use of Keyboard Maestro (or a similar app) to powerfully enhance your workflow. I have no experience with using such a macro utility. (I also have no experience working with Lua scripting.) [EDIT: I have also not worked with Console Tools.]

When I moved my composing work to Dorico a couple of years ago I immediately got the Notation Express XL profile for my Stream Deck. I value [EDIT: it the two together] greatly (including the ability to customize it), but am beginning to think that by itself it may not be giving me the full palette of what’s possible. (I framed the SD for myself as a hardware equivalent of a software solution like KM, but perhaps that view isn’t sufficiently nuanced…?)

I would love to learn from any of you who (have) use(d) [EDIT: both some combination of these tools]:

  • Do [EDIT: they “purely” software solutions and the SD w/ NE] overlap completely in functionality
  • If not, How do [EDIT: they two — or even all three, if that’s even meaningful — of these tools] work together to make your workflow better?
  • Are there things one does better than the others for Dorico work?
  • getting-started tips/tricks/advice
  • resources I could consult (before I [EDIT: take continue] the WWW plunge blindly, maybe you know of especially good materials; [EDIT: I’m I’ve already planning to watch watched] the June 26, 2024, live-stream on Dorico’s YouTube page, [though I see that it is based around @Alexander_Ploetz 's Console Tools).]
  • anything else about your experiences with KM/macro apps, [EDIT: CT, versus or plus, and/or SD + NE use that others would benefit from?]

Many thanks in advance for what I know will [EDIT: continue to] be a generous outpouring of perspectives and expertise from the collective wisdom!

4 Likes

Following along to hear what tips others have here, especially on the Stream Deck side of things. While a few of my SD buttons are simple commands, most in my current configuration are actually macros, some with quite a few steps like Select All / Filter: Breaks / Copy / Navigate to next part / Paste, or 1st & 2nd time only buttons that not only create the text but also suppress playback, etc.:

My SD macros are still shortcut-based, although many of the shortcuts I had to manually hack into my user keycommands file. I tried to get it working with the Dorico API, but couldn’t figure out how to get past the “handshake” phase with the SD, although that’s pretty straightforward when using API testing software like Postman. It seems like you need to create a SD plugin for this to work with a SD as otherwise I can’t figure out how to complete the handshake. I got as far as looking into the Stream Deck SDK, but would have to spend quite a bit of time getting my javascript skills together I think.

Can Keyboard Maestro communicate with Dorico via WebSocket?(ws://127.0.0.1:4560) Obviously the Notation Express SD profile accomplishes this with a plugin, but has anyone else gotten this to work without writing a plugin? I’m sorta in over my head with this stuff, so just curious if it’s possible to use Dorico’s API commands with these rather than hacking in shortcuts.

3 Likes

As a long time KM user for many years, I will admit I was actually reticent holding out on stream deck for a long time – I’ve bought many external hardware peripherals over the years which now collect dust in my closet, primarily for the sole reason that the ease they promise and appeal for touching something tangible quickly wears off when I discover that invariably everything I can do with that peripheral is still much easier to do with a good ol’ mouse and keyboard, which are right by my fingers.

So with this experience in mind, I saw little appeal of stream deck for many shortcuts which are already very easily accessible - for example basic stuff like adding a slur, hairpin, or moving a note up and down. Reaching across my desk for that which I can easily do where my hands are resting would actually take more time and is more physically awkward (eg., ‘S’ for slur is already in my resting hand position on a QWERTY keyboard after all, similar with arrow keys).

All that said, I have used KM in addition for many years to accomplish more complicated macro tasks. For a long while I was fine with this, but in my life perhaps getting older and simply using more and more software (between DAWs, video & photo programs, internet and email), with my complicated macros it’s sometimes impossible to remember or even find useable keyboard shortcuts, at a certain point you begin to run out of sensible options. I have had to resort to crazy modifier key combos like, stuff like shift+alt+ctrl+cmd+F19 to do one thing, and as you can imagine when this type of thing adds up, it becomes a cognitive burden more than it is helpful – the irony!

So I heard some composers talking about how they use Stream Deck exclusively for complicated macros, and someone personally recommended I give the mobile app a try along with the Notation Express profile. I have to say initially my suspicions were correct, I do not reach for it to add a slur or move a note.

However I quickly understood the appeal – I can create really complicated macros without the cognitive burden of memorizing crazy key commands, and they are fluid to where I can create different profiles based on project needs, even custom macros specific to just one project that requires repetitive input of the same thing.

Also, for basic note input, even though those are easily accessible by the numpad on my computer keyboard, this becomes a lot more annoying when my hands are on my midi keyboard. So I have found it so useful that I just recently bought the XL:

Now that I understand the appeal I have a good feeling this will not end up the closet. I love it (and obviously need to upgrade to the XL profile from Notation Express!).

I would also say that I find the stream deck app generally more user friendly and easier to program than KM. One feature I like, which KM does not have (I’ve asked them) - is the ability to create a hotkey toggle switch. There is very helpful for binary operations which are either on or off - currently KM does not allow for this so you have to create separate hotkeys for both, double the amount to remember! On their forums they recommended to me workarounds but they are very convoluted and require a bit of programming grease. Stream Deck, however, literally has a feature called “hotkey switch” which does exactly this in a simple step.

All of this said, KM will still have a home in my workflow for simpler things which I am used to or where I feel a keyboard shortcut still makes more sense to use.

4 Likes

Nice!

So if I’ve heard you, @wing , SD can in fact obviate the “need” for KM, assuming one is okay with having to reach for another device. Is that correct?

I’ve just watched John Barron’s live stream video from last week and am beginning to understand better the power of Console Tools. And of course — if I followed correctly — CT and SD can play together… :face_with_spiral_eyes:

EDIT: @FredGUnn , would SD + Console Tools be the equivalent (in terms of functionality) of your questions about “manually hacked” macros?

1 Like

Yep, for me the reach for another device becomes beneficial (or outweighs any downsides) once macros become complex, involving multiple steps, and perhaps are very specific to a project.

For example, I was just working on a project where many flows were set in D minor, alternating between 4/4 and 6/4, with double barlines in between. These are such specific repetitive tasks that I am only going to use on this project, but there really isn’t a key command to set up in KM which makes sense for that sort of thing, becoming additionally hard to remember (I made a ‘set key to d minor’ as shift+ctrl+alt+cmd+D but then forgot I already use that for filter>all dynamics :sweat_smile:). In SD I was able to set up a single macro that allowed me to switch key and time signature and add a double bar line all at once. So for the amount of time that saves, I would say reaching for another device, while simultaneously reducing the cognitive burden of memorizing multiple commands, is absolutely worth it.

One other downside I did not mention with KM, which has come up for me frequently, is the assignment of keyboard shortcuts which may create issues with the typing of actual text. E.g., I created a shorcut in KM using shift+3, which I did not see any issues competing with Dorico – that is, until, I went to add a chord label such as Cmaj7#9 or figured bass using # – since # is what shift+3 gives you. Or other issues such as key combinations which conflict when literally trying to name your file. With SD, this will never be an issue!

Finally, I find reaching for another device to be worth it for a big dynamics pass. I don’t mind adding immediate and gradual dynamics using the shift+D popover, but instead using the Notation Express profile to do numerous dynamics in one go - it really is a dream!

In short - KM is great for simpler things but I feel like SD will soon replace a lot of it for me.

(P.S. I have no personal experience with C.T., good luck!)

1 Like

So I suppose

command+shift+opt+ctrl+t+h+e+s+e+space+a+r+e+space+m+y+space+l+y+r+i+c+s

is just right out as a KM longcut…


I have not experienced (too) much of a “burden” in moving my hand to the SD, and like you I find the “cognitive/recall savings” (from my ever-diminishing supply!) well worth it.

Both you and Todd/FreGUnn seem to get excellent workflow out of setting SD buttons with complex macros. Still on the fence about taking the CT plunge, but at roughly half the cost of KM — and being so richly dedicated to Dorico — it seems a likelier next step.

Many thanks for your rich feedback!

2 Likes

Probably. If I could trigger a CT macro that did the same function, I think it would appear the same from a user standpoint. I am really curious if there would be any difference in speed though. IIRC some of my Erase Background hacks didn’t work in Write mode even if I added them to the kGlobal context (although System Break very helpfully does) so my macro includes switching to Engrave, triggering the command, then back to Write so I can keep working. It’s hard to set the delay accurately because this mode switch obviously takes much longer in a larger file. If CT could send the command directly and have it work without switching modes, then using it would definitely be a better workflow.

I was trying stuff out while connected to Dorico via Postman a couple of weeks ago and saved this xml file. I think it contains all the possible commands.

DoricoCommandList.xml (164.0 KB)

1 Like

Many thanks!

Interesting point!! I hope someone with that knowledge/experience chimes in at some point.

1 Like

Haha! It’s honestly not far off from the type of shortcuts I’ve had over the years just to do one thing!


Yes, it’s generally not a huge burden, but my hands are invariably in resting position over ASDF and JKL; on a QWERTY keyboard. Arrows, numbers and other shortcuts, and shift combos for popovers - basically 99% of Dorico’s native shortcuts - are intuitively and logically available within immediate reach without having to leave your keyboard, which just makes ergomomic and practical sense really (it would actually take more time to reach across the desk than leave your resting hand position!). So I’m glad I discovered the joy of macros, that’s where it really shines!

1 Like