From 73dc47316fad2041e9cf8de054d27be18f9f74d1 Mon Sep 17 00:00:00 2001 From: FranekWoW <46614084+franekwow@users.noreply.github.com> Date: Wed, 8 Jul 2020 16:03:35 +0100 Subject: [PATCH] Changes for auto retrieving external libraries --- .pkgmeta | 17 ++ CHANGELOG.md | 2 + LICENSE.txt | 2 + LibCeldorMedia.toc | 1 + Libs/LibSharedMedia-3.0/CHANGES.txt | 16 -- .../CallbackHandler-1.0/CallbackHandler-1.0.lua | 212 -------------- Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.toc | 18 -- .../LibSharedMedia-3.0/LibSharedMedia-3.0.lua | 300 -------------------- Libs/LibSharedMedia-3.0/LibSharedMedia-3.0/lib.xml | 4 - Libs/LibSharedMedia-3.0/LibStub/LibStub.lua | 51 ---- Libs/LibSharedMedia-3.0/lib.xml | 5 - Libs/LibStub/LibStub.lua | 30 -- embeds.xml | 2 +- 13 files changed, 23 insertions(+), 637 deletions(-) create mode 100644 .pkgmeta create mode 100644 CHANGELOG.md create mode 100644 LICENSE.txt delete mode 100644 Libs/LibSharedMedia-3.0/CHANGES.txt delete mode 100644 Libs/LibSharedMedia-3.0/CallbackHandler-1.0/CallbackHandler-1.0.lua delete mode 100644 Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.toc delete mode 100644 Libs/LibSharedMedia-3.0/LibSharedMedia-3.0/LibSharedMedia-3.0.lua delete mode 100644 Libs/LibSharedMedia-3.0/LibSharedMedia-3.0/lib.xml delete mode 100644 Libs/LibSharedMedia-3.0/LibStub/LibStub.lua delete mode 100644 Libs/LibSharedMedia-3.0/lib.xml delete mode 100644 Libs/LibStub/LibStub.lua diff --git a/.pkgmeta b/.pkgmeta new file mode 100644 index 0000000..e26ad2a --- /dev/null +++ b/.pkgmeta @@ -0,0 +1,17 @@ +package-as: LibCeldorMedia + +enable-nolib-creation: no + +externals: + Libs/LibStub: svn://svn.wowace.com/wow/libstub/mainline/trunk + Libs/LibSharedMedia: https://repos.wowace.com/wow/libsharedmedia-3-0/trunk/LibSharedMedia-3.0 + +ignore: + - README.md + - CONTRIBUTING.md + +license-output: LICENSE.txt + +manual-changelog: + filename: CHANGELOG.md + markup-type: markdown diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..8dc576e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,2 @@ +v1.01 +* Added a couple of more statusbars diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..e527112 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,2 @@ +All Rights Reserved unless otherwise explicitly stated. +Copyright (c) 2020 Celdor diff --git a/LibCeldorMedia.toc b/LibCeldorMedia.toc index b3b4710..3db73bd 100644 --- a/LibCeldorMedia.toc +++ b/LibCeldorMedia.toc @@ -2,6 +2,7 @@ ## Title: LibCeldorMedia ## Author: Celdor ## License: All Rights Reserved +## Version: @project-version@ ## Notes: Missing media files for Addons and WeakAuras ## DefaultState: enabled diff --git a/Libs/LibSharedMedia-3.0/CHANGES.txt b/Libs/LibSharedMedia-3.0/CHANGES.txt deleted file mode 100644 index 7c910b4..0000000 --- a/Libs/LibSharedMedia-3.0/CHANGES.txt +++ /dev/null @@ -1,16 +0,0 @@ ------------------------------------------------------------------------- -r113 | elkano | 2019-07-14 17:20:43 +0000 (Sun, 14 Jul 2019) | 1 line -Changed paths: - M /trunk/LibSharedMedia-3.0/LibSharedMedia-3.0.lua - -readded pre-8.2 compatibility for classic client ------------------------------------------------------------------------- -r112 | elkano | 2019-07-11 16:45:13 +0000 (Thu, 11 Jul 2019) | 3 lines -Changed paths: - M /trunk/LibSharedMedia-3.0/LibSharedMedia-3.0.lua - -- removed pre 8.2 compat code -- BACKGROUND, BORDER, STATUSBAR and SOUND string values are meant for file paths with 8.2 limiting file access for such media to the interface folder, paths must now start with "interface" to be registered; numeric IDs for files are fine, too -- added the solid background as option for statusbar, too ------------------------------------------------------------------------- - diff --git a/Libs/LibSharedMedia-3.0/CallbackHandler-1.0/CallbackHandler-1.0.lua b/Libs/LibSharedMedia-3.0/CallbackHandler-1.0/CallbackHandler-1.0.lua deleted file mode 100644 index a8377fe..0000000 --- a/Libs/LibSharedMedia-3.0/CallbackHandler-1.0/CallbackHandler-1.0.lua +++ /dev/null @@ -1,212 +0,0 @@ ---[[ $Id: CallbackHandler-1.0.lua 1186 2018-07-21 14:19:18Z nevcairiel $ ]] -local MAJOR, MINOR = "CallbackHandler-1.0", 7 -local CallbackHandler = LibStub:NewLibrary(MAJOR, MINOR) - -if not CallbackHandler then return end -- No upgrade needed - -local meta = {__index = function(tbl, key) tbl[key] = {} return tbl[key] end} - --- Lua APIs -local tconcat = table.concat -local assert, error, loadstring = assert, error, loadstring -local setmetatable, rawset, rawget = setmetatable, rawset, rawget -local next, select, pairs, type, tostring = next, select, pairs, type, tostring - --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: geterrorhandler - -local xpcall = xpcall - -local function errorhandler(err) - return geterrorhandler()(err) -end - -local function Dispatch(handlers, ...) - local index, method = next(handlers) - if not method then return end - repeat - xpcall(method, errorhandler, ...) - index, method = next(handlers, index) - until not method -end - --------------------------------------------------------------------------- --- CallbackHandler:New --- --- target - target object to embed public APIs in --- RegisterName - name of the callback registration API, default "RegisterCallback" --- UnregisterName - name of the callback unregistration API, default "UnregisterCallback" --- UnregisterAllName - name of the API to unregister all callbacks, default "UnregisterAllCallbacks". false == don't publish this API. - -function CallbackHandler:New(target, RegisterName, UnregisterName, UnregisterAllName) - - RegisterName = RegisterName or "RegisterCallback" - UnregisterName = UnregisterName or "UnregisterCallback" - if UnregisterAllName==nil then -- false is used to indicate "don't want this method" - UnregisterAllName = "UnregisterAllCallbacks" - end - - -- we declare all objects and exported APIs inside this closure to quickly gain access - -- to e.g. function names, the "target" parameter, etc - - - -- Create the registry object - local events = setmetatable({}, meta) - local registry = { recurse=0, events=events } - - -- registry:Fire() - fires the given event/message into the registry - function registry:Fire(eventname, ...) - if not rawget(events, eventname) or not next(events[eventname]) then return end - local oldrecurse = registry.recurse - registry.recurse = oldrecurse + 1 - - Dispatch(events[eventname], eventname, ...) - - registry.recurse = oldrecurse - - if registry.insertQueue and oldrecurse==0 then - -- Something in one of our callbacks wanted to register more callbacks; they got queued - for eventname,callbacks in pairs(registry.insertQueue) do - local first = not rawget(events, eventname) or not next(events[eventname]) -- test for empty before. not test for one member after. that one member may have been overwritten. - for self,func in pairs(callbacks) do - events[eventname][self] = func - -- fire OnUsed callback? - if first and registry.OnUsed then - registry.OnUsed(registry, target, eventname) - first = nil - end - end - end - registry.insertQueue = nil - end - end - - -- Registration of a callback, handles: - -- self["method"], leads to self["method"](self, ...) - -- self with function ref, leads to functionref(...) - -- "addonId" (instead of self) with function ref, leads to functionref(...) - -- all with an optional arg, which, if present, gets passed as first argument (after self if present) - target[RegisterName] = function(self, eventname, method, ... --[[actually just a single arg]]) - if type(eventname) ~= "string" then - error("Usage: "..RegisterName.."(eventname, method[, arg]): 'eventname' - string expected.", 2) - end - - method = method or eventname - - local first = not rawget(events, eventname) or not next(events[eventname]) -- test for empty before. not test for one member after. that one member may have been overwritten. - - if type(method) ~= "string" and type(method) ~= "function" then - error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): 'methodname' - string or function expected.", 2) - end - - local regfunc - - if type(method) == "string" then - -- self["method"] calling style - if type(self) ~= "table" then - error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): self was not a table?", 2) - elseif self==target then - error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): do not use Library:"..RegisterName.."(), use your own 'self'", 2) - elseif type(self[method]) ~= "function" then - error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): 'methodname' - method '"..tostring(method).."' not found on self.", 2) - end - - if select("#",...)>=1 then -- this is not the same as testing for arg==nil! - local arg=select(1,...) - regfunc = function(...) self[method](self,arg,...) end - else - regfunc = function(...) self[method](self,...) end - end - else - -- function ref with self=object or self="addonId" or self=thread - if type(self)~="table" and type(self)~="string" and type(self)~="thread" then - error("Usage: "..RegisterName.."(self or \"addonId\", eventname, method): 'self or addonId': table or string or thread expected.", 2) - end - - if select("#",...)>=1 then -- this is not the same as testing for arg==nil! - local arg=select(1,...) - regfunc = function(...) method(arg,...) end - else - regfunc = method - end - end - - - if events[eventname][self] or registry.recurse<1 then - -- if registry.recurse<1 then - -- we're overwriting an existing entry, or not currently recursing. just set it. - events[eventname][self] = regfunc - -- fire OnUsed callback? - if registry.OnUsed and first then - registry.OnUsed(registry, target, eventname) - end - else - -- we're currently processing a callback in this registry, so delay the registration of this new entry! - -- yes, we're a bit wasteful on garbage, but this is a fringe case, so we're picking low implementation overhead over garbage efficiency - registry.insertQueue = registry.insertQueue or setmetatable({},meta) - registry.insertQueue[eventname][self] = regfunc - end - end - - -- Unregister a callback - target[UnregisterName] = function(self, eventname) - if not self or self==target then - error("Usage: "..UnregisterName.."(eventname): bad 'self'", 2) - end - if type(eventname) ~= "string" then - error("Usage: "..UnregisterName.."(eventname): 'eventname' - string expected.", 2) - end - if rawget(events, eventname) and events[eventname][self] then - events[eventname][self] = nil - -- Fire OnUnused callback? - if registry.OnUnused and not next(events[eventname]) then - registry.OnUnused(registry, target, eventname) - end - end - if registry.insertQueue and rawget(registry.insertQueue, eventname) and registry.insertQueue[eventname][self] then - registry.insertQueue[eventname][self] = nil - end - end - - -- OPTIONAL: Unregister all callbacks for given selfs/addonIds - if UnregisterAllName then - target[UnregisterAllName] = function(...) - if select("#",...)<1 then - error("Usage: "..UnregisterAllName.."([whatFor]): missing 'self' or \"addonId\" to unregister events for.", 2) - end - if select("#",...)==1 and ...==target then - error("Usage: "..UnregisterAllName.."([whatFor]): supply a meaningful 'self' or \"addonId\"", 2) - end - - - for i=1,select("#",...) do - local self = select(i,...) - if registry.insertQueue then - for eventname, callbacks in pairs(registry.insertQueue) do - if callbacks[self] then - callbacks[self] = nil - end - end - end - for eventname, callbacks in pairs(events) do - if callbacks[self] then - callbacks[self] = nil - -- Fire OnUnused callback? - if registry.OnUnused and not next(callbacks) then - registry.OnUnused(registry, target, eventname) - end - end - end - end - end - end - - return registry -end - - --- CallbackHandler purposefully does NOT do explicit embedding. Nor does it --- try to upgrade old implicit embeds since the system is selfcontained and --- relies on closures to work. - diff --git a/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.toc b/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.toc deleted file mode 100644 index 7f5781f..0000000 --- a/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.toc +++ /dev/null @@ -1,18 +0,0 @@ -## Interface: 80200 -## LoadOnDemand: 1 - -## Title: Lib: SharedMedia-3.0 -## Notes: Shared handling of media data (fonts, sounds, textures, ...) between addons. -## Author: Elkano -## Version: 3.0-113 -## X-Website: http://www.wowace.com/projects/libsharedmedia-3-0/ -## X-Category: Library - -## X-Revision: 113 -## X-Date: 2019-07-14T17:20:43Z - -LibStub\LibStub.lua -CallbackHandler-1.0\CallbackHandler-1.0.lua - -LibSharedMedia-3.0\lib.xml - diff --git a/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0/LibSharedMedia-3.0.lua b/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0/LibSharedMedia-3.0.lua deleted file mode 100644 index 23d37ac..0000000 --- a/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0/LibSharedMedia-3.0.lua +++ /dev/null @@ -1,300 +0,0 @@ ---[[ -Name: LibSharedMedia-3.0 -Revision: $Revision: 113 $ -Author: Elkano (elkano@gmx.de) -Inspired By: SurfaceLib by Haste/Otravi (troeks@gmail.com) -Website: http://www.wowace.com/projects/libsharedmedia-3-0/ -Description: Shared handling of media data (fonts, sounds, textures, ...) between addons. -Dependencies: LibStub, CallbackHandler-1.0 -License: LGPL v2.1 -]] - -local MAJOR, MINOR = "LibSharedMedia-3.0", 8020002 -- 8.2.0 v2 / increase manually on changes -local lib = LibStub:NewLibrary(MAJOR, MINOR) - -if not lib then return end - -local _G = getfenv(0) - -local pairs = _G.pairs -local type = _G.type - -local band = _G.bit.band -local table_sort = _G.table.sort - -local RESTRICTED_FILE_ACCESS = not not C_RaidLocks -- starting with 8.2, some rules for file access have changed; classic still uses the old way - -local locale = GetLocale() -local locale_is_western -local LOCALE_MASK = 0 -lib.LOCALE_BIT_koKR = 1 -lib.LOCALE_BIT_ruRU = 2 -lib.LOCALE_BIT_zhCN = 4 -lib.LOCALE_BIT_zhTW = 8 -lib.LOCALE_BIT_western = 128 - -local CallbackHandler = LibStub:GetLibrary("CallbackHandler-1.0") - -lib.callbacks = lib.callbacks or CallbackHandler:New(lib) - -lib.DefaultMedia = lib.DefaultMedia or {} -lib.MediaList = lib.MediaList or {} -lib.MediaTable = lib.MediaTable or {} -lib.MediaType = lib.MediaType or {} -lib.OverrideMedia = lib.OverrideMedia or {} - -local defaultMedia = lib.DefaultMedia -local mediaList = lib.MediaList -local mediaTable = lib.MediaTable -local overrideMedia = lib.OverrideMedia - - --- create mediatype constants -lib.MediaType.BACKGROUND = "background" -- background textures -lib.MediaType.BORDER = "border" -- border textures -lib.MediaType.FONT = "font" -- fonts -lib.MediaType.STATUSBAR = "statusbar" -- statusbar textures -lib.MediaType.SOUND = "sound" -- sound files - --- populate lib with default Blizzard data --- BACKGROUND -if not lib.MediaTable.background then lib.MediaTable.background = {} end -lib.MediaTable.background["None"] = [[]] -lib.MediaTable.background["Blizzard Collections Background"] = [[Interface\Collections\CollectionsBackgroundTile]] -lib.MediaTable.background["Blizzard Dialog Background"] = [[Interface\DialogFrame\UI-DialogBox-Background]] -lib.MediaTable.background["Blizzard Dialog Background Dark"] = [[Interface\DialogFrame\UI-DialogBox-Background-Dark]] -lib.MediaTable.background["Blizzard Dialog Background Gold"] = [[Interface\DialogFrame\UI-DialogBox-Gold-Background]] -lib.MediaTable.background["Blizzard Garrison Background"] = [[Interface\Garrison\GarrisonUIBackground]] -lib.MediaTable.background["Blizzard Garrison Background 2"] = [[Interface\Garrison\GarrisonUIBackground2]] -lib.MediaTable.background["Blizzard Garrison Background 3"] = [[Interface\Garrison\GarrisonMissionUIInfoBoxBackgroundTile]] -lib.MediaTable.background["Blizzard Low Health"] = [[Interface\FullScreenTextures\LowHealth]] -lib.MediaTable.background["Blizzard Marble"] = [[Interface\FrameGeneral\UI-Background-Marble]] -lib.MediaTable.background["Blizzard Out of Control"] = [[Interface\FullScreenTextures\OutOfControl]] -lib.MediaTable.background["Blizzard Parchment"] = [[Interface\AchievementFrame\UI-Achievement-Parchment-Horizontal]] -lib.MediaTable.background["Blizzard Parchment 2"] = [[Interface\AchievementFrame\UI-GuildAchievement-Parchment-Horizontal]] -lib.MediaTable.background["Blizzard Rock"] = [[Interface\FrameGeneral\UI-Background-Rock]] -lib.MediaTable.background["Blizzard Tabard Background"] = [[Interface\TabardFrame\TabardFrameBackground]] -lib.MediaTable.background["Blizzard Tooltip"] = [[Interface\Tooltips\UI-Tooltip-Background]] -lib.MediaTable.background["Solid"] = [[Interface\Buttons\WHITE8X8]] -lib.DefaultMedia.background = "None" - --- BORDER -if not lib.MediaTable.border then lib.MediaTable.border = {} end -lib.MediaTable.border["None"] = [[]] -lib.MediaTable.border["Blizzard Achievement Wood"] = [[Interface\AchievementFrame\UI-Achievement-WoodBorder]] -lib.MediaTable.border["Blizzard Chat Bubble"] = [[Interface\Tooltips\ChatBubble-Backdrop]] -lib.MediaTable.border["Blizzard Dialog"] = [[Interface\DialogFrame\UI-DialogBox-Border]] -lib.MediaTable.border["Blizzard Dialog Gold"] = [[Interface\DialogFrame\UI-DialogBox-Gold-Border]] -lib.MediaTable.border["Blizzard Party"] = [[Interface\CHARACTERFRAME\UI-Party-Border]] -lib.MediaTable.border["Blizzard Tooltip"] = [[Interface\Tooltips\UI-Tooltip-Border]] -lib.DefaultMedia.border = "None" - --- FONT -if not lib.MediaTable.font then lib.MediaTable.font = {} end -local SML_MT_font = lib.MediaTable.font ---[[ -All font files are currently in all clients, the following table depicts which font supports which charset as of 5.0.4 -Fonts were checked using langcover.pl from DejaVu fonts (http://sourceforge.net/projects/dejavu/) and FontForge (http://fontforge.org/) -latin means check for: de, en, es, fr, it, pt - -file name latin koKR ruRU zhCN zhTW -2002.ttf 2002 X X X - - -2002B.ttf 2002 Bold X X X - - -ARHei.ttf AR CrystalzcuheiGBK Demibold X - X X X -ARIALN.TTF Arial Narrow X - X - - -ARKai_C.ttf AR ZhongkaiGBK Medium (Combat) X - X X X -ARKai_T.ttf AR ZhongkaiGBK Medium X - X X X -bHEI00M.ttf AR Heiti2 Medium B5 - - - - X -bHEI01B.ttf AR Heiti2 Bold B5 - - - - X -bKAI00M.ttf AR Kaiti Medium B5 - - - - X -bLEI00D.ttf AR Leisu Demi B5 - - - - X -FRIZQT__.TTF Friz Quadrata TT X - - - - -FRIZQT___CYR.TTF FrizQuadrataCTT x - X - - -K_Damage.TTF YDIWingsM - X X - - -K_Pagetext.TTF MoK X X X - - -MORPHEUS.TTF Morpheus X - - - - -MORPHEUS_CYR.TTF Morpheus X - X - - -NIM_____.ttf Nimrod MT X - X - - -SKURRI.TTF Skurri X - - - - -SKURRI_CYR.TTF Skurri X - X - - - -WARNING: Although FRIZQT___CYR is available on western clients, it doesn't support special European characters e.g. é, ï, ö -Due to this, we cannot use it as a replacement for FRIZQT__.TTF -]] - -if locale == "koKR" then - LOCALE_MASK = lib.LOCALE_BIT_koKR --- - SML_MT_font["굵은 글꼴"] = [[Fonts\2002B.TTF]] - SML_MT_font["기본 글꼴"] = [[Fonts\2002.TTF]] - SML_MT_font["데미지 글꼴"] = [[Fonts\K_Damage.TTF]] - SML_MT_font["퀘스트 글꼴"] = [[Fonts\K_Pagetext.TTF]] --- - lib.DefaultMedia["font"] = "기본 글꼴" -- someone from koKR please adjust if needed --- -elseif locale == "zhCN" then - LOCALE_MASK = lib.LOCALE_BIT_zhCN --- - SML_MT_font["伤害数字"] = [[Fonts\ARKai_C.ttf]] - SML_MT_font["默认"] = [[Fonts\ARKai_T.ttf]] - SML_MT_font["聊天"] = [[Fonts\ARHei.ttf]] --- - lib.DefaultMedia["font"] = "默认" -- someone from zhCN please adjust if needed --- -elseif locale == "zhTW" then - LOCALE_MASK = lib.LOCALE_BIT_zhTW --- - SML_MT_font["提示訊息"] = [[Fonts\bHEI00M.ttf]] - SML_MT_font["聊天"] = [[Fonts\bHEI01B.ttf]] - SML_MT_font["傷害數字"] = [[Fonts\bKAI00M.ttf]] - SML_MT_font["預設"] = [[Fonts\bLEI00D.ttf]] --- - lib.DefaultMedia["font"] = "預設" -- someone from zhTW please adjust if needed - -elseif locale == "ruRU" then - LOCALE_MASK = lib.LOCALE_BIT_ruRU --- - SML_MT_font["2002"] = [[Fonts\2002.TTF]] - SML_MT_font["2002 Bold"] = [[Fonts\2002B.TTF]] - SML_MT_font["AR CrystalzcuheiGBK Demibold"] = [[Fonts\ARHei.TTF]] - SML_MT_font["AR ZhongkaiGBK Medium (Combat)"] = [[Fonts\ARKai_C.TTF]] - SML_MT_font["AR ZhongkaiGBK Medium"] = [[Fonts\ARKai_T.TTF]] - SML_MT_font["Arial Narrow"] = [[Fonts\ARIALN.TTF]] - SML_MT_font["Friz Quadrata TT"] = [[Fonts\FRIZQT___CYR.TTF]] - SML_MT_font["MoK"] = [[Fonts\K_Pagetext.TTF]] - SML_MT_font["Morpheus"] = [[Fonts\MORPHEUS_CYR.TTF]] - SML_MT_font["Nimrod MT"] = [[Fonts\NIM_____.ttf]] - SML_MT_font["Skurri"] = [[Fonts\SKURRI_CYR.TTF]] --- - lib.DefaultMedia.font = "Friz Quadrata TT" --- -else - LOCALE_MASK = lib.LOCALE_BIT_western - locale_is_western = true --- - SML_MT_font["2002"] = [[Fonts\2002.TTF]] - SML_MT_font["2002 Bold"] = [[Fonts\2002B.TTF]] - SML_MT_font["AR CrystalzcuheiGBK Demibold"] = [[Fonts\ARHei.TTF]] - SML_MT_font["AR ZhongkaiGBK Medium (Combat)"] = [[Fonts\ARKai_C.TTF]] - SML_MT_font["AR ZhongkaiGBK Medium"] = [[Fonts\ARKai_T.TTF]] - SML_MT_font["Arial Narrow"] = [[Fonts\ARIALN.TTF]] - SML_MT_font["Friz Quadrata TT"] = [[Fonts\FRIZQT__.TTF]] - SML_MT_font["MoK"] = [[Fonts\K_Pagetext.TTF]] - SML_MT_font["Morpheus"] = [[Fonts\MORPHEUS_CYR.TTF]] - SML_MT_font["Nimrod MT"] = [[Fonts\NIM_____.ttf]] - SML_MT_font["Skurri"] = [[Fonts\SKURRI_CYR.TTF]] --- - lib.DefaultMedia.font = "Friz Quadrata TT" --- -end - --- STATUSBAR -if not lib.MediaTable.statusbar then lib.MediaTable.statusbar = {} end -lib.MediaTable.statusbar["Blizzard"] = [[Interface\TargetingFrame\UI-StatusBar]] -lib.MediaTable.statusbar["Blizzard Character Skills Bar"] = [[Interface\PaperDollInfoFrame\UI-Character-Skills-Bar]] -lib.MediaTable.statusbar["Blizzard Raid Bar"] = [[Interface\RaidFrame\Raid-Bar-Hp-Fill]] -lib.MediaTable.statusbar["Solid"] = [[Interface\Buttons\WHITE8X8]] -lib.DefaultMedia.statusbar = "Blizzard" - --- SOUND -if not lib.MediaTable.sound then lib.MediaTable.sound = {} end -lib.MediaTable.sound["None"] = RESTRICTED_FILE_ACCESS and 1 or [[Interface\Quiet.ogg]] -- Relies on the fact that PlaySound[File] doesn't error on these values. -lib.DefaultMedia.sound = "None" - -local function rebuildMediaList(mediatype) - local mtable = mediaTable[mediatype] - if not mtable then return end - if not mediaList[mediatype] then mediaList[mediatype] = {} end - local mlist = mediaList[mediatype] - -- list can only get larger, so simply overwrite it - local i = 0 - for k in pairs(mtable) do - i = i + 1 - mlist[i] = k - end - table_sort(mlist) -end - -function lib:Register(mediatype, key, data, langmask) - if type(mediatype) ~= "string" then - error(MAJOR..":Register(mediatype, key, data, langmask) - mediatype must be string, got "..type(mediatype)) - end - if type(key) ~= "string" then - error(MAJOR..":Register(mediatype, key, data, langmask) - key must be string, got "..type(key)) - end - mediatype = mediatype:lower() - if mediatype == lib.MediaType.FONT and ((langmask and band(langmask, LOCALE_MASK) == 0) or not (langmask or locale_is_western)) then - -- ignore fonts that aren't flagged as supporting local glyphs on non-western clients - return false - end - if type(data) == "string" and (mediatype == lib.MediaType.BACKGROUND or mediatype == lib.MediaType.BORDER or mediatype == lib.MediaType.STATUSBAR or mediatype == lib.MediaType.SOUND) then - local path = data:lower() - if RESTRICTED_FILE_ACCESS and not path:find("^interface") then - -- files accessed via path only allowed from interface folder - return false - end - if mediatype == lib.MediaType.SOUND and not (path:find(".ogg", nil, true) or not path:find(".mp3", nil, true)) then - -- Only ogg and mp3 are valid sounds. - return false - end - end - if not mediaTable[mediatype] then mediaTable[mediatype] = {} end - local mtable = mediaTable[mediatype] - if mtable[key] then return false end - - mtable[key] = data - rebuildMediaList(mediatype) - self.callbacks:Fire("LibSharedMedia_Registered", mediatype, key) - return true -end - -function lib:Fetch(mediatype, key, noDefault) - local mtt = mediaTable[mediatype] - local overridekey = overrideMedia[mediatype] - local result = mtt and ((overridekey and mtt[overridekey] or mtt[key]) or (not noDefault and defaultMedia[mediatype] and mtt[defaultMedia[mediatype]])) or nil - return result ~= "" and result or nil -end - -function lib:IsValid(mediatype, key) - return mediaTable[mediatype] and (not key or mediaTable[mediatype][key]) and true or false -end - -function lib:HashTable(mediatype) - return mediaTable[mediatype] -end - -function lib:List(mediatype) - if not mediaTable[mediatype] then - return nil - end - if not mediaList[mediatype] then - rebuildMediaList(mediatype) - end - return mediaList[mediatype] -end - -function lib:GetGlobal(mediatype) - return overrideMedia[mediatype] -end - -function lib:SetGlobal(mediatype, key) - if not mediaTable[mediatype] then - return false - end - overrideMedia[mediatype] = (key and mediaTable[mediatype][key]) and key or nil - self.callbacks:Fire("LibSharedMedia_SetGlobal", mediatype, overrideMedia[mediatype]) - return true -end - -function lib:GetDefault(mediatype) - return defaultMedia[mediatype] -end - -function lib:SetDefault(mediatype, key) - if mediaTable[mediatype] and mediaTable[mediatype][key] and not defaultMedia[mediatype] then - defaultMedia[mediatype] = key - return true - else - return false - end -end diff --git a/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0/lib.xml b/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0/lib.xml deleted file mode 100644 index 7f2fd53..0000000 --- a/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0/lib.xml +++ /dev/null @@ -1,4 +0,0 @@ - -