11import { useEffect , useRef , useCallback } from 'react' ;
2- import { getAudioEngine } from '../../hooks/useAudioEngine' ;
2+ import { getAudioEngine , getTauriPlaybackClockOwner } from '../../hooks/useAudioEngine' ;
33import { getAudioBridge } from '../../engine/bridge' ;
44import { METER_CANVAS_STOPS , METER_DB_TICKS , METER_DB_TICKS_MINOR , METER_PADDING_PCT , dbToFill , levelToFill } from '../meter-colors' ;
55
@@ -94,8 +94,12 @@ export function LevelMeter({ trackId, masterStage, returnTrackId, stereo, showSc
9494 let rightLevel = 0 ;
9595 let clipped = false ;
9696
97+ const meterSource = bridge . backend === 'tauri' && getTauriPlaybackClockOwner ( ) === 'native'
98+ ? bridge
99+ : engine ;
100+
97101 if ( masterStage ) {
98- const meter = bridge . getMasterMeter ( masterStage ) ;
102+ const meter = meterSource . getMasterMeter ( masterStage ) ;
99103 leftLevel = meter . level ;
100104 rightLevel = meter . level ;
101105 clipped = meter . clipped ;
@@ -105,7 +109,7 @@ export function LevelMeter({ trackId, masterStage, returnTrackId, stereo, showSc
105109 rightLevel = meter . level ;
106110 clipped = meter . clipped ;
107111 } else if ( trackId ) {
108- const meter = bridge . getTrackMeter ( trackId ) ;
112+ const meter = meterSource . getTrackMeter ( trackId ) ;
109113 leftLevel = isStereo ? meter . leftLevel : meter . level ;
110114 rightLevel = isStereo ? meter . rightLevel : meter . level ;
111115 clipped = meter . clipped ;
@@ -186,12 +190,15 @@ export function LevelMeter({ trackId, masterStage, returnTrackId, stereo, showSc
186190 const resetClip = ( ) => {
187191 const engine = getAudioEngine ( ) ;
188192 const bridge = getAudioBridge ( engine ) ;
193+ const meterSource = bridge . backend === 'tauri' && getTauriPlaybackClockOwner ( ) === 'native'
194+ ? bridge
195+ : engine ;
189196 if ( masterStage ) {
190- bridge . resetMasterClip ( masterStage ) ;
197+ meterSource . resetMasterClip ( masterStage ) ;
191198 } else if ( returnTrackId ) {
192199 engine . resetReturnTrackClip ( returnTrackId ) ;
193200 } else if ( trackId ) {
194- bridge . resetTrackClip ( trackId ) ;
201+ meterSource . resetTrackClip ( trackId ) ;
195202 }
196203 clippedRef . current = false ;
197204 clippedStateRef . current = false ;
0 commit comments