22import { ref , onMounted , watchEffect , onUnmounted } from ' vue'
33import WebAudioController from ' ../modules/WebAudio/Controller'
44import Wave from ' ../modules/Wave/index'
5- import WaveMask from ' ../modules/Wave/WaveMask'
65import { formatSecond } from ' ../utils/format-time'
76import {
87 lazyLoader ,
@@ -70,19 +69,17 @@ function lazyLoadHandler() {
7069
7170// initialize
7271const waveRef = ref <HTMLCanvasElement | null >(null )
73- const maskRef = ref <HTMLCanvasElement | null >(null )
7472const ready = ref <boolean >(false )
7573
7674let webAudioController: WebAudioController
7775let wave: Wave
78- let waveMask: WaveMask
7976
8077// initialize waveform
8178async function init(): Promise <void > {
8279 if (ready .value ) return
8380 emits (' onInit' , true )
8481 await initAudio ()
85- await Promise .all ([initWave (), initWaveMask () ])
82+ await Promise .all ([initWave ()])
8683 ready .value = true
8784 emits (' onReady' , ready .value )
8885}
@@ -104,22 +101,7 @@ async function initWave(): Promise<void> {
104101 wave .setupCanvas ()
105102 watchEffect (() => {
106103 wave ._props = props
107- wave .setCanvasStyle ()
108- })
109- }
110-
111- // initialize wave mask canvas
112- async function initWaveMask(): Promise <void > {
113- waveMask = new WaveMask (
114- maskRef .value as HTMLCanvasElement ,
115- props ,
116- await webAudioController ._filterData ,
117- wave ._canvas
118- )
119- waveMask .setupCanvas ()
120- watchEffect (() => {
121- waveMask ._props = props
122- waveMask .setCanvasStyle ()
104+ wave .setCanvasStyle (maskWidth .value )
123105 })
124106}
125107
@@ -237,10 +219,6 @@ defineExpose({
237219
238220 <canvas id =" ill-wave" ref =" waveRef" />
239221
240- <div id =" ill-waveMask-container" :style =" `width:${maskWidth}px;`" >
241- <canvas id =" ill-waveMask" ref =" maskRef" />
242- </div >
243-
244222 <div
245223 v-show =" ready && props.interact"
246224 id =" ill-cursor"
@@ -286,19 +264,6 @@ defineExpose({
286264 opacity : 0 ;
287265}
288266
289- #ill-wave-container > #ill-waveMask-container {
290- position : absolute ;
291- top : 0 ;
292- left : 0 ;
293- height : inherit ;
294- overflow : hidden ;
295- }
296-
297- #ill-wave-container > #ill-waveMask-container > #ill-waveMask {
298- opacity : 0 ;
299- transition : opacity 0.5s ease-in-out ;
300- }
301-
302267#ill-wave-container > #ill-cursor {
303268 position : absolute ;
304269 height : inherit ;
0 commit comments