Download
(60Kb)
Download
Updated: 10-01-19 01:47 AM
Pictures
File Info
Compatibility:
BfA content patch (8.2.5)
Rise of Azshara (8.2.0)
Updated:10-01-19 01:47 AM
Created:unknown
Downloads:229,934
Favorites:349
MD5:
Categories:Miscellaneous, Utility Mods, Developer Utilities, WoW Tools & Utilities

Super Duper Macro  Popular! (More than 5000 hits)

Version: 8.2.5.0
by: hypehuman, spiralofhope

This addon is under new maintenance

WowInterface will be kept up-to-date, but still needs to be cleaned up a bit. The source code, a list of all past releases, documentation, and issue tracker, can be found at:

https://github.com/spiralofhope/SuperDuperMacro

This description still needs to be audited.

----

To view recent changes, click the "Change Log" tab at the top of this page.


Open the in-game interface by typing /sdm


This addon allows you to create macros beyond the 255-character limit, and even beyond the 1023-character macrotext limit. However, no individual line in a macro may be more than 1023 characters long (you will get a warning). The number of lines is unlimited. Super Duper Macro also allows you to share macros with your friends in-game.


This mod allows you to make two types of macros:

  • Button macros are just like regular macros, but they can be as long as you want. You cannot make an unlimited number of them; they share a limit with your regular macros (36 global and 18 character-specific for each character).
  • Floating macros do not have buttons, and are accessed by /click. You can make as many of these as you want.
  • You can also make lua scripts of unlimited length that you can call using "/sdm run <name>" or via sdm_RunScript("name")


Suggestions and bug reports are always welcome. You can post comments on the wowinterface.com page for this addon, or if you want to add something yourself, you can upload it in the "Optional Files" tab.


Alternately, create a pull request to my GitHub repo: https://github.com/hypehuman/super-duper-macro


Special thanks to:
  • SuperMacro, which inspired the idea for this addon.
  • All the regulars on the UI & Macro forums, who taught me how to program for WoW.


See CHANGELOG.markdown within this zip file or online at:

https://github.com/spiralofhope/SuperDuperMacro/blob/master/CHANGELOG.markdown
Optional Files (2)
File Name
Version
Size
Author
Date
Type
2.5
128kB
03-04-12 10:27 PM
Patch
1.8.3-4
16kB
06-30-11 11:50 AM
Patch


Post A Reply Comment Options
Unread 12-23-22, 05:44 AM  
spiralofhope
A Deviate Faerie Dragon
 
spiralofhope's Avatar

Forum posts: 13
File comments: 276
Uploads: 0
Re: Can you put Links in the Super Duper Macros?

Originally Posted by TlalocPendragon
Hey, just wondering if there's a way to get Item/Spell/Profession links into the Super Duper Macros? I know how to get them into a basic Macro, but was curious if there was a way to get them into these, because I don't like sending multiple advertisement messages for my Profs.
I don't understand. I don't play any more, so I need clarification.


What do you mean by: getting Item/Spell/Profession links into a basic Macro.


Are you referring to pulling up a profession panel? Or casting a skill/spell?


I just use /cast for everything..


I don't understand what "advertisement messages" means.
__________________
spiralofhope.com
Report comment to moderator  
Reply With Quote
Unread 12-23-22, 03:03 AM  
TlalocPendragon
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Can you put Links in the Super Duper Macros?

Hey, just wondering if there's a way to get Item/Spell/Profession links into the Super Duper Macros? I know how to get them into a basic Macro, but was curious if there was a way to get them into these, because I don't like sending multiple advertisement messages for my Profs.
Report comment to moderator  
Reply With Quote
Unread 11-02-22, 11:49 AM  
xerty
A Defias Bandit
 
xerty's Avatar

Forum posts: 3
File comments: 43
Uploads: 0
Originally Posted by twothumbs
Originally Posted by spiralofhope
Originally Posted by twothumbs
Wish I could debug what it was trying to send or if it was even trying to send something.
My first approach is always to look into the programmer's changelog. Sometimes Bliz just renames or adjusts some things and it's actually easier than I thought to fix problems.


Maybe that's a good angle to try next?
I figured it out. This is a wow client bug, not an addon issue.

Beta patched today and broke the SDM addon. Click events were not hitting framestack after the patch.

I did some research and found there is an issue sending hardware events to buttons.

Testing scenarios:
fail /click sdf_player
fail /click sdf_player LeftButton
pass /click sdf_player RightButton
pass /click sdf_player MiddleButton

/dump GetCVar("ActionButtonUseKeyDown")
=1

