vrtc / chorus (public) (License: CC0) (since 2023-08-12) (hash sha1)
World of Warcraft add-on stub. The overall goal is to create a specialized raid frame.
List of commits:
Subject Hash Author Date (UTC)
fix: remove redundant initialization 611d5ec779272d3fcceefdc18852ee0de320e19d Vladyslav Bondarenko 2024-12-02 11:49:28
fix: adjust frames for all resolutions d378a6b25a5e8c87af367e199f57dc4b7781b26f Vladyslav Bondarenko 2024-12-02 11:13:10
fix: adjust buff priorities bfa198b18dfdfaab3db2d0f31e3b794eb52c9b9b Vladyslav Bondarenko 2024-12-02 10:32:14
fix!: remove all taint from aura buttons 198dcbb367596370de36e6ebbcde3c9a1887b657 Vladyslav Bondarenko 2024-07-14 23:21:37
fix: show death knight rune frame at player frame 9949a0bafac5d0f1ccbcd3f80b301977d4fa4e0f Vladyslav Bondarenko 2024-07-14 15:46:33
feat: prepare release 0.10.0 7b12ee714c95d94d9d34dd034fe7c1b27b29fa0e Vladyslav Bondarenko 2024-06-27 12:54:18
fix: raid profile toggle robustness 9cba01bac77db4d383c159136f904fec00f57d43 Vladyslav Bondarenko 2024-06-25 07:11:38
fix: cast bar update robustness e2e7910e0d96eb65aea9a2a3337fa50cecccc45f Vladyslav Bondarenko 2024-06-25 07:11:07
fix!: toggle raid frame 59503ee6ec8744f057e959c026cacb0e39ee62db Vladyslav Bondarenko 2024-06-23 07:58:42
feat!: prepare release 0.9.0 6b15c2a4567dae6b363d69fa84348aa2dbca7b74 Vladyslav Bondarenko 2024-06-18 22:41:56
fix: add UnitIsTapped to known globals list 9536f6ae6bb9f2e4ce1a668f3a55c2ad0a225cb7 Vladyslav Bondarenko 2024-06-18 22:40:45
feat: upgrade cast bar f050d4444480983bfe7475bdafbfeb2c291c3472 Vladyslav Bondarenko 2024-06-18 18:11:20
fix!: only update cast bar when it's visible 7c2081b92a1ec323911520a977c00f68078bae18 Vladyslav Bondarenko 2024-06-18 17:09:56
fix: cast bar always reports ongoing cast d69d60f524a7871053daa2d914badc59e1189e15 Vladyslav Bondarenko 2024-06-18 15:37:59
feat: color unit headers by reaction af87ae82144ba3e49bec3f3cc18919b502d46da8 Vladyslav Bondarenko 2024-06-18 15:19:21
feat: weigh priest effects 99341dd5c6cb03861fdfa802a1cde520887b29b5 Vladyslav Bondarenko 2024-06-18 14:01:45
feat: make cast bar prettier visually 8ef25268de9a70ce741f0e9b4c105d4969afe7ff Vladyslav Bondarenko 2024-06-18 14:01:03
doc: show todo and fixme annotations in the docs a880f593e674df82682c295375319b7a4cf13b20 Vladyslav Bondarenko 2024-06-18 11:58:53
fix: make raid frames protected c94bb2d05a404e2a1e802cf03daa6325cf38827b Vladyslav Bondarenko 2024-06-18 11:57:42
feat: cast bar shows instants and failures c08b3be1c0d8d63b298a71ddf7af734703ffcb42 Vladyslav Bondarenko 2024-06-16 20:42:42
Commit 611d5ec779272d3fcceefdc18852ee0de320e19d - fix: remove redundant initialization
Listening to event ADDON_LOADED triggers initialization repeatedly for
frames. Instead listen to PLAYER_ENTERING_WORLD or PLAYER_LOGIN.

