public void Play(int projectId)
        {
            var video = dispatcher.Dispatch(VideoActions.GetVideoForProject(projectId));

            Guard.This(video).AgainstDefaultValue("No video found for project");

            mp3Player = new Mp3AudioPlayer();
            mp3Player.Load(video.AudioFilePath);

            var appPreferences = dispatcher.Dispatch(AppPreferencesActions.GetAppPreferences());

            var startTime = DateTime.Now.AddMilliseconds(appPreferences.PlaybackBuffer);

            foreach (var devicePlayback in devicePlaybacks)
            {
                devicePlayback.Client.PlayVideo(devicePlayback.ProjectDeviceId,
                                                new Pi.Api.ApiRequests.PlayVideoRequest
                {
                    PlayAt           = startTime,
                    TimeReferenceUrl = string.Format("http://{0}:8001/api/time", GetTimeReferenceHost(devicePlayback.Client))
                });
            }

            while (DateTime.Now.CompareTo(startTime.AddMilliseconds(-20)) < 0)
            {
                continue;
            }

            mp3Player.Play();
        }
        private void Search()
        {
            currentSearchTokenSource = new CancellationTokenSource();

            var appPreferences = dispatcher.Dispatch(AppPreferencesActions.GetAppPreferences());

            foreach (var ipAddress in appPreferences.GetIpAddressRange())
            {
                try
                {
                    if (pinger.IsResponding(ipAddress) && fadeCandyPinger.IsFadecandyDevice(ipAddress))
                    {
                        var hostName = pinger.GetHostName(ipAddress);
                        discoveredDevices.Enqueue(new DiscoveredDevice
                        {
                            Name      = hostName,
                            IpAddress = ipAddress
                        });
                    }
                }
                catch (Exception ex)
                {
                    logger.LogException(ex);
                }
            }
        }
        public void CanGetAppPreferences()
        {
            using (var dbFactory = new TestDbConnectionFactory())
                using (var conn = dbFactory.Database())
                {
                    var appPreferences = AppPreferencesActions.GetAppPreferences().Function(conn);

                    Assert.NotNull(appPreferences);
                }
        }
        public void CanSetAppPreferences()
        {
            using (var dbFactory = new TestDbConnectionFactory())
                using (var conn = dbFactory.Database())
                {
                    var appPreferences = new AppPreferences
                    {
                        DeviceSearchStartIp = "192.168.1.250",
                        DeviceSearchEndIp   = "192.168.1.255"
                    };

                    var updatedAppPreferences = AppPreferencesActions.UpdateAppPreferences(appPreferences).Function(conn);

                    Assert.Equal(appPreferences.DeviceSearchStartIp, updatedAppPreferences.DeviceSearchStartIp);
                    Assert.Equal(appPreferences.DeviceSearchEndIp, updatedAppPreferences.DeviceSearchEndIp);
                }
        }
Example #5
0
        public Pinger(IDataAccessDispatcher dispatcher)
        {
            var appPreferences = dispatcher.Dispatch(AppPreferencesActions.GetAppPreferences());

            pingTimeout = appPreferences.PingTimeout;
        }
        public GlobalJsonResult <AppPreferences> UpdatePreferences([FromBody] AppPreferences preferences)
        {
            var result = dispatcher.Dispatch(AppPreferencesActions.UpdateAppPreferences(preferences));

            return(GlobalJsonResult <AppPreferences> .Success(System.Net.HttpStatusCode.OK, result));
        }
        public GlobalJsonResult <AppPreferences> GetAll()
        {
            var result = dispatcher.Dispatch(AppPreferencesActions.GetAppPreferences());

            return(GlobalJsonResult <AppPreferences> .Success(System.Net.HttpStatusCode.OK, result));
        }