So to fix I set it to 0:
/console ActionButtonUseKeyDown 0

And bam it's working, in Beta and on Live:
pass /click sdf_player
pass pressing physical keybind
pass left click

See these for reference, they are what steered me in the right direction.
https://github.com/Stanzilla/WoWUIBugs/issues/283
https://wowpedia.fandom.com/wiki/CVa...ttonUseKeyDown

So I plan on doing nothing, I can use this cvar workaround, there are other addons complaining about bindings/clicks not working so eventually Bliz will get around to it. Hopefully. Unlike when they killed ralt vs lalt macro modifier bindings in SL which I'm still salty about.
I tried /console ActionButtonUseKeyDown 0 but all it did was say it.
Luckily I do have AdvancedInterfaceOption addon and that allows me to access the cvar and change them. Changed it to 0 (default is 1) and nothing.
No idea why it works for you and not me :-(
I also carried out a /console cvar_default that a youtuber mentioned but still no joy.

FYI for those that do not know
/console cvar_default
resets all the cvar values that addons change which is good to do once in a while if you stop using some addons as when you delete the addon, the cvars they changed do not revert back to default. It does mean going through the option and re-enabling things like Auto Loot. Basically puts you back to the new user experience but does not clear savedvariables so your addons and their settings are safe.
Last edited by xerty : 11-02-22 at 11:58 AM.
Report comment to moderator  
Reply With Quote
Unread 11-02-22, 03:51 AM  
spiralofhope
A Deviate Faerie Dragon
 
spiralofhope's Avatar

Forum posts: 13
File comments: 276
Uploads: 0
Originally Posted by twothumbs
/console ActionButtonUseKeyDown 0

So I plan on doing nothing, I can use this cvar workaround, there are other addons complaining about bindings/clicks not working so eventually Bliz will get around to it. Hopefully. Unlike when they killed ralt vs lalt macro modifier bindings in SL which I'm still salty about.
Very well done!


I'm not playing, but let me know if something on my end needs to be adjusted and still I'll prepare a new beta with changes, and then a release if a community member reports it working.
__________________
spiralofhope.com
Report comment to moderator  
Reply With Quote
Unread 11-01-22, 11:30 PM  
twothumbs
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Originally Posted by spiralofhope
Originally Posted by twothumbs
Wish I could debug what it was trying to send or if it was even trying to send something.
My first approach is always to look into the programmer's changelog. Sometimes Bliz just renames or adjusts some things and it's actually easier than I thought to fix problems.


Maybe that's a good angle to try next?
I figured it out. This is a wow client bug, not an addon issue.

Beta patched today and broke the SDM addon. Click events were not hitting framestack after the patch.

I did some research and found there is an issue sending hardware events to buttons.

Testing scenarios:
fail /click sdf_player
fail /click sdf_player LeftButton
pass /click sdf_player RightButton
pass /click sdf_player MiddleButton

/dump GetCVar("ActionButtonUseKeyDown")
=1

So to fix I set it to 0:
/console ActionButtonUseKeyDown 0

And bam it's working, in Beta and on Live:
pass /click sdf_player
pass pressing physical keybind
pass left click

See these for reference, they are what steered me in the right direction.
https://github.com/Stanzilla/WoWUIBugs/issues/283
https://wowpedia.fandom.com/wiki/CVa...ttonUseKeyDown

So I plan on doing nothing, I can use this cvar workaround, there are other addons complaining about bindings/clicks not working so eventually Bliz will get around to it. Hopefully. Unlike when they killed ralt vs lalt macro modifier bindings in SL which I'm still salty about.
Report comment to moderator  
Reply With Quote
Unread 11-01-22, 06:24 PM  
spiralofhope
A Deviate Faerie Dragon
 
spiralofhope's Avatar

Forum posts: 13
File comments: 276
Uploads: 0
Originally Posted by twothumbs
Wish I could debug what it was trying to send or if it was even trying to send something.
My first approach is always to look into the programmer's changelog. Sometimes Bliz just renames or adjusts some things and it's actually easier than I thought to fix problems.


Maybe that's a good angle to try next?
__________________
spiralofhope.com
Report comment to moderator  
Reply With Quote
Unread 11-01-22, 03:20 PM  
twothumbs
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
EDIT: Did some more testing and it's any macro above the normal 255 limit that does not work.
Been lurking here hoping for a solution. Adding some more data points from my testing. I too need > 1023 characters.

The addon works fine for me in beta. Maybe things will be fine when the new xpac releases?

On live:
Floating macros do not work.
Script will work fine.
Button macros work if it has inline script.
Button macros work if it calls a SDM script.
Manually running a floating macro via the command from "Usage..." button (i.e., /click sdf_mymacro) does not work.

I tried debugging to see if the calls were making it to wow or not and have failed. I'm interested in isolating between the addon and wow, i.e. did the call make it through the addon and the addon attempted to run the script and wow denied it, or is the addon not setting up the macros correctly. Not sure. Not sure how to diagnose further.

Lastly on live if I turn on /eventtrace, I don't see the floating macros being sent in EXECUTE_CHAT_LINE, but with another addon like MacroToolkit I do. If I send a malformed macro I also don't get an EXECUTE_CHAT_LINE -- so maybe the macros are malformed in SDM memory/setup?

Wish I could debug what it was trying to send or if it was even trying to send something.
Last edited by twothumbs : 11-01-22 at 03:30 PM.
Report comment to moderator  
Reply With Quote
Unread 10-30-22, 04:09 AM  
spiralofhope
A Deviate Faerie Dragon
 
spiralofhope's Avatar

Forum posts: 13
File comments: 276
Uploads: 0
Originally Posted by spiralofhope
I might be getting back into some Lua editing, but I'd have to install the old client and make a free character. I might not be enthusiastic about that, depending on how I feel. This sort of stuff has never been easy for me (I'm not a programmer)
Just to confirm, no I will not be getting back into editing; I'd have to learn too much and spend too much time.
__________________
spiralofhope.com
Report comment to moderator  
Reply With Quote
Unread 10-27-22, 03:48 PM  
spiralofhope
A Deviate Faerie Dragon
 
