Open peternewman opened 1 year ago
To be clear, I'm happy to have a go at adding this support, it's really more a case of whether the Teranex standards converters, which I assume this was written for: https://www.blackmagicdesign.com/products/teranex
Are more or less different than: https://www.blackmagicdesign.com/products/teranexmini
And potentially some of the others listed at the bottom of Broadcast Converters here (which also feature the Teranex name): https://www.blackmagicdesign.com/products
Obviously the protocol seems to match and there will be some other commonality, but maybe the number of different models and presumably range of different controls and parameters means they should be a different module?
I've got some initial actions and feedbacks working fine already, so this is probably time where a decision needs to be made regarding splitting into two different modules, for the newer Teranex Mini 1/3 rack width units or not. Otherwise if they're staying combined, I see you mentioned some auto-detect code @krocheck, could you point to where that is in another module please?
Ugh ... I can probably do it. My code from other BMD devices should let us auto-detect.
_Originally posted by @krocheck in https://github.com/bitfocus/companion-module-bmd-teranex/pull/6#discussion_r441067891_
I think it would make sense to split these out. Perhaps this one should be renamed to teranex-standards-converter
with a new teranex-mini
module.
The difference is port number is the key thing to me that says they should be different. Otherwise it will be a mess to either autodetect the port, or will require the user to choose which will half defeat the aim of autodetection.
Do they have any functional overlap?
My code from other BMD devices should let us auto-detect.
Various other modules do autodetection, how this works depends on the format of the data the device responds with.
In this case, you could do this from the Model: Optical to HDMI
line, or ideally looking at later fragments to discover features, such as the presence of the Lut selection
property suggests the device has a selectable lut.
The latter option should be prefered if possible, as it means not yet released models will potentially partially work before the module is updated for them
Thanks, that makes sense. Would you mind creating a teranex-mini repo and I'll modify the code I'd tweaked in here to just do Teranex Mini.
The difference is port number is the key thing to me that says they should be different. Otherwise it will be a mess to either autodetect the port, or will require the user to choose which will half defeat the aim of autodetection.
The only counter to this would be the Bonjour/Avahi stuff which could auto-populate this info to solve that problem...
Do they have any functional overlap?
I don't really know for sure, I'm sure there will be some basic logical stuff, in terms of output format etc, but whether the actual choices overlap is a different question...
I guess the only challenge with doing it based on properties rather than models is that if different units have say Digital Input with different options, and the preamble doesn't tell you what options it has, only the currently selected one...
Various other modules do autodetection, how this works depends on the format of the data the device responds with. In this case, you could do this from the
Model: Optical to HDMI
line, or ideally looking at later fragments to discover features, such as the presence of theLut selection
property suggests the device has a selectable lut. The latter option should be prefered if possible, as it means not yet released models will potentially partially work before the module is updated for them
I've taken the most extreme version of this possible I think @Julusian whereby all actions/variables/feedback/presets are generated almost on the fly depending on what it finds on the Telnet data. So as soon as it matches day Video Input-Digital Input, it will generate the associated stuff for that from one central config file (as personally I found when adding that one thing having to edit five or six files was a bit of a hassle and lots of almost boilerplate code). I'd appreciate if you've got time to take a look: https://github.com/bitfocus/companion-module-bmd-teranex-mini/pull/1
I don't know if this should go in here or a different module?
Here's what it spews when you first connect for it (sorry for the wonky formatting), it's also on port 9995 rather than the one the others use:
Is that enough info or does more want gathering?