Beispiel #1
0
        public Task GetStatus()
        {
            StatusViewModel vm = new StatusViewModel();

            vm.bpm        = StreamingSetup.GetBPM();
            vm.IsAutoMode = EffectService.IsAutoModeRunning();

            return(Clients.All.SendAsync("Status", vm));
        }
Beispiel #2
0
        public async Task <List <Dictionary <string, LightLocation> > > ExportJson([FromRoute] string groupName)
        {
            var locations = await StreamingSetup.GetLocationsAsync(groupName);

            return(locations.GroupBy(x => x.Bridge)
                   .Select(x => x.ToDictionary(l => l.Id, loc => new LightLocation()
            {
                loc.X, loc.Y, 0
            })).ToList());
        }
Beispiel #3
0
        public async Task Disconnect()
        {
            EffectService.CancelAllEffects();

            StreamingSetup.Disconnect();
            await Clients.All.SendAsync("effects", new EffectsVM());

            await Clients.All.SendAsync("StatusMsg", "DISCONNECTED...");

            GetStatus();
        }
Beispiel #4
0
        public async Task GetStatus()
        {
            var configs = await StreamingSetup.GetGroupConfigurationsAsync();

            StatusViewModel vm = new StatusViewModel();

            vm.bpm        = StreamingSetup.GetBPM();
            vm.IsAutoMode = EffectService.IsAutoModeRunning();
            vm.AutoModeHasRandomEffects = EffectService.AutoModeHasRandomEffects;
            vm.ShowDisconnect           = !(StreamingSetup.CurrentConnection?.HideDisconnect ?? false);
            vm.GroupNames   = configs.Select(x => x.Name).ToList();
            vm.CurrentGroup = StreamingSetup.CurrentConnection?.Name;

            await Clients.All.SendAsync("Status", vm);
        }
Beispiel #5
0
        public async Task Connect(string groupName)
        {
            await Clients.All.SendAsync("StatusMsg", $"Connecting to bridge for group {groupName}...");

            try
            {
                //Connect
                await StreamingSetup.SetupAndReturnGroupAsync(groupName);

                await Clients.All.SendAsync("StatusMsg", "Connected to bridge");

                await GetEffects(true);
                await GetStatus();
            }
            catch (Exception ex)
            {
                await Clients.All.SendAsync("StatusMsg", $"Failed to connect to bridge for group {groupName}, " + ex);
            }
        }
Beispiel #6
0
 public Task <List <MultiBridgeLightLocation> > FullExportJson([FromRoute] string groupName)
 {
     return(StreamingSetup.GetLocationsAsync(groupName));
 }
Beispiel #7
0
        public async Task <IActionResult> Configure()
        {
            var config = await StreamingSetup.GetGroupConfigurationsAsync();

            return(View(config));
        }
Beispiel #8
0
 public Task Locate(MultiBridgeLightLocation light)
 {
     return(StreamingSetup.AlertLight(light));
 }
Beispiel #9
0
 public Task SetLocations(List <MultiBridgeLightLocation> locations)
 {
     return(StreamingSetup.SetLocations(locations));
 }
Beispiel #10
0
        public async Task GetLocations(string groupName)
        {
            var locations = await StreamingSetup.GetLocationsAsync(groupName);

            Clients.Caller.SendAsync("newLocations", locations);
        }
Beispiel #11
0
        public void SetBri(double value)
        {
            StreamingSetup.SetBrightnessFilter(value);

            Clients.Others.SendAsync("Bri", value);
        }
Beispiel #12
0
 public Task SetBPM(int value)
 {
     StreamingSetup.SetBPM(value);
     return(GetStatus());
 }
Beispiel #13
0
 public Task IncreaseBPM(int value)
 {
     StreamingSetup.IncreaseBPM(value);
     return(GetStatus());
 }
Beispiel #14
0
        public IActionResult Configure()
        {
            var config = StreamingSetup.GetGroupConfigurations();

            return(View(config));
        }