private void Start_OnClick(object sender, RoutedEventArgs e) { string parameterText = Parameter.Text; if (ComboBox.SelectedItem == null) { return; } if (((LEDPIProcessorBase.LEDModules)ComboBox.SelectedItem) == LEDPIProcessorBase.LEDModules.Pictures && string.IsNullOrEmpty(parameterText)) { parameterText = "c:\\Temp\\Bilder"; } ModulePlaylist playlist = new ModulePlaylist() { Loop = false, ModuleConfigurations = new ObservableCollection <ModuleConfiguration>() { new ModuleConfiguration() { Duration = 0, Module = (LEDPIProcessorBase.LEDModules)ComboBox.SelectedItem, Parameter = parameterText, OneTime = false }, } }; kit.RunModule(playlist); }
static public void Execute(string playlist, string parameter) { if (!string.IsNullOrEmpty(playlist)) { using (StreamReader r = new StreamReader(playlist)) { parameter = r.ReadToEnd(); } } ModulePlaylist mp = JsonConvert.DeserializeObject <ModulePlaylist>(parameter); try { LEDPIProcessorKit kit = new LEDPIProcessorKit(); kit.RunModule(mp, true); } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); } }
private void OnValidateCB(GameObject obj) { IRuntimeService service = Services.GetService <IRuntimeService>(); IRuntimeModulePlaylistService service2 = Services.GetService <IRuntimeModulePlaylistService>(); List <RuntimeModuleConfiguration> list = new List <RuntimeModuleConfiguration>(); if (this.guiModules.Count == 0 || this.guiModules[0].Module.Type != RuntimeModuleType.Standalone) { list.Add(new RuntimeModuleConfiguration(service.VanillaModuleName)); } int i = 0; int count = this.guiModules.Count; while (i < count) { list.Add(new RuntimeModuleConfiguration(this.guiModules[i].Module.Name)); i++; } ModulePlaylist anonymousModulePlaylist = ModulePlaylist.GetAnonymousModulePlaylist(list.ToArray()); Amplitude.Unity.Framework.Application.Registry.SetValue(global::Application.Registers.LastModulePlaylistActivated, anonymousModulePlaylist.Name); Amplitude.Unity.Framework.Application.Registry.SetValue(global::Application.Registers.AnonymousModulePlaylist, ModulePlaylist.GetConfigurationUrl(anonymousModulePlaylist.Configuration)); service2.CurrentModulePlaylist = anonymousModulePlaylist; global::RuntimeManager.LobbyData = this.LobbyData; service.ReloadRuntime(anonymousModulePlaylist.Configuration); this.Hide(false); Diagnostics.Progress.Clear(); Diagnostics.Progress.SetProgress(0.9f, "%LoadingRuntimeModules"); object obj2 = new LoadingScreen.DontDisplayAnyLoadingTip(); base.GuiService.Show(typeof(LoadingScreen), new object[] { "GUI/DynamicBitmaps/Backdrop/Pov_Auriga", obj2 }); }
public static void FormatVersionAndModulePlaylist(AgeControlButton buttonLastPlaylist, AgePrimitiveLabel currentModulePlaylistLabel, AgePrimitiveLabel versionLabel) { if (currentModulePlaylistLabel != null) { currentModulePlaylistLabel.Text = "%ModDefaultTitle"; currentModulePlaylistLabel.GetComponentInParent <AgeTooltip>().Content = string.Empty; } if (buttonLastPlaylist != null) { buttonLastPlaylist.AgeTransform.Enable = false; } if (versionLabel != null) { versionLabel.Text = Amplitude.Unity.Framework.Application.Name.ToString() + " " + Amplitude.Unity.Framework.Application.Version.ToString(); string a; if (global::Application.ResolveChineseLanguage(out a)) { if (a == "schinese") { versionLabel.Text = AgeLocalizer.Instance.LocalizeString("%SChineseApplicationName") + " " + Amplitude.Unity.Framework.Application.Version.ToString(); } else if (a == "tchinese") { versionLabel.Text = AgeLocalizer.Instance.LocalizeString("%TChineseApplicationName") + " " + Amplitude.Unity.Framework.Application.Version.ToString(); } } versionLabel.AgeTransform.AgeTooltip.Content = string.Empty; } Amplitude.Unity.Gui.IGuiService service = Services.GetService <Amplitude.Unity.Gui.IGuiService>(); IRuntimeService service2 = Services.GetService <IRuntimeService>(); ModulePlaylist modulePlaylist = Services.GetService <IRuntimeModulePlaylistService>().CurrentModulePlaylist; if (modulePlaylist != null && modulePlaylist.Name == "VanillaModulePlaylist") { modulePlaylist = null; } if (modulePlaylist != null && modulePlaylist.Configuration.Length == 1 && modulePlaylist.Configuration[0].ModuleName == service2.VanillaModuleName) { modulePlaylist = null; } if (modulePlaylist == null) { string empty = string.Empty; string empty2 = string.Empty; if (Amplitude.Unity.Framework.Application.Registry.TryGetValue(global::Application.Registers.LastModulePlaylistActivated, out empty) && Amplitude.Unity.Framework.Application.Registry.TryGetValue(global::Application.Registers.LastModulePlaylistActivatedUrl, out empty2) && empty != "VanillaModulePlaylist") { if (buttonLastPlaylist != null) { buttonLastPlaylist.AgeTransform.Enable = true; } if (currentModulePlaylistLabel != null) { GuiElement guiElement; if (service.GuiPanelHelper.TryGetGuiElement(empty, out guiElement)) { currentModulePlaylistLabel.Text = AgeLocalizer.Instance.LocalizeString("%OutgameLastPlaylistTitle").Replace("$PlaylistName", AgeLocalizer.Instance.LocalizeString(guiElement.Title)); } else { currentModulePlaylistLabel.Text = AgeLocalizer.Instance.LocalizeString("%OutgameLastPlaylistTitle").Replace("$PlaylistName", empty); } ModulePlaylist modulePlaylist2 = new ModulePlaylist(empty, string.Empty, null, ModulePlaylist.ParseConfigurationUrl(empty2)); modulePlaylist2.RepairPlaylistIfInvalid(); string newValue = string.Join("\n - ", MenuMainScreen.GetPlaylistModuleTitles(modulePlaylist2)); currentModulePlaylistLabel.GetComponentInParent <AgeTooltip>().Content = AgeLocalizer.Instance.LocalizeString("%OutgameLastPlaylistDescription").Replace("$ModuleNames", newValue); return; } } } else if (service2 != null && service2.Runtime != null) { modulePlaylist.RepairPlaylistIfInvalid(); string newValue2 = modulePlaylist.Name; if (modulePlaylist.IsAnonymous) { newValue2 = AgeLocalizer.Instance.LocalizeString("%AnonymousActiveModulePlaylist"); } string content = string.Join("\n", MenuMainScreen.GetPlaylistModuleTitles(modulePlaylist)); if (currentModulePlaylistLabel != null) { currentModulePlaylistLabel.Text = AgeLocalizer.Instance.LocalizeString("%ModPlaylistActiveFormat").Replace("$Playlist", newValue2); currentModulePlaylistLabel.GetComponentInParent <AgeTooltip>().Content = content; } if (versionLabel != null) { string text = AgeLocalizer.Instance.LocalizeString("%GameMenuPlaylistFormat").Replace("$Playlist", newValue2); if (!string.IsNullOrEmpty(text)) { versionLabel.Text = versionLabel.Text + "\n" + text; versionLabel.AgeTransform.AgeTooltip.Content = content; } } } }
public static string[] GetPlaylistModuleTitles(ModulePlaylist playlist) { MenuMainScreen.< GetPlaylistModuleTitles > c__AnonStoreyA5E <GetPlaylistModuleTitles> c__AnonStoreyA5E = new MenuMainScreen.< GetPlaylistModuleTitles > c__AnonStoreyA5E();
private void ImportButton_OnClick(object sender, RoutedEventArgs e) { _playlist = JsonConvert.DeserializeObject <ModulePlaylist>(JSON.Text); PlaylistGrid.ItemsSource = _playlist.ModuleConfigurations; Loop.IsChecked = _playlist.Loop; }
public void RunModule(ModulePlaylist playlist, bool awaitTask = false) { try { bool firstRun = true; currentImage = new Image <Rgba32>(LEDWidth, LEDHeight); lastModule?.Stop(); // setup timer after a delay, because we need the correct system time Task.Run(() => { #if !DEBUG Thread.Sleep(60 * 1000); #endif playlist.ModuleConfigurations.Where(c => !string.IsNullOrEmpty(c.CronTime)).ToList().ForEach(c => SetUpTimer(c)); }); Task task = Task.Run(() => { while (firstRun || playlist.Loop) { firstRun = false; foreach (ModuleConfiguration moduleConfiguration in playlist.ModuleConfigurations.Where(c => string.IsNullOrEmpty(c.CronTime))) { List <ModuleConfiguration> configurations = new List <ModuleConfiguration>(); if (moduleConfiguration.Module == LEDModules.Grouped) { configurations.AddRange(moduleConfiguration.SubConfigurations); } else { configurations.Add(moduleConfiguration); } foreach (ModuleConfiguration configuration in configurations) { ModuleBase module = GetModuleBase(configuration); while (module.IsRunning) { lastModule = module; Thread.Sleep(_frameRate); module.Start(processor); } } } } }); if (awaitTask) { Task.WaitAll(new Task[] { task }); } } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); } }