Kodi Community Forum
Beta Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27)
+---- Forum: Game Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=291)
+---- Thread: Beta Advanced Emulator Launcher - Multi-emulator frontend for Kodi (/showthread.php?tid=287826)



RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Zastava - 2020-05-30

(2020-05-30, 15:13)Wintermute0110 Wrote:
(2020-05-27, 12:21)Zastava Wrote:
(2020-05-27, 05:37)Wintermute0110 Wrote: If you go to the Launcher context menu, go to "View Launcher", "View Launcher data". The rompath field there starts with special://... or D:\Frontends station\
First one, the portable path with special://...

OK, thanks. I will need some time to fix this. Actually, now I'm not sure if it can be fixed... I can give you technicalities if you want.

If you can that would be great. Always willing to learn. Smile


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Zastava - 2020-05-31

(2020-05-30, 17:21)Zastava Wrote:
(2020-05-30, 15:13)Wintermute0110 Wrote:
(2020-05-27, 12:21)Zastava Wrote: First one, the portable path with special://...

OK, thanks. I will need some time to fix this. Actually, now I'm not sure if it can be fixed... I can give you technicalities if you want.

If you can that would be great. Always willing to learn. Smile

@Wintermute0110 I managed to find a fix/workaround for the issue, I think.
So, for art assets to be portable and always work good, the special://... is needed.
But for roms you get the duplicated issue everytime you add a new game to an existing launcher. The solution for the roms is using a normal portable (without special and so on) path in the launcher. This only works for roms, not art assets. Like this: ..\..\collections\Commodore Amiga\roms\...


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Wintermute0110 - 2020-06-01

(2020-05-31, 15:43)Zastava Wrote:
(2020-05-30, 17:21)Zastava Wrote:
(2020-05-30, 15:13)Wintermute0110 Wrote: OK, thanks. I will need some time to fix this. Actually, now I'm not sure if it can be fixed... I can give you technicalities if you want.

If you can that would be great. Always willing to learn. Smile

@Wintermute0110 I managed to find a fix/workaround for the issue, I think.
So, for art assets to be portable and always work good, the special://... is needed.
But for roms you get the duplicated issue everytime you add a new game to an existing launcher. The solution for the roms is using a normal portable (without special and so on) path in the launcher. This only works for roms, not art assets. Like this: ..\..\collections\Commodore Amiga\roms\...

If you use a path that starts with special:// it is a Kodi path. It needs to be translated to a path that Python can use. The translation is done using a call to a function in the Kodi API. AEL keeps a copy of both the original and the translated path and I try to always use original, non-translated paths into the database. When scanning for ROMs for some reason the translation is being done but instead of storing the original path in the database.

The problem could be during the removal of dead ROMs (dead ROM is a ROM in the database and not in the disk, for example, you deleted the ROM file). The scanner first scans all files in the ROM path, and then it goes file by file in the DB checking that the file exists. If not, the ROM is removed from the database. During the ROM scanner proper, the list of files is traversed and check if the file is in the DB. If yes the file is skipped, and if not the file is added to the database, scraped, etc.

In conclusion, I need to verify the operation of the ROM scanner carefully to try to fix the bug. I am not sure if the bug can be fixed because original paths can be translated but translated paths cannot be put in the original form.

If you use a relative path that does not start with special:// then it should work, yes. In that case, the original and the translated path are the same. I think the Python starting path is $ADDON_DATA/plugin.program.advanced.emulator.launcher/ and AEL internally does not change it, so you can use relative paths from there for your ROMs.

The artwork/assets is another story because it is used by Kodi and Kodi understands perfectly the special:// protocol. However, in recent version of AEL I introduced some utilities to verify the artwork integrity (for example, whether you have corrupted images or images with wrong extension, etc.) and those utilities may fail.

-------------------------------

Also, I will take the opportunity to give you all an update of how things are going. I have been teleworking over the past 2 months and basically confined home. The amount of free time I have has increased somewhat. However, it is difficult to do some coding. It's a mixed feeling, like kind of lack of motivation with some anxiety because of the situation. Truth is I am OK and my family is OK, however this situation is difficult and I think it is taking a physiological toll on everybody, including myself. All in all, I would like to continue the development of the advanced launchers ASAP, myself and collaborators have a lot of ideas and exciting features we want to materialize soon.


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Zastava - 2020-06-01

