Example #1
0
        public void Establish()
        {
            //Cleanup();
            /* Einklinken in ExecutorWindow */
            ExecutorWindow = WindowManager.getInstance().GuiWindows.First(j => j.GetType() == typeof(ExecutorView)) as ExecutorView;
            foreach (var item in dynExecutors)
            {
                item.executorWindow = ExecutorWindow;
            }
            var ewType = typeof(ExecutorView);

            ExecutorWindowListBox = ewType.GetField("lstPages", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(ExecutorWindow) as System.Windows.Forms.ListBox;
            ExecutorWindowListBox.SelectedValueChanged += HandleCurrentExecutorPageChanged;
            ExecutorWindowListBox.SelectedIndexChanged += HandleCurrentExecutorPageChanged;

            MidiPlugin.log.Info("ExecutorWindow hook established.");

            var currentItem = ExecutorWindowListBox.SelectedItem as ListBoxItem; /* Fetch current item */

            if (currentItem != null)
            {
                CurrentExecutorPage = ConnectionManager.getInstance().GuiSession.GetExecutorPageByID(currentItem.ID);
                HandleCurrentExecutorPageChanged(null, null); /* Update this. */
            }
            try
            {
                InputLayerManager.getInstance().registerInputListener(this);
            }
            catch (Exception)
            {
                MidiPlugin.log.Warn("Dynamic Executors already registered.");
            }
        }
Example #2
0
 private void OnRuleSetDeleted(object o, MidiInformation.RuleSetEventArgs rs)
 {
     if (this.RuleSetDeleted != null)
     {
         this.RuleSetDeleted(this, rs);
     }
     if (rs.rs != null && rs.rs.InputLayer != null)
     {
         InputLayerManager.getInstance().deregisterInputLayer(rs.rs.InputLayer);
         rs.rs.Dispose();
     }
 }
Example #3
0
 private void OnRuleSetAdded(object o, MidiInformation.RuleSetEventArgs rs)
 {
     if (rs.rs != null && rs.rs.InputLayer != null)
     {
         try
         {
             InputLayerManager.getInstance().registerInputLayer(rs.rs.InputLayer);
         }
         catch (Exception x)
         {
             Debug.WriteLine(x);
         }
         if (this.RuleSetAdded != null)
         {
             this.RuleSetAdded(this, rs);
         }
     }
 }
Example #4
0
        public void Cleanup()
        {
            if (ExecutorWindowListBox != null)
            {
                ExecutorWindowListBox.SelectedIndexChanged -= HandleCurrentExecutorPageChanged;
                ExecutorWindowListBox.SelectedValueChanged -=
                    HandleCurrentExecutorPageChanged;
            }
            /* Einklinken in ExecutorWindow */

            MidiPlugin.log.Info("ExecutorWindow hook broken.");
            try
            {
                InputLayerManager.getInstance().deregisterInputListener(this);
            }
            catch (Exception)
            {
                MidiPlugin.log.Info("ExecutorWindowHelper not registered.");
            }
            ExecutorWindowListBox = null;
            ExecutorWindow        = null;
        }
Example #5
0
 private void genInputLayer()
 {
     this.InputLayer = new MidiInputLayer(InputLayerManager.getInstance().SessionName, this);
 }