Beispiel #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);
        }
Beispiel #2
0
        public void MainHandler(NameValueCollection parameters)
        {
            TestPlugin      addon = KodiBridge.RunningAddon as TestPlugin;
            List <ListItem> items = new List <ListItem> {
                new ListItem(
                    label: "AudioPlayer",
                    url: addon.BuildNavUrl("/audio"),
                    isFolder: true,
                    art: new Dictionary <Art, string> {
                    { Art.Poster, "https://upload.wikimedia.org/wikipedia/commons/2/25/Kodi-logo-Thumbnail-light-transparent.png" },
                    { Art.Fanart, "https://images.pexels.com/photos/167092/pexels-photo-167092.jpeg?dl&fit=crop&crop=entropy&w=6000&h=4000" }
                }
                    ),
                new ListItem(
                    label: "Events",
                    url: addon.BuildNavUrl("/events"),
                    isFolder: true
                    ),
                new ListItem(
                    label: "Nav",
                    url: addon.BuildNavUrl("/nav"),
                    isFolder: true
                    ),
                new ListItem(
                    label: "Playlist",
                    url: addon.BuildNavUrl("/playlist"),
                    isFolder: true
                    ),
                new ListItem("Item 2"),
                new ListItem("Item 3")
            };

            List.Add(items);
            List.Show();

            UiBuiltins.Notification(
                header: "My Notification",
                message: "Hello World from C#",
                duration: TimeSpan.FromSeconds(10)
                );

            /*
             * Persistent variables preserve their value between multiple plugin invokations,
             * unlike python in XBMC where everything is destroyed when the plugin is invoked again (e.g navigating between pages).
             * This is possible due to Assembly Domain that is created by the CLR once the plugin is loaded for the first time.
             **/
            TestPluginState.LastMainPageVisitTime = DateTime.Now;
        }
Beispiel #3
0
        public static void MainHandler(NameValueCollection parameters)
        {
            TestPlugin      addon = KodiBridge.RunningAddon as TestPlugin;
            List <ListItem> items = new List <ListItem> {
                new ListItem(
                    label: "AudioPlayer",
                    url: addon.BuildNavUrl("/audio"),
                    isFolder: true
                    ),
                new ListItem(
                    label: "Events",
                    url: addon.BuildNavUrl("/events"),
                    isFolder: true
                    ),
                new ListItem(
                    label: "Nav",
                    url: addon.BuildNavUrl("/nav"),
                    isFolder: true
                    ),
                new ListItem("Item 2"),
                new ListItem("Item 3")
            };

            List.Add(items);
            List.Show();

            //Console.WriteLine("Settings Test: " + addon.Settings["test"]);

            UiBuiltins.Notification(
                header: "My Notification",
                message: "Hello World from C#",
                duration: TimeSpan.FromSeconds(10)
                );

            /*
             * Persistent variables preserve their value between multiple plugin invokations,
             * unlike python in XBMC where everything is destroyed when the plugin is invoked again (e.g navigating between pages).
             * This is possible due to Assembly Domain that is created by the CLR once the plugin is loaded for the first time.
             **/
            TestPluginState.LastMainPageVisitTime = DateTime.Now;
        }
Beispiel #4
0
        public void NavHandler(NameValueCollection parameters)
        {
            TestPlugin addon = KodiBridge.RunningAddon as TestPlugin;

            string itemLabel = "Go to Main";

            if (TestPluginState.LastMainPageVisitTime != null)
            {
                itemLabel += string.Format(" (Last Visited: {0})", TestPluginState.LastMainPageVisitTime.Value.ToString());
            }

            List <ListItem> items = new List <ListItem> {
                new ListItem(
                    label: itemLabel,
                    url: addon.BuildNavUrl("/"),
                    isFolder: true
                    ),
            };

            Console.WriteLine(string.Format("ListItem label is '{0}'", items[0].Label));

            List.Add(items);
            List.Show();
        }
Beispiel #5
0
 public TestControl(TestPlugin plugin) : this()
 {
     Plugin      = plugin;
     DataContext = plugin.Config;
 }