spiralofhope's Avatar

Forum posts: 13
File comments: 276
Uploads: 0
Originally Posted by xerty
Originally Posted by spiralofhope
With no investigation, I think that commenting-out 1029 to 1061 in SuperDuperMacro_Interface.lua might solve this.
Originally Posted by xerty

Well I gave that a shot, but still no reaction from the macro button. I tried this on my test char with only SDM and Swatter(LUA Error addon) running to avoid any conflicts.


Sad day as this is the only addon that I know that can go above the 1023 char limit :-(

EDIT: Did some more testing and it's any macro above the normal 255 limit that does not work.


Sorry to hear that. I'm really surprised there's nothing else.


I know it's possible to have buttons /click other buttons, and there are addons to create a large number of hidden buttons. This means you could theoretically chain a lot of stuff together.


I don't know if BindPad allows long macros. It'll get updated shortly, otherwise you should read the comments for user fixes, or check out that github repository.


https://www.wowinterface.com/downloads/info6385
https://www.curseforge.com/wow/addons/bind-pad
https://github.com/Stanzilla/BindPad


I can't remember if _DevPad has macro functionality:


https://github.com/spiralofhope/_DevPad
https://github.com/spiralofhope/_DevPad/tags




https://github.com/spiralofhope/_DevPad.GUI
https://github.com/spiralofhope/_DevPad.GUI/tags



I might be getting back into some Lua editing, but I'd have to install the old client and make a free character. I might not be enthusiastic about that, depending on how I feel. This sort of stuff has never been easy for me (I'm not a programmer)

__________________
spiralofhope.com
Report comment to moderator  
Reply With Quote
Unread 10-27-22, 01:56 PM  
xerty
A Defias Bandit
 
xerty's Avatar

Forum posts: 3
File comments: 43
Uploads: 0
Originally Posted by spiralofhope
Originally Posted by xerty
Darn it Blizzard. Stop breaking this excellent addon
Originally Posted by xerty
It opens etc but clicking the macros does nothing.
Just got this LUA error when opening up the main macro window :


I unarchived my fork and added an issue for this.


https://github.com/spiralofhope/SuperDuperMacro/issues/37


With no investigation, I think that commenting-out 1029 to 1061 in SuperDuperMacro_Interface.lua might solve this.


The problem would be that /macro would let them tinker and break SDM macros, so.. don't do that.


This actually seems kinda straightforward to fix, but I forgot Lua and I'm not playing any more.


