[162] update overlays

pull/1144/head
meisnate12 2 years ago
parent 2e9b0702be
commit 9702dd5dca

@ -1 +1 @@
1.17.3-develop161
1.17.3-develop162

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

@ -8,11 +8,19 @@
external_templates:
pmm: templates
template_variables:
default:
style: round
country: <<key>>
style: round
country: <<key>>
queue: position
pmm: flag/<<style>>/<<country>>
addon_position: left
addon_offset: 5
back_color: "#00000099"
back_width: 190
back_radius: 15
back_align: left
font: fonts/Inter-Bold.ttf
font_size: 50
final_name: text(<<text>>)
queues:
position:
@ -75,245 +83,245 @@ templates:
overlays:
german:
variables: {key: de, weight: 610}
variables: {key: de, text: DE, weight: 610}
template: [name: standard, name: flags]
english:
variables: {key: en, weight: 600, country: us}
variables: {key: en, text: EN, weight: 600, country: us}
template: [name: standard, name: flags]
french:
variables: {key: fr, weight: 590}
variables: {key: fr, text: FR, weight: 590}
template: [name: standard, name: flags]
japanese:
variables: {key: ja, weight: 580, country: jp}
variables: {key: ja, text: JA, weight: 580, country: jp}
template: [name: standard, name: flags]
korean:
variables: {key: ko, weight: 570, country: kr}
variables: {key: ko, text: KO, weight: 570, country: kr}
template: [name: standard, name: flags]
chinese:
variables: {key: zh, weight: 560, country: cn}
variables: {key: zh, text: ZH, weight: 560, country: cn}
template: [name: standard, name: flags]
danish:
variables: {key: da, weight: 550, country: dk}
variables: {key: da, text: DA, weight: 550, country: dk}
template: [name: standard, name: flags]
russian:
variables: {key: ru, weight: 540}
variables: {key: ru, text: RU, weight: 540}
template: [name: standard, name: flags]
spanish:
variables: {key: es, weight: 530}
variables: {key: es, text: ES, weight: 530}
template: [name: standard, name: flags]
italian:
variables: {key: it, weight: 520}
variables: {key: it, text: IT, weight: 520}
template: [name: standard, name: flags]
portuguese:
variables: {key: pt, weight: 510}
variables: {key: pt, text: PT, weight: 510}
template: [name: standard, name: flags]
hindi:
variables: {key: hi, weight: 500, country: in}
variables: {key: hi, text: HI, weight: 500, country: in}
template: [name: standard, name: flags]
telugu:
variables: {key: te, weight: 490, country: in}
variables: {key: te, text: TE, weight: 490, country: in}
template: [name: standard, name: flags]
farsi:
variables: {key: fa, weight: 480, country: ir}
variables: {key: fa, text: FA, weight: 480, country: ir}
template: [name: standard, name: flags]
thai:
variables: {key: th, weight: 470}
variables: {key: th, text: TH, weight: 470}
template: [name: standard, name: flags]
dutch:
variables: {key: nl, weight: 460}
variables: {key: nl, text: NL, weight: 460}
template: [name: standard, name: flags]
norwegian:
variables: {key: no, weight: 450}
variables: {key: no, text: NO, weight: 450}
template: [name: standard, name: flags]
icelandic:
variables: {key: is, weight: 440}
variables: {key: is, text: IS, weight: 440}
template: [name: standard, name: flags]
swedish:
variables: {key: sv, weight: 430, country: se}
variables: {key: sv, text: SV, weight: 430, country: se}
template: [name: standard, name: flags]
turkish:
variables: {key: tr, weight: 420}
variables: {key: tr, text: TR, weight: 420}
template: [name: standard, name: flags]
polish:
variables: {key: pl, weight: 410}
variables: {key: pl, text: PL, weight: 410}
template: [name: standard, name: flags]
czech:
variables: {key: cs, weight: 400, country: cz}
variables: {key: cs, text: CS, weight: 400, country: cz}
template: [name: standard, name: flags]
ukrainian:
variables: {key: uk, weight: 390, country: ua}
variables: {key: uk, text: UK, weight: 390, country: ua}
template: [name: standard, name: flags]
hungarian:
variables: {key: hu, weight: 380}
variables: {key: hu, text: HU, weight: 380}
template: [name: standard, name: flags]
arabic:
variables: {key: ar, weight: 370, country: eg}
variables: {key: ar, text: AR, weight: 370, country: eg}
template: [name: standard, name: flags]
bulgarian:
variables: {key: bg, weight: 360}
variables: {key: bg, text: BG, weight: 360}
template: [name: standard, name: flags]
bengali:
variables: {key: bn, weight: 350, country: bd}
variables: {key: bn, text: BN, weight: 350, country: bd}
template: [name: standard, name: flags]
bosnian:
variables: {key: bs, weight: 340, country: ba}
variables: {key: bs, text: BS, weight: 340, country: ba}
template: [name: standard, name: flags]
catalan:
variables: {key: ca, weight: 330, country: es}
variables: {key: ca, text: CA, weight: 330, country: es}
template: [name: standard, name: flags]
welsh:
variables: {key: cy, weight: 320, country: uk}
variables: {key: cy, text: CY, weight: 320, country: uk}
template: [name: standard, name: flags]
greek:
variables: {key: el, weight: 310, country: gr}
variables: {key: el, text: EL, weight: 310, country: gr}
template: [name: standard, name: flags]
estonian:
variables: {key: et, weight: 300, country: ee}
variables: {key: et, text: ET, weight: 300, country: ee}
template: [name: standard, name: flags]
basque:
variables: {key: eu, weight: 290, country: es}
variables: {key: eu, text: EU, weight: 290, country: es}
template: [name: standard, name: flags]
finnish:
variables: {key: fi, weight: 280}
variables: {key: fi, text: FI, weight: 280}
template: [name: standard, name: flags]
filipino:
variables: {key: fil, weight: 270, country: ph}
variables: {key: fil, text: FL, weight: 270, country: ph}
template: [name: standard, name: flags]
galician:
variables: {key: gl, weight: 260, country: es}
variables: {key: gl, text: GL, weight: 260, country: es}
template: [name: standard, name: flags]
hebrew:
variables: {key: he, weight: 250, country: il}
variables: {key: he, text: HE, weight: 250, country: il}
template: [name: standard, name: flags]
croatian:
variables: {key: hr, weight: 240}
variables: {key: hr, text: HR, weight: 240}
template: [name: standard, name: flags]
indonesian:
variables: {key: id, weight: 230}
variables: {key: id, text: ID, weight: 230}
template: [name: standard, name: flags]
georgian:
variables: {key: ka, weight: 220, country: ge}
variables: {key: ka, text: KA, weight: 220, country: ge}
template: [name: standard, name: flags]
kazakh:
variables: {key: kk, weight: 210, country: kz}
variables: {key: kk, text: KK, weight: 210, country: kz}
template: [name: standard, name: flags]
kannada:
variables: {key: kn, weight: 200, country: in}
variables: {key: kn, text: KN, weight: 200, country: in}
template: [name: standard, name: flags]
latin:
variables: {key: la, weight: 190, country: it}
variables: {key: la, text: LA, weight: 190, country: it}
template: [name: standard, name: flags]
lithuanian:
variables: {key: lt, weight: 180}
variables: {key: lt, text: LT, weight: 180}
template: [name: standard, name: flags]
latvian:
variables: {key: lv, weight: 170}
variables: {key: lv, text: LV, weight: 170}
template: [name: standard, name: flags]
macedonian:
variables: {key: mk, weight: 160}
variables: {key: mk, text: MK, weight: 160}
template: [name: standard, name: flags]
malayalam:
variables: {key: ml, weight: 150, country: in}
variables: {key: ml, text: ML, weight: 150, country: in}
template: [name: standard, name: flags]
marathi:
variables: {key: mr, weight: 140, country: in}
variables: {key: mr, text: MR, weight: 140, country: in}
template: [name: standard, name: flags]
malay:
variables: {key: ms, weight: 130, country: my}
variables: {key: ms, text: MS, weight: 130, country: my}
template: [name: standard, name: flags]
norwegian bokmål:
variables: {key: nb, weight: 120, country: no}
variables: {key: nb, text: NB, weight: 120, country: no}
template: [name: standard, name: flags]
norwegian nynorsk:
variables: {key: nn, weight: 110, country: no}
variables: {key: nn, text: NN, weight: 110, country: no}
template: [name: standard, name: flags]
punjabi:
variables: {key: pa, weight: 100, country: in}
variables: {key: pa, text: PA, weight: 100, country: in}
template: [name: standard, name: flags]
romanian:
variables: {key: ro, weight: 90}
variables: {key: ro, text: RO, weight: 90}
template: [name: standard, name: flags]
slovak:
variables: {key: sk, weight: 80}
variables: {key: sk, text: SK, weight: 80}
template: [name: standard, name: flags]
slovenian:
variables: {key: sv, weight: 70, country: si}
variables: {key: sv, text: SV, weight: 70, country: si}
template: [name: standard, name: flags]
albanian:
variables: {key: sq, weight: 60, country: al}
variables: {key: sq, text: SQ, weight: 60, country: al}
template: [name: standard, name: flags]
serbian:
variables: {key: sr, weight: 50, country: rs}
variables: {key: sr, text: SR, weight: 50, country: rs}
template: [name: standard, name: flags]
swahili:
variables: {key: sw, weight: 40, country: tz}
variables: {key: sw, text: SW, weight: 40, country: tz}
template: [name: standard, name: flags]
tamil:
variables: {key: ta, weight: 30, country: in}
variables: {key: ta, text: TA, weight: 30, country: in}
template: [name: standard, name: flags]
urdu:
variables: {key: ur, weight: 20, country: pk}
variables: {key: ur, text: UR, weight: 20, country: pk}
template: [name: standard, name: flags]
vietnamese:
variables: {key: vi, weight: 10, country: vn}
variables: {key: vi, text: VI, weight: 10, country: vn}
template: [name: standard, name: flags]