(2020-06-01, 08:04)Wintermute0110 Wrote:
(2020-05-31, 15:43)Zastava Wrote:
(2020-05-30, 17:21)Zastava Wrote: If you can that would be great. Always willing to learn. Smile

@Wintermute0110 I managed to find a fix/workaround for the issue, I think.
So, for art assets to be portable and always work good, the special://... is needed.
But for roms you get the duplicated issue everytime you add a new game to an existing launcher. The solution for the roms is using a normal portable (without special and so on) path in the launcher. This only works for roms, not art assets. Like this: ..\..\collections\Commodore Amiga\roms\...

If you use a path that starts with special:// it is a Kodi path. It needs to be translated to a path that Python can use. The translation is done using a call to a function in the Kodi API. AEL keeps a copy of both the original and the translated path and I try to always use original, non-translated paths into the database. When scanning for ROMs for some reason the translation is being done but instead of storing the original path in the database.

The problem could be during the removal of dead ROMs (dead ROM is a ROM in the database and not in the disk, for example, you deleted the ROM file). The scanner first scans all files in the ROM path, and then it goes file by file in the DB checking that the file exists. If not, the ROM is removed from the database. During the ROM scanner proper, the list of files is traversed and check if the file is in the DB. If yes the file is skipped, and if not the file is added to the database, scraped, etc.

In conclusion, I need to verify the operation of the ROM scanner carefully to try to fix the bug. I am not sure if the bug can be fixed because original paths can be translated but translated paths cannot be put in the original form.

If you use a relative path that does not start with special:// then it should work, yes. In that case, the original and the translated path are the same. I think the Python starting path is $ADDON_DATA/plugin.program.advanced.emulator.launcher/ and AEL internally does not change it, so you can use relative paths from there for your ROMs.

The artwork/assets is another story because it is used by Kodi and Kodi understands perfectly the special:// protocol. However, in recent version of AEL I introduced some utilities to verify the artwork integrity (for example, whether you have corrupted images or images with wrong extension, etc.) and those utilities may fail.

-------------------------------

Also, I will take the opportunity to give you all an update of how things are going. I have been teleworking over the past 2 months and basically confined home. The amount of free time I have has increased somewhat. However, it is difficult to do some coding. It's a mixed feeling, like kind of lack of motivation with some anxiety because of the situation. Truth is I am OK and my family is OK, however this situation is difficult and I think it is taking a physiological toll on everybody, including myself. All in all, I would like to continue the development of the advanced launchers ASAP, myself and collaborators have a lot of ideas and exciting features we want to materialize soon.

Thank you so much for explaining it! At least the workaround seems to work good if you are unable to track the bug or fix it.

I feel you on that update and glad to hear that you and your family are OK.
It's like a paradox, we seem to have more free time but not the best state of mind to use it. Undecided But I can tell you, at least, that using AEL is helping me keep focus and seeing Kodi as great viable emulation platform. Can't wait to see some of those new ideas materialize. Smile


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - curro88 - 2020-06-01

Hi there!

I've managed to setup AEL on my Pi 3 with LibreELEC through GameStarter. Everything works great, but I've noticed that if I use "AEL Offline" as my "Metadata scraper" my NES ROM collection doesn't show any metadata for my games, so... I've changed "AEL Offline" to "ScreenScraper" (introducing my username and password) and when I rescanned my ROMs again the metadata wasn't updated, so I've deleted my launcher and started again and then the problems started and this is what my "kodi.log" says:
Quote:2020-06-01 19:52:07.496 T:961479552   ERROR: AEL ERROR: SingleInstance::__exit__() Unhandled excepcion in protected code
2020-06-01 19:52:07.567 T:961479552   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.ValueError'>
                                            Error Contents: Logic error
                                            Traceback (most recent call last):
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/addon.py", line 37, in <module>
                                                main.Main().run_plugin()
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 322, in run_plugin
                                                self.run_protected(command, args)
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 420, in run_protected
                                                self._roms_import_roms(args['launID'][0])
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 9720, in _roms_import_roms
                                                scraper_strategy.scanner_process_ROM_metadata(romdata, ROM)
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/scrap.py", line 632, in scanner_process_ROM_metadata
                                                self._scanner_scrap_ROM_metadata(romdata, ROM_FN)
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/scrap.py", line 793, in _scanner_scrap_ROM_metadata
                                                game_data = self.meta_scraper_obj.get_metadata(status_dic)
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/scrap.py", line 3459, in get_metadata
                                                raise ValueError('Logic error')
                                            ValueError: Logic error
                                            -->End of Python script error report<--

