• 1
  • 11
  • 12
  • 13(current)
  • 14
  • 15
  • 20
Advanced Kodi Launcher - Game and Emulators frontend for Kodi
Hi, so I examine the log and see that it need more permission to launch hyperspin, so I launch kodi as administrator and it works now. Thanks again
Reply
I wish to use AKL as my local PC game launcher(without steam or emulator), I installed all the plugins and could not find the entry menu wrote here: Category · chrisism/plugin.program.akl Wiki (github.com)
Would you please give me a hint how to do that, and how the configuration items works too?
Reply
@mikty glad you were able to work it out.
(2023-03-24, 04:14)tufeixp Wrote: I wish to use AKL as my local PC game launcher(without steam or emulator), I installed all the plugins and could not find the entry menu wrote here: Category · chrisism/plugin.program.akl Wiki (github.com)
Would you please give me a hint how to do that, and how the configuration items works too?

You have to go into advanced kodi launcher and open the context menu, the context menu can be opened by pressing c on your keyboard. One of the menu items in the context menu will be add category.
Reply
Thanks, I pressed c and add a category named "PC Games", but it's empty, then I go to the AKL settings menu and set the all three Paths to my game folder, nothing happens and it's still empty under my new category. How can AKL find my standalone pc game exes?
Reply
(2023-02-13, 09:26)ippytick Wrote:
(2023-02-12, 07:20)ippytick Wrote: Hi, I'm setting up a new kodi instance running version 20 (Nexus). In the past I have used advanced emulator launcher for games and browsers but being that there isn't a release for the latest version of Kodi I've decided to try AKL.

Today I have managed to setup all my games to run with the Arctic Zephyr reloaded skin and the retroplayer emulator which I am happy to report all works well. However when trying to launch the firefox browser to a specific website I am at a bit of a loss.

How does one setup a launcher to acheive this? I am sure it is the Rom Collection (standalone option) but I can't work it out. Once upon a time I used to create a shortcut file to the browsers .exe file then include the url in the shortcuts target and then link AEL to that file.
Ok I was an idiot but I’ve worked it out now. To start firefox at a particular website I had to
  1. Add new ROM (Standalone)
  2. Select the appropriate category
  3. Answer “No” to is it a file based ROM/executable
  4. Write the name for the launcher “Firefox”
  5. Go into the context menu of the newly created launcher
  6. Edit ROM
  7. Add new launcher to ROM
  8. Select Application launcher
  9. Find and select the firefox.exe
  10. In the Application arguments enter the website I wanted firefox to open to “www.example.com”
  11. Edit metadata/assets as appropriate

I must say I really love AKL it seems to work better than AEL just had to get used to the few differences.

I do have a couple more questions though that I can’t seem to find a solution too.

Firstly, whenever I run a game or application several notifications for Advanced Kodi Launcher popup in the right hand side of the screen e.g Rendering virtual collection, most played ROMS views reached, most played ROMS view rendered, etc. Is there a way to hide these notifications?

Secondly, when I go to AKL settings > Display > Special Categories/Launchers > and toggle the hide option for any of the Favorites, ROM Collections, Browse by, etc. an error appears after I rebuild the views and AKL immediately crashes. WhenI try to open it again it displays an error everytime I try, the error displayed is “Failed to execute route or command”. The only way I can fix this error is to uninstall the addon and reinstall it again.
The version I use is AKL 1.3.1, why the "Application launcher" is missing?
Reply
Did you install the plugin.akl.defaults addon? 
This contains the normal application launcher, accessible when choosing 'Add launcher'. To check connected plugins in AKL, you go to 'Utilities' and then 'Show plugin addons'. This should give you a list of all the plugins AKL has recognized. If missing you might want to do the scan option first.
Reply
Wondering if anyone has been able to launch non-retroarch emulators with Android?

I can start these as standalone apps, but can't figure out the format to launch games correctly:
xml:

StartActivity: package: com.github.stenzek.duckstation
StartActivity: package: org.dolphinemu.dolphinemu
StartActivity: package: org.ppsspp.ppsspp
StartActivity: package: xyz.aethersx2.android