@ -244,7 +244,8 @@ class DataFile:
for ck, cv in template["conditionals"].items():
conditionals[ck] = cv
for input_dict, input_type, ignore_check in [
added_vars = {}
for input_dict, input_type, overwrite_call in [
(temp_vars, "External", False),
(extra_variables, "Definition", False),
(self.temp_vars, "Config", True)
@ -261,8 +262,13 @@ class DataFile:
conditionals[ck] = cv
elif input_value is None:
optional.append(str(input_key))
elif ignore_check or input_key not in variables:
elif overwrite_call:
variables[input_key] = input_value
else:
added_vars[input_key] = input_value
for k, v in added_vars.items():
if k not in variables:
variables[k] = v
language = variables["language"] if "language" in variables else "default"
translation_variables = {k: v[language if language in v else "default"] for k, v in self.translations.items()}

@ -205,11 +205,9 @@ class Overlay:
back_height = util.parse("Overlay", "back_height", self.data["back_height"], datatype="int", parent="overlay", minimum=0) if "back_height" in self.data else -1
if self.name == "backdrop":
self.back_box = (back_width, back_height)
elif (back_width >= 0 > back_height) or (back_height >= 0 > back_width):
raise Failed(f"Overlay Error: overlay attributes back_width and back_height must be used together")
elif self.back_align != "center" and (back_width < 0 or back_height < 0):
raise Failed(f"Overlay Error: overlay attribute back_align only works when back_width and back_height are used")
elif back_width >= 0 and back_height >= 0:
elif self.back_align != "center" and back_width < 0:
raise Failed(f"Overlay Error: overlay attribute back_align only works when back_width is used")
elif back_width >= 0 or back_height >= 0:
self.back_box = (back_width, back_height)
self.has_back = True if self.back_color or self.back_line_color else False
if self.name != "backdrop" and self.has_back and not self.has_coordinates() and not self.queue:
@ -381,9 +379,9 @@ class Overlay:
box_width, box_height = box
back_width, back_height = self.back_box if self.back_box else (None, None)
if back_width == -1:
back_width = canvas_box[0]
back_width = canvas_box[0] if self.name == "backdrop" else box_width
if back_height == -1:
back_height = canvas_box[1]
back_height = canvas_box[1] if self.name == "backdrop" else box_height
start_x, start_y = self.get_coordinates(canvas_box, box, new_cords=new_cords)
main_x = start_x
main_y = start_y
@ -403,17 +401,10 @@ class Overlay:
drawing.rectangle(cords, fill=self.back_color, outline=self.back_line_color, width=self.back_line_width)
if self.back_box:
if self.back_align == "left":
main_y = start_y + (back_height - box_height) // 2
elif self.back_align == "right":
main_x = start_x + back_width - (text_width if text is not None else image_width)
elif self.back_align == "top":
main_x = start_x + (back_width - box_width) // 2
elif self.back_align == "bottom":
main_y = start_y + back_height - (text_height if text is not None else image_height)
else:
main_x = start_x + (back_width - box_width) // 2
main_y = start_y + (back_height - box_height) // 2
if self.back_align in ["left", "right", "center", "bottom"]:
main_y = start_y + (back_height - box_height) // (1 if self.back_align == "bottom" else 2)
if self.back_align in ["top", "bottom", "center", "right"]:
main_x = start_x + (back_width - box_width) // (1 if self.back_align == "right" else 2)
addon_x = None
addon_y = None
@ -421,40 +412,18 @@ class Overlay:
addon_x = main_x
addon_y = main_y
if self.addon_position == "left":
if self.back_align == "left":
main_x = start_x + self.addon_offset
elif self.back_align == "right":
addon_x = start_x + back_width - self.addon_offset
else:
main_x = addon_x + image_width + self.addon_offset
main_x = main_x + image_width + self.addon_offset
elif self.addon_position == "right":
if self.back_align == "left":
addon_x = start_x + self.addon_offset
elif self.back_align == "right":
addon_x = start_x + back_width - image_width
main_x = start_x + back_width - self.addon_offset
else:
addon_x = main_x + text_width + self.addon_offset
addon_x = main_x + text_width + self.addon_offset
elif text_width < image_width:
main_x = main_x + ((image_width - text_width) / 2)
elif text_width > image_width:
addon_x = main_x + ((text_width - image_width) / 2)
if self.addon_position == "top":
if self.back_align == "top":
main_y = start_y + self.addon_offset
elif self.back_align == "bottom":
addon_y = start_y + back_height - self.addon_offset
else:
main_y = addon_y + image_height + self.addon_offset
main_y = main_y + image_height + self.addon_offset
elif self.addon_position == "bottom":
if self.back_align == "top":
addon_y = start_y + self.addon_offset
elif self.back_align == "bottom":
addon_y = start_y + back_height - image_height
main_y = start_y + back_height - self.addon_offset
else:
addon_y = main_y + text_height + self.addon_offset
addon_y = main_y + text_height + self.addon_offset
elif text_height < image_height:
main_y = main_y + ((image_height - text_height) / 2)
elif text_height > image_height:
@ -463,6 +432,10 @@ class Overlay:
if text is not None:
drawing.text((int(main_x), int(main_y)), text, font=self.font, fill=self.font_color,
stroke_fill=self.stroke_color, stroke_width=self.stroke_width, anchor="lt")
logger.info(f"Text X: {main_x}")
logger.info(f"Text Y: {main_y}")
logger.info(f"Add X: {addon_x}")
logger.info(f"Add Y: {addon_y}")
if addon_x is not None:
main_x = addon_x
main_y = addon_y
@ -496,7 +469,9 @@ class Overlay:
if new_cords is None and not self.has_coordinates():
return 0, 0
if self.back_box:
box = self.back_box
bw, bh = box
bbw, bbh = self.back_box
box = (bbw if bbw >= 0 else bw, bbh if bbh >= 0 else bh)
def get_cord(value, image_value, over_value, align):
value = int(image_value * 0.01 * int(value[:-1])) if str(value).endswith("%") else value

Loading…
Cancel
Save