public override void Initialize() { TestWriteConfig(); var listner = new ExtensionPlaylistManagerListener(); Player.Core.RegisterExtension(listner); var result = Player.Core.CreateObject <IAimpMenuItem>(); if (result.ResultType == ActionResultType.OK) { IAimpMenuItem demoFormItem = result.Result as IAimpMenuItem; demoFormItem.Name = "Open demo form"; demoFormItem.Id = "demo_form"; demoFormItem.Style = MenuItemStyle.CheckBox; demoFormItem.OnExecute += DemoFormItemOnOnExecute; demoFormItem.OnShow += (sender, args) => { var item = sender as IAimpMenuItem; Logger.Instance.AddInfoMessage($"Event: [Show] {item.Id}"); }; Player.ServiceMenuManager.Add(ParentMenuType.CommonUtilities, demoFormItem); } _hook = new MessageHook(); Player.ServiceMessageDispatcher.Hook(_hook); _demoForm = new PlayerForm(Player, _hook); CreateMenuWithAction(); TestReadConfig(); _aimpOptionsDialogFrame = new OptionsDialogFrame(); Player.Core.RegisterExtension(_aimpOptionsDialogFrame); }
private void CreateMenuWithAction() { var menuItemResult = Player.Core.CreateAimpObject <IAimpMenuItem>(); if (menuItemResult.ResultType == ActionResultType.OK) { IAimpMenuItem actionMenuItem = Player.Core.CreateAimpObject <IAimpMenuItem>().Result; var action = Player.Core.CreateAimpObject <IAimpAction>().Result; action.Id = "aimp.MenuAndActionsDemo.action.1"; action.Name = "Simple action title"; action.GroupName = "Menu And Actions Demo"; action.OnExecute += (sender, args) => { var item = sender as IAimpAction; Logger.Instance.AddInfoMessage($"Event: [Execute] {item.Id}"); }; Player.ServiceActionManager.Register(action); actionMenuItem.Name = "Menu item with linked action"; actionMenuItem.Id = "aimp.MenuAndActionsDemo.menuitem.with.action"; actionMenuItem.Action = action; Player.ServiceMenuManager.Add(ParentMenuType.CommonUtilities, actionMenuItem); var secondAction = Player.Core.CreateAimpObject <IAimpAction>().Result; secondAction.Id = Guid.NewGuid().ToString(); secondAction.Name = "Action 2"; secondAction.GroupName = "Menu And Actions Demo"; secondAction.DefaultGlobalHotKey = Player.ServiceActionManager.MakeHotkey(ModifierKeys.Control, (uint)KeyInterop.VirtualKeyFromKey(Key.B)); Player.ServiceActionManager.Register(secondAction); var menuItem2 = Player.Core.CreateAimpObject <IAimpMenuItem>().Result; menuItem2.Id = Guid.NewGuid().ToString(); menuItem2.Name = "Simple action 2"; menuItem2.Action = secondAction; Player.ServiceMenuManager.Add(ParentMenuType.CommonUtilities, menuItem2); } }