@applemusic-like-lyrics/vue 0.0.9 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/LyricPlayer.vue.d.ts +18 -2
- package/dist/amll-vue.js +1 -1
- package/dist/amll-vue.js.map +1 -1
- package/dist/amll-vue.mjs +73 -58
- package/dist/amll-vue.mjs.map +1 -1
- package/dist/index.d.ts +19 -6
- package/package.json +11 -2
|
@@ -4,7 +4,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
4
4
|
type: import("vue").PropType<boolean>;
|
|
5
5
|
};
|
|
6
6
|
alignAnchor: {
|
|
7
|
-
type: import("vue").PropType<
|
|
7
|
+
type: import("vue").PropType<"top" | "bottom" | "center">;
|
|
8
|
+
};
|
|
9
|
+
alignPosition: {
|
|
10
|
+
type: import("vue").PropType<number>;
|
|
8
11
|
};
|
|
9
12
|
enableSpring: {
|
|
10
13
|
type: import("vue").PropType<boolean>;
|
|
@@ -27,6 +30,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
27
30
|
lineScaleSpringParams: {
|
|
28
31
|
type: import("vue").PropType<Partial<import("@applemusic-like-lyrics/core/dist/utils/spring").SpringParams>>;
|
|
29
32
|
};
|
|
33
|
+
bottomLine: {
|
|
34
|
+
type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
35
|
+
[key: string]: any;
|
|
36
|
+
}>[]>;
|
|
37
|
+
};
|
|
30
38
|
}, {
|
|
31
39
|
lyricPlayer: import("vue").Ref<LyricPlayer | undefined>;
|
|
32
40
|
wrapperEl: import("vue").Ref<HTMLDivElement | undefined>;
|
|
@@ -35,7 +43,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
35
43
|
type: import("vue").PropType<boolean>;
|
|
36
44
|
};
|
|
37
45
|
alignAnchor: {
|
|
38
|
-
type: import("vue").PropType<
|
|
46
|
+
type: import("vue").PropType<"top" | "bottom" | "center">;
|
|
47
|
+
};
|
|
48
|
+
alignPosition: {
|
|
49
|
+
type: import("vue").PropType<number>;
|
|
39
50
|
};
|
|
40
51
|
enableSpring: {
|
|
41
52
|
type: import("vue").PropType<boolean>;
|
|
@@ -58,5 +69,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
58
69
|
lineScaleSpringParams: {
|
|
59
70
|
type: import("vue").PropType<Partial<import("@applemusic-like-lyrics/core/dist/utils/spring").SpringParams>>;
|
|
60
71
|
};
|
|
72
|
+
bottomLine: {
|
|
73
|
+
type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
74
|
+
[key: string]: any;
|
|
75
|
+
}>[]>;
|
|
76
|
+
};
|
|
61
77
|
}>>, {}, {}>;
|
|
62
78
|
export default _default;
|
package/dist/amll-vue.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),p=require("@applemusic-like-lyrics/core"),m=a.defineComponent({inheritAttrs:!1,__name:"LyricPlayer",props:{disabled:{type:Boolean},alignAnchor:{},alignPosition:{},enableSpring:{type:Boolean},enableBlur:{type:Boolean},lyricLines:{},currentTime:{},linePosXSpringParams:{},linePosYSpringParams:{},lineScaleSpringParams:{},bottomLine:{}},setup(c,{expose:s}){const n=c,l=a.ref(),r=a.ref();return a.onMounted(()=>{l.value&&(r.value=new p.LyricPlayer,l.value.appendChild(r.value.getElement()))}),a.onUnmounted(()=>{r.value&&r.value.dispose()}),a.watchEffect(e=>{if(!n.disabled){let t=!1,i=-1;const o=f=>{var u;t||(i===-1&&(i=f),(u=r.value)==null||u.update(f-i),i=f,requestAnimationFrame(o))};requestAnimationFrame(o),e(()=>{t=!0})}}),a.watchEffect(()=>{var e;n.alignAnchor&&((e=r.value)==null||e.setAlignAnchor(n.alignAnchor))}),a.watchEffect(()=>{var e;n.alignPosition&&((e=r.value)==null||e.setAlignPosition(n.alignPosition))}),a.watchEffect(()=>{var e;n.enableSpring&&((e=r.value)==null||e.setEnableSpring(n.enableSpring))}),a.watchEffect(()=>{var e;n.enableBlur&&((e=r.value)==null||e.setEnableBlur(n.enableBlur))}),a.watchEffect(()=>{var e;n.lyricLines&&((e=r.value)==null||e.setLyricLines(n.lyricLines))}),a.watchEffect(()=>{var e;n.currentTime&&((e=r.value)==null||e.setCurrentTime(n.currentTime))}),a.watchEffect(()=>{var e;n.linePosXSpringParams&&((e=r.value)==null||e.setLinePosXSpringParams(n.linePosXSpringParams))}),a.watchEffect(()=>{var e;n.linePosYSpringParams&&((e=r.value)==null||e.setLinePosYSpringParams(n.linePosYSpringParams))}),a.watchEffect(()=>{var e;n.lineScaleSpringParams&&((e=r.value)==null||e.setLineScaleSpringParams(n.lineScaleSpringParams))}),s({lyricPlayer:r,wrapperEl:l}),(e,t)=>{var i,o;return a.openBlock(),a.createElementBlock(a.Fragment,null,[a.createElementVNode("div",a.mergeProps({ref_key:"wrapperRef",ref:l},e.$attrs),null,16),(i=r.value)!=null&&i.getBottomLineElement()&&n.bottomLine?(a.openBlock(),a.createBlock(a.Teleport,{key:0,to:(o=r.value)==null?void 0:o.getBottomLineElement()},null,8,["to"])):a.createCommentVNode("",!0)],64)}}}),g=a.defineComponent({__name:"BackgroundRender",props:{albumImageUrl:{},fps:{},playing:{type:Boolean},flowSpeed:{},renderScale:{}},setup(c,{expose:s}){const n=c,l=a.ref(),r=a.ref();return a.onMounted(()=>{if(l.value){r.value=new p.BackgroundRender;const e=r.value.getElement();e.style.width="100%",e.style.height="100%",l.value.appendChild(e)}}),a.onUnmounted(()=>{r.value&&r.value.dispose()}),a.watchEffect(()=>{var e;n.albumImageUrl&&((e=r.value)==null||e.setAlbumImage(n.albumImageUrl))}),a.watchEffect(()=>{var e;n.fps&&((e=r.value)==null||e.setFPS(n.fps))}),a.watchEffect(()=>{var e,t;n.playing?(e=r.value)==null||e.pause():(t=r.value)==null||t.resume()}),a.watchEffect(()=>{var e;n.flowSpeed&&((e=r.value)==null||e.setFlowSpeed(n.flowSpeed))}),a.watchEffect(()=>{var e;n.renderScale&&((e=r.value)==null||e.setRenderScale(n.renderScale))}),s({bgRender:r,wrapperEl:l}),(e,t)=>(a.openBlock(),a.createElementBlock("div",{ref_key:"wrapperRef",ref:l},null,512))}});exports.BackgroundRender=g;exports.LyricPlayer=m;
|
|
2
2
|
//# sourceMappingURL=amll-vue.js.map
|
package/dist/amll-vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amll-vue.js","sources":["../src/LyricPlayer.vue","../src/BackgroundRender.vue"],"sourcesContent":["<template>\n <div ref=\"wrapperRef\"></div>\n</template>\n\n<script setup lang=\"ts\">\nimport { LyricPlayer } from \"@applemusic-like-lyrics/core\";\nimport { onMounted, onUnmounted, ref, watchEffect, toRaw } from \"vue\";\nimport type { LyricPlayerProps, LyricPlayerRef } from \".\";\n\nconst props = defineProps<LyricPlayerProps>();\nconst wrapperRef = ref<HTMLDivElement>();\nconst playerRef = ref<LyricPlayer>();\n\nonMounted(() => {\n if (wrapperRef.value) {\n playerRef.value = new LyricPlayer();\n wrapperRef.value.appendChild(playerRef.value.getElement());\n }\n});\n\nonUnmounted(() => {\n if (playerRef.value) {\n playerRef.value.dispose();\n }\n});\n\nwatchEffect((onCleanup) => {\n if (!props.disabled) {\n let canceled = false;\n let lastTime = -1;\n const onFrame = (time: number) => {\n if (canceled) return;\n if (lastTime === -1) {\n lastTime = time;\n }\n playerRef.value?.update(time - lastTime);\n lastTime = time;\n requestAnimationFrame(onFrame);\n };\n requestAnimationFrame(onFrame);\n onCleanup(() => {\n canceled = true;\n });\n }\n});\n\nwatchEffect(() => {\n if (props.alignAnchor)\n playerRef.value?.setAlignAnchor(props.alignAnchor);\n});\n\nwatchEffect(() => {\n if (props.enableSpring)\n playerRef.value?.setEnableSpring(props.enableSpring);\n});\n\nwatchEffect(() => {\n if (props.enableBlur)\n playerRef.value?.setEnableBlur(props.enableBlur);\n});\n\nwatchEffect(() => {\n if (props.lyricLines)\n playerRef.value?.setLyricLines(props.lyricLines);\n});\n\nwatchEffect(() => {\n if (props.currentTime)\n playerRef.value?.setCurrentTime(props.currentTime);\n});\n\nwatchEffect(() => {\n if (props.linePosXSpringParams)\n playerRef.value?.setLinePosXSpringParams(props.linePosXSpringParams);\n});\n\nwatchEffect(() => {\n if (props.linePosYSpringParams)\n playerRef.value?.setLinePosYSpringParams(props.linePosYSpringParams);\n});\n\nwatchEffect(() => {\n if (props.lineScaleSpringParams)\n playerRef.value?.setLineScaleSpringParams(props.lineScaleSpringParams);\n});\n\ndefineExpose<LyricPlayerRef>({\n lyricPlayer: playerRef,\n wrapperEl: wrapperRef,\n});\n\n</script>","<template>\n <div ref=\"wrapperRef\"></div>\n</template>\n\n<script setup lang=\"ts\">\nimport { BackgroundRender } from \"@applemusic-like-lyrics/core\";\nimport { onMounted, onUnmounted, ref, watchEffect } from \"vue\";\nimport type { BackgroundRenderProps, BackgroundRenderRef } from \".\";\n\nconst props = defineProps<BackgroundRenderProps>();\nconst wrapperRef = ref<HTMLDivElement>();\nconst bgRenderRef = ref<BackgroundRender>();\n\nonMounted(() => {\n if (wrapperRef.value) {\n bgRenderRef.value = new BackgroundRender();\n const el = bgRenderRef.value.getElement();\n el.style.width = \"100%\";\n el.style.height = \"100%\";\n wrapperRef.value.appendChild(el);\n }\n});\n\nonUnmounted(() => {\n if (bgRenderRef.value) {\n bgRenderRef.value.dispose();\n }\n});\n\nwatchEffect(() => {\n if (props.albumImageUrl)\n bgRenderRef.value?.setAlbumImage(props.albumImageUrl);\n});\n\nwatchEffect(() => {\n if (props.fps)\n bgRenderRef.value?.setFPS(props.fps);\n});\n\nwatchEffect(() => {\n if (props.playing)\n bgRenderRef.value?.pause();\n else\n bgRenderRef.value?.resume();\n});\n\nwatchEffect(() => {\n if (props.flowSpeed)\n bgRenderRef.value?.setFlowSpeed(props.flowSpeed);\n});\n\nwatchEffect(() => {\n if (props.renderScale)\n bgRenderRef.value?.setRenderScale(props.renderScale);\n});\n\ndefineExpose<BackgroundRenderRef>({\n bgRender: bgRenderRef,\n wrapperEl: wrapperRef,\n});\n\n</script>"],"names":["wrapperRef","ref","playerRef","onMounted","LyricPlayer","onUnmounted","watchEffect","onCleanup","props","canceled","lastTime","onFrame","time","_a","__expose","bgRenderRef","BackgroundRender","el","_b"],"mappings":"
|
|
1
|
+
{"version":3,"file":"amll-vue.js","sources":["../src/LyricPlayer.vue","../src/BackgroundRender.vue"],"sourcesContent":["<template>\n <div ref=\"wrapperRef\" v-bind=\"$attrs\"></div>\n <Teleport v-if=\"playerRef?.getBottomLineElement() && props.bottomLine\" :to=\"playerRef?.getBottomLineElement()\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { LyricPlayer } from \"@applemusic-like-lyrics/core\";\nimport { onMounted, onUnmounted, ref, watchEffect, toRaw } from \"vue\";\nimport type { LyricPlayerProps, LyricPlayerRef } from \".\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = defineProps<LyricPlayerProps>();\nconst wrapperRef = ref<HTMLDivElement>();\nconst playerRef = ref<LyricPlayer>();\n\nonMounted(() => {\n if (wrapperRef.value) {\n playerRef.value = new LyricPlayer();\n wrapperRef.value.appendChild(playerRef.value.getElement());\n }\n});\n\nonUnmounted(() => {\n if (playerRef.value) {\n playerRef.value.dispose();\n }\n});\n\nwatchEffect((onCleanup) => {\n if (!props.disabled) {\n let canceled = false;\n let lastTime = -1;\n const onFrame = (time: number) => {\n if (canceled) return;\n if (lastTime === -1) {\n lastTime = time;\n }\n playerRef.value?.update(time - lastTime);\n lastTime = time;\n requestAnimationFrame(onFrame);\n };\n requestAnimationFrame(onFrame);\n onCleanup(() => {\n canceled = true;\n });\n }\n});\n\nwatchEffect(() => {\n if (props.alignAnchor)\n playerRef.value?.setAlignAnchor(props.alignAnchor);\n});\n\nwatchEffect(() => {\n if (props.alignPosition)\n playerRef.value?.setAlignPosition(props.alignPosition);\n});\n\nwatchEffect(() => {\n if (props.enableSpring)\n playerRef.value?.setEnableSpring(props.enableSpring);\n});\n\nwatchEffect(() => {\n if (props.enableBlur)\n playerRef.value?.setEnableBlur(props.enableBlur);\n});\n\nwatchEffect(() => {\n if (props.lyricLines)\n playerRef.value?.setLyricLines(props.lyricLines);\n});\n\nwatchEffect(() => {\n if (props.currentTime)\n playerRef.value?.setCurrentTime(props.currentTime);\n});\n\nwatchEffect(() => {\n if (props.linePosXSpringParams)\n playerRef.value?.setLinePosXSpringParams(props.linePosXSpringParams);\n});\n\nwatchEffect(() => {\n if (props.linePosYSpringParams)\n playerRef.value?.setLinePosYSpringParams(props.linePosYSpringParams);\n});\n\nwatchEffect(() => {\n if (props.lineScaleSpringParams)\n playerRef.value?.setLineScaleSpringParams(props.lineScaleSpringParams);\n});\n\ndefineExpose<LyricPlayerRef>({\n lyricPlayer: playerRef,\n wrapperEl: wrapperRef,\n});\n\n</script>","<template>\n <div ref=\"wrapperRef\"></div>\n</template>\n\n<script setup lang=\"ts\">\nimport { BackgroundRender } from \"@applemusic-like-lyrics/core\";\nimport { onMounted, onUnmounted, ref, watchEffect } from \"vue\";\nimport type { BackgroundRenderProps, BackgroundRenderRef } from \".\";\n\nconst props = defineProps<BackgroundRenderProps>();\nconst wrapperRef = ref<HTMLDivElement>();\nconst bgRenderRef = ref<BackgroundRender>();\n\nonMounted(() => {\n if (wrapperRef.value) {\n bgRenderRef.value = new BackgroundRender();\n const el = bgRenderRef.value.getElement();\n el.style.width = \"100%\";\n el.style.height = \"100%\";\n wrapperRef.value.appendChild(el);\n }\n});\n\nonUnmounted(() => {\n if (bgRenderRef.value) {\n bgRenderRef.value.dispose();\n }\n});\n\nwatchEffect(() => {\n if (props.albumImageUrl)\n bgRenderRef.value?.setAlbumImage(props.albumImageUrl);\n});\n\nwatchEffect(() => {\n if (props.fps)\n bgRenderRef.value?.setFPS(props.fps);\n});\n\nwatchEffect(() => {\n if (props.playing)\n bgRenderRef.value?.pause();\n else\n bgRenderRef.value?.resume();\n});\n\nwatchEffect(() => {\n if (props.flowSpeed)\n bgRenderRef.value?.setFlowSpeed(props.flowSpeed);\n});\n\nwatchEffect(() => {\n if (props.renderScale)\n bgRenderRef.value?.setRenderScale(props.renderScale);\n});\n\ndefineExpose<BackgroundRenderRef>({\n bgRender: bgRenderRef,\n wrapperEl: wrapperRef,\n});\n\n</script>"],"names":["wrapperRef","ref","playerRef","onMounted","LyricPlayer","onUnmounted","watchEffect","onCleanup","props","canceled","lastTime","onFrame","time","_a","__expose","bgRenderRef","BackgroundRender","el","_b"],"mappings":"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"}
|
package/dist/amll-vue.mjs
CHANGED
|
@@ -1,68 +1,83 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { LyricPlayer as
|
|
3
|
-
const
|
|
1
|
+
import { defineComponent as g, ref as s, onMounted as d, onUnmounted as v, watchEffect as r, openBlock as m, createElementBlock as P, Fragment as S, createElementVNode as y, mergeProps as b, createBlock as B, Teleport as L, createCommentVNode as w } from "vue";
|
|
2
|
+
import { LyricPlayer as h, BackgroundRender as _ } from "@applemusic-like-lyrics/core";
|
|
3
|
+
const A = /* @__PURE__ */ g({
|
|
4
|
+
inheritAttrs: !1,
|
|
4
5
|
__name: "LyricPlayer",
|
|
5
6
|
props: {
|
|
6
7
|
disabled: { type: Boolean },
|
|
7
8
|
alignAnchor: {},
|
|
9
|
+
alignPosition: {},
|
|
8
10
|
enableSpring: { type: Boolean },
|
|
9
11
|
enableBlur: { type: Boolean },
|
|
10
12
|
lyricLines: {},
|
|
11
13
|
currentTime: {},
|
|
12
14
|
linePosXSpringParams: {},
|
|
13
15
|
linePosYSpringParams: {},
|
|
14
|
-
lineScaleSpringParams: {}
|
|
16
|
+
lineScaleSpringParams: {},
|
|
17
|
+
bottomLine: {}
|
|
15
18
|
},
|
|
16
|
-
setup(
|
|
17
|
-
const a =
|
|
19
|
+
setup(p, { expose: u }) {
|
|
20
|
+
const a = p, l = s(), n = s();
|
|
18
21
|
return d(() => {
|
|
19
|
-
l.value && (
|
|
20
|
-
}),
|
|
21
|
-
|
|
22
|
-
}),
|
|
22
|
+
l.value && (n.value = new h(), l.value.appendChild(n.value.getElement()));
|
|
23
|
+
}), v(() => {
|
|
24
|
+
n.value && n.value.dispose();
|
|
25
|
+
}), r((e) => {
|
|
23
26
|
if (!a.disabled) {
|
|
24
|
-
let i = !1,
|
|
25
|
-
const
|
|
27
|
+
let i = !1, t = -1;
|
|
28
|
+
const o = (c) => {
|
|
26
29
|
var f;
|
|
27
|
-
i || (
|
|
30
|
+
i || (t === -1 && (t = c), (f = n.value) == null || f.update(c - t), t = c, requestAnimationFrame(o));
|
|
28
31
|
};
|
|
29
|
-
requestAnimationFrame(
|
|
32
|
+
requestAnimationFrame(o), e(() => {
|
|
30
33
|
i = !0;
|
|
31
34
|
});
|
|
32
35
|
}
|
|
33
|
-
}),
|
|
36
|
+
}), r(() => {
|
|
34
37
|
var e;
|
|
35
|
-
a.alignAnchor && ((e =
|
|
36
|
-
}),
|
|
38
|
+
a.alignAnchor && ((e = n.value) == null || e.setAlignAnchor(a.alignAnchor));
|
|
39
|
+
}), r(() => {
|
|
37
40
|
var e;
|
|
38
|
-
a.
|
|
39
|
-
}),
|
|
41
|
+
a.alignPosition && ((e = n.value) == null || e.setAlignPosition(a.alignPosition));
|
|
42
|
+
}), r(() => {
|
|
40
43
|
var e;
|
|
41
|
-
a.
|
|
42
|
-
}),
|
|
44
|
+
a.enableSpring && ((e = n.value) == null || e.setEnableSpring(a.enableSpring));
|
|
45
|
+
}), r(() => {
|
|
43
46
|
var e;
|
|
44
|
-
a.
|
|
45
|
-
}),
|
|
47
|
+
a.enableBlur && ((e = n.value) == null || e.setEnableBlur(a.enableBlur));
|
|
48
|
+
}), r(() => {
|
|
46
49
|
var e;
|
|
47
|
-
a.
|
|
48
|
-
}),
|
|
50
|
+
a.lyricLines && ((e = n.value) == null || e.setLyricLines(a.lyricLines));
|
|
51
|
+
}), r(() => {
|
|
49
52
|
var e;
|
|
50
|
-
a.
|
|
51
|
-
}),
|
|
53
|
+
a.currentTime && ((e = n.value) == null || e.setCurrentTime(a.currentTime));
|
|
54
|
+
}), r(() => {
|
|
52
55
|
var e;
|
|
53
|
-
a.
|
|
54
|
-
}),
|
|
56
|
+
a.linePosXSpringParams && ((e = n.value) == null || e.setLinePosXSpringParams(a.linePosXSpringParams));
|
|
57
|
+
}), r(() => {
|
|
55
58
|
var e;
|
|
56
|
-
a.
|
|
57
|
-
}),
|
|
58
|
-
|
|
59
|
+
a.linePosYSpringParams && ((e = n.value) == null || e.setLinePosYSpringParams(a.linePosYSpringParams));
|
|
60
|
+
}), r(() => {
|
|
61
|
+
var e;
|
|
62
|
+
a.lineScaleSpringParams && ((e = n.value) == null || e.setLineScaleSpringParams(a.lineScaleSpringParams));
|
|
63
|
+
}), u({
|
|
64
|
+
lyricPlayer: n,
|
|
59
65
|
wrapperEl: l
|
|
60
|
-
}), (e, i) =>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
66
|
+
}), (e, i) => {
|
|
67
|
+
var t, o;
|
|
68
|
+
return m(), P(S, null, [
|
|
69
|
+
y("div", b({
|
|
70
|
+
ref_key: "wrapperRef",
|
|
71
|
+
ref: l
|
|
72
|
+
}, e.$attrs), null, 16),
|
|
73
|
+
(t = n.value) != null && t.getBottomLineElement() && a.bottomLine ? (m(), B(L, {
|
|
74
|
+
key: 0,
|
|
75
|
+
to: (o = n.value) == null ? void 0 : o.getBottomLineElement()
|
|
76
|
+
}, null, 8, ["to"])) : w("", !0)
|
|
77
|
+
], 64);
|
|
78
|
+
};
|
|
64
79
|
}
|
|
65
|
-
}),
|
|
80
|
+
}), k = /* @__PURE__ */ g({
|
|
66
81
|
__name: "BackgroundRender",
|
|
67
82
|
props: {
|
|
68
83
|
albumImageUrl: {},
|
|
@@ -71,42 +86,42 @@ const _ = /* @__PURE__ */ m({
|
|
|
71
86
|
flowSpeed: {},
|
|
72
87
|
renderScale: {}
|
|
73
88
|
},
|
|
74
|
-
setup(
|
|
75
|
-
const a =
|
|
89
|
+
setup(p, { expose: u }) {
|
|
90
|
+
const a = p, l = s(), n = s();
|
|
76
91
|
return d(() => {
|
|
77
92
|
if (l.value) {
|
|
78
|
-
|
|
79
|
-
const e =
|
|
93
|
+
n.value = new _();
|
|
94
|
+
const e = n.value.getElement();
|
|
80
95
|
e.style.width = "100%", e.style.height = "100%", l.value.appendChild(e);
|
|
81
96
|
}
|
|
82
|
-
}),
|
|
83
|
-
|
|
84
|
-
}),
|
|
97
|
+
}), v(() => {
|
|
98
|
+
n.value && n.value.dispose();
|
|
99
|
+
}), r(() => {
|
|
85
100
|
var e;
|
|
86
|
-
a.albumImageUrl && ((e =
|
|
87
|
-
}),
|
|
101
|
+
a.albumImageUrl && ((e = n.value) == null || e.setAlbumImage(a.albumImageUrl));
|
|
102
|
+
}), r(() => {
|
|
88
103
|
var e;
|
|
89
|
-
a.fps && ((e =
|
|
90
|
-
}),
|
|
104
|
+
a.fps && ((e = n.value) == null || e.setFPS(a.fps));
|
|
105
|
+
}), r(() => {
|
|
91
106
|
var e, i;
|
|
92
|
-
a.playing ? (e =
|
|
93
|
-
}),
|
|
107
|
+
a.playing ? (e = n.value) == null || e.pause() : (i = n.value) == null || i.resume();
|
|
108
|
+
}), r(() => {
|
|
94
109
|
var e;
|
|
95
|
-
a.flowSpeed && ((e =
|
|
96
|
-
}),
|
|
110
|
+
a.flowSpeed && ((e = n.value) == null || e.setFlowSpeed(a.flowSpeed));
|
|
111
|
+
}), r(() => {
|
|
97
112
|
var e;
|
|
98
|
-
a.renderScale && ((e =
|
|
99
|
-
}),
|
|
100
|
-
bgRender:
|
|
113
|
+
a.renderScale && ((e = n.value) == null || e.setRenderScale(a.renderScale));
|
|
114
|
+
}), u({
|
|
115
|
+
bgRender: n,
|
|
101
116
|
wrapperEl: l
|
|
102
|
-
}), (e, i) => (
|
|
117
|
+
}), (e, i) => (m(), P("div", {
|
|
103
118
|
ref_key: "wrapperRef",
|
|
104
119
|
ref: l
|
|
105
120
|
}, null, 512));
|
|
106
121
|
}
|
|
107
122
|
});
|
|
108
123
|
export {
|
|
109
|
-
|
|
110
|
-
|
|
124
|
+
k as BackgroundRender,
|
|
125
|
+
A as LyricPlayer
|
|
111
126
|
};
|
|
112
127
|
//# sourceMappingURL=amll-vue.mjs.map
|
package/dist/amll-vue.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amll-vue.mjs","sources":["../src/LyricPlayer.vue","../src/BackgroundRender.vue"],"sourcesContent":["<template>\n <div ref=\"wrapperRef\"></div>\n</template>\n\n<script setup lang=\"ts\">\nimport { LyricPlayer } from \"@applemusic-like-lyrics/core\";\nimport { onMounted, onUnmounted, ref, watchEffect, toRaw } from \"vue\";\nimport type { LyricPlayerProps, LyricPlayerRef } from \".\";\n\nconst props = defineProps<LyricPlayerProps>();\nconst wrapperRef = ref<HTMLDivElement>();\nconst playerRef = ref<LyricPlayer>();\n\nonMounted(() => {\n if (wrapperRef.value) {\n playerRef.value = new LyricPlayer();\n wrapperRef.value.appendChild(playerRef.value.getElement());\n }\n});\n\nonUnmounted(() => {\n if (playerRef.value) {\n playerRef.value.dispose();\n }\n});\n\nwatchEffect((onCleanup) => {\n if (!props.disabled) {\n let canceled = false;\n let lastTime = -1;\n const onFrame = (time: number) => {\n if (canceled) return;\n if (lastTime === -1) {\n lastTime = time;\n }\n playerRef.value?.update(time - lastTime);\n lastTime = time;\n requestAnimationFrame(onFrame);\n };\n requestAnimationFrame(onFrame);\n onCleanup(() => {\n canceled = true;\n });\n }\n});\n\nwatchEffect(() => {\n if (props.alignAnchor)\n playerRef.value?.setAlignAnchor(props.alignAnchor);\n});\n\nwatchEffect(() => {\n if (props.enableSpring)\n playerRef.value?.setEnableSpring(props.enableSpring);\n});\n\nwatchEffect(() => {\n if (props.enableBlur)\n playerRef.value?.setEnableBlur(props.enableBlur);\n});\n\nwatchEffect(() => {\n if (props.lyricLines)\n playerRef.value?.setLyricLines(props.lyricLines);\n});\n\nwatchEffect(() => {\n if (props.currentTime)\n playerRef.value?.setCurrentTime(props.currentTime);\n});\n\nwatchEffect(() => {\n if (props.linePosXSpringParams)\n playerRef.value?.setLinePosXSpringParams(props.linePosXSpringParams);\n});\n\nwatchEffect(() => {\n if (props.linePosYSpringParams)\n playerRef.value?.setLinePosYSpringParams(props.linePosYSpringParams);\n});\n\nwatchEffect(() => {\n if (props.lineScaleSpringParams)\n playerRef.value?.setLineScaleSpringParams(props.lineScaleSpringParams);\n});\n\ndefineExpose<LyricPlayerRef>({\n lyricPlayer: playerRef,\n wrapperEl: wrapperRef,\n});\n\n</script>","<template>\n <div ref=\"wrapperRef\"></div>\n</template>\n\n<script setup lang=\"ts\">\nimport { BackgroundRender } from \"@applemusic-like-lyrics/core\";\nimport { onMounted, onUnmounted, ref, watchEffect } from \"vue\";\nimport type { BackgroundRenderProps, BackgroundRenderRef } from \".\";\n\nconst props = defineProps<BackgroundRenderProps>();\nconst wrapperRef = ref<HTMLDivElement>();\nconst bgRenderRef = ref<BackgroundRender>();\n\nonMounted(() => {\n if (wrapperRef.value) {\n bgRenderRef.value = new BackgroundRender();\n const el = bgRenderRef.value.getElement();\n el.style.width = \"100%\";\n el.style.height = \"100%\";\n wrapperRef.value.appendChild(el);\n }\n});\n\nonUnmounted(() => {\n if (bgRenderRef.value) {\n bgRenderRef.value.dispose();\n }\n});\n\nwatchEffect(() => {\n if (props.albumImageUrl)\n bgRenderRef.value?.setAlbumImage(props.albumImageUrl);\n});\n\nwatchEffect(() => {\n if (props.fps)\n bgRenderRef.value?.setFPS(props.fps);\n});\n\nwatchEffect(() => {\n if (props.playing)\n bgRenderRef.value?.pause();\n else\n bgRenderRef.value?.resume();\n});\n\nwatchEffect(() => {\n if (props.flowSpeed)\n bgRenderRef.value?.setFlowSpeed(props.flowSpeed);\n});\n\nwatchEffect(() => {\n if (props.renderScale)\n bgRenderRef.value?.setRenderScale(props.renderScale);\n});\n\ndefineExpose<BackgroundRenderRef>({\n bgRender: bgRenderRef,\n wrapperEl: wrapperRef,\n});\n\n</script>"],"names":["wrapperRef","ref","playerRef","onMounted","LyricPlayer","onUnmounted","watchEffect","onCleanup","props","canceled","lastTime","onFrame","time","_a","__expose","bgRenderRef","BackgroundRender","el","_b"],"mappings":"
|
|
1
|
+
{"version":3,"file":"amll-vue.mjs","sources":["../src/LyricPlayer.vue","../src/BackgroundRender.vue"],"sourcesContent":["<template>\n <div ref=\"wrapperRef\" v-bind=\"$attrs\"></div>\n <Teleport v-if=\"playerRef?.getBottomLineElement() && props.bottomLine\" :to=\"playerRef?.getBottomLineElement()\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { LyricPlayer } from \"@applemusic-like-lyrics/core\";\nimport { onMounted, onUnmounted, ref, watchEffect, toRaw } from \"vue\";\nimport type { LyricPlayerProps, LyricPlayerRef } from \".\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = defineProps<LyricPlayerProps>();\nconst wrapperRef = ref<HTMLDivElement>();\nconst playerRef = ref<LyricPlayer>();\n\nonMounted(() => {\n if (wrapperRef.value) {\n playerRef.value = new LyricPlayer();\n wrapperRef.value.appendChild(playerRef.value.getElement());\n }\n});\n\nonUnmounted(() => {\n if (playerRef.value) {\n playerRef.value.dispose();\n }\n});\n\nwatchEffect((onCleanup) => {\n if (!props.disabled) {\n let canceled = false;\n let lastTime = -1;\n const onFrame = (time: number) => {\n if (canceled) return;\n if (lastTime === -1) {\n lastTime = time;\n }\n playerRef.value?.update(time - lastTime);\n lastTime = time;\n requestAnimationFrame(onFrame);\n };\n requestAnimationFrame(onFrame);\n onCleanup(() => {\n canceled = true;\n });\n }\n});\n\nwatchEffect(() => {\n if (props.alignAnchor)\n playerRef.value?.setAlignAnchor(props.alignAnchor);\n});\n\nwatchEffect(() => {\n if (props.alignPosition)\n playerRef.value?.setAlignPosition(props.alignPosition);\n});\n\nwatchEffect(() => {\n if (props.enableSpring)\n playerRef.value?.setEnableSpring(props.enableSpring);\n});\n\nwatchEffect(() => {\n if (props.enableBlur)\n playerRef.value?.setEnableBlur(props.enableBlur);\n});\n\nwatchEffect(() => {\n if (props.lyricLines)\n playerRef.value?.setLyricLines(props.lyricLines);\n});\n\nwatchEffect(() => {\n if (props.currentTime)\n playerRef.value?.setCurrentTime(props.currentTime);\n});\n\nwatchEffect(() => {\n if (props.linePosXSpringParams)\n playerRef.value?.setLinePosXSpringParams(props.linePosXSpringParams);\n});\n\nwatchEffect(() => {\n if (props.linePosYSpringParams)\n playerRef.value?.setLinePosYSpringParams(props.linePosYSpringParams);\n});\n\nwatchEffect(() => {\n if (props.lineScaleSpringParams)\n playerRef.value?.setLineScaleSpringParams(props.lineScaleSpringParams);\n});\n\ndefineExpose<LyricPlayerRef>({\n lyricPlayer: playerRef,\n wrapperEl: wrapperRef,\n});\n\n</script>","<template>\n <div ref=\"wrapperRef\"></div>\n</template>\n\n<script setup lang=\"ts\">\nimport { BackgroundRender } from \"@applemusic-like-lyrics/core\";\nimport { onMounted, onUnmounted, ref, watchEffect } from \"vue\";\nimport type { BackgroundRenderProps, BackgroundRenderRef } from \".\";\n\nconst props = defineProps<BackgroundRenderProps>();\nconst wrapperRef = ref<HTMLDivElement>();\nconst bgRenderRef = ref<BackgroundRender>();\n\nonMounted(() => {\n if (wrapperRef.value) {\n bgRenderRef.value = new BackgroundRender();\n const el = bgRenderRef.value.getElement();\n el.style.width = \"100%\";\n el.style.height = \"100%\";\n wrapperRef.value.appendChild(el);\n }\n});\n\nonUnmounted(() => {\n if (bgRenderRef.value) {\n bgRenderRef.value.dispose();\n }\n});\n\nwatchEffect(() => {\n if (props.albumImageUrl)\n bgRenderRef.value?.setAlbumImage(props.albumImageUrl);\n});\n\nwatchEffect(() => {\n if (props.fps)\n bgRenderRef.value?.setFPS(props.fps);\n});\n\nwatchEffect(() => {\n if (props.playing)\n bgRenderRef.value?.pause();\n else\n bgRenderRef.value?.resume();\n});\n\nwatchEffect(() => {\n if (props.flowSpeed)\n bgRenderRef.value?.setFlowSpeed(props.flowSpeed);\n});\n\nwatchEffect(() => {\n if (props.renderScale)\n bgRenderRef.value?.setRenderScale(props.renderScale);\n});\n\ndefineExpose<BackgroundRenderRef>({\n bgRender: bgRenderRef,\n wrapperEl: wrapperRef,\n});\n\n</script>"],"names":["wrapperRef","ref","playerRef","onMounted","LyricPlayer","onUnmounted","watchEffect","onCleanup","props","canceled","lastTime","onFrame","time","_a","__expose","bgRenderRef","BackgroundRender","el","_b"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { spring, LyricLine, LyricPlayer as CoreLyricPlayer, BackgroundRender as CoreBackgroundRender } from "@applemusic-like-lyrics/core";
|
|
2
|
-
import type { Ref } from "vue";
|
|
2
|
+
import type { Ref, VNode } from "vue";
|
|
3
3
|
import LyricPlayer from "./LyricPlayer.vue";
|
|
4
4
|
import BackgroundRender from "./BackgroundRender.vue";
|
|
5
5
|
export { LyricPlayer, BackgroundRender };
|
|
@@ -14,13 +14,20 @@ export interface LyricPlayerProps {
|
|
|
14
14
|
*/
|
|
15
15
|
disabled?: boolean;
|
|
16
16
|
/**
|
|
17
|
-
* 设置歌词行的对齐方式,如果为 `undefined` 则默认为 `
|
|
17
|
+
* 设置歌词行的对齐方式,如果为 `undefined` 则默认为 `center`
|
|
18
18
|
*
|
|
19
|
-
* - 设置成 `top`
|
|
20
|
-
* - 设置成 `bottom`
|
|
21
|
-
* - 设置成
|
|
19
|
+
* - 设置成 `top` 的话将会向目标歌词行的顶部对齐
|
|
20
|
+
* - 设置成 `bottom` 的话将会向目标歌词行的底部对齐
|
|
21
|
+
* - 设置成 `center` 的话将会向目标歌词行的垂直中心对齐
|
|
22
22
|
*/
|
|
23
|
-
alignAnchor?: "top" | "bottom" |
|
|
23
|
+
alignAnchor?: "top" | "bottom" | "center";
|
|
24
|
+
/**
|
|
25
|
+
* 设置默认的歌词行对齐位置,相对于整个歌词播放组件的大小位置,如果为 `undefined`
|
|
26
|
+
* 则默认为 `0.5`
|
|
27
|
+
*
|
|
28
|
+
* 可以设置一个 `[0.0-1.0]` 之间的任意数字,代表组件高度由上到下的比例位置
|
|
29
|
+
*/
|
|
30
|
+
alignPosition?: number;
|
|
24
31
|
/**
|
|
25
32
|
* 设置是否使用物理弹簧算法实现歌词动画效果,默认启用
|
|
26
33
|
*
|
|
@@ -60,6 +67,12 @@ export interface LyricPlayerProps {
|
|
|
60
67
|
* @param params 需要设置的弹簧属性,提供的属性将会覆盖原来的属性,未提供的属性将会保持原样
|
|
61
68
|
*/
|
|
62
69
|
lineScaleSpringParams?: Partial<spring.SpringParams>;
|
|
70
|
+
/**
|
|
71
|
+
* 在一个特殊的底栏元素内加入指定元素,默认是空白的,可以往内部添加任意元素
|
|
72
|
+
*
|
|
73
|
+
* 这个元素始终在歌词的底部,可以用于显示歌曲创作者等信息
|
|
74
|
+
*/
|
|
75
|
+
bottomLine?: VNode[];
|
|
63
76
|
}
|
|
64
77
|
/**
|
|
65
78
|
* 歌词播放组件的引用
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applemusic-like-lyrics/vue",
|
|
3
3
|
"packageManager": "yarn@3.6.1",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.11",
|
|
5
5
|
"description": "AMLL 组件库的 Vue 绑定",
|
|
6
6
|
"repository": {
|
|
7
7
|
"url": "https://github.com/Steve-xmh/applemusic-like-lyrics.git",
|
|
@@ -27,17 +27,26 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@applemusic-like-lyrics/core": "^0.0.
|
|
30
|
+
"@applemusic-like-lyrics/core": "^0.0.11"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"vue": "*"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
+
"@pixi/app": "^7.2.4",
|
|
37
|
+
"@pixi/core": "^7.2.4",
|
|
38
|
+
"@pixi/display": "^7.2.4",
|
|
39
|
+
"@pixi/filter-blur": "^7.2.4",
|
|
40
|
+
"@pixi/filter-color-matrix": "^7.2.4",
|
|
41
|
+
"@pixi/sprite": "^7.2.4",
|
|
36
42
|
"@vitejs/plugin-vue": "^4.2.3",
|
|
37
43
|
"@vue/tsconfig": "^0.4.0",
|
|
44
|
+
"jss": "^10.10.0",
|
|
45
|
+
"jss-preset-default": "^10.10.0",
|
|
38
46
|
"rome": "^12.1.3",
|
|
39
47
|
"typedoc": "^0.24.8",
|
|
40
48
|
"typedoc-plugin-markdown": "^3.15.3",
|
|
49
|
+
"typescript": "^5.1.6",
|
|
41
50
|
"vite": "^4.4.7",
|
|
42
51
|
"vite-plugin-dts": "^3.3.1",
|
|
43
52
|
"vue": "^3.3.4"
|