Fitzcairn's Macro Explain-o-maticBETA

Small Patch: Better Handling of Empty Params

Just a heads up that I've seen some logged errors (and gotten some feedback) around empty parameters, and that the issue has been fixed.

By way of explaining "empty parameters", consider the following macro:

/cast [combat] Arcane Barrage;

As the interpreter will tell you, this is command will pass Arcane Barrage to /cast if you're in combat. . . and nothing to /cast otherwise. Sometimes this is desirable (clearing your target, for example), but 99% of the time its a bug in your macro.

I've gone back to ensure that handling empty parameters is consistent across all commands. Please drop me a comment if you have any problems.

Thanks!
Fitz

Version 0.9.9 - Search, Search Suggestions, and Ratings

Well, if you're reading this, you've probably already noticed the search box in the menu bar (on non-blog pages; will get the blog template updated ASAP). That's the highlight of this release!

Notes from the release:

- Introducing Tag Search! Now you can find all macros that match a given tag, including classes.
- Revamp of the view page, including view counters, ratings, and other updates.
- Ability to one-click-rate any macro.
- Drop-down search suggestions.
- Fixes for the interpreter bugs I saw crop up in the logs, including some encoding problems and one problem with the /click commend.

Coming next:

- Sorting in search results.
- Viewer tags for macros.
- Complete revamp of UI to bring in version 1.0!

If you have something else you think would make this site more useful, please don't hesitate to comment.

Thanks!
Fitz

Update: Patch 3.3.2 Compliant

Just a quick note that I've updated to the latest 3.3.2 items/spells. There weren't any functionality changes in this patch.

Thanks!
Fitz

Version 0.9.8 - Mmo-Champion Item/Spell Data

. . . and many other fixes! However, the biggest change to note is that I've introduced mmo-champion as a data source for macro parameters. They have a wonderful REST API for both spell and item queries, returning reasonably formed XML or JSON strings. When this lookup fails, the interpreter defaults back to the previous data provided by wowhead.com. The result is much more accurate interpretations for the user with regards to things like GCD eligibility, targeting, etc. It's not perfect, but it has come a loooong way since the first version of the macro interpreter.

Also in this revision:

- Fixed how empty parameters are handled in /castsequence macros. One common pattern to tie several actions together in the same macro is to use /castsequence with no parameters in some slots. For example:

/castsequence [nomod]reset=30 Metamorphosis,Immolation Aura
/castsequence reset=combat ,,Potion of Wild Magic

The empty ",," parameters should now be handled correctly.

- Added better error logging and user experience on exceptions. Apologies for anyone who got a nice fat stack trace when something screwed up.

...And other various fixes. Please give it a go, and bug reports welcome. Thanks,

Fitz

P.S. I am working on version 1.0. It is coming soon, with all the features this site should have had a long time ago. Like, say, search.

Version 0.9.7.1 -- Bugfix release

After looking through the post-0.9.7 server logs, I saw some errors generated by targeting macros. The root cause of these errors has been addressed, along with some corresponding interpretation issues.

Apologies for anyone who was inconvenienced!
Fitz

Version 0.9.7 now live -- 3.3 compliant at last!

Just pushed a very large update after some productive holiday time off. Changelog items of note follow:

- While ideally this won't be noticeable, it's worth mentioning that the backend lexer/parser/interpreter powering this site was completely re-factored and in many places re-written. It is now faster, cleaner, and in a much better state for adding the next features I have in mind.

- Prior to this update, key units in macros were not always being correctly handled in targeting commands (see this reference to understand what a key unit is). This has been fixed, tested against live, and barring bugs should be correct going forward.

- Added support for many more slash commands used in macros.

- Added new 3.3 conditionals (vehicleui, unithasvehicleui).

- Added support for new 3.3 targeting in conditionals, i.e. target=focus can now be indicated by @focus. Both styles of targeting still work on live and are supported, but I like how many characters the @ syntax saves.


Coming next in the near term:

- Update my item/spell parameter data with the new 3.3 items and abilities.

- Support for longer macros for those using addons.

- Looking at changing over my tooltip data from wowhead to mmo-champion. I've been playing with mmo-champion's new REST API, and it is very nice!


Coming next in the longer term:

- Brand new UI is in the works.

- Search/Browse by tag/class.

- Commenting and voting.


Thanks for reading, and happy New Year!
Fitz

Version 1.0 Coming Soon. . .

While I've not made any patch releases in a while, I've not been idle.

After looking at all the feedback from the previous releases and considering the most-requested additional features, I am hard at work on Version 1.0 of the Explain-o-Matic. A UI revamp, bugfixes, better macro debugging, and many new tools are incoming, most likely within the next few weeks.

Please continue to post problems any requests for more features you have! All will be read.

Thanks, and happy holidays!
Fitz