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!: persist frame position settings correctly 390fb24c1b2a19e378694adfa6efc7c93bdf1a55 Vladyslav Bondarenko 2025-01-29 16:34:56
feat!: drag chorus frames and save their positions e84a0e1d4a43760bbb177de901575ff10b388ccc Vladyslav Bondarenko 2025-01-29 09:37:39
fix: only drag frames out of combat 03ca7d9431c849e824699089dd82739f1c28870e Vladyslav Bondarenko 2025-01-28 07:43:06
feat: bump nightly version 05ac3fad466d01d2591439c6a39e5ae47d38803b Vladyslav Bondarenko 2025-01-27 21:37:11
feat!: add configuration menu 254bab612dbdadb0db925eab00cec81256b032ff Vladyslav Bondarenko 2025-01-27 21:30:05
fix: aura buttons do not violate borders 452ee7ff2e66a63e1c86f1cc1d9056b4ebe5cec4 Vladyslav Bondarenko 2025-01-27 18:02:08
fix: do not overlap tiny aura buttons 6f894b23eb90d2e88f57285ef7d5779550386ab9 Vladyslav Bondarenko 2025-01-27 17:58:48
fix: unify aura button logic 52c88f27f978e6ae528e4d04507f8c73184f904c Vladyslav Bondarenko 2025-01-27 17:50:00
feat!: extend huge unit with more aura buttons 36bba5e5bb7170758410ca3d7e3b619a68591937 Vladyslav Bondarenko 2025-01-17 14:58:43
feat!: extend huge unit with more aura buttons 368dd673050bd53efde56a17055100dc1f24c1ed Vladyslav Bondarenko 2025-01-17 14:58:43
fix: update TOT aura more frequently 29751221b920518b14a51c9bf1b486f5a177ad4f Vladyslav Bondarenko 2024-12-23 16:59:12
feat: rearrange solo and raid frames a7139f7359fe357808e97c4518369b49fd4cbd29 Vladyslav Bondarenko 2024-12-23 19:44:06
feat: arrange party frame vertically 55d13ff2eabd4d444c77cf6cdc664c83529f9c7d Vladyslav Bondarenko 2024-12-23 18:19:11
feat: change aura collapse button graphics 7085558a5afbcd942f3a9e368fdb617083304c5d Vladyslav Bondarenko 2024-12-20 22:45:32
fix: bump version 24da29749a723ae0a9025d23974d4ba5edfae720 Vladyslav Bondarenko 2024-12-04 03:43:51
fix: role widget toggle visibility correctly c8393fa228fc07c892993228f4a0b91b06cab319 Vladyslav Bondarenko 2024-12-03 08:00:46
fix: prepare release 0.11.0 c60fa1b56310a13399d60992f8334b0f88490fd1 Vladyslav Bondarenko 2024-12-03 03:56:40
fix: typo in aura frame initializator be11f220fc2d2e009a0be0258c23855993b71f2b Vladyslav Bondarenko 2024-12-02 12:12:55
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
Commit 390fb24c1b2a19e378694adfa6efc7c93bdf1a55 - fix!: persist frame position settings correctly
Author: Vladyslav Bondarenko
Author date (UTC): 2025-01-29 16:34
Committer name: Vladyslav Bondarenko
Committer date (UTC): 2025-01-29 16:34
Parent(s): 9dcf5e6ef1cd5a254fa00bcbd1ede9235dc59cd0
Signer:
Signing key: EFF9624877D25D02
Signing status: E
Tree: 135127c81ea75a878887304019d27e688988e673
File Lines added Lines deleted
conf/lua-check/luacheckrc.lua 11 4
conf/make/src.mk 2 0
src/ChorusConfFrame.lua 18 21
File conf/lua-check/luacheckrc.lua changed (mode: 100644) (index 2ad2e00..87bbc31)
... ... stds.cata = {
16 16 stds.wrath = { stds.wrath = {
17 17 read_globals = { read_globals = {
18 18 'CreateFrame', 'CreateFrame',
19 'GetAddOnMetadata',
19 20 'GetBuildInfo', 'GetBuildInfo',
20 21 'GetInstanceInfo', 'GetInstanceInfo',
21 22 'GetModifiedClick', 'GetModifiedClick',
 
... ... stds.framexml = {
156 157 'ToggleDropDownMenu', 'ToggleDropDownMenu',
157 158 'UIParent', 'UIParent',
158 159 'UnregisterUnitWatch', 'UnregisterUnitWatch',
160 'InterfaceOptions_AddCategory'
159 161 }, },
160 162 globals = { globals = {
161 163 }, },
 
... ... stds.framexml = {
165 167
166 168 stds.chorus = { stds.chorus = {
167 169 read_globals = { read_globals = {
170 'ChorusConfMovableCheckBox',
171 'ChorusConfFrameTitle',
168 172 'ChorusFocusFrame', 'ChorusFocusFrame',
169 173 'ChorusFrame', 'ChorusFrame',
170 174 'ChorusGroupFrame', 'ChorusGroupFrame',
 
... ... stds.chorus = {
172 176 'ChorusPartyFrame', 'ChorusPartyFrame',
173 177 'ChorusPlayerFrame', 'ChorusPlayerFrame',
174 178 'ChorusRaidFrame', 'ChorusRaidFrame',
179 'ChorusSoloFrame',
175 180 'ChorusTargetFrame', 'ChorusTargetFrame',
176 181 }, },
177 182 globals = { globals = {
 
... ... stds.chorus = {
180 185 --exact. ]]-- --exact. ]]--
181 186 'Chorus', 'Chorus',
182 187 'ChorusAuraWeightMap', 'ChorusAuraWeightMap',
188 'ChorusConf',
189 'ChorusConfProfileName',
183 190 'ChorusFocusFrameHealthFrame', 'ChorusFocusFrameHealthFrame',
184 191 'ChorusFocusFrameUnitNameFrame', 'ChorusFocusFrameUnitNameFrame',
192 'ChorusHugeRaidFrame',
193 'ChorusLargeRaidFrame',
185 194 'ChorusLuacheckrcDump', 'ChorusLuacheckrcDump',
186 195 'ChorusPlayerFrameHealthFrame', 'ChorusPlayerFrameHealthFrame',
187 196 'ChorusPlayerFrameUnitNameFrame', 'ChorusPlayerFrameUnitNameFrame',
197 'ChorusSmallRaidFrame',
188 198 'ChorusTargetFrameHealthFrame', 'ChorusTargetFrameHealthFrame',
189 199 'ChorusTargetFrameUnitNameFrame', 'ChorusTargetFrameUnitNameFrame',
190 'ChorusUnitGroupRoleMap',
191 200 'ChorusTinyRaidFrame', 'ChorusTinyRaidFrame',
192 'ChorusSmallRaidFrame',
193 'ChorusLargeRaidFrame',
194 'ChorusHugeRaidFrame',
201 'ChorusUnitGroupRoleMap',
195 202 }, },
196 203 } }
197 204
File conf/make/src.mk changed (mode: 100644) (index da7fb82..0895cf2)
... ... ${srcdir}src/ChorusUnitLevelFrameTemplate.lua \
28 28 ${srcdir}src/ChorusUnitNameFrameTemplate.lua \ ${srcdir}src/ChorusUnitNameFrameTemplate.lua \
29 29 ${srcdir}src/ChorusPartyFrame.lua \ ${srcdir}src/ChorusPartyFrame.lua \
30 30 ${srcdir}src/ChorusGroupFrame.lua \ ${srcdir}src/ChorusGroupFrame.lua \
31 ${srcdir}src/ChorusConfFrame.lua \
31 32 ${srcdir}src/ChorusFrame.lua ${srcdir}src/ChorusFrame.lua
32 33
33 34 XMLFILES = \ XMLFILES = \
 
... ... ${srcdir}src/ChorusTinyRaidFrame.xml \
64 65 ${srcdir}src/ChorusSmallRaidFrame.xml \ ${srcdir}src/ChorusSmallRaidFrame.xml \
65 66 ${srcdir}src/ChorusLargeRaidFrame.xml \ ${srcdir}src/ChorusLargeRaidFrame.xml \
66 67 ${srcdir}src/ChorusGroupFrame.xml \ ${srcdir}src/ChorusGroupFrame.xml \
68 ${srcdir}src/ChorusConfFrame.xml \
67 69 ${srcdir}src/ChorusFrame.xml ${srcdir}src/ChorusFrame.xml
File src/ChorusConfFrame.lua changed (mode: 100644) (index 1255367..3ef0737)
... ... local function savePoints(conf, profileName, frame)
86 86 frameSettings = {} frameSettings = {}
87 87 end end
88 88 assert(frameSettings ~= nil) assert(frameSettings ~= nil)
89 assert('table' == type(frameSettigns))
89 assert('table' == type(frameSettings))
90 90
91 91 local record = {} local record = {}
92 92 local i = 0 local i = 0
93 93 while (i < 8) do while (i < 8) do
94 94 i = i + 1 i = i + 1
95 95 local point = {frame:GetPoint(i)} local point = {frame:GetPoint(i)}
96 record[i] = point
96 if point[1] then
97 record[i] = point
98 end
97 99 end end
98 100
99 101 frameSettings.points = record frameSettings.points = record
 
... ... local function loadPoints(conf, profileName, frame)
130 132
131 133 local frameSettings = confProfile[n] local frameSettings = confProfile[n]
132 134 if not frameSettings then if not frameSettings then
133 print('ChorusConfFrame.lua: empty settings for frame "' .. n .. '"')
134 135 return return
135 136 end end
136 137
 
... ... local function loadPoints(conf, profileName, frame)
138 139 assert(points ~= nil, 'no frame position saved') assert(points ~= nil, 'no frame position saved')
139 140 assert('table' == type(points)) assert('table' == type(points))
140 141 local i = 0 local i = 0
141 while (i < 8) do
142 while (i < math.min(#points, 8)) do
142 143 i = i + 1 i = i + 1
143 144 local point = points[i] local point = points[i]
144 145 assert(point ~= nil) assert(point ~= nil)
145 146 assert('table' == type(point)) assert('table' == type(point))
146 if point[3] and point[4] and point[5] then
147 frame:SetPoint(point[3], point[4], point[5])
147 if point[1] then
148 frame:SetPoint(unpack(point))
148 149 end end
149 150 end end
150 151 end end
 
... ... end
152 153 local function confApply(confFrame) local function confApply(confFrame)
153 154 assert(confFrame ~= nil) assert(confFrame ~= nil)
154 155
155 local flag = ChorusConfMovableCheckBox:GetChecked()
156 local flag = 1 == ChorusConfMovableCheckBox:GetChecked()
156 157
157 if flag then
158 local i = 0
159 while (i < #movableFrameList) do
160 i = i + 1
161 local f = movableFrameList[i]
162 assert(f ~= nil)
158 local i = 0
159 while (i < #movableFrameList) do
160 i = i + 1
161 local f = movableFrameList[i]
162 assert(f ~= nil)
163 if flag then
163 164 movableEnable(f) movableEnable(f)
164 end
165 else
166 local i = 0
167 while (i < #movableFrameList) do
168 i = i + 1
169 local f = movableFrameList[i]
170 assert(f ~= nil)
165 else
171 166 movableDisable(f) movableDisable(f)
172 savePoints(ChorusConf, ChorusConfProfileName, f)
173 167 end end
168 savePoints(ChorusConf, ChorusConfProfileName, f)
174 169 end end
175 170 end end
176 171
 
... ... local function confDefault(confFrame)
204 199 end end
205 200
206 201 local function confFrameEventProcessor(confFrame) local function confFrameEventProcessor(confFrame)
202 assert(confFrame ~= nil)
203
207 204 ChorusConf = ChorusConf or {['main'] = {}} ChorusConf = ChorusConf or {['main'] = {}}
208 205 ChorusConfProfileName = ChorusConfProfileName or 'main' ChorusConfProfileName = ChorusConfProfileName or 'main'
209 206
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