ADDON_LOADED payload has addon name. Event processors that listen to
these events must filter by addon name. This is inconvenient. Use
mechanism that does not require filtering events like this.
Author: Vladyslav Bondarenko
Author date (UTC): 2024-12-02 11:49
Committer name: Vladyslav Bondarenko
Committer date (UTC): 2024-12-02 12:03
Parent(s): e7742f3d53135d7c120cd2dbdc7be80e03ae0bd9
Signer:
Signing key: EFF9624877D25D02
Signing status: E
Tree: 325b15bf0e2a666748d6fd002d6c3934d6225918
File Lines added Lines deleted
src/ChorusAuraButtonTemplate.lua 2 1
src/ChorusCastFrameTemplate.lua 1 4
src/ChorusFrame.lua 3 13
src/ChorusGroupFrame.lua 1 7
src/ChorusPartyFrame.lua 2 1
src/ChorusRaidTargetIconFrameTemplate.lua 1 1
src/ChorusUnitBackdropTemplate.lua 4 2
File src/ChorusAuraButtonTemplate.lua changed (mode: 100644) (index 261627e..6161abd)
... ... function Chorus.auraButtonMain(self)
541 541 end end
542 542 self:SetScript('OnEvent', Chorus.auraButtonEventProcessor) self:SetScript('OnEvent', Chorus.auraButtonEventProcessor)
543 543 self:SetScript('OnUpdate', auraButtonUpdateProcessor) self:SetScript('OnUpdate', auraButtonUpdateProcessor)
544 self:RegisterEvent('ADDON_LOADED')
544 self:RegisterEvent('PLAYER_ENTERING_WORLD')
545 self:RegisterEvent('PLAYER_LOGIN')
545 546 self:RegisterEvent('UNIT_AURA') self:RegisterEvent('UNIT_AURA')
546 547 auraButtonValidate(self) auraButtonValidate(self)
547 548
File src/ChorusCastFrameTemplate.lua changed (mode: 100644) (index 9fe8b95..bd92cca)
... ... local function spellcastBegin(castFrame, eventCategory, targetUnit)
163 163 end end
164 164
165 165 targetUnit = targetUnit or SecureButton_GetUnit(castFrame) or 'none' targetUnit = targetUnit or SecureButton_GetUnit(castFrame) or 'none'
166 if 'ADDON_LOADED' == eventCategory then
167 targetUnit = SecureButton_GetUnit(castFrame)
168 elseif 'PLAYER_ENTERING_WORLD' == eventCategory then
166 if 'PLAYER_ENTERING_WORLD' == eventCategory then
169 167 targetUnit = SecureButton_GetUnit(castFrame) targetUnit = SecureButton_GetUnit(castFrame)
170 168 elseif 'PLAYER_LOGIN' == eventCategory then elseif 'PLAYER_LOGIN' == eventCategory then
171 169 targetUnit = SecureButton_GetUnit(castFrame) targetUnit = SecureButton_GetUnit(castFrame)
 
