Example #1
0
 private void _SetServerEnableState(bool value, int port)
 {
     if (value)
     {
         StopServer();
         var options = new StartOptions {
             ServerFactory = "Nowin", Port = port
         };                                                                                     //use the Nowin _server to listen for connections
         try
         {
             _server = WebApp.Start <Startup>(options);
         }
         catch (Exception ex)
         {
             Logging.Error("Unable to start web _server.", ex);
             return;
         }
         if (LiveContext == null)
         {
             LiveContext = VixenSystem.Contexts.CreateLiveContext("Web Server");
             LiveContext.Start();
         }
     }
     else
     {
         StopServer();
         if (LiveContext != null)
         {
             //We are the only current consumer of LiveContext, so shut it off when we are done.
             VixenSystem.Contexts.ReleaseContext(LiveContext);
             LiveContext = null;
         }
     }
 }
Example #2
0
        private void _SetServerEnableState(bool value, int port)
        {
            if (value)
            {
                if (server != null)
                {
                    _SetServerEnableState(false, port);
                }

                server = KayakServer.Factory.CreateHttp(new RequestDelegate(), scheduler);
                server.Listen(new IPEndPoint(IPAddress.Any, port));
                LiveContext = VixenSystem.Contexts.CreateLiveContext("Web Server");
                LiveContext.Start();
                Thread T = new Thread(new ThreadStart(scheduler.Start));
                T.Start();
            }
            else
            {
                scheduler.Stop();
                if (server != null)
                {
                    server.Dispose();
                    server = null;
                }
                if (LiveContext != null)
                {
                    //We are the only current consumer of LiveContext, so shut it off when we are done.
                    VixenSystem.Contexts.ReleaseContext(LiveContext);
                    LiveContext = null;
                }
            }
        }
Example #3
0
        private void PreviewPlay()
        {
            if (_previewContext == null)
            {
                _previewContext = VixenSystem.Contexts.CreateLiveContext("Effect Preview");
                _previewContext.Start();
            }
            IEnumerable <EffectNode> orderedNodes = Elements.Select(x => x.EffectNode).OrderBy(x => x.StartTime).ToList();

            if (orderedNodes.Any())
            {
                TimeSpan          startOffset = orderedNodes.First().StartTime;
                TimeSpan          duration    = orderedNodes.Last().EndTime - startOffset;
                List <EffectNode> nodesToPlay =
                    orderedNodes.Select(effectNode => new EffectNode(effectNode.Effect, effectNode.StartTime - startOffset)).ToList();
                _previewContext.Execute(nodesToPlay);
                _previewLoopTimer.Interval = duration.TotalMilliseconds;
                _previewLoopTimer.Start();
            }
        }