I've played around with the Android Command Tester using these as templates, but thus far have fallen short of getting them to work.
Reply
(2023-03-28, 08:38)chrisism Wrote: Did you install the plugin.akl.defaults addon? 
This contains the normal application launcher, accessible when choosing 'Add launcher'. To check connected plugins in AKL, you go to 'Utilities' and then 'Show plugin addons'. This should give you a list of all the plugins AKL has recognized. If missing you might want to do the scan option first.
Thanks chrisism, I tried to installed the Chrisism's BETA repository(the last time I installed is the default Chrisism's repository and all plugins below) and the Game add-ons/Standalone games/AKLBig Grinefault plugins, and now the Application launcher menu shows up! Should I uninstall all plugins from the formal Chrisism's repository, and reinstall them under the Beta repositry?
Is it able to move the Programs/<Favourites>/standalone games to the front page/Games/ path?
Reply
(2023-03-31, 08:34)tufeixp Wrote:
(2023-03-28, 08:38)chrisism Wrote: Did you install the plugin.akl.defaults addon? 
This contains the normal application launcher, accessible when choosing 'Add launcher'. To check connected plugins in AKL, you go to 'Utilities' and then 'Show plugin addons'. This should give you a list of all the plugins AKL has recognized. If missing you might want to do the scan option first.
Thanks chrisism, I tried to installed the Chrisism's BETA repository(the last time I installed is the default Chrisism's repository and all plugins below) and the Game add-ons/Standalone games/AKLBig Grinefault plugins, and now the Application launcher menu shows up! Should I uninstall all plugins from the formal Chrisism's repository, and reinstall them under the Beta repositry?
Is it able to move the Programs/<Favourites>/standalone games to the front page/Games/ path?

It has been a while. Was busy caught up with real life things to-do and the Kodi forum breach. So give me a while to get back into it again.
I'll try to answer everything, starting with this one.

1) You don't need to install the beta versions of the addons. They can be used all mixed-up, except that with beta versions you might get into situations where there are some breaking changes. 
2) I am not totally clear what you want? Do you mean within Kodi menu structure itself, or on the main page of AKL? In the first case, you can not directly show items from within AKL on the top level of the Games view/page in Kodi unfortunately. That screen is controlled by Kodi itself. However, what I do is simply change the menu item "Games" with my skin and let it point directly to AKL. Opening up the first view of AKL. You will need a skin that supports customizing the home menu.
Reply
(2023-03-30, 18:59)zachmorris Wrote: Wondering if anyone has been able to launch non-retroarch emulators with Android?

I can start these as standalone apps, but can't figure out the format to launch games correctly:
xml:

StartActivity: package: com.github.stenzek.duckstation
StartActivity: package: org.dolphinemu.dolphinemu
StartActivity: package: org.ppsspp.ppsspp
StartActivity: package: xyz.aethersx2.android

