GSE Alternative! -> GRIP - EMS (Enhanced Macro Sequencer)

It does not, Retail only for the foreseeable future.

:fire: GRIP - Enhanced Macro Sequencer v1.9.1

The free macro sequencer just got a brain.


:high_voltage: Tempo Advisor (Faster/Slower)

Ever wonder “how fast should I actually spam this?” — now the addon tells you.

The new Tempo Advisor analyzes every spell in your sequence, figures out the optimal click rate, and shows you a live overlay telling you to speed up or slow down. It starts with a theoretical estimate and gets smarter the more you play — after 30 samples it blends your actual combat data into the recommendation.

  • Movable dark-themed overlay with live CPS sparkline
  • Per-sequence recommendations that persist across sessions
  • Audio alerts when your tempo drifts (opt-in)
  • /gems fs to control it all

:shuffle_tracks_button: Interleave / Weave

Set an interval on any Action node and the compiler automatically weaves it every N steps into your rotation. Perfect for spenders, maintenance buffs, or anything you want on a cadence.

  • Works inside Loop blocks
  • 2-50 step interval range
  • Visual [IL:N] indicator in the editor
  • Legacy imports preserve interval data (no more losing Repeat cadence on import)

:clipboard: Import Quality

  • DJB2 checksum validation — green check if the string is intact, yellow warning on mismatch
  • Sequence disable toggle — import sequences as dormant, enable when ready
  • Pause, Pet ability, and Toy import fixes
  • Clipboard metadata reading (Author, SpecID, Icon)

:hammer_and_wrench: Bug Fixes

  • Micro-stutter fix (UNIT_SPELL_HASTE was firing for every nearby unit, not just you)
  • Combat taint fix for SetPropagateKeyboardInput
  • CVar Dashboard IsCVarSecure actually works now
  • TempoAdvisor CPS was reading ~0.3/sec from CLEU instead of your actual ~2.8/sec button presses

:inbox_tray: Get it now — update through CurseForge, Wago, or WoWInterface

Every feature. Zero paywalls. Always free.

This is sounding better and better all the time. Thank you for your work on this!

I haven’t tried it yet but if I have a fairly solid GSE macro that I use is it really just as simple as importing it to your EMS?

What benefits could I see aside from the brain telling me the optimal speed?

Yeah it’s literally just paste the export string and hit import. Steps, variables, icons, all of it comes across.

The macro runs the same as before, same steps same logic. What changes is that EMS actually tells you stuff about it that you couldn’t see before.

Biggest thing is probably the speed. It reads your latency and GCD in real time and just tells you how fast to click. It also adjusts your SpellQueueWindow on the fly based on your actual connection instead of whatever static number you set once and forgot about.

The other thing you’ll notice pretty quick is after a patch. Blizz renames or shuffles spells around and your macro just silently stops working right. EMS scans every step and shows you which ones broke so you’re not sitting at a target dummy trying to figure out what happened. Most of it you can fix in one click.

And then there’s context versions, which let the same sequence play differently depending on what content you’re doing. Like a different priority for M+ than raid than open world. You set it up once and it just swaps.

Any new updates to this?

:bullseye: GRIP-EMS v1.9.3 — Live Now

Changelog highlights:

:sparkles: Native tooltips on step rows

Hover a step in the detail pane and you get the exact same tooltip the game shows on your action bar. Cooldown, range, description, all of it. Works for spells AND items (via the item:ID syntax your macro already uses). Validation warnings tuck in underneath instead of replacing the tooltip.

:vertical_traffic_light: Validation badges everywhere

  • :yellow_circle: yellow ! = real spell, but your current character doesn’t have it
  • :red_circle: red !! = spell doesn’t exist (typo, deprecated ID, copy-paste rot)

Badges bubble up through Loops and If branches, so nothing hides behind a collapsed group. Hover a flagged row for the full list.

:1234: Spell IDs render as localized names

/cast 34026 now displays as Kill Command in the step list. Your stored macro text stays exactly as you wrote it. Works inside conditional brackets, /castsequence reset= clauses, and /castrandom.

:computer_mouse: Mouse buttons and wheel as keybinds

Button4 through Button31, every extra button your gaming mouse has. Plus mouse wheel up and down. Bare left-click and right-click still need a modifier during capture so normal UI clicks don’t accidentally become bindings.

:counterclockwise_arrows_button: Badges stay in sync with your spellbook

Learn a spell, respec, swap specs: the client re-scans, the validator re-runs, badges update on their own. No /reload required.

:wrench: Fixes

  • Editor shortcuts no longer taint the UI when combat starts with the editor open
  • Bare LMB/RMB capture now requires a modifier (Alt / Ctrl / Shift)
  • Legacy import stopped erroring when Settings wasn’t ready yet

:package: Grab it

Your addon manager will pull the update automatically in the next few minutes.

-# GRIP-EMS is free, ad-free, and Patreon-free. Every feature included. Bug reports and feedback welcome on Discord :purple_heart:

1 Like

:rocket: GRIP-EMS v2.0.0 — The Accessibility Release

Big one this time. v2.0.0 rebuilds EMS around the players who couldn’t use it before.

What’s new for everyone

  • High-contrast focus ring on every focusable widget. You can see exactly where keyboard focus lives.
  • Three palette presets (Default / HighContrast / DeuteranopiaSafe) plus an 8-type colorblind matrix with a 0-100% strength slider.
  • Per-element theming editor. Repaint any panel.
  • Editor scale slider 0.8x to 2.0x. Atkinson Hyperlegible font bundled.
  • Plain-language pass on every tooltip, validation message, and help popover.
  • Opt-in first-run tutorial. Per-section help via the ? icons next to every editor surface.

