Skip to content
Snippets Groups Projects
playout.ts 958 B
Newer Older
  • Learn to ignore specific revisions
  • import { defineStore } from 'pinia'
    import { computed, MaybeRefOrGetter, toValue } from 'vue'
    
    type Input = {
      uri: string
      label: string
      description?: string
    }
    
    export function useInput(uri: MaybeRefOrGetter<string>) {
      const playoutStore = usePlayoutStore()
      return computed(() => playoutStore.inputs.find((i) => i.uri === toValue(uri)) ?? null)
    }
    
    export const usePlayoutStore = defineStore('playout', () => {
      // These are hard-coded in engine-core as well
      // See playout config: https://gitlab.servus.at/aura/engine-core/-/blob/40e7c86373a0029e4db9fd98295997017a92a9e3/config/sample.engine-core.ini#L73
      // see playout source: https://gitlab.servus.at/aura/engine-core/-/blob/40e7c86373a0029e4db9fd98295997017a92a9e3/src/in_soundcard.liq#L83-105
      const inputs: Input[] = [
        { uri: 'line://0', label: 'Studio' },
        { uri: 'line://1', label: 'Pre-Production' },
        { uri: 'line://2', label: 'Line 2' },
      ]
    
      return {
        inputs,
      }
    })