I've played around with the Android Command Tester using these as templates, but thus far have fallen short of getting them to work.
Well the templates should help, but most important one is the android manifest. This file in general defines what/which arguments are needed. Find the correct activity and see what parameters it will need. 
https://github.com/dolphin-emu/dolphin/b...nifest.xml
Reply
I uninstalled beta version, and use the normal one, it works as is!
However, I tried with almost all scrapers but no one scrape success. Logs like "HTTP code 422 message The Platform IDs must be positive integers" pop out. What I was trying with is a standalone PC game "Kena:Bridge of Spirits".
Reply
(2023-05-04, 08:34)tufeixp Wrote: I uninstalled beta version, and use the normal one, it works as is!
However, I tried with almost all scrapers but no one scrape success. Logs like "HTTP code 422 message The Platform IDs must be positive integers" pop out. What I was trying with is a standalone PC game "Kena:Bridge of Spirits".
Which scraper is this and do you have logs for me? Looking at the message it might be that you need to set the platform for the game (check Edit metadata option). The scrapers needs to know the correct platform/system to limit the search.
Reply
Here's the log:
2023-05-04 15:40:31.551 T:7032     info <general>: [script.akl.mobygames] __main__: ------------ Called Advanced Kodi Launcher Plugin: MobyGames Scraper ------------
2023-05-04 15:40:31.551 T:7032     info <general>: [script.akl.mobygames] __main__: addon.id         "script.akl.mobygames"
2023-05-04 15:40:31.551 T:7032     info <general>: [script.akl.mobygames] __main__: addon.version    "2.1.0"
2023-05-04 15:40:31.551 T:7032     info <general>: [script.akl.mobygames] __main__: sys.platform     "win32"
2023-05-04 15:40:31.551 T:7032     info <general>: [script.akl.mobygames] __main__: OS               "Windows"
2023-05-04 15:40:31.551 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[0] "default.py"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[1] "--cmd"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[2] "scrape"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[3] "--type"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[4] "SCRAPER"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[5] "--server_host"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[6] "127.0.0.1"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[7] "--server_port"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[8] "57300"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[9] "--akl_addon_id"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[10] "565932e4a9a0c1a7cfba5dafcb2e9925"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[11] "--rom_id"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[12] "9880d4baf766d58485178e1024b2a8ea"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[13] "--settings"
2023-05-04 15:40:31.552 T:7032     info <general>: [script.akl.mobygames] __main__: sys.argv[14] "{"scrape_metadata_policy": 20060, "scrape_assets_policy": 20060, "search_term_mode": 20520, "game_selection_mode": 20520, "asset_selection_mode": 20520, "metadata_IDs_to_scrape": ["title", "year", "genre", "plot", "rating", "esrb", "pegi", "developer", "nplayers", "nplayers_online", "tags"], "asset_IDs_to_scrape": ["title", "snap", "boxfront", "boxback", "cartridge", "manual"], "overwrite_existing_meta": false, "overwrite_existing_assets": false, "overwrite_existing": false, "ignore_scrap_title": true, "clean_tags": false, "update_nfo_files": false, "show_info_verbose": false}"
2023-05-04 15:40:31.553 T:7032     info <general>: [script.akl.mobygames] akl.scrapers: Scraper cache dir set to: special://profile/addon_data/script.akl.mobygames/cache
2023-05-04 15:40:31.564 T:20504    info <general>: Loading skin file: DialogConfirm.xml, load type: KEEP_IN_MEMORY
2023-05-04 15:40:31.565 T:7032  warning <general>: [script.akl.mobygames] akl.scrapers: Asset Path not defined for ROM Kena Bridge of Spirits asset title    
2023-05-04 15:40:31.565 T:7032  warning <general>: [script.akl.mobygames] akl.scrapers: Asset Path not defined for ROM Kena Bridge of Spirits asset snap    
2023-05-04 15:40:31.565 T:7032  warning <general>: [script.akl.mobygames] akl.scrapers: Asset Path not defined for ROM Kena Bridge of Spirits asset boxfront
2023-05-04 15:40:31.566 T:7032  warning <general>: [script.akl.mobygames] akl.scrapers: Asset Path not defined for ROM Kena Bridge of Spirits asset boxback  
2023-05-04 15:40:31.566 T:7032  warning <general>: [script.akl.mobygames] akl.scrapers: Asset Path not defined for ROM Kena Bridge of Spirits asset cartridge
2023-05-04 15:40:31.566 T:7032  warning <general>: [script.akl.mobygames] akl.scrapers: Asset Path not defined for ROM Kena Bridge of Spirits asset manual  
2023-05-04 15:40:35.089 T:7032    error <general>: [script.akl.mobygames] akl.scrapers: MobyGames msg "Platform IDs must be positive integers."
2023-05-04 15:40:35.089 T:7032    error <general>: [script.akl.mobygames] akl.scrapers: Scraper._handle_error() user_msg "HTTP code 422 message "Platform IDs must be positive integers.""
2023-05-04 15:40:35.102 T:20504    info <general>: Loading skin file: DialogConfirm.xml, load type: KEEP_IN_MEMORY
2023-05-04 15:40:50.051 T:7032    error <general>: [script.akl.mobygames] akl.scrapers: Could not scrape "Kena: Bridge of Spirits"
                                                   Traceback (most recent call last):
                                                     File "E:\KodiPortable\App\Kodi\portable_data\addons\script.module.akl\lib\akl\scrapers.py", line 372, in process_single_rom
                                                       self._process_ROM(rom)
                                                     File "E:\KodiPortable\App\Kodi\portable_data\addons\script.module.akl\lib\akl\scrapers.py", line 432, in _process_ROM
                                                       self._process_ROM_assets(rom)
                                                     File "E:\KodiPortable\App\Kodi\portable_data\addons\script.module.akl\lib\akl\scrapers.py", line 490, in _process_ROM_assets
                                                       asset_path = self._scrap_ROM_asset(asset_id, self.local_asset_list[asset_id], rom)
                                                     File "E:\KodiPortable\App\Kodi\portable_data\addons\script.module.akl\lib\akl\scrapers.py", line 788, in _scrap_ROM_asset
                                                       asset_path_noext_FN = asset_dir_FN + text.str_to_filename_str(rom.get_identifier())
                                                   TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