... ... local function castFrameMain(self)
494 492 self:SetScript('OnEvent', castFrameEventProcessor) self:SetScript('OnEvent', castFrameEventProcessor)
495 493 self:SetScript('OnUpdate', castFrameUpdateProcessor) self:SetScript('OnUpdate', castFrameUpdateProcessor)
496 494
497 self:RegisterEvent("ADDON_LOADED");
498 495 self:RegisterEvent("PLAYER_ENTERING_WORLD"); self:RegisterEvent("PLAYER_ENTERING_WORLD");
499 496 self:RegisterEvent("PLAYER_FOCUS_CHANGED"); self:RegisterEvent("PLAYER_FOCUS_CHANGED");
500 497 self:RegisterEvent("PLAYER_LOGIN"); self:RegisterEvent("PLAYER_LOGIN");
File src/ChorusFrame.lua changed (mode: 100644) (index 98614af..b3bbbc9)
... ... local function chorusFrameMain(self)
72 72 --[[ Wait for the game to finish loading completely, only then apply --[[ Wait for the game to finish loading completely, only then apply
73 73 changes. ]]-- changes. ]]--
74 74
75 local selfAddonName = GetAddOnInfo('chorus')
76 assert(selfAddonName ~= nil)
77 assert('string' == type(selfAddonName))
78 selfAddonName = strtrim(selfAddonName)
79 assert(string.len(selfAddonName) >= 1)
80 75 self:SetScript('OnEvent', function(self0, eventCategory, addonName) self:SetScript('OnEvent', function(self0, eventCategory, addonName)
81 if eventCategory == 'ADDON_LOADED' and selfAddonName == tostring(addonName) then
82 applyLayout(self0)
83 disableNativeFrames()
84 elseif eventCategory == 'PLAYER_LOGIN' then
85 applyLayout(self0)
86 disableNativeFrames()
87 end
76 applyLayout(self0)
77 disableNativeFrames()
88 78 end) end)
89 79
90 self:RegisterEvent('ADDON_LOADED');
80 self:RegisterEvent('PLAYER_ENTERING_WORLD');
91 81 self:RegisterEvent('PLAYER_LOGIN'); self:RegisterEvent('PLAYER_LOGIN');
92 82 end end
93 83
File src/ChorusGroupFrame.lua changed (mode: 100644) (index 0b81ab7..f5e64dc)
... ... function Chorus.groupFrameToggleInsecure(...)
107 107 return return
108 108 end end
109 109
110 if 'ADDON_LOADED' == select(2, ...) then
111 if 'chorus' ~= select(3, ...) then
112 return
113 end
114 end
115
116 110 local n = GetNumRaidMembers() or 0 local n = GetNumRaidMembers() or 0
117 111
118 112 if n > 25 then if n > 25 then
 
... ... function Chorus.groupFrameMain(self)
239 233 ]]) ]])
240 234
241 235 self:RegisterEvent('PARTY_CONVERTED_TO_RAID') self:RegisterEvent('PARTY_CONVERTED_TO_RAID')
236 self:RegisterEvent('PLAYER_ENTERING_WORLD')
242 237 self:RegisterEvent('PLAYER_LOGIN') self:RegisterEvent('PLAYER_LOGIN')
243 238 self:RegisterEvent('ZONE_CHANGED') self:RegisterEvent('ZONE_CHANGED')
244 self:RegisterEvent('ADDON_LOADED')
245 239
246 240 self:RegisterEvent('RAID_ROSTER_UPDATE') self:RegisterEvent('RAID_ROSTER_UPDATE')
247 241 self:RegisterEvent('PARTY_MEMBERS_CHANGED') self:RegisterEvent('PARTY_MEMBERS_CHANGED')
File src/ChorusPartyFrame.lua changed (mode: 100644) (index 6685c3e..aac8eb0)
... ... end
78 78 function Chorus.partyMemberFrameMain(partyMemberFrame) function Chorus.partyMemberFrameMain(partyMemberFrame)
79 79 assert(partyMemberFrame ~= nil) assert(partyMemberFrame ~= nil)
80 80
81 partyMemberFrame:RegisterEvent('ADDON_LOADED')
81 partyMemberFrame:RegisterEvent('PLAYER_ENTERING_WORLD')
82 partyMemberFrame:RegisterEvent('PLAYER_LOGIN')
82 83 partyMemberFrame:SetScript('OnEvent', partyMemberFrameInit) partyMemberFrame:SetScript('OnEvent', partyMemberFrameInit)
83 84 partyMemberFrame:SetScript('OnAttributeChanged', partyMemberFrameInit) partyMemberFrame:SetScript('OnAttributeChanged', partyMemberFrameInit)
84 85 end end
File src/ChorusRaidTargetIconFrameTemplate.lua changed (mode: 100644) (index 30d2496..2682b7d)
... ... function Chorus.raidTargetIconFrameMain(self)
56 56
57 57 self:SetScript('OnEvent', raidTargetIconFrameEventProcessor) self:SetScript('OnEvent', raidTargetIconFrameEventProcessor)
58 58
59 self:RegisterEvent('ADDON_LOADED')
60 59 self:RegisterEvent('PARTY_CONVERTED_TO_RAID') self:RegisterEvent('PARTY_CONVERTED_TO_RAID')
61 60 self:RegisterEvent('PARTY_MEMBERS_CHANGED') self:RegisterEvent('PARTY_MEMBERS_CHANGED')
61 self:RegisterEvent('PLAYER_ENTERING_WORLD')
62 62 self:RegisterEvent('PLAYER_FOCUS_CHANGED') self:RegisterEvent('PLAYER_FOCUS_CHANGED')
63 63 self:RegisterEvent('PLAYER_LOGIN') self:RegisterEvent('PLAYER_LOGIN')
64 64 self:RegisterEvent('PLAYER_TARGET_CHANGED') self:RegisterEvent('PLAYER_TARGET_CHANGED')
File src/ChorusUnitBackdropTemplate.lua changed (mode: 100644) (index 995e7af..137ea94)
... ... local function getDefaultBackdropColorMap()
26 26 } }
27 27 end end
28 28
29 local function unitBackdropEventProcessor(unitBackdrop)
29 local function unitBackdropEventProcessor(unitBackdrop, ...)
30 30 assert(unitBackdrop ~= nil) assert(unitBackdrop ~= nil)
31 31
32 32 local unitDesignation = unitBackdrop:GetAttribute('unit') local unitDesignation = unitBackdrop:GetAttribute('unit')
 