Well I gave that a shot, but still no reaction from the macro button. I tried this on my test char with only SDM and Swatter(LUA Error addon) running to avoid any conflicts.
Sad day as this is the only addon that I know that can go above the 1023 char limit :-(

EDIT: Did some more testing and it's any macro above the normal 255 limit that does not work.
Last edited by xerty : 10-27-22 at 02:07 PM.
Report comment to moderator  
Reply With Quote
Unread 10-27-22, 02:06 AM  
spiralofhope
A Deviate Faerie Dragon
 
spiralofhope's Avatar

Forum posts: 13
File comments: 276
Uploads: 0
Originally Posted by xerty
Darn it Blizzard. Stop breaking this excellent addon
Originally Posted by xerty
It opens etc but clicking the macros does nothing.
Just got this LUA error when opening up the main macro window :


I unarchived my fork and added an issue for this.


https://github.com/spiralofhope/SuperDuperMacro/issues/37


With no investigation, I think that commenting-out 1029 to 1061 in SuperDuperMacro_Interface.lua might solve this.


The problem would be that /macro would let them tinker and break SDM macros, so.. don't do that.


This actually seems kinda straightforward to fix, but I forgot Lua and I'm not playing any more.


__________________
spiralofhope.com
Report comment to moderator  
Reply With Quote
Unread 10-27-22, 12:16 AM  
xerty
A Defias Bandit
 
xerty's Avatar

Forum posts: 3
File comments: 43
Uploads: 0
Darn it Blizzard. Stop breaking this excellent addon
It opens etc but clicking the macros does nothing.
Just got this LUA error when opening up the main macro window :
Date: 2022-10-27 07:37:02
ID: 17
Error occured in: Global
Count: 1
Message: ...AddOns/SuperDuperMacro/SuperDuperMacro_Interface.lua line 1029:
hooksecurefunc(): MacroFrame_Update is not a function
Debug:
[string "=[C]"]: ?
[string "=[C]"]: hooksecurefunc()
[string "@Interface/AddOns/SuperDuperMacro/SuperDuperMacro_Interface.lua"]:1029: sdm_DefaultMacroFrameLoaded()
[string "@Interface/AddOns/SuperDuperMacro/SuperDuperMacro_Core.lua"]:139:
...face/AddOns/SuperDuperMacro/SuperDuperMacro_Core.lua:30
[string "=[C]"]: LoadAddOn()
[string "@Interface/FrameXML/UIParent.lua"]:530: UIParentLoadAddOn()
[string "@Interface/FrameXML/UIParent.lua"]:609: MacroFrame_LoadUI()
[string "@Interface/FrameXML/UIParent.lua"]:875:
Interface/FrameXML/UIParent.lua:874
[string "=[C]"]: ShowMacroFrame()
[string "@Interface/FrameXML/ChatFrame.lua"]:2190: ?()
[string "@Interface/FrameXML/ChatFrame.lua"]:5219:
Interface/FrameXML/ChatFrame.lua:5165
[string "=[C]"]: ChatEdit_ParseText()
[string "@Interface/FrameXML/ChatFrame.lua"]:4883: ChatEdit_SendText()
[string "@Interface/FrameXML/ChatFrame.lua"]:4919: ChatEdit_OnEnterPressed()
[string "*ChatFrame.xml:127_OnEnterPressed"]:1:
[string "*ChatFrame.xml:127_OnEnterPressed"]:1
Last edited by xerty : 10-27-22 at 12:38 AM.
Report comment to moderator  
Reply With Quote
Unread 11-08-20, 05:02 PM  
xerty
A Defias Bandit
 
xerty's Avatar

Forum posts: 3
File comments: 43
Uploads: 0
Re: Re: Broken

Originally Posted by spiralofhope
Originally Posted by xerty
Sadly broken with the patch.
Probably due to SetBackdrop.
I forked and fixed that:

https://github.com/spiralofhope/SuperDuperMacro
Excellent. Thanks for that fix :-)
Report comment to moderator  
Reply With Quote
Unread 10-25-20, 10:43 PM  
spiralofhope
A Deviate Faerie Dragon
 
spiralofhope's Avatar

Forum posts: 13
File comments: 276
Uploads: 0
Re: Broken

Originally Posted by xerty
Sadly broken with the patch.
Probably due to SetBackdrop.
I forked and fixed that:

https://github.com/spiralofhope/SuperDuperMacro
__________________
spiralofhope.com
Report comment to moderator  
Reply With Quote
Unread 10-24-20, 12:53 PM  
xerty
A Defias Bandit
 
xerty's Avatar

Forum posts: 3
File comments: 43
Uploads: 0
Broken

Sadly broken with the patch.
Probably due to SetBackdrop.

https://www.wowhead.com/news=316954/...adowlands-beta

One of the major changes in 9.0 is a change to SetBackdrop. The TL/DR, on live, 100% of frames support backdrops, whether they are used or not. 1000s of frames between every addon and default UI, even frames that never see such as event frames have backdrops. UI team realized this is a serious performance issue. so effective in 9.0, no frames have backdrops unless the addon imports/inherits the backdrop template.
this means addons that aren't importing them now throw nil errors with method "Setbackdrop". This issue affects a large number of addons.

