.net Library - StarDust.CasparCG.net

Hi All,

For all .net developper (included .net core).

I just released a nuget package to control CasparCG.
I provide also a lib to receive OSC message.

I started from the old .net library provide by the SVT Team. I added some enhancement to allow Dependency Injection, and a better mechanism for the tcp reconnection.
I separed also the models into a nuget package.

Package is here
GitHub is here

If you want more infos or you have some feature request don’t hesitate.

If you want to contribute to this project, contact me by message.



Nice work, thanks!

Wow! It’s awesome!

Romain, is it possible to use or convert in .Net “Full” Framework project?

Really great job. Congrats.

Yes , It is possible I can do that.

Why don’t you want to use dot net core ?


Yes it is possible to use net core or net standard libraries in ‘full framework’ applications. I do this myself with other libs to create small windows desktop applications.

I guess dot netcore still doesn’t support WPF well.

I tried to convet to .net standard and import it before, but it seems some code was broken when I did it… perhaps I have done something wrong. =(

Dear DanBra,

I convert this project to .net standard library. So now you can use this lib in .net 461 and .net core
Please give me feedback.

Nuget here


i have used the library in .netcore but it gives channel count =0


Do you declare a channel in your Server config ?
What is the version of CasparCG Server ?
Can you type the INFO command on the casparCG server prompt and send me the result ?


Hi :slight_smile:
I’m having issues with the cg.update command.
I can see it takes the layer number and an ICGDataContainer.
How can I feed the string into that ICGDataContainer?

Can you provide an example please? :slight_smile:Thanks!

Hi Joel,

I fix the problem in the new version, the update command didn’t work.
I add example in the demo project.

type cg add and then cg update in the console app if you want to test :wink:

I copy the code if you want to test directly in your app


 var data = new CasparCGDataCollection();
 data.Add("f0", "my awesome text");
 channel.CG.Update(20, data);

Thanks for fixing this.

Been using this for my first casparcg controller app, actually also my first WPF app.
Thanks for the library!

Can I know what is the application type that you are developing ?

I’m developing a client for an operator.

The people operating it are not very tech oriented, and this way they won’t have to mess with rundowns in the official client.

Current features:
Loading text files from a folder, splitting it every couple of lines and feeding it to a custom template.
You can control the progress of this template with buttons: next, back, stop, restart.
You can also play any video on the server, complete with loop toggle :slight_smile:
Bottom bar with currently playing video info, and a progress bar.
Display lower thids, with an option to auto-stop after x seconds (UI configurable).
Emergency button triggers a complete channel wipe.

The UI is kind of messy now, but it gets the job done!

@rom1 I’m having a few issues, and after some trial and error I’m out of ideas.

  • How do I set a transition? The CasparPlayingInfoItem.Transition is a getter only.
  • Can’t seem to use cg.update. The xml string is sent to the server but it errors out and nothing happens.

As far as I can tell, the only difference for a string that is handled OK by my template (sent from official client) and a string sent by the lib, is spaces, or at least some kind of character after each of the xml tags end.

Just to keep you guys all updated, i figured out my cg.update syntax was wrong.
Also refactored my template to parse xml using jQuery, and now everything is running ok.

Still can’t figure out the transitions :wink:


I just fix problem. Now you can set the transition.

this seems very nice hard work pays off

Thanks @rom1!
New issue has arised.
Using the latest library versions my code no longer works.
Asking for the media files on casparcg server will never return data.

channel = casparCGServer.Channels.FirstOrDefault()

is now returning a null.

Privacy Policy   Terms of Service