diff --git a/bundlewrap/bundles/voctocore/README.md b/bundlewrap/bundles/voctocore/README.md index 2af3f993..04d75c8b 100644 --- a/bundlewrap/bundles/voctocore/README.md +++ b/bundlewrap/bundles/voctocore/README.md @@ -104,3 +104,18 @@ program = "fb" # playout program to framebuffer **Caution:** Playout to decklink outputs requires having a ffmpeg build with decklink support compiled in. C3VOC currently does not provide that. + +### blinder +You can configure the blinder like any other source, overriding the default +of using `/opt/voc/share/pause.ts`. This allows you to use a decklink source, +for example. + +Options are passed verbatim to the voctocore config. There is no additional +processing happening. **Keep in mind that this source is video only.** +```toml +[metadata.voctocore.blinder] +kind = "decklink" +devicenumber = 5 +video_connection = "SDI" +video_mode = "1080p25" +``` diff --git a/bundlewrap/bundles/voctocore/files/voctocore-config-by-version/2.0-rc1.ini b/bundlewrap/bundles/voctocore/files/voctocore-config-by-version/2.0-rc1.ini index fe1959a0..0c0e4c23 100644 --- a/bundlewrap/bundles/voctocore/files/voctocore-config-by-version/2.0-rc1.ini +++ b/bundlewrap/bundles/voctocore/files/voctocore-config-by-version/2.0-rc1.ini @@ -53,10 +53,6 @@ kind=test pattern=black composites=fs -[source.break] -kind=file -location=/opt/voc/share/pause.ts - [previews] ; disable if ui & server run on the same computer and can exchange uncompressed video frames enabled=true @@ -84,6 +80,11 @@ audio.${aname} = ${aconfig['streams']} kind=file location=/opt/voc/share/pause-music.mp3 +[source.break] +% for k, v in sorted(blinder.items()): +${k}=${v} +% endfor + [overlay] path=/opt/voc/overlays % if has_schedule: diff --git a/bundlewrap/bundles/voctocore/files/voctocore-config-by-version/2.2.ini b/bundlewrap/bundles/voctocore/files/voctocore-config-by-version/2.2.ini index 9c2dcfdb..7df6023e 100644 --- a/bundlewrap/bundles/voctocore/files/voctocore-config-by-version/2.2.ini +++ b/bundlewrap/bundles/voctocore/files/voctocore-config-by-version/2.2.ini @@ -53,10 +53,6 @@ kind=test pattern=black composites=fs -[source.break] -kind=file -location=/opt/voc/share/pause.ts - [previews] ; disable if ui & server run on the same computer and can exchange uncompressed video frames enabled=true @@ -84,6 +80,11 @@ audio.${aname} = ${aconfig['streams']} kind=file location=/opt/voc/share/pause-music.mp3 +[source.break] +% for k, v in sorted(blinder.items()): +${k}=${v} +% endfor + [overlay] path=/opt/voc/overlays % if has_schedule: diff --git a/bundlewrap/bundles/voctocore/files/voctocore-config-by-version/voctomix2.ini b/bundlewrap/bundles/voctocore/files/voctocore-config-by-version/voctomix2.ini index 842db11d..eb7e494f 100644 --- a/bundlewrap/bundles/voctocore/files/voctocore-config-by-version/voctomix2.ini +++ b/bundlewrap/bundles/voctocore/files/voctocore-config-by-version/voctomix2.ini @@ -53,7 +53,6 @@ kind=test pattern=black composites=fs -[source.break] kind=file location=/opt/voc/share/pause.ts @@ -79,6 +78,11 @@ audio.${aname} = ${aconfig['streams']} kind=file location=/opt/voc/share/pause-music.mp3 +[source.break] +% for k, v in sorted(blinder.items()): +${k}=${v} +% endfor + [overlay] path=/opt/voc/overlays % if has_schedule: diff --git a/bundlewrap/bundles/voctocore/items.py b/bundlewrap/bundles/voctocore/items.py index f622994b..bc80cd87 100644 --- a/bundlewrap/bundles/voctocore/items.py +++ b/bundlewrap/bundles/voctocore/items.py @@ -20,6 +20,11 @@ "program": 11000, } +DEFAULT_BLINDER = { + 'kind': 'file', + 'location': '/opt/voc/share/pause.ts', +} + SHOULD_BE_RUNNING = node.metadata.get("voctocore/should_be_running", True) voctomix_version = node.metadata.get("voctomix2/rev") @@ -99,6 +104,7 @@ "source": f"voctocore-config-by-version/{voctomix_version}.ini", "context": { "audio": node.metadata.get("voctocore/audio", {}), + "blinder": node.metadata.get("voctocore/blinder", DEFAULT_BLINDER), "event": node.metadata.get("event/slug"), "has_schedule": node.metadata.get("event/schedule_json", ""), "keyboard_shortcuts": KEYBOARD_SHORTCUTS,