For players who need it

  • Spoken step announcements via Blizzard’s text-to-speech. Every sequence step reads itself out loud.
  • Chat-frame emitter for external screen readers (NVDA / JAWS / VoiceOver bridges).
  • Large-target density mode at WCAG 2.5.5 AAA. Click areas grow to 44x44 without changing visual size.
  • Cursor enhancement overlay.
  • Simplified Mode for switch input, eye trackers, sip-and-puff, and head tracking.
  • Reduce-motion guards on the two animation sites; flicker-safe palette under the WCAG 2.3.1 threshold (no strobe).
  • One-click Accessibility preset turns the lot on at once.

CVar Health expansion (continuing the v1.9.0 work)

  • 212 game variables across 13 sections with health scoring.
  • 4 auto-switching profiles (Performance / Quality / Streaming / Custom) with What Changed login detection.
  • Per-CVar Pin so your hand-tuned values survive profile switches.
  • Onboarding modal explains the system on first open.
  • ReloadGate: minimap pip and sidebar pip light up while changes are pending. Popup on settings-panel close offers Reload Now or Later.
  • Speech announcements on every Fix / Set / Undo / Pin path.

Keyboard navigation through Settings

  • TAB through everything, even the ~1100-widget CVar Health subpanel.
  • Numbered keys 1-9 jump sections. Alt+N skips to issues. PageUp/PageDown cycle sections.

The GRIP Promise

No paywalls. No Patreon. No companion apps. Every feature ships to every user, every time. For free.

Get it

Lok’tar ogar :shield:


@Payyn - answering your question from a few weeks back: v2.0.0 is Retail only (Interface 120001 / 120005, Midnight 12.0.1+). No TBC Anniversary support; EMS depends on Retail-only APIs (text-to-speech, the new SettingsCanvas). Apologies for the late reply.

It sounds good, and I’d like to use it. However, after installation, the text displays incorrectly. My game is the Chinese version.

Could you elaborate as to what you mean with incorrectly?
Im on an English client, and I have done my best to support all language clients, but for obvious reasons I cant really test it properly.

After installation, it looks like this: some messy codes, some English, and some Korean. I don’t know what the reason is

Gotcha! should be fixed in the update I just released.

The new version has fixed the text issues and does not edit macros. Where can I obtain existing macros for use? Alternatively, is there a method to convert GSE macros? I hope to see a tutorial on how to use them

There is a short youtube video with the basics, you can also use GSE strings in the ““Import”” Menu.
Our Discord is one of the ways to find EMS strings.

How do the if statements work? I thought we could not use if statements in macros.

1 Like

Is it possible to somehow track the number of casts of something? Like, could we know when 5 Thrash’s have been cast, to then cast Sundering Roar?

I think it would be better to build a separate website for communication. I have trouble accessing Discord. It often gets stuck on email verification. Alternatively, could we move the EMS strings to GitHub

Not within macro’s in the /macro menu, you are correct.

Since you asked this question, I am building out the IF action node system a bit more to make it more obvious, but in its core it is basically a conditional builder.

I have tweaked the Discord server a bit so it should be easier to access. ( https://discord.gg/temptingus )

As far as posting EMS strings, as far as I am aware, its fine to post them on WLM.

:crossed_swords: GRIP-EMS v2.1.0 is LIVE

Two transformations in one release. Macros learn to branch. Sequences learn to remember who made them.

:brain: IF action nodes – your sequences can BRANCH now

New step type with separate True and False child action lists. Branch on any WoW conditional – mod:shift, harm, @focus, the whole macro vocabulary. Compiles to /cast [<cond>] <body>; <else body>. Branching.

:ballot_box_with_check: Conditional builder – see your OR groups

Click [v] next to the Cond field. Single-clause input opens a tickbox picker; multi-bracket OR groups like [mod:shift,harm][@focus,help] open a dedicated modal with one tab strip per clause. Targeting tab for @focus / @cursor / @unit / target=. Add, remove, apply – joined output back into Cond. No more memorizing brackets.

:mag: Spell Picker upgrades

Custom tab: type a partial name, click a match. Spec scope dropdown: current spec, all your specs, or any single one. New All Classes tab: 2,637 spells across every class.

:no_entry: Combat-blocked warnings

Yellow ! on IF child rows whose leading slash command is blocked in combat. Tooltip names it and suggests [nocombat] gating.

:lock: Authorship Integrity

Original Author field locks after first save. SHA-256 signatures detect tampering. Fork button re-stamps you as Original Author and records multi-hop lineage. Privacy modes per sequence: public / pseudonymous / private (per-export salt for unlinkable exports).

“Built it? Sign it. Forked it? Say so. The badge knows.”

:point_down: Grab it

CurseForge ¡ Wago ¡ WoWInterface

Hello,

Thank you for your work and for sharing this. I dont know why but sometimes it deletes my sequence and my details addon resets to default. Is there some kind of incompatibility between these two addons?

will try to deactivate details and will let you know.

EDIT: tried disabling details meter addon. problem still occurs. not sure what is causing this.

The problem happens when i move to a new instance although not always it happens from time to time. I have to disable the addon and enable it again for the sequence to return.