mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-09 20:26:16 -08:00
add artplayer-plugin-ass
This commit is contained in:
1 parent
f414b9d9a4
commit
d911e206f4
13 files changed
+2357
-4
No files matched your search
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"artplayer-plugin-ass.js","sources":["../../packages/artplayer-plugin-ass/node_modules/_assjs@0.0.11@assjs/dist/ass.esm.js","../../node_modules/_style-inject@0.3.0@style-inject/dist/style-inject.es.js","../../packages/artplayer-plugin-ass/src/index.js"],"sourcesContent":["function parseEffect(text) {\n var param = text\n .toLowerCase()\n .trim()\n .split(/\\s*;\\s*/);\n if (param[0] === 'banner') {\n return {\n name: param[0],\n delay: param[1] * 1 || 0,\n leftToRight: param[2] * 1 || 0,\n fadeAwayWidth: param[3] * 1 || 0,\n };\n }\n if (/^scroll\\s/.test(param[0])) {\n return {\n name: param[0],\n y1: Math.min(param[1] * 1, param[2] * 1),\n y2: Math.max(param[1] * 1, param[2] * 1),\n delay: param[3] * 1 || 0,\n fadeAwayHeight: param[4] * 1 || 0,\n };\n }\n return null;\n}\n\nfunction parseDrawing(text) {\n return text\n .toLowerCase()\n // numbers\n .replace(/([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)/g, ' $1 ')\n // commands\n .replace(/([mnlbspc])/g, ' $1 ')\n .trim()\n .replace(/\\s+/g, ' ')\n .split(/\\s(?=[mnlbspc])/)\n .map(function (cmd) { return (\n cmd.split(' ')\n .filter(function (x, i) { return !(i && Number.isNaN(x * 1)); })\n ); });\n}\n\nvar numTags = [\n 'b', 'i', 'u', 's', 'fsp',\n 'k', 'K', 'kf', 'ko', 'kt',\n 'fe', 'q', 'p', 'pbo', 'a', 'an',\n 'fscx', 'fscy', 'fax', 'fay', 'frx', 'fry', 'frz', 'fr',\n 'be', 'blur', 'bord', 'xbord', 'ybord', 'shad', 'xshad', 'yshad' ];\n\nvar numRegexs = numTags.map(function (nt) { return ({ name: nt, regex: new RegExp((\"^\" + nt + \"-?\\\\d\")) }); });\n\nfunction parseTag(text) {\n var assign;\n\n var tag = {};\n for (var i = 0; i < numRegexs.length; i++) {\n var ref = numRegexs[i];\n var name = ref.name;\n var regex = ref.regex;\n if (regex.test(text)) {\n tag[name] = text.slice(name.length) * 1;\n return tag;\n }\n }\n if (/^fn/.test(text)) {\n tag.fn = text.slice(2);\n } else if (/^r/.test(text)) {\n tag.r = text.slice(1);\n } else if (/^fs[\\d+-]/.test(text)) {\n tag.fs = text.slice(2);\n } else if (/^\\d?c&?H?[0-9a-f]+|^\\d?c$/i.test(text)) {\n var ref$1 = text.match(/^(\\d?)c&?H?(\\w*)/);\n var num = ref$1[1];\n var color = ref$1[2];\n tag[(\"c\" + (num || 1))] = color && (\"000000\" + color).slice(-6);\n } else if (/^\\da&?H?[0-9a-f]+/i.test(text)) {\n var ref$2 = text.match(/^(\\d)a&?H?(\\w\\w)/);\n var num$1 = ref$2[1];\n var alpha = ref$2[2];\n tag[(\"a\" + num$1)] = alpha;\n } else if (/^alpha&?H?[0-9a-f]+/i.test(text)) {\n (assign = text.match(/^alpha&?H?([0-9a-f]+)/i), tag.alpha = assign[1]);\n tag.alpha = (\"00\" + (tag.alpha)).slice(-2);\n } else if (/^(?:pos|org|move|fad|fade)\\(/.test(text)) {\n var ref$3 = text.match(/^(\\w+)\\((.*?)\\)?$/);\n var key = ref$3[1];\n var value = ref$3[2];\n tag[key] = value\n .trim()\n .split(/\\s*,\\s*/)\n .map(Number);\n } else if (/^i?clip/.test(text)) {\n var p = text\n .match(/^i?clip\\((.*?)\\)?$/)[1]\n .trim()\n .split(/\\s*,\\s*/);\n tag.clip = {\n inverse: /iclip/.test(text),\n scale: 1,\n drawing: null,\n dots: null,\n };\n if (p.length === 1) {\n tag.clip.drawing = parseDrawing(p[0]);\n }\n if (p.length === 2) {\n tag.clip.scale = p[0] * 1;\n tag.clip.drawing = parseDrawing(p[1]);\n }\n if (p.length === 4) {\n tag.clip.dots = p.map(Number);\n }\n } else if (/^t\\(/.test(text)) {\n var p$1 = text\n .match(/^t\\((.*?)\\)?$/)[1]\n .trim()\n .replace(/\\\\.*/, function (x) { return x.replace(/,/g, '\\n'); })\n .split(/\\s*,\\s*/);\n if (!p$1[0]) { return tag; }\n tag.t = {\n t1: 0,\n t2: 0,\n accel: 1,\n tags: p$1[p$1.length - 1]\n .replace(/\\n/g, ',')\n .split('\\\\')\n .slice(1)\n .map(parseTag),\n };\n if (p$1.length === 2) {\n tag.t.accel = p$1[0] * 1;\n }\n if (p$1.length === 3) {\n tag.t.t1 = p$1[0] * 1;\n tag.t.t2 = p$1[1] * 1;\n }\n if (p$1.length === 4) {\n tag.t.t1 = p$1[0] * 1;\n tag.t.t2 = p$1[1] * 1;\n tag.t.accel = p$1[2] * 1;\n }\n }\n\n return tag;\n}\n\nfunction parseTags(text) {\n var tags = [];\n var depth = 0;\n var str = '';\n for (var i = 0; i < text.length; i++) {\n var x = text[i];\n if (x === '(') { depth++; }\n if (x === ')') { depth--; }\n if (depth < 0) { depth = 0; }\n if (!depth && x === '\\\\') {\n if (str) {\n tags.push(str);\n }\n str = '';\n } else {\n str += x;\n }\n }\n tags.push(str);\n return tags.map(parseTag);\n}\n\nfunction parseText(text) {\n var pairs = text.split(/{([^{}]*?)}/);\n var parsed = [];\n if (pairs[0].length) {\n parsed.push({ tags: [], text: pairs[0], drawing: [] });\n }\n for (var i = 1; i < pairs.length; i += 2) {\n Line truncated
|
||||
Reference in new issue
Block a user