New CasparCG client: SuperConductor released

Hey! Great client, love using it so far.

I’m wondering if SuperConductor supports the use of stored data? Or if not, then what techniques are people using to get data through at the moment?

I’ve only recently began using CasparCG, and am not aware of the best workflows for this kind of thing yet.

You mean to send data to templates? Most of the time data is sent with the CG ADD or CG UPDATE commands. This allow to send data directly to a template. The DATA commands are mostly used to prepare data beforehand or with a separate program.

For instance if you have a tool, that downloads weather data (etc.) you can make it to use the DATA commands to set predefined datasets. Durring broadcast the template uses the name of the dataset in question, to get the last updated data. In a news program that can be very hand, as everyday the templates showing weather data do not need to be edited, as long as the name of the dataset is not changed.

Thanks for the response! I have templates all programmed and ready to go, and an application that obtains real time scoreboard data from a video game for an esports application.

I was planning on using the DATA commands for the transfer of information between my game event listener and CasparCG, but I can’t seem to find any implementation in SuperConductor to specify that the data should be used in the templates.

If not, my backup solution is to use both clients at the same time, using Superconductor for video playback and CasparCG Client for live data implementation… But i would like to avoid this if I can. :joy:

I think that SuperConductor does not yet support use of external data files. If it did support stored data the properties inspector for the items would include a tick box to send the data set name rather than the XML/JSON key+value sets (i.e. like the classic client has).

There are two methods that allow you to use SuperConductor as a front end to control use of external data via middleware. Whilst somewhat “clunky” they work.

If the number of templates you require to control is relatively small, you can use the “classic” client as the middleware. Create the command in the client, enabling the remote control of the item in the inspector. Enter a simple UID for that item, such as results01 or leaderboard. In SuperConductor add an OSC device to your bridge entering the tcp address and port for the machine running the classic client. Client version 2.2 default OSC control port is 3250, but this can be changed in the client config.

In SuperConductor add OSC events to a part. Set the OSC path to use your allocated classic item UID. For example to play the item with a UID of leaderboard use the OSC path /control/leaderboard/play Make sure there is an integer value of 1 that is part of the entry. The value is part of teh command validation You can send further commands by changing the action at the end of the OSC string. Examples include:

/control/leaderboard/stop
/control/leaderboard/next
/control/leaderboard/update

A second option requires you to create your own middleware. Create an application, for example in node.js using the express library to listen for http traffic on a port and path of your choice. You need to attach an event to the listener for either/both GET or POST events. You also need to have a tcp telnet style connection that connects to your CasparCG server. When the middleware receives the http traffic it parses the content, forming an AMCP control message that it sends to CasparCG. In SuperConductor add an HTTP Send device to your bridge.

To send data to your middleware add an http instance to a SuperConductor part. Enter the message properties in the inspector boxes - request type (GET or POST), URL and port of the middleware and parameters (key + value) that are interpreted by your middleware. At present SuperConductor only supports keys named param0, param1 etc. It should allow you to name the key, but there is a bug in the entry form. When the item is actioned it sends the GET or POST request to the middleware adding the param+values as defined for the method.

For example using a GET request to a localhost middleware listening on port 2000 with a path of /template sends a request in the format:

http://127.0.0.1:2000/template?param0=play&param1=leaderboard

Yeah there isn’t any support for external data sources as of today. However that’s something we’ve definitely been thinking about adding in a later release.

If you have ideas or suggestions for what type of data (Db-connections, data services, file formats etc) you’d like support for, please share! :slightly_smiling_face:

2 Likes

We released a new version, 0.11.0!
The main features are:

Multi select and edit
You can now select multiple Groups, Parts or Timeline-objects and edit their properties in bulk:
221198272-d99fae2a-60ee-4981-9bd3-9b63ea43af9c

GUI improvement: Countdown timers
Adds various countdown timers to the GUI:
When not playing, the “Total duration” (the sum of all Parts) of the Group is displayed.
224773708-1501b293-abe0-4f04-b75b-72624fea025b
When the Group is playing, the following are displayed:

“Remaining time” to the end of the Group.
The timestamp of when the Group will finish playing (or will loop).
“Countdowns to next start” for each Part.
224775162-9c42a057-d025-4043-a9ae-78d66660dca3

Support for GDD (Graphics Data Definition) in CasparCG graphics templates
(previously discussed at Metadata for Templates - #9 by Nytamin)
A GDD-template is a graphics template that expose a schema/manifest with information about the template.
For example, it might say that it supports 2 text fields as input, or a list of numbers.
SuperConductor will then show the correct input form.
221197720-ff016877-bcdf-4640-8a7b-71ec106389d0

Full release details here:

5 Likes

Thanks @Nytamin, great work, it looks very nice.

One quick question: when playing a video the signal goes to black when it ends, instead of staying frozen on last frame; is this intended behaviour? any way of keeping the last frame on the signal?

Yes that’s how it currently works, however your suggestion is a good one! Could you please open a feature request and I’ll look into it for a later release?

1 Like

Is it possible to create a playlist for a specific day in the next week and SuperConductor will automaticly play it?

That’s nice.
And is it possible to build playlist outside SuperConductor and it will be played automatic?

I have made this playlist:

It should start weekly wensday 21:00:00
But when I turn Schedule active, it starts…

Why is that?

This seems like a bug, please report this on github: Issues · SuperFlyTV/SuperConductor · GitHub

Have done that, hope somebody will look into this, as I intend to use the software next week…

Does the rundown has to be open to start playing a scheduled rundown?

When i have made playlist that starts on day and time, close the program and open it again, my playlist does not playout.
Seems to play, but not on any output.

See my post at https://casparcgforum.org/t/superfly-superconductor-howto-auto-play-and-innitilaze-output-s-on-reboot/6357

Same type issue. Superconductor is playing when opened but does not initialize Casper server unless the play button is pressed after SC is opened. I have a work-around in my post but not sure how it will work with a scheduled playback.

I’ve published an updated version of SuperConductor just earlier today, which should fix the not-playing-on-startup issue.
Please update to the latest version (0.11.2) and see if it solves your issues. (If not, please reopen the bug report on Github).

Thank you. It now works properly with the 0.11.2 update.

1 Like

can SuperConductor start and stop a decklink input in casparCG?
i need to build a group that runs some adds then does a squeeze pops up a live input, the resets and restarts the playlist.
I thought this would be a good time to try out SuperConductor.

Thanks.