コード例 #1
0
        public override int DefaultRoute()
        {
            TestPlugin addon = KodiBridge.RunningAddon as TestPlugin;

            //ConsoleHelper.CreateConsole();
            Console.WriteLine("TestPlugin v1.0 - Smx");

            using (var sum = PyVariableManager.NewVariable()) {
                sum.Value = "1+2";
                PyConsole.WriteLine("Result: " + sum);
            }

            //Console.WriteLine("Settings['test'] => " + addon.Settings["test"]);

            using (var dict = PyVariableManager.NewVariable()) {
                Dictionary <string, string> TestDict = new Dictionary <string, string> {
                    { "hello", "python" },
                    { "dict", "test" }
                };
                dict.Value = TestDict.ToPythonCode();
                PyConsole.WriteLine("Dict: " + dict);
            }

            PyConsole.WriteLine("Hello Python");

            //ConsoleHelper.FreeConsole();
            return(0);
        }
コード例 #2
0
ファイル: TestPlugin.cs プロジェクト: devna13/KodiSharp
        /// <summary>
        /// Plugin Main Logic
        /// </summary>
        /// <returns></returns>
        public override int PluginMain()
        {
            ConsoleHelper.CreateConsole();
            Console.WriteLine("TestPlugin v1.0 - Smx");

            var sum = mgr.NewVariable();

            sum.Value = "1+2";
            PyConsole.WriteLine("Result: " + sum);
            sum.Dispose();

            var dict = mgr.NewVariable();
            Dictionary <string, string> TestDict = new Dictionary <string, string> {
                { "hello", "python" },
                { "dict", "test" }
            };

            dict.Value = TestDict.ToPythonCode();
            PyConsole.WriteLine("Dict: " + dict);
            dict.Dispose();

            PyConsole.WriteLine("Hello Python");

            //ConsoleHelper.FreeConsole();
            return(0);
        }
コード例 #3
0
ファイル: TestPlugin.cs プロジェクト: mediabuff/KodiSharp
        /// <summary>
        /// Plugin Main Logic
        /// </summary>
        /// <returns></returns>
        public override int PluginMain()
        {
            ConsoleHelper.CreateConsole();
            Console.WriteLine("TestPlugin v1.0 - Smx");

            var sum = mgr.NewVariable();

            sum.Value = "1+2";
            PyConsole.WriteLine("Result: " + sum);
            sum.Dispose();

            PyConsole.WriteLine("Hello Python");

            //ConsoleHelper.FreeConsole();
            return(0);
        }
コード例 #4
0
        public bool TriggerEvent(KodiEventMessage e)
        {
            switch (e.Source)
            {
            case "onPlayBackEnded":
                PlayBackEnded?.Invoke(null, new EventArgs());
                break;

            case "onPlayBackPaused":
                PlayBackPaused?.Invoke(null, new EventArgs());
                break;

            case "onPlayBackResumed":
                PlayBackResumed?.Invoke(null, new EventArgs());
                break;

            case "onPlayBackSeek":
                PlayBackSeek?.Invoke(null, new PlayBackSeekEventArgs(Convert.ToInt32(e.EventArgs[0]), Convert.ToInt32(e.EventArgs[1])));
                break;

            case "onPlayBackSeekChapter":
                PlayBackSeekChapter?.Invoke(null, new PlayBackSeekChapterEventArgs(Convert.ToInt32(e.EventArgs[0])));
                break;

            case "onPlayBackSpeedChanged":
                PlayBackSpeedChanged?.Invoke(null, new PlayBackSpeedChangedEventArgs(Convert.ToInt32(e.EventArgs[0])));
                break;

            case "onPlayBackStarted":
                PlayBackStarted?.Invoke(null, new EventArgs());
                break;

            case "onPlayBackStopped":
                PlayBackStopped?.Invoke(null, new EventArgs());
                break;

            case "onQueueNextItem":
                QueueNextItem?.Invoke(null, new EventArgs());
                break;

            default:
                PyConsole.WriteLine(string.Format("Unknown event '{0}' not handled", e.Source));
                return(false);
            }
            return(true);
        }
