Newer
Older
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,
}
})