Rename Preset to Preview, preview outputs to Preview Out
This commit is contained in:
1 parent
05e9dc59ba
commit
9133946681
5 files changed
+28
-17
No files matched your search
@@ -24,7 +24,7 @@ The switcher accepts RossTalk on TCP port 7788, nothing has to be enabled on it.
|
||||
- Trigger GPI
|
||||
- Fire custom control
|
||||
- Cut, Auto Transition, Fade to black
|
||||
- XPT (select a source on Program, Preset, a key, an Aux bus or a MiniME)
|
||||
- XPT (select a source on Program, Preview, a key, an Aux bus or a MiniME)
|
||||
- Transition Keyer, Key Mode
|
||||
- Next Transition: included elements, Transition Rate, Transition Type
|
||||
- Recall Memory, Store Memory
|
||||
@@ -40,6 +40,8 @@ The commands are those of the [Ross RossTalk reference](https://help.rossvideo.c
|
||||
|
||||
The HDMI inputs come after the SDI inputs: `IN:13` on the Solo 13, `IN:7` to `IN:9` on the Solo.
|
||||
|
||||
This module calls **Preview** the bus that Ross calls Preset (`PST` in RossTalk). The preview outputs (`PV` in RossTalk) are listed as **Preview Out**.
|
||||
|
||||
### Feedback (TSL UMD v3.1)
|
||||
|
||||
RossTalk gives no status. For feedback, the switcher has to send TSL UMD to Companion:
|
||||
@@ -57,13 +59,13 @@ Open the listen port in the firewall of the computer running Companion.
|
||||
**Feedbacks**
|
||||
|
||||
- **Tally: source on Program / Preview**: the tally the switcher sends for an input or a Media-Store (TSL tally 2 is program, tally 1 is preview).
|
||||
- **Bus: source selected**: the source selected on ME 1 Background or Preset, on a key, on an Aux bus or on a MiniME. With **ShowUMDId** off the switcher only sends the name of the source, and the feedback is wrong when two sources have the same name. Black and Matte Color share TSL ID 0 and cannot be told apart.
|
||||
- **Bus: source selected**: the source selected on ME 1 Background or Preview, on a key, on an Aux bus or on a MiniME. With **ShowUMDId** off the switcher only sends the name of the source, and the feedback is wrong when two sources have the same name. Black and Matte Color share TSL ID 0 and cannot be told apart.
|
||||
- **TSL: tally of an address**: any tally of any TSL address.
|
||||
|
||||
**Variables**
|
||||
|
||||
- `source_in1_name` ..., `source_ms1_name` ...: source names set on the switcher.
|
||||
- `bus_me1_bkgd_source`, `bus_me1_pst_source`, `bus_aux1_source` ...: name of the source selected on the bus, and `..._source_id` for its TSL ID.
|
||||
- `bus_me1_bkgd_source`, `bus_me1_pv_source`, `bus_aux1_source` ...: name of the source selected on the bus, and `..._source_id` for its TSL ID.
|
||||
|
||||
The TSL addresses used are those of the Carbonite Black Solo column of the [Ross TSL UMD setup page](https://help.rossvideo.com/carbonite-device/Topics/Devices/UMD/TSL.html).
|
||||
|
||||
|
||||
+5
-3
@@ -11,7 +11,7 @@ The switcher accepts RossTalk on TCP port 7788, nothing has to be enabled on it.
|
||||
- Trigger GPI
|
||||
- Fire custom control
|
||||
- Cut, Auto Transition, Fade to black
|
||||
- XPT (select a source on Program, Preset, a key, an Aux bus or a MiniME)
|
||||
- XPT (select a source on Program, Preview, a key, an Aux bus or a MiniME)
|
||||
- Transition Keyer, Key Mode
|
||||
- Next Transition: included elements, Transition Rate, Transition Type
|
||||
- Recall Memory, Store Memory
|
||||
@@ -27,6 +27,8 @@ The commands are those of the [Ross RossTalk reference](https://help.rossvideo.c
|
||||
|
||||
The HDMI inputs come after the SDI inputs: `IN:13` on the Solo 13, `IN:7` to `IN:9` on the Solo.
|
||||
|
||||
This module calls **Preview** the bus that Ross calls Preset (`PST` in RossTalk). The preview outputs (`PV` in RossTalk) are listed as **Preview Out**.
|
||||
|
||||
### Feedback (TSL UMD v3.1)
|
||||
|
||||
RossTalk gives no status. For feedback, the switcher has to send TSL UMD to Companion:
|
||||
@@ -44,13 +46,13 @@ Open the listen port in the firewall of the computer running Companion.
|
||||
**Feedbacks**
|
||||
|
||||
- **Tally: source on Program / Preview**: the tally the switcher sends for an input or a Media-Store (TSL tally 2 is program, tally 1 is preview).
|
||||
- **Bus: source selected**: the source selected on ME 1 Background or Preset, on a key, on an Aux bus or on a MiniME. With **ShowUMDId** off the switcher only sends the name of the source, and the feedback is wrong when two sources have the same name. Black and Matte Color share TSL ID 0 and cannot be told apart.
|
||||
- **Bus: source selected**: the source selected on ME 1 Background or Preview, on a key, on an Aux bus or on a MiniME. With **ShowUMDId** off the switcher only sends the name of the source, and the feedback is wrong when two sources have the same name. Black and Matte Color share TSL ID 0 and cannot be told apart.
|
||||
- **TSL: tally of an address**: any tally of any TSL address.
|
||||
|
||||
**Variables**
|
||||
|
||||
- `source_in1_name` ..., `source_ms1_name` ...: source names set on the switcher.
|
||||
- `bus_me1_bkgd_source`, `bus_me1_pst_source`, `bus_aux1_source` ...: name of the source selected on the bus, and `..._source_id` for its TSL ID.
|
||||
- `bus_me1_bkgd_source`, `bus_me1_pv_source`, `bus_aux1_source` ...: name of the source selected on the bus, and `..._source_id` for its TSL ID.
|
||||
|
||||
The TSL addresses used are those of the Carbonite Black Solo column of the [Ross TSL UMD setup page](https://help.rossvideo.com/carbonite-device/Topics/Devices/UMD/TSL.html).
|
||||
|
||||
|
||||
+8
-7
@@ -52,13 +52,14 @@ function getSources(modelId) {
|
||||
}
|
||||
sources.push({ id: 'CLIP', key: 'clip', label: 'Clip Player', name: 'CLIP' })
|
||||
sources.push({ id: 'PGM', key: 'pgm', label: 'Program', name: 'PGM', tsl: 110 })
|
||||
sources.push({ id: 'PV', key: 'pv', label: 'Preview', name: 'PV', tsl: 111 })
|
||||
// PV is the preview output. The bus Ross calls Preset (PST) is labelled Preview in this module.
|
||||
sources.push({ id: 'PV', key: 'pvout', label: 'Preview Out', name: 'PV OUT', tsl: 111 })
|
||||
sources.push({ id: 'CLN', key: 'cln', label: 'Clean Feed', name: 'CLN', tsl: 112 })
|
||||
sources.push({ id: 'ME:1:PGM', key: 'me1_pgm', label: 'ME 1 Program', name: 'ME1 PGM', tsl: 113 })
|
||||
sources.push({ id: 'ME:1:PV', key: 'me1_pv', label: 'ME 1 Preview', name: 'ME1 PV', tsl: 114 })
|
||||
sources.push({ id: 'ME:1:PV', key: 'me1_pvout', label: 'ME 1 Preview Out', name: 'ME1 PVO', tsl: 114 })
|
||||
sources.push({ id: 'ME:1:CLN', key: 'me1_cln', label: 'ME 1 Clean', name: 'ME1 CLN', tsl: 115 })
|
||||
sources.push({ id: 'ME:1:BKGD', key: 'me1_bkgd', label: 'ME 1 Background', name: 'ME1 BKGD', tsl: 37 })
|
||||
sources.push({ id: 'ME:1:PST', key: 'me1_pst', label: 'ME 1 Preset', name: 'ME1 PST', tsl: 38 })
|
||||
sources.push({ id: 'ME:1:PST', key: 'me1_pv', label: 'ME 1 Preview', name: 'ME1 PV', tsl: 38 })
|
||||
for (const k of range(RESOURCES.meKeyers)) {
|
||||
const base = 37 + 2 * k
|
||||
sources.push({ id: `ME:1:KEY:${k}:V`, key: `me1_key${k}_v`, label: `ME 1 Key ${k} Video`, name: `K${k} V`, tsl: base })
|
||||
@@ -75,7 +76,7 @@ function getSources(modelId) {
|
||||
for (const n of range(RESOURCES.miniMes)) {
|
||||
const base = 87 + 4 * (n - 1)
|
||||
sources.push({ id: `MME:${n}:PGM`, key: `mme${n}_pgm`, label: `MiniME ${n} Program`, name: `MME${n}`, tsl: 115 + n })
|
||||
sources.push({ id: `MME:${n}:PV`, key: `mme${n}_pv`, label: `MiniME ${n} Preview`, name: `MME${n} PV` })
|
||||
sources.push({ id: `MME:${n}:PV`, key: `mme${n}_pvout`, label: `MiniME ${n} Preview Out`, name: `MME${n} PVO` })
|
||||
sources.push({
|
||||
id: `MME:${n}:BKGD`,
|
||||
key: `mme${n}_bkgd`,
|
||||
@@ -83,7 +84,7 @@ function getSources(modelId) {
|
||||
name: `MME${n} BG`,
|
||||
tsl: base,
|
||||
})
|
||||
sources.push({ id: `MME:${n}:PST`, key: `mme${n}_pst`, label: `MiniME ${n} Preset`, name: `MME${n} PST`, tsl: base + 1 })
|
||||
sources.push({ id: `MME:${n}:PST`, key: `mme${n}_pv`, label: `MiniME ${n} Preview`, name: `MME${n} PV`, tsl: base + 1 })
|
||||
}
|
||||
for (const n of range(RESOURCES.auxes)) {
|
||||
sources.push({ id: `AUX:${n}`, key: `aux${n}`, label: `Aux ${n}`, name: `AUX ${n}`, tsl: 66 + n })
|
||||
@@ -99,7 +100,7 @@ function getSources(modelId) {
|
||||
function getBuses() {
|
||||
const buses = [
|
||||
{ key: 'me1_bkgd', label: 'ME 1 Background (Program)', tsl: 37, dest: 'ME:1:PGM' },
|
||||
{ key: 'me1_pst', label: 'ME 1 Preset', tsl: 38, dest: 'ME:1:PST' },
|
||||
{ key: 'me1_pv', label: 'ME 1 Preview', tsl: 38, dest: 'ME:1:PST' },
|
||||
]
|
||||
for (const k of range(RESOURCES.meKeyers)) {
|
||||
const base = 37 + 2 * k
|
||||
@@ -112,7 +113,7 @@ function getBuses() {
|
||||
for (const n of range(RESOURCES.miniMes)) {
|
||||
const base = 87 + 4 * (n - 1)
|
||||
buses.push({ key: `mme${n}_bkgd`, label: `MiniME ${n} Background`, tsl: base, dest: `MME:${n}` })
|
||||
buses.push({ key: `mme${n}_pst`, label: `MiniME ${n} Preset`, tsl: base + 1 })
|
||||
buses.push({ key: `mme${n}_pv`, label: `MiniME ${n} Preview`, tsl: base + 1 })
|
||||
for (const k of range(RESOURCES.miniMeKeyers)) {
|
||||
buses.push({ key: `mme${n}_key${k}`, label: `MiniME ${n} Key ${k}`, tsl: base + 1 + k })
|
||||
}
|
||||
|
||||
+3
-3
@@ -45,9 +45,9 @@ module.exports = function (self) {
|
||||
},
|
||||
],
|
||||
)
|
||||
presets[`pst_${source.key}`] = button(
|
||||
'Preset',
|
||||
`${source.label} to Preset`,
|
||||
presets[`pv_${source.key}`] = button(
|
||||
'Preview',
|
||||
`${source.label} to Preview`,
|
||||
text,
|
||||
'xpt',
|
||||
{ vidDest: 'ME:1:PST', vidSource: source.id },
|
||||
|
||||
@@ -87,7 +87,7 @@ test('model tables match the Ross TSL mapping', () => {
|
||||
|
||||
const tsl = Object.fromEntries(getBuses().map((bus) => [bus.key, bus.tsl]))
|
||||
assert.equal(tsl.me1_bkgd, 37)
|
||||
assert.equal(tsl.me1_pst, 38)
|
||||
assert.equal(tsl.me1_pv, 38)
|
||||
assert.equal(tsl.me1_key1, 39)
|
||||
assert.equal(tsl.me1_key4_alpha, 46)
|
||||
assert.equal(tsl.aux1, 67)
|
||||
@@ -101,6 +101,12 @@ test('model tables match the Ross TSL mapping', () => {
|
||||
|
||||
const addresses = getBuses().map((bus) => bus.tsl)
|
||||
assert.equal(new Set(addresses).size, addresses.length)
|
||||
|
||||
// Preview bus (PST) and preview outputs (PV) must stay distinguishable
|
||||
const labels = solo13.map((s) => s.label)
|
||||
assert.equal(new Set(labels).size, labels.length)
|
||||
const keys = solo13.map((s) => s.key)
|
||||
assert.equal(new Set(keys).size, keys.length)
|
||||
})
|
||||
|
||||
test('feedbacks follow the TSL state', () => {
|
||||
|
||||
Reference in new issue
Block a user