コード例 #1
0
 void RenderActiveFrame(ObsTransform liveFeedFrame)
 {
     ScreenAnchorLeft = liveFeedFrame.Origin.X;
     ScreenAnchorTop  = liveFeedFrame.Origin.Y;
     SetCamera(liveFeedFrame.Camera);
     ObsManager.SizeAndPositionItem(this, (float)liveFeedFrame.Scale, liveFeedFrame.Opacity, liveFeedFrame.Rotation, liveFeedFrame.Flipped);
 }
コード例 #2
0
 private static void HubtasticBaseStation_OnUpdateVideoFeed(object sender, VideoFeedDto videoFeedDto)
 {
     LiveFeedAnimator.ScreenAnchorLeft = videoFeedDto.X;
     LiveFeedAnimator.ScreenAnchorTop  = videoFeedDto.Y;
     if (videoFeedDto.Scale == 0)
     {
         videoFeedDto.Scale = 1;
     }
     ObsManager.SizeAndPositionItem(LiveFeedAnimator, (float)videoFeedDto.Scale, 1, videoFeedDto.Rotation);
 }
コード例 #3
0
        void StartLiveFeedAnimation(string itemName, string sceneName, double playerX, double videoAnchorHorizontal, double videoAnchorVertical, double videoWidth, double videoHeight, double targetScale, double timeMs)
        {
            SceneItem sceneItem = ObsManager.GetSceneItem(sceneName, itemName);

            SceneItemProperties sceneItemProperties = ObsManager.GetSceneItemProperties(itemName, sceneName);
            double startScale = sceneItemProperties.Bounds.Height / videoHeight;

            VideoFeed[]    videoFeeds        = GetVideoFeeds(sceneName, itemName, videoAnchorHorizontal, videoAnchorVertical, videoWidth, videoHeight);
            LiveFeedScaler liveFeedAnimation = new LiveFeedScaler(videoFeeds, playerX, startScale, targetScale, timeMs);

            if (!sceneItem.Render)
            {
                ObsManager.SizeAndPositionItem(liveFeedAnimation, (float)liveFeedAnimation.TargetScale);
            }
            else
            {
                liveFeedAnimation.Render += LiveFeedAnimation_Render;
            }
        }
コード例 #4
0
        private void LiveFeedAnimation_Render(object sender, LiveFeedScaler e)
        {
            float scale = (float)e.GetTargetScale();

            ObsManager.SizeAndPositionItem(e, scale);
        }