- 修复无音频数据时"序列之争底部UI"暂停bug
- "序列之争底部UI"新增"刷新率"选项 - 修复频谱数据残留的问题
This commit is contained in:
parent
95fdef825d
commit
ee7b87bdc9
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map>
|
||||
<value name="current_style">"nvg://advp.widget.mashiros.top/advp-style-preset/ordinal_scale_ui_bottom"</value>
|
||||
<value name="nvg://advp.widget.mashiros.top/advp-style-preset/ordinal_scale_ui_bottom">{"Bass Color":"#dc143c","Alto Color":"#f8f8ff","Treble Color":"#4169e1","Bass AM":100,"Alto AM":150,"Treble AM":200,"Static AM":25,"Speed":20,"Data Settings":{"Auto Normalizing":true,"Amplitude":10}}</value>
|
||||
<value name="nvg://advp.widget.mashiros.top/advp-style-preset/ordinal_scale_ui_bottom">{"Refresh Rate":30,"Bass Color":"#dc143c","Alto Color":"#f8f8ff","Treble Color":"#4169e1","Bass AM":100,"Alto AM":150,"Treble AM":200,"Static AM":25,"Speed":20,"Data Settings":{"Auto Normalizing":true,"Amplitude":10}}</value>
|
||||
</map>
|
||||
Binary file not shown.
@ -198,8 +198,8 @@ Item {
|
||||
}
|
||||
}
|
||||
|
||||
function parse_resource(resource_list, sort) {
|
||||
if (sort)
|
||||
function parse_resource(resource_list, preset) {
|
||||
if (preset)
|
||||
resource_list.sort(function (x, y) {
|
||||
let preset_order = ["/advp-style-preset/line", "/advp-style-preset/gradient_line", "/advp-style-preset/waves", "/advp-style-preset/circle", "/advp-style-preset/solidcircle", "/advp-style-preset/ordinal_scale_ui_bottom"];
|
||||
if (preset_order.indexOf(x.location) < preset_order.indexOf(y.location))
|
||||
|
||||
@ -8,6 +8,8 @@ AdvpStyleTemplate {
|
||||
readonly property var audioData: new Array(128)
|
||||
|
||||
//configs
|
||||
readonly property int fps: configs["Refresh Rate"]
|
||||
readonly property real timer_interval: 1000/configs["Refresh Rate"]
|
||||
readonly property real bassAmRatio: configs["Bass AM"]/100
|
||||
readonly property real altoAmRatio: configs["Alto AM"]/100
|
||||
readonly property real trebleAmRatio: configs["Treble AM"]/100
|
||||
@ -80,40 +82,51 @@ AdvpStyleTemplate {
|
||||
audioData[i] = data[i] * amplitude;
|
||||
}
|
||||
}
|
||||
let trebleAm = 0;
|
||||
let altoAm = 0;
|
||||
let bassAm = 0;
|
||||
|
||||
}
|
||||
|
||||
for(let i=0; i<6.4; i++) {
|
||||
bassAm += audioData[i];
|
||||
Timer {
|
||||
id: animation
|
||||
interval: timer_interval
|
||||
repeat: true
|
||||
triggeredOnStart: false
|
||||
onTriggered: {
|
||||
let trebleAm = 0;
|
||||
let altoAm = 0;
|
||||
let bassAm = 0;
|
||||
|
||||
for(let i=0; i<6.4; i++) {
|
||||
bassAm += audioData[i];
|
||||
}
|
||||
for(let i=7; i<19.2; i++) {
|
||||
altoAm += audioData[i];
|
||||
}
|
||||
for(let i=20; i<64; i++) {
|
||||
trebleAm += audioData[i];
|
||||
}
|
||||
|
||||
trebleAm = trebleAm / 38.4;
|
||||
altoAm = altoAm / 19.2;
|
||||
bassAm = bassAm / 6.4;
|
||||
|
||||
_phase = (_phase+speed*(30 / fps))%(Math.PI*64);
|
||||
|
||||
context.clearRect(0, 0, width+32, height+32);
|
||||
|
||||
drawLine(_delta*trebleAmRatio*trebleAm, trebleColor, 1.5, _phase, false);
|
||||
drawLine(_delta*bassAmRatio*bassAm, bassColor, 1.5, _phase+0.8, false);
|
||||
drawLine(_delta*altoAmRatio*altoAm, altoColor, 2, _phase+0.4, true);
|
||||
context.beginPath();
|
||||
context.stroke();
|
||||
requestPaint();
|
||||
}
|
||||
for(let i=7; i<19.2; i++) {
|
||||
altoAm += audioData[i];
|
||||
}
|
||||
for(let i=20; i<64; i++) {
|
||||
trebleAm += audioData[i];
|
||||
}
|
||||
|
||||
trebleAm = trebleAm / 38.4;
|
||||
altoAm = altoAm / 19.2;
|
||||
bassAm = bassAm / 6.4;
|
||||
|
||||
_phase = (_phase+speed)%(Math.PI*64);
|
||||
|
||||
context.clearRect(0, 0, width+32, height+32);
|
||||
|
||||
drawLine(_delta*trebleAmRatio*trebleAm, trebleColor, 1.5, _phase, false);
|
||||
drawLine(_delta*bassAmRatio*bassAm, bassColor, 1.5, _phase+0.8, false);
|
||||
drawLine(_delta*altoAmRatio*altoAm, altoColor, 2, _phase+0.4, true);
|
||||
context.beginPath();
|
||||
context.stroke();
|
||||
requestPaint();
|
||||
}
|
||||
|
||||
onCompleted: {
|
||||
for (let i = 0; i < 128; i++) {
|
||||
audioData[i] = 0;
|
||||
}
|
||||
animation.start();
|
||||
}
|
||||
|
||||
onVersionUpdated: {
|
||||
@ -122,7 +135,8 @@ AdvpStyleTemplate {
|
||||
}
|
||||
|
||||
defaultValues: {
|
||||
"Version": "1.0.0",
|
||||
"Version": "1.0.1",
|
||||
"Refresh Rate": 30,
|
||||
"Bass Color": "#dc143c",
|
||||
"Alto Color": "#f8f8ff",
|
||||
"Treble Color": "#4169e1",
|
||||
@ -140,6 +154,16 @@ AdvpStyleTemplate {
|
||||
preference: AdvpPreference {
|
||||
version: defaultValues["Version"]
|
||||
|
||||
P.SliderPreference {
|
||||
name: "Refresh Rate"
|
||||
label: qsTr("Refresh Rate")
|
||||
from: 20
|
||||
to: 60
|
||||
stepSize: 1
|
||||
defaultValue: defaultValues["Refresh Rate"]
|
||||
displayValue: value + " fps"
|
||||
}
|
||||
|
||||
P.ColorPreference {
|
||||
name: "Bass Color"
|
||||
label: qsTr("Bass Line Color")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user