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
natep  
#1 Posted : Monday, January 15, 2018 5:50:14 PM(UTC)
natep

Rank: Newbie

Groups: Registered
Joined: 12/20/2017(UTC)
Posts: 6

Thanks: 1 times
Was thanked: 3 time(s) in 1 post(s)
Would love to see a big red "STREAM" or "RECORD" status on the multiview fullscreen output, simmiliar to what you see in the main screen.
doggy  
#2 Posted : Tuesday, January 16, 2018 1:07:58 AM(UTC)
doggy

Rank: Advanced Member

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

Thanks: 291 times
Was thanked: 955 time(s) in 790 post(s)
Why not use a title text linked to a datasource for the status ?

XML datasource
URL http://127.0.0.1:8088/api
XPATH //recording ( or //streaming)

and then get fancy and design a title with item reacting in color based on the returned value (some examples are somewhere in this forum)
thanks 2 users thanked doggy for this useful post.
natep on 1/16/2018(UTC), Renato_SBC on 2/16/2018(UTC)
natep  
#3 Posted : Tuesday, January 16, 2018 7:45:34 PM(UTC)
natep

Rank: Newbie

Groups: Registered
Joined: 12/20/2017(UTC)
Posts: 6

Thanks: 1 times
Was thanked: 3 time(s) in 1 post(s)
Huh.... didn't even think about that! Time to go experiment - THANKS!
natep  
#4 Posted : Wednesday, January 17, 2018 1:14:42 PM(UTC)
natep

Rank: Newbie

Groups: Registered
Joined: 12/20/2017(UTC)
Posts: 6

Thanks: 1 times
Was thanked: 3 time(s) in 1 post(s)
Thanks for the hint on this. In case anyone else would benefit, here is the XAML for the title I am going with. I added datasources for Recording and Streaming, and it shows as True or False. When Recording or Streaming is inactive, the background is gray with a 50% text opacity. When active ("True") is is white text with a red background. The dimensions of the box and size of the text are specific for Bebas Neue Bold font.

Code:

<UserControl x:Class="StatusBlocks"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" Width="1920" Height="1080" xmlns:my="clr-namespace:vMixTitleLibrary;assembly=vMixTitleLibrary">
    <Grid Margin="223.5,235.5,0,0"  HorizontalAlignment="Left" VerticalAlignment="Top" Height="681.833" Width="1397.415" RenderTransformOrigin="0,0" >

        <TextBlock x:Name="RecordingStatusValue" Visibility="Hidden"/>
        <TextBlock x:Name="StreamingStatusValue" Visibility="Hidden"/>

        <Rectangle x:Name="RecordingStatusBlock" Margin="199.708,33.833,121.707,374">
            <Rectangle.Style>
                <Style TargetType="{x:Type Rectangle}">
                    <Setter Property="Fill" Value="#FF9B9B9B" />
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding Text, ElementName=RecordingStatusValue}" Value="True">
                            <Setter Property="Fill" Value="Red"/>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Text, ElementName=RecordingStatusValue}" Value="False">
                            <Setter Property="Fill" Value="#FF9B9B9B"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Rectangle.Style>
        </Rectangle>		
		
        <Rectangle x:Name="StreamingStatusBlock" Margin="199.708,357.833,121.707,50">
            <Rectangle.Style>
                <Style TargetType="Rectangle">
                    <Setter Property="Fill" Value="#FF9B9B9B" />
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding Text, ElementName=StreamingStatusValue}" Value="True">
                            <Setter Property="Fill" Value="Red"/>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Text, ElementName=StreamingStatusValue}" Value="False">
                            <Setter Property="Fill" Value="#FF9B9B9B"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Rectangle.Style>
        </Rectangle>

		<TextBlock x:Name="RecordingText" TextAlignment="Center" Height="274" Margin="237.708,10,153.707,397.833" FontFamily="Bebas Neue Bold" FontSize="280" Text="RECORDING" Foreground="White">
		    <TextBlock.Style>
                <Style TargetType="TextBlock">
                    <Setter Property="Opacity" Value="0.5" />
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding Text, ElementName=RecordingStatusValue}" Value="True">
                            <Setter Property="Opacity" Value="1" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Text, ElementName=RecordingStatusValue}" Value="False">
                            <Setter Property="Opacity" Value="0.5" />
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </TextBlock.Style>
		</TextBlock>
		
		<TextBlock x:Name="StreamingText" TextAlignment="Center" Height="274" Margin="237.708,328.833,153.707,79" FontFamily="Bebas Neue Bold" FontSize="280" Text="STREAMING" Foreground="White">
			<TextBlock.Style>
                <Style TargetType="TextBlock">
                    <Setter Property="Opacity" Value="0.5" />
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding Text, ElementName=StreamingStatusValue}" Value="True">
                            <Setter Property="Opacity" Value="1" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Text, ElementName=StreamingStatusValue}" Value="False">
                            <Setter Property="Opacity" Value="0.5" />
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </TextBlock.Style>
		</TextBlock>
	</Grid>