Anyone can help me?


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - AlphaUMi - 2020-06-02

Hello! My setup with AEL is almost done... but how am I supposed to install the AEL-asset-library in Kodi 18? I've downloaded the zip from GitHub, but I get an error when trying to import (structure not recognized). Can I have help?


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Wintermute0110 - 2020-06-04

(2020-06-01, 20:12)curro88 Wrote: Hi there!

I've managed to setup AEL on my Pi 3 with LibreELEC through GameStarter. Everything works great, but I've noticed that if I use "AEL Offline" as my "Metadata scraper" my NES ROM collection doesn't show any metadata for my games, so... I've changed "AEL Offline" to "ScreenScraper" (introducing my username and password) and when I rescanned my ROMs again the metadata wasn't updated, so I've deleted my launcher and started again and then the problems started and this is what my "kodi.log" says:

Anyone can help me?

I have been looking at the problem but just the crash point is not enough to track it down. I need a full debug log to see what AEL is doing that produces the crash. Follow the instructions of the first post and use https://paste.kodi.tv/


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Wintermute0110 - 2020-06-04

(2020-06-02, 22:32)AlphaUMi Wrote: Hello! My setup with AEL is almost done... but how am I supposed to install the AEL-asset-library in Kodi 18? I've downloaded the zip from GitHub, but I get an error when trying to import (structure not recognized). Can I have help?

The AEL Asset Library contains resources to use with AEL. There are 3 types of resources: 1) artwork for your categories and launchers, 2) Metadata NFO files for you categories/launchers, 3) XML emulator configurations.

To use the library I recommend to place in a directory where Kodi can find it easily (you set a source to where the library is located). At the same time, it should be easy for you to modify it. For example, I have my AEL Asset Library on the Linux Ubuntu HTPC and I connect using SSH to make modifications to the XML files. Then, if you create your launchers using the wizard, you can use the context menu to load the launcher icon, fanart, poster, etc. This is tedious if you have many launchers. Another way to use the library is by looking at the XML launcher configuration files. Using the XML files, you can set up your launchers and load the assets at launcher creation time. You import the XML files in the Utilities menu. Depending on your setup you may need to change a bit the XML files, for example, to set the ROM path, etc. There is one folder with example XML files, and those include a lot of documentation. If you have specific questions feel free to ask.


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - t123thomas - 2020-06-06

Hi I am new to Game, I need help and nothing is too small, for some reason I can't understand why I can not play any game.
I downloaded plugin.program.advanced.emulator.launcher-0.9.9 install, go to addon the program is found.
I can't seem to play anything
Please is a video guide on how to install and play, I have search through Youtube, but can not find anything video that provide guide on AEL.

Please assist.

Thanks


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - csidirop - 2020-06-08

Hi all, and hi Wintermute0110

first I wanted to thank you for this awesome work!
Few words about what Im trying: A few months ago i stufft my old gaming PC in a Fractal Design case, able to use it as games console replacement. Im playing mainly Steam Games with controller support and old GameCube and Wii games. For better usability (an obious much better look) I want Kodi with AEL as main menu launching everything.

Not sure if it matters, but im using Estuary MOD V2 - KODI 18 (UPDATED 17/01/19) as skin. So far Im testing on my Laptop and Kodi is showing my test folders (nearly) correkt. (it was not easy to gather all the information for that)

Now to my questions:

1. mobygames api key
Regarding this page, it seams to be mandatory to write Tracy a PM, explaining your purposes. But it takes a while till you get an answer (waiting for 4 days now). Is this normal?
I want mobygames, because for my most of my "retro games" metadata and artwork ScreenScraper worked fine. But for the Steam games only TowerFall got two images.

So I looked for an alternative, and found steamgriddb.com And they have a lot media.

And I found other sides for manual download (maybe you can add them in the first post): Download Grid images from Steam:
This here should pre-download images for Steam library. In theory you could take those images and use them ofr AEL. But i didn't test it yet:
-> https://github.com/boppreh/steamgrid


2. www.steamgriddb.com has an API. So is there any chance, to add this scraper?
Here more information about the API: https://www.steamgriddb.com/api/v2#
Dont know how much work this is. Just thought you are interested.


3. Is there a way to change the whole asset directory, not every folder?
So while testing and trying a round I had to change the asset directory for a launcher with several roms inside. Doing this requires changing the folder path of every image. Any easier way for this (exept editing the xml file)?


4. Is there a way to import the icon from executable during launcher import/creation wizard?                                                                                 
Just a convienience thing. Should be possible on windows and unix-like systems. Is that much work?


4. Views in Skin
Are there more display options? It seams that for AEL and the Estuary MOD V2 i got only "Icon-Wall" and "WideList". For TV-Shows there are much more:
Image

Already read that you are programming python not doing skins. Isn't it possible to copy paste those somehow?



Sorry for that biiiiig post 😅
I'm sure I'm missing something on most questions. And for the requests Im not sure about the realizability because I'm not a phyton programmer (mainly Java, C, C++) and i didnt looked deep into the souce code but I realy don't mean to sound demanding!

Thanks


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Wintermute0110 - 2020-06-08

(2020-06-06, 03:09)t123thomas Wrote: Hi I am new to Game, I need help and nothing is too small, for some reason I can't understand why I can not play any game.
I downloaded plugin.program.advanced.emulator.launcher-0.9.9 install, go to addon the program is found.
I can't seem to play anything
Please is a video guide on how to install and play, I have search through Youtube, but can not find anything video that provide guide on AEL.

Please assist.

Thanks

AEL/AML are game frontends. They are for showing metadata and nice artwork for your games. But every frontend needs a backend. AEL can user Kodi Retroplayer OR an external emulator like Retroarch or MAME or any other. If you want to use Kodi Retroplayer then go to the Game Support forum and have a look at the important threads at the top to get started. If you want to use Retroarch or MAME then search for a installation and configuration tutorial for your operating system. Once your emulation backend is working then you can use AEL/AML.


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Jachin99 - 2020-06-08

@Wintermute0110 A forum member has enabled views for AML/AEL in the Aeon Nox Silvo Skin so you can check it out, and possibly added to your list of skins in the first post should you wish to do so.  See here for the specific thread https://forum.kodi.tv/showthread.php?tid=351163&page=2

I'm also having an issue where when I manually place backdrops in the fanarts folder for Arcade for instance, AEL isn't adding the fanart backdrop even after I scan the roms.  Is this the expected behavior or do I need to be doing something differently? Thanks.


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - vid00d - 2020-06-11

(2020-06-01, 20:12)curro88 Wrote: Hi there!

I've managed to setup AEL on my Pi 3 with LibreELEC through GameStarter. Everything works great, but I've noticed that if I use "AEL Offline" as my "Metadata scraper" my NES ROM collection doesn't show any metadata for my games, so... I've changed "AEL Offline" to "ScreenScraper" (introducing my username and password) and when I rescanned my ROMs again the metadata wasn't updated, so I've deleted my launcher and started again and then the problems started and this is what my "kodi.log" says:
Quote:2020-06-01 19:52:07.496 T:961479552   ERROR: AEL ERROR: SingleInstance::__exit__() Unhandled excepcion in protected code
2020-06-01 19:52:07.567 T:961479552   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.ValueError'>
                                            Error Contents: Logic error
                                            Traceback (most recent call last):
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/addon.py", line 37, in <module>
                                                main.Main().run_plugin()
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 322, in run_plugin
                                                self.run_protected(command, args)
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 420, in run_protected
                                                self._roms_import_roms(args['launID'][0])
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 9720, in _roms_import_roms
                                                scraper_strategy.scanner_process_ROM_metadata(romdata, ROM)
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/scrap.py", line 632, in scanner_process_ROM_metadata
                                                self._scanner_scrap_ROM_metadata(romdata, ROM_FN)
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/scrap.py", line 793, in _scanner_scrap_ROM_metadata
                                                game_data = self.meta_scraper_obj.get_metadata(status_dic)
                                              File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/scrap.py", line 3459, in get_metadata
                                                raise ValueError('Logic error')
                                            ValueError: Logic error
                                            -->End of Python script error report<--

Anyone can help me? 
Curro88, I'm having the exact same problem as you. Adding a new NES launcher and trying to scrape metadata always leads to a crash. Did you find any solution?


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Wintermute0110 - 2020-06-11

(2020-06-11, 01:36)vid00d Wrote: Curro88, I'm having the exact same problem as you. Adding a new NES launcher and trying to scrape metadata always leads to a crash. Did you find any solution?

Post a debug log please. You have instructions on the first post. I need to see what causes the crash in order to reproduce it in my development machine and fix it.


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Wintermute0110 - 2020-06-11

(2020-06-08, 12:08)csidirop Wrote: Not sure if it matters, but im using Estuary MOD V2 - KODI 18 (UPDATED 17/01/19) as skin. So far Im testing on my Laptop and Kodi is showing my test folders (nearly) correkt. (it was not easy to gather all the information for that)

Sorry. I know the documentation for AEL is still precarious. I have many changes in my mind to do in AEL. Sometimes I have an idea, implement it and then when I test in my HTPC it does not work, etc. I do not want to spend time writing documentation that will became obsolete soon. Writing good documentation takes as much time as development, sometimes even more. In any case, eventually one day I will be happy with how AEL works and write a proper tutorial.

(2020-06-08, 12:08)csidirop Wrote: 1. mobygames api key
Regarding this page, it seams to be mandatory to write Tracy a PM, explaining your purposes. But it takes a while till you get an answer (waiting for 4 days now). Is this normal? I want mobygames, because for my most of my "retro games" metadata and artwork ScreenScraper worked fine. But for the Steam games only TowerFall got two images.

...

MobyGames requires an API key and that's MobyGames owners decision, I have little control over it. Other sites implement more intelligent solutions like develper/user API keys, the user API key is really easy to get and limits the number of requests based on the user IP. Please be patient and wait for your key. ScreenScraper is currently the best scraper by far for retrogames overall, but it is true that for some specific platforms there are better alternatives.

(2020-06-08, 12:08)csidirop Wrote: 2. www.steamgriddb.com has an API. So is there any chance, to add this scraper?
Here more information about the API: https://www.steamgriddb.com/api/v2#
Dont know how much work this is. Just thought you are interested.

We have plans to improve the Steam support in the future. But to be honest with you, I am not an Steam user and development is going slowly. Also, I am reluctant to implement a scraper just for one platform, Steam in this case. The only exception to that is MAME which has its own scraper, but MAME is a special case always.

(2020-06-08, 12:08)csidirop Wrote: 3. Is there a way to change the whole asset directory, not every folder?
So while testing and trying a round I had to change the asset directory for a launcher with several roms inside. Doing this requires changing the folder path of every image. Any easier way for this (exept editing the xml file)?

That is something I am implementing right now, I call it "unified asset directory". In any case, I always recommend to edit the XML configuration file, the wizards in AEL are for really small collections and for testing mainly. Any setup with more than 2/3 launchers should always use XML files.

(2020-06-08, 12:08)csidirop Wrote: 4. Is there a way to import the icon from executable during launcher import/creation wizard?                                                                                 
Just a convienience thing. Should be possible on windows and unix-like systems. Is that much work?

It is possible yes but I think it is better to keep things as they are now. The reason for this is to keep the wizard as simple as possible. The wizard must ask just for the essential parameters like executable, ROM path, etc. and then the user can use the context menu to change any optional parameter.

(2020-06-08, 12:08)csidirop Wrote: 4. Views in Skin
Are there more display options? It seams that for AEL and the Estuary MOD V2 i got only "Icon-Wall" and "WideList". For TV-Shows there are much more:
Image

Already read that you are programming python not doing skins. Isn't it possible to copy paste those somehow?

AEL is a program addon and traditionally in Kodi skins offer a limited number of views for program addons. I remember that some time ago some users requested the author of Estuary MOD V2 to enable more views for program addons by he/she refused.

Enabling the views from Video or Music sections into the programs sections is really easy so you can ask the author to please do it. It just requires some small changes in the XML code of the skin (if you are an skin coder it can take a couple of minutes, for amateurs it can take hours of trial/error to find exactly what needs to be changed). Also, game support is progressing in Kodi so maybe if you insist the skin author will change his/her mind.