... ... function Chorus.unitBackdropMain(unitBackdrop)
132 132 unitBackdrop:SetBackdropBorderColor(1, 1, 1, 1) unitBackdrop:SetBackdropBorderColor(1, 1, 1, 1)
133 133 unitBackdrop:SetBackdropColor(0, 0, 0, 0.8) unitBackdrop:SetBackdropColor(0, 0, 0, 0.8)
134 134
135 unitBackdrop:RegisterEvent('ADDON_LOADED')
136 135 unitBackdrop:RegisterEvent('PARTY_CONVERTED_TO_RAID') unitBackdrop:RegisterEvent('PARTY_CONVERTED_TO_RAID')
137 136 unitBackdrop:RegisterEvent('PARTY_MEMBERS_CHANGED') unitBackdrop:RegisterEvent('PARTY_MEMBERS_CHANGED')
137 unitBackdrop:RegisterEvent('PLAYER_ENTERING_WORLD')
138 138 unitBackdrop:RegisterEvent('PLAYER_FOCUS_CHANGED') unitBackdrop:RegisterEvent('PLAYER_FOCUS_CHANGED')
139 unitBackdrop:RegisterEvent('PLAYER_LOGIN')
139 140 unitBackdrop:RegisterEvent('PLAYER_TARGET_CHANGED') unitBackdrop:RegisterEvent('PLAYER_TARGET_CHANGED')
140 141 unitBackdrop:RegisterEvent('RAID_ROSTER_UPDATE') unitBackdrop:RegisterEvent('RAID_ROSTER_UPDATE')
142 unitBackdrop:RegisterEvent('ZONE_CHANGED')
141 143 unitBackdrop:SetScript('OnEvent', unitBackdropEventProcessor) unitBackdrop:SetScript('OnEvent', unitBackdropEventProcessor)
142 144 unitBackdrop:SetScript('OnAttributeChanged', unitBackdropEventProcessor) unitBackdrop:SetScript('OnAttributeChanged', unitBackdropEventProcessor)
143 145 end end
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/vrtc/chorus

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/vrtc/chorus

Clone this repository using git:
git clone git://git.rocketgit.com/user/vrtc/chorus

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main