import * as console from "console"; import App from "./App"; import ObsSceneButton from "./obs/ObsSceneButton"; import ObsSourceToggleMuteButton from "./obs/ObsSourceToggleMuteButton"; import ObsSourceKnob from "./obs/ObsSourceKnob"; import config from "config"; (async () => { const app = new App(async () => { await configureApp(app); }); await app.init(); await app.start(); })().catch(console.error); async function configureApp(app: App): Promise { let obsStateTracker = app.getObsStateTracker(); // Scenes const scenes = obsStateTracker.getSceneList(); for (let i = 0; i < scenes.length && i < 8; i++) { app.registerControl(new ObsSceneButton(112 + i, scenes[i])); } // Sources const sources = config.get('obs.audio_sources'); for (let i = 0; i < sources.length && i < 8; i++) { app.registerControl(new ObsSourceToggleMuteButton(96 + i, sources[i])); app.registerControl(new ObsSourceKnob(21 + i, sources[i])) } }