2023-05-04 15:40:50.081 T:7032  warning <general>: [script.akl.mobygames] akl.scrapers: Skipping store action. No ROM data provided.
2023-05-04 15:40:53.898 T:20504 warning <general>: CGUIWindowManager - CGUIWindowManager::HandleAction - ignoring action 107, because topmost modal dialog closing animation is running
2023-05-04 15:40:54.246 T:9888     info <general>: Skipped 8 duplicate messages..
2023-05-04 15:40:54.246 T:9888     info <general>: [plugin.program.akl] resources.lib.services: {"rom_id":"9880d4baf766d58485178e1024b2a8ea"}
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: ------------ Called Advanced Kodi Launcher Plugin: TGDB Scraper ------------
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: addon.id         "script.akl.tgdbscraper"
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: addon.version    "1.0.0"
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.platform     "win32"
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: OS               "Windows"
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[0] "default.py"
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[1] "--cmd"
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[2] "scrape"
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[3] "--type"
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[4] "SCRAPER"
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[5] "--server_host"
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[6] "127.0.0.1"
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[7] "--server_port"
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[8] "57300"
2023-05-04 15:41:19.443 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[9] "--akl_addon_id"
2023-05-04 15:41:19.444 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[10] "d4b22e4e37fbd026e6be923dc52070ff"
2023-05-04 15:41:19.444 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[11] "--rom_id"
2023-05-04 15:41:19.444 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[12] "9880d4baf766d58485178e1024b2a8ea"
2023-05-04 15:41:19.444 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[13] "--settings"
2023-05-04 15:41:19.444 T:19136    info <general>: [script.akl.tgdbscraper] __main__: sys.argv[14] "{"scrape_metadata_policy": 20060, "scrape_assets_policy": 20060, "search_term_mode": 20520, "game_selection_mode": 20520, "asset_selection_mode": 20520, "metadata_IDs_to_scrape": ["title", "year", "genre", "developer", "nplayers", "esrb", "plot", "tags"], "asset_IDs_to_scrape": ["fanart", "banner", "snap", "clearlogo", "boxfront", "boxback", "trailer"], "overwrite_existing_meta": false, "overwrite_existing_assets": false, "overwrite_existing": false, "ignore_scrap_title": true, "clean_tags": false, "update_nfo_files": false, "show_info_verbose": false}"
2023-05-04 15:41:19.444 T:19136    info <general>: [script.akl.tgdbscraper] resources.lib.scraper: Applied embedded public API key
2023-05-04 15:41:19.444 T:19136    info <general>: [script.akl.tgdbscraper] akl.scrapers: Scraper cache dir set to: special://profile/addon_data/script.akl.tgdbscraper/cache/
2023-05-04 15:41:19.464 T:19136 warning <general>: [script.akl.tgdbscraper] akl.scrapers: Asset Path not defined for ROM Kena Bridge of Spirits asset fanart  
2023-05-04 15:41:19.464 T:19136 warning <general>: [script.akl.tgdbscraper] akl.scrapers: Asset Path not defined for ROM Kena Bridge of Spirits asset banner  
2023-05-04 15:41:19.464 T:19136 warning <general>: [script.akl.tgdbscraper] akl.scrapers: Asset Path not defined for ROM Kena Bridge of Spirits asset snap    
2023-05-04 15:41:19.464 T:19136 warning <general>: [script.akl.tgdbscraper] akl.scrapers: Asset Path not defined for ROM Kena Bridge of Spirits asset clearlogo
2023-05-04 15:41:19.464 T:19136 warning <general>: [script.akl.tgdbscraper] akl.scrapers: Asset Path not defined for ROM Kena Bridge of Spirits asset boxfront
2023-05-04 15:41:19.464 T:19136 warning <general>: [script.akl.tgdbscraper] akl.scrapers: Asset Path not defined for ROM Kena Bridge of Spirits asset boxback  
2023-05-04 15:41:19.464 T:19136 warning <general>: [script.akl.tgdbscraper] akl.scrapers: Asset Path not defined for ROM Kena Bridge of Spirits asset trailer  
2023-05-04 15:41:22.498 T:19136   error <general>: [script.akl.tgdbscraper] akl.scrapers: Could not scrape "Kena: Bridge of Spirits"
                                                   Traceback (most recent call last):
                                                     File "E:\KodiPortable\App\Kodi\portable_data\addons\script.module.akl\lib\akl\scrapers.py", line 372, in process_single_rom
                                                       self._process_ROM(rom)
                                                     File "E:\KodiPortable\App\Kodi\portable_data\addons\script.module.akl\lib\akl\scrapers.py", line 432, in _process_ROM
                                                       self._process_ROM_assets(rom)
                                                     File "E:\KodiPortable\App\Kodi\portable_data\addons\script.module.akl\lib\akl\scrapers.py", line 490, in _process_ROM_assets
                                                       asset_path = self._scrap_ROM_asset(asset_id, self.local_asset_list[asset_id], rom)
                                                     File "E:\KodiPortable\App\Kodi\portable_data\addons\script.module.akl\lib\akl\scrapers.py", line 788, in _scrap_ROM_asset
                                                       asset_path_noext_FN = asset_dir_FN + text.str_to_filename_str(rom.get_identifier())
                                                   TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
