logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
AnonymousDev  
#1 Posted : Sunday, March 11, 2018 6:10:20 PM(UTC)
AnonymousDev

Rank: Newbie

Groups: Registered
Joined: 3/11/2018(UTC)
Posts: 4
Location: Oklahoma

Hello fellow peeps, I'm having quite a bit of trouble figuring this out despite furiously googling for a span of 2 days.

I have a working WPF C# Scoreboard Application for VMIX that successfully modifies and rewrites an XAML (and this XAML can import sucessfully into vmix with no issue) So its meant to be like a scoreboard companion changing the score and has a countdown timer too and all of that jazz.

All of those color/text/image changes go to the XAML but the question is, how can I get vmix to update these XAML changes to the XAML that is inside of vmix?

Like for example I have a sample scoreboard.xaml with a simple canvas and textbox, I import this to VMix and it shows as intended. I want for my 3rd party app to be able to change the text/colors/images and apply those changes to that scoreboard.xaml imported into vmix. How can I do this?

EDIT: I've looked at the Universal Title Controller source code and that sadly hasn't helped me much.
doggy  
#2 Posted : Sunday, March 11, 2018 6:20:09 PM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 5,216
Belgium
Location: Belgium

Thanks: 291 times
Was thanked: 955 time(s) in 790 post(s)
From what i understand the xaml file is generated externally before being loaded in vMix ?

i would say "reload it" after you changed the xaml ? cogwheel of xaml input , click "change" but keep same and confirm ?
AnonymousDev  
#3 Posted : Sunday, March 11, 2018 6:30:09 PM(UTC)
AnonymousDev

Rank: Newbie

Groups: Registered
Joined: 3/11/2018(UTC)
Posts: 4
Location: Oklahoma

Yes this XAML is generated outside of VMIX via Microsoft blend.

However I want the app to somehow "talk to vmix" mabye via web api, im still looking. And somehow just update that XAML every time I make a change.

I understand that when VMIX imports a file it stores it into a "memory buffer" so any changes made to that outside file wont affect the one that is stored in vmix.
doggy  
#4 Posted : Sunday, March 11, 2018 6:44:48 PM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 5,216
Belgium
Location: Belgium

Thanks: 291 times
Was thanked: 955 time(s) in 790 post(s)
There are tricks to change apearances etc based on content within the title (check the forum) but overall as far as i know you can not change the xaml itself from outside
doggy  
#5 Posted : Sunday, March 11, 2018 6:48:17 PM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 5,216
Belgium
Location: Belgium

Thanks: 291 times
Was thanked: 955 time(s) in 790 post(s)
Quote:
WPF C# Scoreboard Application for VMIX that successfully modifies and rewrites an XAML

and
Quote:
this XAML is generated outside of VMIX via Microsoft blend


so which is it ?
AnonymousDev  
#6 Posted : Sunday, March 11, 2018 6:59:01 PM(UTC)
AnonymousDev

Rank: Newbie

Groups: Registered
Joined: 3/11/2018(UTC)
Posts: 4
Location: Oklahoma

I create a scoreboard.xaml from microsoft blend, with my app I modify the scoreboard.xaml that came from microsoft blend (modifying team 1's score or colors in REALTIME). When I import my scoreboard.xaml to vmix any changes made to the scoreboard.xaml i want to apply those changes to vmix by updating it somehow.
doggy  
#7 Posted : Sunday, March 11, 2018 7:11:17 PM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 5,216
Belgium
Location: Belgium

Thanks: 291 times
Was thanked: 955 time(s) in 790 post(s)
i see

no the (scoring)app is not modifying the xaml title but rather the "data" fields like a textblock. these updates can be done within the title input (richtclick the input) or with external commands like httprequests.

as i understand you are "updating" a score within blend , which is basically redesigning the xaml file rather than having edible field within your xaml file that can be updated "externally"

have you analysed some of the scoring titles that come with vmix and compared them with yours ?

do you have an example ?



AnonymousDev  
#8 Posted : Sunday, March 11, 2018 7:19:27 PM(UTC)
AnonymousDev

Rank: Newbie

Groups: Registered
Joined: 3/11/2018(UTC)
Posts: 4
Location: Oklahoma

I'm Actively right now looking at other scoreboard apps for vmix and see how they work but I apologize for not exactly being clear. Its a WPF app that I made with visual studio community in c#, this is changing the "Data" fields of that xaml like yes the textblock for example. But no this isnt happening inside of blend.

The requirements is to have these data fields like a text block change constantly in realtime i.e. Team 1/Team 2 Scores and a Countdown timer, other stuff like color and image can be set once like the Team Color and Team Icon.
doggy  
#9 Posted : Sunday, March 11, 2018 7:37:37 PM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 5,216
Belgium
Location: Belgium

Thanks: 291 times
Was thanked: 955 time(s) in 790 post(s)
any app that that needs to update data in a title needs to send that data by means of a httprequest (see http web api in the help files)

its up to the code in that app how to handle the frequency of the changing or the data needed. even excel can do it instantly when updating see https://forums.vmix.com/default.aspx?g=posts&m=12905#post12905

the app needs to handle the processing of the data ; how to get it , process it and send it to the title

miljansoax  
#10 Posted : Monday, March 12, 2018 7:39:23 AM(UTC)
miljansoax

Rank: Member

Groups: Registered
Joined: 3/5/2018(UTC)
Posts: 10
Location: Belgrade

Was thanked: 8 time(s) in 4 post(s)
@ AnonymousDev

C# sample:
Code:

string strRequest = "http://127.0.0.1:8088/API/?Function=QuickPlay&Input=<input key>";
WebClient vmixapi = new WebClient();
Stream stream = vmixapi.OpenRead(strRequest);


or
Code:

string strRequest = "http://127.0.0.1:8088/API/?Function=QuickPlay&Input=<input key>";
WebBrowser vmixapi = new WebBrowser();
vmixapi.Navigate(new Uri(strRequest));
Thread.Sleep(50);
vmixapi.Dispose();


Changing text:
Code:

?Function=SetText&Input=<Input Key>&SelectedName=<Name from title>&Value=<value>;
Users browsing this topic
Guest (3)
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.