I posted this the other day in preparation for this coming out:
Happy to try to help folks set up their own variations of it if they need assistance.
Awesome episode, as always lots of cool tips to try (I particularly want to try TJās BitBar scripts).
When TJ was talking about copying and pasting 9 audio files together for his podcast, I thought of an easier way than even Keyboard Maestroā¦
See article: Merge MP3 Files Using CAT Command in Mac OS X.
I had a bunch of translation audio (150+ mp3 files) that it spliced flawlesslyā¦
Iād been resisting the siren song of the Stream Deck, but this episode finally did me in. I ordered one of the big ones.
Iām starting to post my BitBar scripts here
Let me know if youāre interested in something I havenāt posted yet.
The files that Iām combining are not mp3s, and are in fact occasionally different formats (wav and Apple lossless) so Fission is definitely the right tool for the job
I still donāt get the StreamDeck, but Iām interested to learn more.
What value does it offer above a keyboard shortcut for triggering an action?
(I must admit that I have used almost all Hyperkey A-Z combinations, so extra ākeysā might be welcome)
What has me intrigued enough to order one:
- Extra keys to assign keyboard shortcuts to.
- Able to display an icon/text on each button indicating what they do. One of the limitations on the number of hyper key shortcuts for me is my ability to remember which key combinations do what.
- One specific application that caught my attention was the ability to assign Toggl timers to Stream Deck buttons.
@Tjluoma, Cosmic forces ā I was listening to the segment about magic mouse battery levels when my magic mouse surprised me with a message its battery was very low!.
Well I hope that you were able to get your work done before you needed to āharpoon the turtleā so you could re-charge it!
Yes! And next time, Iāll have a warning when she goes below 20%
So I got two takeaways from this episode:
- Bitbar
- There is mileage in the topic āHow To Be A Better Automatorā. Almost a pledge. (I could work this idea up into something.)
Oh, and a third: StreamDeck being updated by Keyboard Maestro. TIme to play.
This episode got me so fired up about the StreamDeck. David has been beating this drum louder & louder for a while now.
Iām now consumed by the idea of bending StreamDeck to my will for a streamlined Photoshop Retouching workflow. I already have SO MANY Photoshop keyboard shortcuts memorized, yet there are many more I should use but they just wonāt stick in my brain, plus even more that donāt have shortcuts (by default) that should be accessable with a keystroke or two because they are indispensable for my own techniques.
I use a Wacom pen all day long and even after years using it, I HATE menu navigation via pen. I want to get the visual labeling of the Photoshop menu system built into keys. That is pretty much exactly what StreamDeck does.
Welcome to the side of goodness and light
With Keyboard Maestro and KMlink there are not many repetitive tasks on the Mac that you canāt automate with the Stream Deck.
TJ - I know you alluded to this on the podcast, but why do you use KMlink instead of KMās default integration?
Loved hearing you on the show. Iām still using the Stream Deck calendar plugin!
Thanks, Rich! Iām glad people are using it!
I use both KMlink and the official Keyboard Maestro plugin for Stream Deck.
Both have their uses.
KMlinkās big feature is that if you want to, you can move it from its original location just by dragging it around. This is how most Stream Deck buttons work.
By contrast, Keyboard Maestroās official plugin works by being assigned to a specific row and a specific column. If you want to change it, you have to go and edit the plugin.
KMlink is a link to a particular macro, but you can move that link anywhere you want.
On the other hand, KMlink cannot do things like the calendar plugin. Itās just a trigger that tells Keyboard Maestro to run a macro, but Keyboard Maestro cannot send any information back to it.
So if you want a button to trigger a Keyboard Maestro trigger, try KMlink.
If you need something more complicated, if you want to set the buttonās text or the image, you want the official Keyboard Maestro plugin.
In case it helps, I have a post about the Stream Deck / Keyboard Maestro plugin options and differences.
Thereās also this related discussion that may be of interest.
Great article! I think Iāve read it before, but this time I noticed this:
- Virtual Row - this is used by the Keyboard Maestro plugin to uniquely identify the button. If you are using the button in multiple folders and profiles across apps, you may find it is necessary to change the ID to avoid clashes.
So I never even realized that you can change the ID. Can you explain how that works? Iām starting to run into conflicts where the same button on different Stream Deck profiles will launch different KM macros.
(P.s. I think you were a victim of autocorrect āhelpingā you at one point in your article. Search for the word āsutureā and youāll see what I mean.)
Iām also trying to work out how to reliably address buttons on a pair of Streamdecks: 2 x 3 and 3 x 5.
(A problem I canāt even have on Metagrid.)
Okay. I did have a post from last December all about this, but I wasnāt happy with it at the time and it is still sat in my drafts folder. It went in depth on more than just this aspect as it covered some workarounds too, but letās see if I can at least get the gist of the virtual layout and button IDs across.
Virtual Locations
As an example, Iāve set up a separate profile on my Stream Deck to illustrate how this works. You can apply this across profiles, but it also applies across folders - Keyboard Maestro is almost tesseract-esque in the way you can dimension various parts of it.
On the profile page I have three entries:
A folder and two links to two Keyboard Maestro macros. More on those shortly.
Under the folder, there are two more buttons. One has the same name as the Botton on the previous screen in the same position. The second one however does not.
On the root profile screen, the ALERT 01 button is set-up like this.
Iāve given the button a name, it can be anything I like. Iāve specified the virtual row and column coordinates as the defaults it gives. So row 1 because it is on the top row and column 4 because it is in the fourth column.
The macro I linked up links to this - note the device key references the virtual row and column:
Now ALERT 02 is set-up in a similar manner.
With a similar macro; again, note the device key.
When ALERT 01 is pressed I get a notification reading āAlert 01ā. When ALERT 02 is pressed I get a notification reading āAlert 02ā. Hopefully, thatās all straight forward and fairly familiar.
Now letās look at the buttons in the folder.
The first one named ALERT 01 Iāve put in the same place as the previous ALERT 01, and Iāve set-it up almost identically (just a different ID). The physical location is irrelevant as that virtual row and column reference is what weāre using for linking, and it really is virtual. But, hereās how I defined the button.
When selected, this will display a notification reading āAlert 01ā as it triggers exactly the same Keyboard Maestro macro as the other ALERT 01 button.
The ALERT 03 button is set-up differently.
The button is on physical row 2, column 5, but Iāve added an arbitrary ten rows to that and placed it on virtual row 12.
Then when I have a Keyboard Maestro macro set-up like this:
When I press ALERT 03 I get a notification āAlert 03ā even though this button is in the same physical row and column location as the button that earlier triggered a notification of āAlert 02ā.
My advice is to keep the virtual rows and columns related to the physical rows and columns if you are going to use them. It isnāt too difficult with a few rules and calculations to keep things in line for however you want to use it across profiles and folders ā¦ it just that you can have folders in folders in folders in ā¦; so just make sure you have a plan from the start.
Button ID
Iām only about 20 minutes into this episode, so I donāt know exactly what is discussed yet, but this official plugin I would say is much more difficult to use than the KMlink plugin or even just using a macroās URL trigger. The advantage the official plugin does have is that it allows Keyboard Maestro to use the button ID to dynamically update the button. Thatās the ID, not the virtual location, and thatās where the button ID comes into play.
For example, letās say I have three buttons set-up as follows:
Button A:
Button B:
Button C:
If I then create a Keyboard Maestro macro like this:
When I press button A, it will update the button with a button ID of āFOOā to have the stream deck icon that the macro has. But note that both buttons B and C have that ID. IDs, just like virtual locations do not have to be unique. Pressing the button will actually update the icon on both buttons.
The only pain is that I never found a way through Keyboard Maestro to efficiently update buttons periodically. i.e. only when the button is available on the deck. Also updating it when you switch into a folder or profile requires some tacky workarounds to force things which is a little disappointing. You can do this sort of thing through writing your own plugin (BarRaider does it on his Spotify plugin for example).
I hope that makes things clearer. Any questions, just let me know.