2023-05-04 15:41:22.539 T:19136 warning <general>: [script.akl.tgdbscraper] akl.scrapers: Skipping store action. No ROM data provided.
Reply
I could not find any text inside the Edit Rom metadata menu related to Platform to edit, it's a standalone PC game, not emulator games.
Reply
As of a few days ago I get error messages when AKL starts and games do not start when you try to launch them. It also says that there was an error with a database migration. The log has this here in regards to AKL (if you need the full log then give a holler and I will upload one) :

Edit: Looks like you're trying out stuff and I was still on the beta repo. After switching to stable and updating downgrading to that version everything is back to normal.
Quote:023-05-06 22:25:54.565 T:374047    info <general>: [plugin.program.akl] resources.lib.services: ------------ Called Advanced Kodi Launcher : Service ------------
2023-05-06 22:25:54.566 T:374047    info <general>: [plugin.program.akl] resources.lib.services: Found 1 migration files to process.
2023-05-06 22:25:54.595 T:374047    info <general>: [plugin.program.akl] resources.lib.repositories: Executing migration script: special://home/addons/plugin.program.akl/resources/migrations/1.4.0.sql
2023-05-06 22:25:54.649 T:374047   error <general>: [plugin.program.akl] resources.lib.services: Failure while doing database migration
                                                   Traceback (most recent call last):
                                                     File "/home/kodi/.kodi/addons/plugin.program.akl/resources/lib/services.py", line 63, in run
                                                       self._do_version_upgrade(uow, LooseVersion(db_version))
                                                     File "/home/kodi/.kodi/addons/plugin.program.akl/resources/lib/services.py", line 129, in _do_version_upgrade
                                                       uow.migrate_database(migrations_files_to_execute, version_to_store)
                                                     File "/home/kodi/.kodi/addons/plugin.program.akl/resources/lib/repositories.py", line 364, in migrate_database
                                                       self.execute_script(sql_statements)
                                                     File "/home/kodi/.kodi/addons/plugin.program.akl/resources/lib/repositories.py", line 404, in execute_script
                                                       self.conn.executescript(sql_statements)
                                                   sqlite3.OperationalError: no such column: c.default_icon
2023-05-06 22:25:54.649 T:374047    info <general>: [plugin.program.akl] resources.lib.services: Skipping automatic scan and view generation. Last scan was 4 days ago
2023-05-06 22:25:54.649 T:374061 critical <general>: [plugin.program.akl] resources.lib.webservice: Exception in webservice.is_alive [Errno 111] Connection refused
2023-05-06 22:25:54.649 T:374061    info <general>: [plugin.program.akl] resources.lib.webservice: Stopping AKL webservice(127.0.0.1:57300)
2023-05-06 22:25:54.649 T:374061   error <general>: [plugin.program.akl] resources.lib.webservice: Exception in webservice.stop(): [Errno 111] Connection refused
2023-05-06 22:25:54.649 T:374061    info <general>: [plugin.program.akl] resources.lib.webservice: Webservice stopped
2023-05-06 22:25:54.649 T:374061    info <general>: [plugin.program.akl] resources.lib.webservice: Startup AKL webservice(127.0.0.1:57300)
AMD Ryzen 5 2700 | Asus ROG Strix B350 ITX | Geforce RTX 2060 
Ubuntu 22.04 LTS | Kernel 6.1 | Nvidia blob drivers | Kodi v20
Reply
  • 1
  • 11
  • 12
  • 13(current)
  • 14
  • 15
  • 20

Logout Mark Read Team Forum Stats Members Help
Advanced Kodi Launcher - Game and Emulators frontend for Kodi0