diff --git a/apps/stage-tamagotchi/src/preload/beat-sync.ts b/apps/stage-tamagotchi/src/preload/beat-sync.ts index 02fbe5247..ebaf15783 100644 --- a/apps/stage-tamagotchi/src/preload/beat-sync.ts +++ b/apps/stage-tamagotchi/src/preload/beat-sync.ts @@ -1,42 +1,3 @@ -import { electronAPI } from '@electron-toolkit/preload' -import { defineInvoke, defineInvokeHandler } from '@moeru/eventa' -import { createContext } from '@moeru/eventa/adapters/electron/renderer' -import { createDetector, StageEnvironment } from '@proj-airi/stage-shared' -import { ipcRenderer } from 'electron' +import { expose } from './shared' -import { beatSyncSignalBeat, beatSyncToggle } from '../shared/eventa' -import { exposeWithCustomAPI } from './shared' - -const context = createContext(electronAPI.ipcRenderer).context -const signalBeat = defineInvoke(context, beatSyncSignalBeat) - -function enableLoopbackAudio() { - return ipcRenderer.invoke('enable-loopback-audio') -} - -function disableLoopbackAudio() { - return ipcRenderer.invoke('disable-loopback-audio') -} - -const detector = createDetector({ - env: StageEnvironment.Tamagotchi, - enableLoopbackAudio, - disableLoopbackAudio, -}) - -detector.on('beat', () => signalBeat()) - -defineInvokeHandler(context, beatSyncToggle, async (enabled) => { - if (enabled) { - detector.startScreenCapture() - } - else { - detector.stop() - } -}) - -exposeWithCustomAPI({ - enableLoopbackAudio, - disableLoopbackAudio, - detector, -}) +expose() diff --git a/apps/stage-tamagotchi/src/renderer/beat-sync.html b/apps/stage-tamagotchi/src/renderer/beat-sync.html index ba0964b21..a6184c7c3 100644 --- a/apps/stage-tamagotchi/src/renderer/beat-sync.html +++ b/apps/stage-tamagotchi/src/renderer/beat-sync.html @@ -27,5 +27,6 @@