</UserControl>
thanks 3 users thanked natep for this useful post.
Renato_SBC on 2/16/2018(UTC), Slaver on 2/18/2018(UTC), corporatejames on 6/17/2018(UTC)
doggy  
#5 Posted : Wednesday, January 17, 2018 1:47:10 PM(UTC)
doggy

Rank: Advanced Member

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

Thanks: 291 times
Was thanked: 955 time(s) in 790 post(s)
Nice !
Slaver  
#6 Posted : Sunday, February 18, 2018 4:53:15 AM(UTC)
Slaver

Rank: Advanced Member

Groups: Registered
Joined: 9/27/2014(UTC)
Posts: 112
Location: Germany

Thanks: 27 times
Was thanked: 8 time(s) in 8 post(s)
This is a very great thing what you guys created here.

Any ideas why this is not working on my end? Is there more to do than putting the code in an xaml file und import to vmix? I can see the Record / Stream Buttons but nothing happens when i start Recording oder Streaming.

Thank you!
doggy  
#7 Posted : Sunday, February 18, 2018 5:17:09 AM(UTC)
doggy

Rank: Advanced Member

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

Thanks: 291 times
Was thanked: 955 time(s) in 790 post(s)
Have you set a XML datasource to URL http://127.0.0.1:8088/api with XPATH to //recording ( or //streaming)

see 2nd post in this thread and also above the code where Natep mentions "I added datasources for Recording and Streaming, and it shows as True or False."

Have you mapped 'RecordingStatusValue' in the title editor to this Datasource ? (similar for StreamingStatusValue)

Might want to check the help files
thanks 1 user thanked doggy for this useful post.
Slaver on 2/18/2018(UTC)
Slaver  
#8 Posted : Sunday, February 18, 2018 11:39:40 AM(UTC)
Slaver

Rank: Advanced Member

Groups: Registered
Joined: 9/27/2014(UTC)
Posts: 112
Location: Germany

Thanks: 27 times
Was thanked: 8 time(s) in 8 post(s)
Finally i get it done!

Thank you
Marvin
doggy  
#9 Posted : Sunday, February 18, 2018 11:54:07 AM(UTC)
doggy

Rank: Advanced Member

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

Thanks: 291 times
Was thanked: 955 time(s) in 790 post(s)
DOn't know what the issue is , i tested and it works for recording (haven't tested streaming in the title)
I do know that since more recent versions of vMix there is also a counter running in the xml file but shouldn't matter

EDIT: make sure you don't use 'auto' in your title datasource column selection as it will become the duration counter instead the fals/true text !

doggy attached the following image(s):
DS1.JPG (53kb) downloaded 18 time(s).
DS2.JPG (68kb) downloaded 16 time(s).

You cannot view/download attachments. Try to login or register.
Speegs  
#10 Posted : Tuesday, March 6, 2018 12:52:50 AM(UTC)
Speegs

Rank: Advanced Member

Groups: Registered
Joined: 8/3/2013(UTC)
Posts: 405
Location: Gold Coast, Australia

Thanks: 27 times
Was thanked: 76 time(s) in 58 post(s)
Anyway to link the RecordingStatusValue or Streaming one, so that when you close the XAML and put it back into a project it remains connected to the data source?

Essentially I want to skip step 2. Linking the columns somehow. If the datasource had to be named a certain way that make sense. Or if the contents of the XAML file at to reference something like.

$DS:XML:Table:XML:Column:#text or something like that?

If not would be a good feature for Vmix, being able to address a data sourse column via a XAML or Title.
doggy  
#11 Posted : Tuesday, March 6, 2018 6:15:58 AM(UTC)
doggy

Rank: Advanced Member

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

Thanks: 291 times
Was thanked: 955 time(s) in 790 post(s)
Save/load as preset
Users browsing this topic
Guest (2)
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.