예제 #1
0
        public async Task Tilt(Direction direction, int speed)
        {
            string directionValue;
            int    finalSpeed = speed > 0 && speed <= 20 ? speed : 10;

            switch (direction)
            {
            case Direction.Up:
                directionValue = "up";
                break;

            case Direction.Down:
                directionValue = "down";
                break;

            default:
                directionValue = "stop";
                break;
            }
            var message = new VaddioCameraStateRequest()
            {
                tilt = new VaddioCameraStateDirections()
                {
                    speed = finalSpeed, direction = directionValue
                }
            };

            await ExecuteStateCallAsync(message);
        }
예제 #2
0
        public async Task Pan(Direction direction, int speed)
        {
            string directionValue;
            int    finalSpeed = speed > 0 && speed <= 24 ? speed : 12;

            switch (direction)
            {
            case Direction.Left:
                directionValue = "left";
                break;

            case Direction.Right:
                directionValue = "right";
                break;

            default:
                directionValue = "stop";
                break;
            }

            var message = new VaddioCameraStateRequest()
            {
                pan = new VaddioCameraStateDirections()
                {
                    speed = finalSpeed, direction = directionValue
                }
            };

            await ExecuteStateCallAsync(message);
        }
예제 #3
0
        public async Task Zoom(Direction direction, int speed)
        {
            string directionValue;
            int    finalSpeed = speed > 0 && speed <= 7 ? speed : 3;

            switch (direction)
            {
            case Direction.In:
                directionValue = "in";
                break;

            case Direction.Out:
                directionValue = "out";
                break;

            default:
                directionValue = "stop";
                break;
            }
            var message = new VaddioCameraStateRequest()
            {
                zoom = new VaddioCameraStateDirections()
                {
                    speed = finalSpeed, direction = directionValue
                }
            };

            await ExecuteStateCallAsync(message);
        }
예제 #4
0
        public async Task PanTilt(Direction panDirection, Direction tiltDirection, int panSpeed, int tiltSpeed)
        {
            string panDirectionValue;
            int    panFinalSpeed = panSpeed > 0 && panSpeed <= 24 ? panSpeed : 12;

            switch (panDirection)
            {
            case Direction.Left:
                panDirectionValue = "left";
                break;

            case Direction.Right:
                panDirectionValue = "right";
                break;

            default:
                panDirectionValue = "stop";
                break;
            }

            string tiltDirectionValue;
            int    tiltFinalSpeed = tiltSpeed > 0 && tiltSpeed <= 20 ? tiltSpeed : 10;

            switch (tiltDirection)
            {
            case Direction.Up:
                tiltDirectionValue = "up";
                break;

            case Direction.Down:
                tiltDirectionValue = "down";
                break;

            default:
                tiltDirectionValue = "stop";
                break;
            }

            var message = new VaddioCameraStateRequest()
            {
                pan = new VaddioCameraStateDirections()
                {
                    speed = panSpeed, direction = panDirectionValue
                },
                tilt = new VaddioCameraStateDirections()
                {
                    speed = tiltSpeed, direction = tiltDirectionValue
                }
            };

            await ExecuteStateCallAsync(message);
        }
예제 #5
0
        private async Task ExecuteStateCallAsync(VaddioCameraStateRequest request)
        {
            var content = JsonContent.Create <VaddioCameraStateRequest>(request);

            await ExecuteCall(stateEndpoint, content);
        }