Discussion about the specification of a new "official" client

Hello,
I would like this client to be not just for clip and titles playout, but also a 24/7 chanel playout.
When playing out html templates, it would be nice to see the playing items highlighted for the whole time they are being played, not just until next thing is played.
I’d like to see LOADBG, PLAY, NEXT, PAUSE and STOP buttons in the interface, so it could be controlled not just with keyboard or through the menus.
Nice optional feature would be if it detected what aspect ratio is the content, and send corresponding MIXER command to add pillar boxes etc.
Interface operated via web browser would be awesome, but I guess not much people think the same way. Of course user accounts would have to be implemented.

I really hope the client will still be multiplatform, as I don’t see a way we could broadcast with those Win10 crashes. After the “upgrade” we now have to be literarily sticked to screens and ready to switch to backup whenever playout server decides to crash.

I work for a czech non-commercial TV and I hope that we could some day switch to CasparCG-only environment. I’m tired of non working overpriced SW with horrible support. Right now we are testing CasparCG with official client for clip and title playout during live events.

The official client should not lean in to the playout solution way.

It should be as generic as the current client is, IMHO .

1 Like

I like the client, as it is. What would be great, to have a much more bigger Countdown-timer in the top.

Dear Didikunz,

My suggestion is to add another player option in the same interface where drag and drop of can be possible to different rundown.

Also, the new server version have a draw back to run scanner.exe separately to update the LIBRARY/MEDIA folder.

Rest I think is good to have a simple but easy to use look.

Thanks & Regards,
Debasish

Would it be possible to have a way to do addons with the client? The client could be a nice functional base as the current client is. Then if you wanted a custom function you could add it on yourself and share it with others without reinventing the wheel for all of the functions each time.

It could then maybe be delivered as a more minimal product and over time all kinds of features could be added as necessary, and supported as separate modules / addons by the people who care about that specific part?

For example an addon built to control a specific html template could be integrated with a nice ui panel, alongside another addon which is reading information from a spreadsheet and storing that information inside the client to be used in the other template control addon.
Instead of that use case being one very specific custom made client for that exact html template, it would be much easier to adapt to other uses, for people who couldn’t make a whole custom client. There could be more consistent design language too for all the different types of uses of caspar. (like casparmav, cg, playout, clients all looking quite similar and no reinventing the wheel each time)

Just an idea!

3 Likes

I like that idea. It would need a carefully designed interface for these addons, so that they could store their data etc. Worth to think about.

I think everything was said, just think that c++ will bring less persons to help and a plugin system will be perfect. Giving the example of OBS.
Even if the main core will be c++ but if a plugin system can be created with a easier code language will be very nice.

1 Like

If I had to pick a stack, I’d go with Electron and either Vue or React. Then plugins could be written in JS (the best language :smile:)

2 Likes

I was thinking about the plug-in architecture and trying to condense together what has been said earlier above:

The UI of each event in the playlist could be handled by a plug-in. The plug-ins event prototypes would list on the left in an individual pane, or could be added to the existing panes or could be made to list in a custom pane, that could be specific to a program type. So, for instance a plugin could handle a specific template. As soon as the user adds this event to the playlist that UI is shown. It could then allow any external data to be loaded etc. or only display a custom UI that add specific element tailored for the given template.

We could also use this for all events like the mixer effects, where it would show the appropriate sliders and stuff for the effect. That could also be used to handle for instance the TriCaster commands we have in the current client, so that the ones that needs these commands can load the plug-in and everybody else would have a less cluttered UI.

Questionable would be, if it would make sense to be able to build plug-in’s for group headers. That would allow for looping groups or time scheduled groups or whatever ideas pops up.

1 Like

A few other things, that I draw from the wish list’s above:

  • Basic look and feel should be kept. The way the panes are outlined; left multiple panes of “event prototypes” (the toolbox), middle the playlist, right the inspector. If possible, it would be nice to make these panes to arrange differently (like in Visual Studio or Adobe programs) and to safe these window configurations. Also, a way to arrange two playlists side by side and do drag and drop between them would be useful.

  • CasparCG Servers residing on the same machine should configurable to start together with the client. That includes the scanner.

  • Better OSC support and a better integration to Companion. Probably we could develop a custom Companion plug-in, that communicates with the client directly and not only via OSC.

  • A mapping function for the keyboard shortcuts and also buttons in the interface to control the playout.

  • Programmed in JavaScript and based on Electron.

3 Likes

I don’t think I have spoken about languages before, but I’d strongly advice TypeScript over JavaScript as that will make the whole app much more maintainable.

2 Likes

Sure, you are right.

Well, I got some suggestions… Where to start.

GUI wise I would like to see;

  • Custom hotkeys (preferably changeable by default AND within rundown).

  • As mentioned in this topic, movable and scalable windows.

  • Drag and drop behavior change; Add visual indicator and make it so it drops in between instead of on the item.

  • Multi edit; Edit all of the same variables when Multiple items are selected.

Colors:

  • Normal naming or show the colors themselves. More variation is also a nice thing.

Add Item:

  • Tools > Label ( An Item just for labeling.)

Groups

  • Groups can nest (so large portions can be collapsed if not needed anymore.)

  • Group indicators. Preferably a list of parameters with a show/hide toggle in the settings. For example: Channel status. Show group video audio channel outputs.

  • Checkbox to block playing of this group

Why you don’t use sofie TV for jour usage ?

Hi!
thank you for this suggestion. I will be revisiting this option soon. The problems I saw when I first wanted to try Sofie was that it looks like it requires more preparation time before the broadcast, and its relative complexity for potential troubleshooting. It would also introduce workflow very different from what my colleagues know, so it requires more learning.

1 Like

I’ve been reading this thread and thinking for a while now.
I think the main thing “lacking” in the current client is the way data is sent to templates.
Maybe a way the client looks at a template and when it is clicked, an expand button within the rundown list allowing all data variables to become visible and knowing they are actually correctly relevant to the template because the client has pulled them for the template.

This could then have a tabular row layout with
“Field Name” “Manually input data” “link to data source” which allows to browse to a certain cell in a spreadsheet or database or something.

I´m using “Preview” to check them before they go on air :wink:

@dan if you happen to run your client on Ubuntu 18.04 I do have a patched version of the Client with auto-step added for videos, images and audio files, which I can share with you.

A few years ago I’ve spent a fair amount of time cleaning up the Client code, but my pull requests didn’t get anywhere, so I’ve moved on.

You should still be able to find my PRs on on the Client repo on github. If you wish you can also trying building a Windows version with them.

D-mo

@ThommiTechnik I have recently re-wrote my timer app, so it works with the new and old Server. It shows current time, event time and last video count down. I still need to write better documentation for it, but you can find it here:

I also have builds for Raspberry Pi. We have several of them set up through out the facility. You can even set them up to monitor different channels.

D-mo

If only the treasures they’ve promised us were true… :stuck_out_tongue_winking_eye: Maybe for simple projects yes. But for any decent size project things get ugly pretty fast.

C++ is also cross-platform on source code level. And C++ with Qt probably runs on more platforms than Electron.

No need to be afraid of C++. It has come a long way. :smile: