Kodi Community Forum

Full Version: Advanced Emulator Launcher - Multi-emulator frontend for Kodi
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Tested the latest version on github (commit 199b953) and ScreenScraper worked with playstation chd files except for multi disk files. An "error computing file checksums" warning shows with a yes and no options but the scraper stops for the multi disk game no matter what option is choosed. Here is the log link http://ix.io/1U9v
(2019-09-03, 13:52)loktar Wrote: [ -> ]Tested the latest version on github (commit 199b953) and ScreenScraper worked with playstation chd files except for multi disk files. An "error computing file checksums" warning shows with a yes and no options but the scraper stops for the multi disk game no matter what option is choosed. Here is the log link http://ix.io/1U9v

Thanks for reporting, I totally forgot about MultiDisc ROMs (I don't use them myself). I will try to fix this on Thursday.

About the YES/NO dialog: when an scraper finds an error, for example a network connection error, whatever, the error is shown to the user with a YES/NO dialog that autocloses after one minute and then the scanner continues. The reason to use a YES/NO dialog is that is has the autoclose feature. The YES dialog does not have this feature (I have to tell the core developers to implement it for Matrix). The reason to use the autoclose feature is for unattended scanners. For example, if you have a launcher with 3000 ROMs it will take well 10 hours to scrape everything using ScreenScraper, and likely you will let the scanner work overnight. With the autoclose feature, any error is displayed and the scanner continues. Without the autoclose feature, the YES dialog will stay open forever until next day you press YES and the scanner continues.

Also, each scraper has an internal counter of errors. When the scraper finds 5 errors it autodisables itself, this is to not bug the user with error messages if the network gets down or the scraper site is KO or there is a bug in AEL scanner. In this case, erase all the ROMs for the launcher and rescan again. The already-scraped ROM info will be in the scraper cache, so the scanner will continue in the ROM it stopped previously. Also, I recommend you use the "Local images + Scrapers" Asset scan policy always, otherwise you will force the re-download of the images you already have.
Hello, how is the release 0.9.8-beta1??
(2019-09-04, 12:48)Razor90 Wrote: [ -> ]Hello, how is the release 0.9.8-beta1??

Basically 0.9.8-beta1 is ready. I won't code any more features, just bug fixes. Currently I'm doing all the testing I can to fix the (many) regressions introduced by the (many) changes in AEL 0.9.8, like the one reported two posts above. Ideally I want to release 0.9.8-beta1 this or next weekend.

If you want to test the new AEL make sure you read the upgrade notes currently written in the changelog. Make sure you install release-0.9.8 branch and NOT master branch. Any error you find please report here.
(2019-09-03, 13:52)loktar Wrote: [ -> ]Tested the latest version on github (commit 199b953) and ScreenScraper worked with playstation chd files except for multi disk files. An "error computing file checksums" warning shows with a yes and no options but the scraper stops for the multi disk game no matter what option is choosed. Here is the log link http://ix.io/1U9v

This problem should be fixed now in Github.
(2019-09-05, 15:36)Wintermute0110 Wrote: [ -> ]
(2019-09-03, 13:52)loktar Wrote: [ -> ]Tested the latest version on github (commit 199b953) and ScreenScraper worked with playstation chd files except for multi disk files. An "error computing file checksums" warning shows with a yes and no options but the scraper stops for the multi disk game no matter what option is choosed. Here is the log link http://ix.io/1U9v

This problem should be fixed now in Github.  
It is fixed. But everytime a scan was made all multi discs games are scraped again, even the correct ones, all single disc games who was scraped before remains untouched. Ill conduct new tests on the next days with other systems.
(2019-09-06, 09:24)loktar Wrote: [ -> ]It is fixed. But everytime a scan was made all multi discs games are scraped again, even the correct ones, all single disc games who was scraped before remains untouched. Ill conduct new tests on the next days with other systems.

Yes... current implementation of multidisc ROMs is kind of a workaround. The multidisc ROM is a fake ROM, same as the Missing ROMs when you do a ROM Audit. The scanner first removes dead ROMs and hence all multidisc ROMs are removed and recreated again. Thanks to the scraper cache it should not be a problem that the ROMs are rescraped again, the scraping info will be taken from the disk cache. Just make sure you use the asset policy "Local images + Scrapers" so if you already have an image it will not be downloaded again (if you set the asset policy to "Scrapers" you are forcing redownload of all images).

I have to think of a proper implementation of multidisc ROMs in the future that fits well with the ROM Audit... but that will take some time. I am thinking of forbidding ROM audit in multidisc launchers, this will simplify the code a lot. This should not be a major problem because multidisc systems are typically ISO based and ROM Audit using No-Intro DATs is likely for cartridge systems.

Thanks a lot for testing. If everything goes well I maybe release 0.9.8-beta1 later in the day and any remaining bugs we catch solved for final 0.9.8.
New AEL release 0.9.8-beta1

Release notes

It's been a long time since the last AEL release. During this time I focused on Advanced MAME Launcher and now it was time to devote some love to AEL. The main novelty of release 0.9.8-beta1 is the totally rewritten scraping engine with the addition of ScreenScraper and the removal of GameFAQs. ROMs now support 3D Boxes. Also, removal of dead Recently Played and Most Played ROMs has been implented. This version of AEL includes a patch by Chrisism to launch applications in new version of Android, which includes the NVidia Shield. Check out the AEL asset library for Android launcher examples.

The author of Skyscraper, Muldjord, has written an excelent documentation of a number of scrapers which I strongly recommend. As a general rule, use ScreenScraper for everything, and use MobyGames and TheGamesDB sparingly. Note that some scrapers will need for you to register to get an API key. Do not forget that having the scrapers back is not an excuse for not downloading the artwork collections! The more artwork you have, the less API calls you will consume.

And now what?

There are still tons of things to do: improving the Offline scraper database, include more ROM artwork types like spine and box texture, separate the ROM audit code from the Parent/Clone generation, port the 3D box generation from AML into AEL, port the PDF manual reader from AML into AEL, etc. If you posted a feature suggestion in the past that has not been implemented please have a look at the changelog first to see if it's in the TODO list, otherwise post it here again so I can add the feature to the TODO list.

In preparation for the Kodi games database, I think I will now devote some time to write a new database model proposal and implement it in AEL. You can find more details about this matter in this thread.

Upgrading from 0.9.7 to 0.9.8-beta1

This time the upgrading from previous version of AEL is a little bit more complicated than usual. If in doubt make a backup of your $PROFILEDIR/userdata/addondata/plugin.program.advaned.emulator.launcher/ directory.

1. Install 0.9.8-beta1.

2. Upgrade your database with 'Utilities', 'Check/Update all databases'

3. The 3Dbox path will be unconfigured for all Launchers.

4. Export all your Categories/Launchers with 'Utilities', 'Export category/launcher XML configuration file'

5. Import the XML file with 'Utilities', 'Import category/launcher XML configuration file'. This will create the 3D boxes default directory automatically.

6. If you use custom paths for your assets and no the standard ones. Make sure each launcher has a <path_3dbox> tag. Then, reimport the XML configuration file.

Advanced Emulator Launcher | version 0.9.8-beta1 | 06 September 2019
Code:
FEATURE  [SCRAPERS] Copy scraper stuff from master branch by Chrisism.

FEATURE  [SCRAPERS] Fix MobyGames scraper and use new MobyGames API.
         See http://www.mobygames.com/info/api

FEATURE  [SCRAPERS] Fix TheGamesDB scraper.
         There has been a change in the web site including a new API.
         See https://github.com/Wintermute0110/plugin.program.advanced.emulator.launcher/issues/75

FEATURE  [SCRAPERS] Have a look at ScreenScraper and consider it for an online scraper.
         See https://www.screenscraper.fr/
         See https://forum.kodi.tv/showthread.php?tid=287826&pid=2622839#pid2622839

FEATURE  [SCRAPERS] Fix ArcadeDB scraper. Use the new ArcadeDB API.
         It has been a while since this scraper is not working any more.

FEATURE  [SCRAPERS] Fix AEL Offline Scraper.

FEATURE  [SCRAPERS] Add support for ScummVM platform in the Offline Scraper.
         See https://forum.kodi.tv/showthread.php?tid=287826&pid=2629084#pid2629084

FEATURE  [SCRAPERS] Warn user if missing scraper API keys, required stuff, etc., before scraping.
         Also, improve the scraper error reporting and the disabling of the scraper object
         if the web site is overloaded.
         Make sure TGDB scraper works like a charm. And then update the rest.

FEATURE  [SCRAPERS] Utility to check TheGamesDB monthly allowance.

FEATURE  [SCRAPERS] Utility to check MobyGames monthly allowance.

FEATURE  [SCRAPERS] Utility to check ScreenScraper monthly allowance.

FEATURE  [SCRAPERS] Make sure all scraper platforms are OK and synchronised with AEL platforms.

FEATURE  [SCRAPERS] Option to rescrape all ROM assets in a similar fashion to
         "Scan ROMs local artwork". Create a menu entry in "Edit Launcher", "Manage ROMs",
         "Scrape ROMs artwork".
         "Scrape ROMs artwork" will use the same scraper settings in options as the ROM Scanner.
         I think the best location for the code is in the ScraperStrategy class.
         See https://github.com/Wintermute0110/plugin.program.advanced.emulator.launcher/issues/72

FEATURE  [CORE] Create a couple of new ROM context menus, "Manage Recently played ROM" and
         "Manage Most played ROM". Both will have the following options: "Delete this ROM",
         "Delete all Unlinked/Broken ROMs".
         See AML for an implementation.
         See https://forum.kodi.tv/showthread.php?tid=287826&pid=2698811#pid2698811

FEATURE  [CORE] New ROMs artwork type 3D Boxes, asked by Rufoo.

FEATURE  [CORE] New entry in root menu named "Global Reports"

FEATURE  [CORE] New entry in root menu named "Utilities"

FEATURE  [CORE] Move stuff from addon settings into the Utilities menu, including the
         database upgrading functions.

FEATURE  [CORE] Make sure AEL never crashes when rendering the root window, even if
         categories.xml is corruped. Users must be able to access the Utilities menu always to
         be able to upgrade the database. In case of crash when rendering the root window,
         ask the user to update the databases (in the case the crash is due to a missing
         key in dictionary).

FEATURE  [CORE] New properties to notify skins about Std launchers, ROM launchers, Categories,
         and number of items in a Launcher. Upgrade documentation in SKINNING.md.

FEATURE  [CORE] Add Year and Developer for Categories.
         See https://forum.kodi.tv/showthread.php?tid=287826&pid=2688653#pid2688653

FEATURE  [CORE] Per-launcher setting to disable multi-disc ROM support.

FEATURE  [CORE] Added "Edit Category" context menu, "Export Category XML configuration".

FEATURE  [CORE] New AEL Theme of Icons/Fanarts for the Virtual Launchers. Kudos to Sagrath for
         this contribution.

FIX      Fix crash in _gui_scrap_launcher_metadata() when scraping Launcher metadata with the CM.

FIX      Fix metadata and artwork scrapers when ROM name has Unicode characters.
         See Github issue #52

FIX      Fixed display_fav_status label in settings.xml
         See Github issue #56

FIX      Unicode fixes in kodi_update_image_cache()

FIX      Fixed MobyGames scraper.
         See Github issue #60
Hello @Wintermute0110 

I've installed the New AEL version, and notice that are two more option in addon root, but has no icon. So, I've made the two extras icons for you to match the others.

Hope you like!

New Icons AEL

Ps.

I've found two bugs:

1 - I can't create categories;
2 - The command "plugin://plugin.program.advanced.emulator.launcher/?com=SHOW_ALL_ROMS" seems not working when using in home widgets

heres the log

https://pastebin.com/NCR1fry9
(2019-09-07, 15:04)sagrath Wrote: [ -> ]Hello @Wintermute0110 

I've installed the New AEL version, and notice that are two more option in addon root, but has no icon. So, I've made the two extras icons for you to match the others.

Hope you like!

New Icons AEL

Ps.

I've found two bugs:

1 - I can't create categories;
2 - The command "plugin://plugin.program.advanced.emulator.launcher/?com=SHOW_ALL_ROMS" seems not working when using in home widgets

heres the log

https://pastebin.com/NCR1fry9

Thanks a lot for the new artwork, I already incorporated it.

The other bugs reported should be fixed as well.

From the log I notice you are using Matrix. Keep in mind that once they start using Python 3 instead of Python 2 AEL will stop working. Python 3 will be supported in 0.10.x series.
Possibly dumb question here:

Ages ago, I used the old Advanced Launcher to set up Fallout 4 to run from Kodi on Win10, but I've completely forgotten how I did it. I've got a Games main menu item and in the submenu, I've got a Fallout 4 item whose action is:

PlayMedia("plugin://plugin.program.advanced/launcher/?default/[numeric string linking to Fallout]",return)

How I did this is totally lost to me now, but it works perfectly. It minimizes (or backgrounds?) Kodi from fullscreen, which is important to me so Sonarr can keep it updated, and then it returns right back to the open submenu on Kodi when Fallout closes (or more likely, crashes), and it's super fast and smooth and friendly.

Now I'm trying to set up more games from my Steam library, and I've decided I want a widget that'll be equally fast and smooth.

From Steam, I created desktop shortcuts to each game, copied the link over to AEL, made a Super Favourite to each game, manually linked to saved poster and fanart, and made a widget linking to a Games Super Favourite folder. A little convoluted and time-consuming, and I kept assuming there's probably an easier way to do this that I'm too dumb to figure out, but hey, the point is the end result is sweet. Now when I scroll through the main menu in Kodi to my Games, the widget displays a nice row of posters and I'm one click away from any game. This is on Aeon Nox Silvo, if that matters.

If I launch a game set up this way directly from Super Favourites, it works like I want. But when I launch it from the widget, it closes Kodi, and then when the game closes, I'm back at the Windows desktop.

So has anyone managed to set up a widget to do this? And is there an easier way than this roundabout method?

Ultimately I'd like to have one widget with a row of Steam games, and then a second widget for retro games.

(And I'm a philistine who uses DirectSound instead of WASAPI to an external receiver, so sound isn't an issue for me)
New AEL release 0.9.8

It's been 10 days since the release of 0.9.8-beta1 and because nobody has reported any major issues here is the final 0.9.8. 0.9.8 includes new artwork by Sagrath and a couple of fixes and improvements.

Release notes

The main novelty of release 0.9.8 series is the new scraping engine, written from scratch, with the addition of ScreenScraper and the removal of GameFAQs. ROMs now support 3D Boxes. Removal of dead Recently Played and Most Played ROMs has been implemented. This version of AEL includes a patch by Chrisism to launch applications in new version of Android, which includes the NVidia Shield. Check out the AEL asset library for ROM Launcher examples in Android.

The author of Skyscraper, Muldjord, has written an excelent documentation of a number of scrapers which I strongly recommend. Note that AEL does not include as many scrapers as Skyscraper does. As a general rule, use ScreenScraper for everything, and use MobyGames and TheGamesDB sparingly. Note that some scrapers will need for you to register an obtain an API key before you can use the scraper.

Do not forget that having the scrapers back is not an excuse for not downloading the artwork collections! The more artwork you have, the less API calls you will consume.

And now what?

There are still tons of things to do:
 
  • Improving the Offline scraper database.
  • Include more ROM artwork types like spine and box texture.
  • Separate the ROM audit code from the Parent/Clone generation.
  • Port the 3D box generation from AML into AEL.
  • Port the PDF manual reader from AML into AEL
  • Etc.

If you posted a feature suggestion in the past that has not been implemented please have a look at the changelog first to see if it's in the TODO list, otherwise post it here again so I can add the feature to the TODO list.

In preparation for the Kodi games database, I think I will now devote some time to write a new database model proposal and implement it in AEL. You can find more details about this matter in this thread.

Upgrading from 0.9.8-beta1 to 0.9.8

Nothing special should be done, just install 0.9.8 using the ZIP file and you are ready to go.

Upgrading from 0.9.7 to 0.9.8

This time the upgrading from previous version of AEL is a little bit more complicated than usual. If in doubt make a backup of your $PROFILEDIR/userdata/addondata/plugin.program.advanced.emulator.launcher/ directory.

1. Install 0.9.8.

2. Upgrade your database with 'Utilities', 'Check/Update all databases'

3. The 3Dbox path will be unconfigured for all Launchers.

4. Export all your Categories/Launchers with 'Utilities', 'Export category/launcher XML configuration file'

5. Import the XML file with 'Utilities', 'Import category/launcher XML configuration file'. This will create the 3D boxes default directory automatically.

6. If you use custom paths for your assets and no the standard ones. Make sure each launcher has a <path_3dbox> tag. Then, import again the XML configuration file.

Advanced Emulator Launcher | version 0.9.8 | 16 September 2019

Code:
FEATURE [CORE] Added new artwork contributed by Sagrath.

FEATURE [CORE] In XML configuration files, support multiple <args> tag and deprecate <args_extra>

FEATURE [SCRAPERS] In ScreenScraper, if a ZIP file contains one and only one archive
use it to calculate checksums and not the ZIP file itself.

FIX Fixed a path related issue in _command_add_new_category() and
_command_render_all_ROMs().
I have a problem, Version 0.9.7 worked perfectly, but the new one installs, but doesn't launch. Maybe somebody can help me, or provide me with Version 0.9.7?


2019-09-21 17:31:20.790 T:18446744073709551614   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.UnboundLocalError'>
                                            Error Contents: local variable 'launcher_name' referenced before assignment
                                            Traceback (most recent call last):
                                              File "C:\Users\katak\AppData\Roaming\Kodi\addons\plugin.program.advanced.emulator.launcher\addon.py", line 37, in <module>
                                                main.Main().run_plugin()
                                              File "C:\Users\katak\AppData\Roaming\Kodi\addons\plugin.program.advanced.emulator.launcher\resources\main.py", line 304, in run_plugin
                                                self.run_concurrent(command, args)
                                              File "C:\Users\katak\AppData\Roaming\Kodi\addons\plugin.program.advanced.emulator.launcher\resources\main.py", line 319, in run_concurrent
                                                self._command_render_root_window()
                                              File "C:\Users\katak\AppData\Roaming\Kodi\addons\plugin.program.advanced.emulator.launcher\resources\main.py", line 3549, in _command_render_root_window
                                                self._gui_render_launcher_row(catless_launchers[launcher_id])
                                              File "C:\Users\katak\AppData\Roaming\Kodi\addons\plugin.program.advanced.emulator.launcher\resources\main.py", line 4296, in _gui_render_launcher_row
                                                listitem = xbmcgui.ListItem(launcher_name)
                                            UnboundLocalError: local variable 'launcher_name' referenced before assignment
                                            -->End of Python script error report<--
2019-09-21 17:31:20.840 T:18446744073709551614   ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://plugin.program.advanced.emulator.launcher/?content_type=executable
2019-09-21 17:31:20.849 T:18446744073709551614   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.program.advanced.emulator.launcher/?content_type=executable) failed
(2019-09-21, 18:39)reTokyo Wrote: [ -> ]I have a problem, Version 0.9.7 worked perfectly, but the new one installs, but doesn't launch. Maybe somebody can help me, or provide me with Version 0.9.7?