コード例 #5
0
ファイル: Events.cs プロジェクト: mediabuff/KodiSharp
        public static bool DispatchPlayerEvent(KodiEventMessage e)
        {
            switch (e.Sender)
            {
            case "onPlayBackEnded":
                PlayBackEnded?.Invoke(e.Sender, new EventArgs());
                break;

            case "onPlayBackPaused":
                PlayBackPaused?.Invoke(e.Sender, new EventArgs());
                break;

            case "onPlayBackResumed":
                PlayBackResumed?.Invoke(e.Sender, new EventArgs());
                break;

            case "onPlayBackSeek":
                PlayBackSeek?.Invoke(e.Sender, new PlayBackSeekEventArgs(int.Parse(e.EventArgs[0]), int.Parse(e.EventArgs[1])));
                break;

            case "onPlayBackSeekChapter":
                PlayBackSeekChapter?.Invoke(e.Sender, new PlayBackSeekChapterEventArgs(int.Parse(e.EventArgs[0])));
                break;

            case "onPlayBackSpeedChanged":
                PlayBackSpeedChanged?.Invoke(e.Sender, new PlayBackSpeedChangedEventArgs(int.Parse(e.EventArgs[0])));
                break;

            case "onPlayBackStarted":
                PlayBackStarted?.Invoke(e.Sender, new EventArgs());
                break;

            case "onPlayBackStopped":
                PlayBackStopped?.Invoke(e.Sender, new EventArgs());
                break;

            case "onQueueNextItem":
                QueueNextItem?.Invoke(e.Sender, new EventArgs());
                break;

            default:
                PyConsole.WriteLine(string.Format("Unknown event '{0}' not handled", e.Sender));
                return(false);
            }
            return(true);
        }
コード例 #6
0
ファイル: Monitor.cs プロジェクト: mediabuff/KodiSharp
        private bool onEvent(KodiEventMessage e)
        {
            switch (e.Sender)
            {
            case "onAbortRequested":
                AbortRequested?.Invoke(e.Sender, new EventArgs());
                break;

            case "onCleanStarted":
                CleanStarted?.Invoke(e.Sender, new LibraryEventArgs(e.EventArgs[0]));
                break;

            case "onCleanFinished":
                CleanFinished?.Invoke(e.Sender, new LibraryEventArgs(e.EventArgs[0]));
                break;

            case "onDPMSActivated":
                DPMSActivated?.Invoke(e.Sender, new EventArgs());
                break;

            case "onDPMSDeactivated":
                DPMSDeactivated?.Invoke(e.Sender, new EventArgs());
                break;

            case "onDatabaseScanStarted":
                DatabaseScanStarted?.Invoke(e.Sender, new DatabaseEventArgs(e.EventArgs[0]));
                break;

            case "onDatabaseUpdated":
                DatabaseUpdated?.Invoke(e.Sender, new DatabaseEventArgs(e.EventArgs[0]));
                break;

            case "onNotification":
                Notification?.Invoke(e.Sender, new NotificationEventArgs(
                                         e.EventArgs[0], e.EventArgs[1], e.EventArgs[2]
                                         ));
                break;

            case "onScanStarted":
                ScanStarted?.Invoke(e.Sender, new LibraryEventArgs(e.EventArgs[0]));
                break;

            case "onScanFinished":
                ScanFinished?.Invoke(e.Sender, new LibraryEventArgs(e.EventArgs[0]));
                break;

            case "onScreensaverActivated":
                ScreensaverActivated?.Invoke(e.Sender, new EventArgs());
                break;

            case "onScreensaverDeactivated":
                ScreensaverDeactivated?.Invoke(e.Sender, new EventArgs());
                break;

            case "onSettingsChanged":
                SettingsChanged?.Invoke(e.Sender, new EventArgs());
                break;

            default:
                PyConsole.WriteLine(string.Format("Unknown event '{0}' not handled", e.Sender));
                return(false);
            }
            return(true);
        }
コード例 #7
0
        protected sealed override void OnExecute(Command command, ExecutionContext context, Rectangle buttonRect)
        {
            var dlg = new PyConsole(mLicenseWrapper);

            dlg.ShowDialog();
        }
コード例 #8
0
 internal void Init(PyConsole pyConsole)
 {
     this.pyConsole = pyConsole;
 }