/// <summary>
        /// Plugin Preinit
        /// </summary>
        public override void OnEnable()
        {
            _configManager = new PluginConfigurationManager(this);
            _configManager.AddItem(new SettingIni());

            var ortdp = new OsuRTDataProviderWarpper(getHoster().EnumPluings().FirstOrDefault(p => p.Name == "OsuRTDataProvider"), ref _osuDisplayerControls);
            var gui   = getHoster().EnumPluings().FirstOrDefault(p => p.Name == "ConfigGUI");

            TourneyMode        = ortdp.TourneyMode;
            TourneyWindowCount = ortdp.TourneyWindowCount;

            if (gui != null)
            {
                GuiRegisterHelper.RegisterFormatEditorWindow(gui);
            }

            _fixedInterval = TimeSpan.FromSeconds(1.0 / Setting.FPS);

            _fixedUpdateThread = Task.Run(() =>
            {
                while (!_stopFixedUpdate)
                {
                    foreach (var c in _osuDisplayerControls)
                    {
                        foreach (var d in c.Displayers)
                        {
                            d.Value.FixedDisplay(_fixedInterval.TotalSeconds);
                        }
                    }
                    Thread.Sleep(_fixedInterval);
                }
            });

            RegisterDisplayer("wpf", id =>
            {
                var d = new WpfDisplayer(id);
                if (!TourneyMode)
                {
                    d.HideRow(0);
                }
                if (!Setting.DisplayHitObject)
                {
                    d.HideRow(2);
                }
                return(d);
            });

            RegisterDisplayer("mmf", id => new MmfDisplayer(id, "rtpp"));
            RegisterDisplayer("mmf-split", id => new MmfDisplayer(id, "rtpp", true));
            RegisterDisplayer(MultiOutputDisplayer.METHOD_NAME, id => new MultiOutputDisplayer(id, _multiDisplayerCreators, _formatterCreators));
            RegisterDisplayer("text", id => new TextDisplayer(id, string.Format(Setting.TextOutputPath, id == null ? "" : id.Value.ToString())));
            RegisterDisplayer("text-split", id => new TextDisplayer(id, string.Format(Setting.TextOutputPath, id == null ? "" : id.Value.ToString()), true));
            RegisterDisplayer("socket", id => new SocketDisplayer(id, Setting.IpAddress, Setting.Port));

            RegisterFormatter("rtpp-fmt", (fmt) => new RtppFormatter(fmt), "${rtpp@1}pp");
            RegisterFormatter("rtppfmt-bp", (fmt) => new RtppFormatWithBp(fmt), "${rtpp@1}pp (${rtpp_with_weight@1}pp) BP: #${rtbp@0}");

            IO.CurrentIO.WriteColor($"{PLUGIN_NAME} By {PLUGIN_AUTHOR} Ver.{VERSION}", ConsoleColor.DarkCyan);
        }
        /// <summary>
        /// Plugin Init
        /// </summary>
        public override void OnEnable()
        {
            _configManager = new PluginConfigurationManager(this);
            _configManager.AddItem(new SettingIni());

            _ortdp = getHoster().EnumPluings().FirstOrDefault(p => p.Name == "OsuRTDataProvider") as OsuRTDataProviderPlugin;
            var gui = getHoster().EnumPluings().FirstOrDefault(p => p.Name == "ConfigGUI");

            if (gui != null)
            {
                GuiRegisterHelper.RegisterFormatEditorWindow(gui);
            }

            if (_ortdp == null)
            {
                IO.CurrentIO.WriteColor("No found OsuRTDataProvider!", ConsoleColor.Red);
                return;
            }

            int size = TourneyMode ? _ortdp.TourneyListenerManagersCount : 1;

            for (int i = 0; i < size; i++)
            {
                var manager = _ortdp.ListenerManager;
                if (TourneyMode)
                {
                    manager = _ortdp.TourneyListenerManagers[i];
                }
                _osuPpControls[i] = new DisplayerController(manager);
            }

            _fixedInterval = TimeSpan.FromSeconds(1.0 / Setting.FPS);

            _fixedUpdateThread = Task.Run(() =>
            {
                while (!_stopFixedUpdate)
                {
                    lock (_allDisplayerMtx)
                    {
                        foreach (var d in _allDisplayers)
                        {
                            d.Value.FixedDisplay(_fixedInterval.TotalSeconds);
                        }
                    }
                    Thread.Sleep(_fixedInterval);
                }
            });

            RegisterDisplayer("wpf", id => new WpfDisplayer(id));
            RegisterDisplayer("mmf", id => new MmfDisplayer(id));
            RegisterDisplayer("mmf-split", id => new MmfDisplayer(id, true));
            RegisterDisplayer("text", id => new TextDisplayer(string.Format(Setting.TextOutputPath, id == null ? "" : id.Value.ToString())));
            RegisterDisplayer("text-split", id => new TextDisplayer(string.Format(Setting.TextOutputPath, id == null ? "" : id.Value.ToString()), true));
            RegisterDisplayer("console", id => new ConsoleDisplayer());

            IO.CurrentIO.WriteColor(PLUGIN_NAME + " By " + PLUGIN_AUTHOR, ConsoleColor.DarkCyan);
        }
Example #3
0
        public override void OnEnable()
        {
            Plugin guiPlugin = getHoster().EnumPluings().FirstOrDefault(p => p.Name == "ConfigGUI");

            if (guiPlugin != null)
            {
                GuiRegisterHelper.RegisterCustomItem(guiPlugin, client);
            }
        }
Example #4
0
        private void OsuLiveStatusPanelPlugin_onLoadComplete(PluginEvents.LoadCompleteEvent evt)
        {
            SyncHost host = evt.Host;

            SetupPlugin(host);

            Plugin config_gui = getHoster().EnumPluings().FirstOrDefault(p => p.Name == "ConfigGUI");

            if (config_gui != null)
            {
                GuiRegisterHelper.RegisterConfigGui(config_gui, PPShowPluginInstance);
            }
        }