LUA ERRORS:
Code:
1x ...ceSuperDuperMacro\SuperDuperMacro_Frames.lua:213: attempt to call method 'SetBackdrop' (a nil value)
[string "@SuperDuperMacro\SuperDuperMacro_Frames.lua"]:213: in main chunk

Locals:
f = sdm_bodyBackground {
 0 = <userdata>
}
fs = sdm_mainFrameTitle {
 0 = <userdata>
}
t = <unnamed> {
 0 = <userdata>
}
linkButtonXOffs = 296
linkButtonYOffs = -29
linkButtonSize = 50
(*temporary) = nil
(*temporary) = sdm_bodyBackground {
 0 = <userdata>
}
(*temporary) = <table> {
 tile = true
 edgeSize = 16
 tileSize = 16
 edgeFile = "Tooltips\UI-Tooltip-Border"
}
(*temporary) = "attempt to call method 'SetBackdrop' (a nil value)"

Code:
8x ...faceSuperDuperMacro\SuperDuperMacro_Core.lua:124: attempt to index global 'sdm_macroLimitText' (a nil value)
[string "@SuperDuperMacro\SuperDuperMacro_Core.lua"]:124: in function <...faceSuperDuperMacro\SuperDuperMacro_Core.lua:30>
[string "=[C]"]: ?
[string "@ZygorGuidesViewer\ZygorGuidesViewer-7.0.lua"]:882: in function `StartupStep'
[string "@ZygorGuidesViewer\MasterFrame.lua"]:7: in function <ZygorGuidesViewer\MasterFrame.lua:5>

Locals:
self = <unnamed> {
 0 = <userdata>
}
event = "UPDATE_MACROS"
numAccountMacros = 49
numCharacterMacros = 15
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index global 'sdm_macroLimitText' (a nil value)"
Code:
3x [string "sdm_mainFrame:Hide() sdm_changeIconFrame:Hi..."]:1: attempt to index global 'sdm_changeIconFrame' (a nil value)
[string "sdm_mainFrame:Hide() sdm_changeIconFrame:Hide() sdm_newFrame:Hide() sdm_sendReceiveFrame:Hide()"]:1: in main chunk
[string "=[C]"]: in function `RunScript'
[string "@SuperDuperMacro\SuperDuperMacro_Interface.lua"]:801: in function `sdm_SaveConfirmationBox'
[string "@SuperDuperMacro\SuperDuperMacro_Interface.lua"]:857: in function `sdm_Quit'
[string "@SuperDuperMacro\SuperDuperMacro_Frames.lua"]:33: in function <...ceSuperDuperMacro\SuperDuperMacro_Frames.lua:31>
[string "=[C]"]: in function `CloseSpecialWindows'
[string "@AdiBags\core\Hooks.lua"]:209: in function <AdiBags\core\Hooks.lua:208>
[string "=(tail call)"]: ?
[string "=[C]"]: ?
[string "=[C]"]: in function `securecall'
[string "@FrameXML\UIParent.lua"]:3650: in function `CloseWindows'
[string "@FrameXML\UIParent.lua"]:3675: in function <FrameXML\UIParent.lua:3665>
[string "=[C]"]: in function `securecall'
[string "@FrameXML\UIParent.lua"]:4315: in function `ToggleGameMenu'
[string "TOGGLEGAMEMENU"]:1: in function <[string "TOGGLEGAMEMENU"]:1>

Locals:
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index global 'sdm_changeIconFrame' (a nil value)"
Code:
1x ...faceSuperDuperMacro\SuperDuperMacro_Core.lua:81: attempt to index global 'sdm_iconSizeSlider' (a nil value)
[string "@SuperDuperMacro\SuperDuperMacro_Core.lua"]:81: in function <...faceSuperDuperMacro\SuperDuperMacro_Core.lua:30>

Locals:
self = <unnamed> {
 0 = <userdata>
}
event = "VARIABLES_LOADED"
oldVersion = "8.1.0.2"
savedMacros = <table> {
 37 = <table> {
 }
 36 = <table> {
 }
 29 = <table> {
 }
 28 = <table> {
 }
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = 28
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = 28
(*temporary) = 2
(*temporary) = nil
(*temporary) = 2
(*temporary) = "2"
(*temporary) = 2
(*temporary) = "2"
(*temporary) = "0"
(*temporary) = "attempt to index global 'sdm_iconSizeSlider' (a nil value)"
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: