chore: Update danmuku plugin configuration handling and improve performance

This commit is contained in:
Harvey Zack committed 2024-05-29 11:16:56 +08:00
1 parent 034444d77d
commit d0f1f4a76c
3 files changed
+163 -129

No files matched your search

@@ -1015,63 +1015,85 @@ class Setting {
</div> </div>
`; `;
} }
get OPACITY() {
return this.option.OPACITY || {
min: 0,
max: 100,
steps: []
};
}
get FONTSIZE() {
return this.option.FONTSIZE || {
min: 12,
max: 120,
steps: []
};
}
get MARGIN() { get MARGIN() {
return this.option.MARGIN || [ return this.option.MARGIN || {
{ min: 0,
name: "1/4", max: 3,
value: [ steps: [
10, {
"75%" name: "1/4",
] value: [
}, 10,
{ "75%"
name: "\u534A\u5C4F", ]
value: [ },
10, {
"50%" name: "\u534A\u5C4F",
] value: [
}, 10,
{ "50%"
name: "3/4", ]
value: [ },
10, {
"25%" name: "3/4",
] value: [
}, 10,
{ "25%"
name: "\u6EE1\u5C4F", ]
value: [ },
10, {
10 name: "\u6EE1\u5C4F",
] value: [
} 10,
]; 10
]
}
]
};
} }
get SPEED() { get SPEED() {
return this.option.SPEED || [ return this.option.SPEED || {
{ min: 0,
name: "\u6781\u6162", max: 4,
value: 10 steps: [
}, {
{ name: "\u6781\u6162",
name: "\u8F83\u6162", value: 10
value: 7.5, },
hide: true {
}, name: "\u8F83\u6162",
{ value: 7.5,
name: "\u9002\u4E2D", hide: true
value: 5 },
}, {
{ name: "\u9002\u4E2D",
name: "\u8F83\u5FEB", value: 5
value: 2.5, },
hide: true {
}, name: "\u8F83\u5FEB",
{ value: 2.5,
name: "\u6781\u5FEB", hide: true
value: 1 },
} {
]; name: "\u6781\u5FEB",
value: 1
}
]
};
} }
get COLOR() { get COLOR() {
return this.option.COLOR || [ return this.option.COLOR || [
@@ -1194,9 +1216,7 @@ class Setting {
} }
createSliders() { createSliders() {
this.slider.opacity = this.createSlider({ this.slider.opacity = this.createSlider({
min: 0, ...this.OPACITY,
max: 100,
steps: [],
container: this.template.$opacitySlider, container: this.template.$opacitySlider,
findIndex: ()=>{ findIndex: ()=>{
return Math.round(this.option.opacity * 100); return Math.round(this.option.opacity * 100);
@@ -1210,15 +1230,13 @@ class Setting {
} }
}); });
this.slider.margin = this.createSlider({ this.slider.margin = this.createSlider({
min: 0, ...this.MARGIN,
max: 3,
steps: this.MARGIN,
container: this.template.$marginSlider, container: this.template.$marginSlider,
findIndex: ()=>{ findIndex: ()=>{
return this.MARGIN.findIndex((item)=>item.value[0] === this.option.margin[0] && item.value[1] === this.option.margin[1]); return this.MARGIN.steps.findIndex((item)=>item.value[0] === this.option.margin[0] && item.value[1] === this.option.margin[1]);
}, },
onChange: (index)=>{ onChange: (index)=>{
const margin = this.MARGIN[index]; const margin = this.MARGIN.steps[index];
if (!margin) return; if (!margin) return;
const { $marginValue } = this.template; const { $marginValue } = this.template;
$marginValue.textContent = margin.name; $marginValue.textContent = margin.name;
@@ -1228,9 +1246,7 @@ class Setting {
} }
}); });
this.slider.fontSize = this.createSlider({ this.slider.fontSize = this.createSlider({
min: 12, ...this.FONTSIZE,
max: 120,
steps: [],
container: this.template.$fontSizeSlider, container: this.template.$fontSizeSlider,
findIndex: ()=>{ findIndex: ()=>{
return Math.round(this.danmuku.fontSize); return Math.round(this.danmuku.fontSize);
@@ -1244,15 +1260,13 @@ class Setting {
} }
}); });
this.slider.speed = this.createSlider({ this.slider.speed = this.createSlider({
min: 0, ...this.SPEED,
max: 4,
steps: this.SPEED,
container: this.template.$speedSlider, container: this.template.$speedSlider,
findIndex: ()=>{ findIndex: ()=>{
return this.SPEED.findIndex((item)=>item.value === this.option.speed); return this.SPEED.steps.findIndex((item)=>item.value === this.option.speed);
}, },
onChange: (index)=>{ onChange: (index)=>{
const speed = this.SPEED[index]; const speed = this.SPEED.steps[index];
if (!speed) return; if (!speed) return;
const { $speedValue } = this.template; const { $speedValue } = this.template;
$speedValue.textContent = speed.name; $speedValue.textContent = speed.name;
@@ -1 +1 @@
{"mappings":"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 truncated {"mappings":"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 truncated
@@ -185,55 +185,83 @@ export default class Setting {
`; `;
} }
get OPACITY() {
return (
this.option.OPACITY || {
min: 0,
max: 100,
steps: [],
}
);
}
get FONTSIZE() {
return (
this.option.FONTSIZE || {
min: 12,
max: 120,
steps: [],
}
);
}
get MARGIN() { get MARGIN() {
return ( return (
this.option.MARGIN || [ this.option.MARGIN || {
{ min: 0,
name: '1/4', max: 3,
value: [10, '75%'], steps: [
}, {
{ name: '1/4',
name: '半屏', value: [10, '75%'],
value: [10, '50%'], },
}, {
{ name: '半屏',
name: '3/4', value: [10, '50%'],
value: [10, '25%'], },
}, {
{ name: '3/4',
name: '满屏', value: [10, '25%'],
value: [10, 10], },
}, {
] name: '满屏',
value: [10, 10],
},
],
}
); );
} }
get SPEED() { get SPEED() {
return ( return (
this.option.SPEED || [ this.option.SPEED || {
{ min: 0,
name: '极慢', max: 4,
value: 10, steps: [
}, {
{ name: '极慢',
name: '较慢', value: 10,
value: 7.5, },
hide: true, {
}, name: '较慢',
{ value: 7.5,
name: '适中', hide: true,
value: 5, },
}, {
{ name: '适中',
name: '较快', value: 5,
value: 2.5, },
hide: true, {
}, name: '较快',
{ value: 2.5,
name: '极快', hide: true,
value: 1, },
}, {
] name: '极快',
value: 1,
},
],
}
); );
} }
@@ -380,9 +408,7 @@ export default class Setting {
createSliders() { createSliders() {
this.slider.opacity = this.createSlider({ this.slider.opacity = this.createSlider({
min: 0, ...this.OPACITY,
max: 100,
steps: [],
container: this.template.$opacitySlider, container: this.template.$opacitySlider,
findIndex: () => { findIndex: () => {
return Math.round(this.option.opacity * 100); return Math.round(this.option.opacity * 100);
@@ -397,17 +423,15 @@ export default class Setting {
}); });
this.slider.margin = this.createSlider({ this.slider.margin = this.createSlider({
min: 0, ...this.MARGIN,
max: 3,
steps: this.MARGIN,
container: this.template.$marginSlider, container: this.template.$marginSlider,
findIndex: () => { findIndex: () => {
return this.MARGIN.findIndex( return this.MARGIN.steps.findIndex(
(item) => item.value[0] === this.option.margin[0] && item.value[1] === this.option.margin[1], (item) => item.value[0] === this.option.margin[0] && item.value[1] === this.option.margin[1],
); );
}, },
onChange: (index) => { onChange: (index) => {
const margin = this.MARGIN[index]; const margin = this.MARGIN.steps[index];
if (!margin) return; if (!margin) return;
const { $marginValue } = this.template; const { $marginValue } = this.template;
$marginValue.textContent = margin.name; $marginValue.textContent = margin.name;
@@ -418,9 +442,7 @@ export default class Setting {
}); });
this.slider.fontSize = this.createSlider({ this.slider.fontSize = this.createSlider({
min: 12, ...this.FONTSIZE,
max: 120,
steps: [],
container: this.template.$fontSizeSlider, container: this.template.$fontSizeSlider,
findIndex: () => { findIndex: () => {
return Math.round(this.danmuku.fontSize); return Math.round(this.danmuku.fontSize);
@@ -435,15 +457,13 @@ export default class Setting {
}); });
this.slider.speed = this.createSlider({ this.slider.speed = this.createSlider({
min: 0, ...this.SPEED,
max: 4,
steps: this.SPEED,
container: this.template.$speedSlider, container: this.template.$speedSlider,
findIndex: () => { findIndex: () => {
return this.SPEED.findIndex((item) => item.value === this.option.speed); return this.SPEED.steps.findIndex((item) => item.value === this.option.speed);
}, },
onChange: (index) => { onChange: (index) => {
const speed = this.SPEED[index]; const speed = this.SPEED.steps[index];
if (!speed) return; if (!speed) return;
const { $speedValue } = this.template; const { $speedValue } = this.template;
$speedValue.textContent = speed.name; $speedValue.textContent = speed.name;