2019-09-21 17:31:20.790 T:18446744073709551614   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.UnboundLocalError'>
                                            Error Contents: local variable 'launcher_name' referenced before assignment
                                            Traceback (most recent call last):
                                              File "C:\Users\katak\AppData\Roaming\Kodi\addons\plugin.program.advanced.emulator.launcher\addon.py", line 37, in <module>
                                                main.Main().run_plugin()
                                              File "C:\Users\katak\AppData\Roaming\Kodi\addons\plugin.program.advanced.emulator.launcher\resources\main.py", line 304, in run_plugin
                                                self.run_concurrent(command, args)
                                              File "C:\Users\katak\AppData\Roaming\Kodi\addons\plugin.program.advanced.emulator.launcher\resources\main.py", line 319, in run_concurrent
                                                self._command_render_root_window()
                                              File "C:\Users\katak\AppData\Roaming\Kodi\addons\plugin.program.advanced.emulator.launcher\resources\main.py", line 3549, in _command_render_root_window
                                                self._gui_render_launcher_row(catless_launchers[launcher_id])
                                              File "C:\Users\katak\AppData\Roaming\Kodi\addons\plugin.program.advanced.emulator.launcher\resources\main.py", line 4296, in _gui_render_launcher_row
                                                listitem = xbmcgui.ListItem(launcher_name)
                                            UnboundLocalError: local variable 'launcher_name' referenced before assignment
                                            -->End of Python script error report<--
2019-09-21 17:31:20.840 T:18446744073709551614   ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://plugin.program.advanced.emulator.launcher/?content_type=executable
2019-09-21 17:31:20.849 T:18446744073709551614   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.program.advanced.emulator.launcher/?content_type=executable) failed
Full debug log following the instructions of first post please. Otherwise I cannot track the problem well.
Sorry, wasn't aware of the procedure and thank you for your time.

System Windows 10 Pro 64 Bit, Build 18362,
Kodi Matrix 19.0 HDR Edition (I had the same problem with 0.9.8 Beta with the latest stable Kodi Release Leia 18.4 so I used Version 0.9.7 without problems)
AEL 0.9.8 latest Version.

uyagepuxif.kodi (paste)