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.
sounds good wintermute, im not sure how to use python scripts outside of kodi lol.
AEL-DB-CREATE.py would this be simlar to filling in data in a csv file where theres a blank cell to add the required info.
my original plan was to have live documnets , something like google sheets where they can be colaborated and updated live as someone fills in the data.

my ahk app that a couple of the guys at ahk forums put together for me worked great but that ended up been a pain to use as you need to select the game from the list and then scrape the info for the fields you want to fill the data in.
i dont mind manually adding the info manually but any method that can reduce the time would be great, all the info in the csv files was virtually copy and paste from various sites, which took me months.

i did have a question regarding offline scraping, lwts say you have a rom called: joe blogs day out (usa) , if you use the offline scraper and the xml as an entry for joe blogg's day out would it scrape the info for the rom.

or would it be better as no-intro style names classed as a parent rom and variuos other formats of name as a clone ie
Parent Name
180 (Europe)

Clone Name
Pub Darts

if you want to to transfer all xmls or any other files from my git feel free to do so as i dont use it anymore, i was going to ask dark13 or one of the other guys on hyperspin forums if they want to take over it.

im open to any ideas you have for gathering the info in the fastest way, but ill need some pointers from you as i only used the csvs for building the database then using a formula and notepad++ to convert to xml , which took a couple of minutes each
is there a way to convert csv to xml in python
i just remembered my google drive as 189 csv files of all systems on hyperlist
https://drive.google.com/open?id=0ByYQYr...XZ4UzFGcGc
(2017-01-11, 13:05)KODser Wrote: [ -> ]You are welcome, that mod is nothing compared to what you are doing
you are right... It's just for Rooms, I'm really dumb... I have here a wii room and I can find some n64 ones (super Mario kart for example, what a game!) to test.

Every contribution counts, no matter how small or big Big Grin Three years ago the only thing I knew about Python is that it was a snake (I have done a lot of C/C++ though), 8 months ago I didn't have any idea of how to code a Kodi addon... and still I'm learning many things.

(2017-01-11, 13:05)KODser Wrote: [ -> ]
(2017-01-11, 10:54)Wintermute0110 Wrote: [ -> ]So, in order to effectively support AEL you will need two views: one for categories/launchers and another one for ROMs, at least.
This sounds great, the problem is that for now, I only know how to link view to a specific addon, but not for a section of the addon

Why don't just make Arctic views available for every addon? This is what I do with the AEL DEBUG view: it's available to all program addons, not just AEL. Users will be able to choose the view they want for every category/launcher and ROM browser. Just put some descriptive name for the views, for example "AEL ROMs" and "AEL Category/Launcher". Also, remember things don't need to be perfect on the first release Wink Just do some good stuff, publish it so you can get some feedback, and then improve it.
(2017-01-11, 17:33)billyc666 Wrote: [ -> ]sounds good wintermute, im not sure how to use python scripts outside of kodi lol.

Cool Blush I guess you are a Windows user, then you will need to install the Python runtime, then open a terminal (MS-DOS window) to run the programs. I can code some graphical user interface (GUI) programs if required.

(2017-01-11, 17:33)billyc666 Wrote: [ -> ]AEL-DB-CREATE.py would this be simlar to filling in data in a csv file where theres a blank cell to add the required info.

Yes, the idea of AEL-DB-CREATE.py is to have any kind of "official" metadata as input (No-Intro/TOSEC DAT files, Tempes ini files, your Game database stuff) as input and create the XML output of the AEL scraper.

Problem with CVS files is that they are more difficult to edit than XML files, specially if there are missing fields (empty fields) for some ROMs. Nice thing about XML is that you can choose the name of the tags you want, so even users with little knowledge can use them. Also, XML files are very convenient and easy to handle by computers. Finally, because XML are text files they can be used with Git, so differences between versions, etc., can be easily done.

(2017-01-11, 17:33)billyc666 Wrote: [ -> ]my original plan was to have live documnets , something like google sheets where they can be colaborated and updated live as someone fills in the data.

That's a nice approach. Problem is, what happens when there is a new release of the No-Intro DATs or a new MAME release? Doing a massive change in the document will be a pain in the ass. Using AEL-DB-UPDATE.py will take the old XML and the new DAT as input and create the new XML automatically!

(2017-01-11, 17:33)billyc666 Wrote: [ -> ]my ahk app that a couple of the guys at ahk forums put together for me worked great but that ended up been a pain to use as you need to select the game from the list and then scrape the info for the fields you want to fill the data in.
i dont mind manually adding the info manually but any method that can reduce the time would be great, all the info in the csv files was virtually copy and paste from various sites, which took me months.

Yes, you did a fantastic job with your databases. I know it took a lot of work to compile them. Thanks a lot Smile

AEL-DB-CREATE.py can fill most of the metadata for all ROMs, except plot. I can create an extra utility that can take the AEL offline scraper XML database and scrape only the missing fields automatically or semi-automatically. That's possible to do. However, any scraper will do mistakes (unmatched games, etc.) so some manual editing of some sort will always be necessary.

(2017-01-11, 17:33)billyc666 Wrote: [ -> ]i did have a question regarding offline scraping, lwts say you have a rom called: joe blogs day out (usa) , if you use the offline scraper and the xml as an entry for joe blogg's day out would it scrape the info for the rom.

or would it be better as no-intro style names classed as a parent rom and variuos other formats of name as a clone ie
Parent Name
180 (Europe)

Clone Name
Pub Darts

AEL-DB-CREATE.py/AEL-DB-UPDATE.py will take care of this. Currently, I have a ROM filtering utility called NARS (have a look here) that is able to take the artwork of clones/parents and rename it for parent or other clone games automatically.

(2017-01-11, 17:33)billyc666 Wrote: [ -> ]if you want to to transfer all xmls or any other files from my git feel free to do so as i dont use it anymore, i was going to ask dark13 or one of the other guys on hyperspin forums if they want to take over it.

im open to any ideas you have for gathering the info in the fastest way, but ill need some pointers from you as i only used the csvs for building the database then using a formula and notepad++ to convert to xml , which took a couple of minutes each

OK, thanks a lot. Now I'm very busy with other AEL features not related with scraping (have a look here for AEL plans) and also I want to release Advance MAME Launcher ASAP. Once I start doing some serious work on the AEL-offline-scraper repository I will contact you again. Probably I will place your XMLs in there as the starting point.
Hi and thanks for a great add-on. Smile

Could somebody please confirm the command line argument that passes the rom name without file extension to the emulator? I think it used to be %romname% under Advanced Launcher but this doesn't appear to be working in AEL. So if my rom file is "3countb.zip", I need AEL to send "3countb" to the emulator. This is necessary for using the MESS core in Retroarch with softlists.

Many thanks.
(2017-01-12, 12:45)Turisu Wrote: [ -> ]Hi and thanks for a great add-on. Smile

Could somebody please confirm the command line argument that passes the rom name without file extension to the emulator? I think it used to be %romname% under Advanced Launcher but this doesn't appear to be working in AEL. So if my rom file is "3countb.zip", I need AEL to send "3countb" to the emulator. This is necessary for using the MESS core in Retroarch with softlists.

Many thanks.

This is the most up-to-date argument keywords:

Code:
Emulator: /usr/games/mednafen
ROM file name example: /home/kodi/ROMs/Genesis/Sonic The Hedgehog (Rev A).zip

Standard argument substitution keywords:

$categoryID$   --> AEL category fingerprint
$launcherID$   --> AEL launcher fingerprint
$romID$        --> AEL ROM fingerprint
$rom$          --> /home/kodi/ROMs/Genesis/Sonic The Hedgehog (Rev A).zip
$romfile$      --> Alias for $rom$
$rompath$      --> /home/kodi/ROMs/Genesis
$rombase$      --> Sonic The Hedgehog (Rev A).zip
$rombasenoext$ --> Sonic The Hedgehog (Rev A)
$romtitle$     --> Depends on AEL scanner settings
$apppath$      --> /usr/games

For compatibility with Advanced Launcher (and deprecated):

%rom% --> Alias for $rom$
%ROM% --> Alias for $rom$

In your case I think you will need $rombasenoext$, so MAME arguments will be something like:

Code:
smspal -cart $rombasenoext$

Also, in a Software List probably you will need to use different machines for different regions (for example, for the Sega Master System you have sms, smspal, smsj). You can use AEL Additional Arguments for this: configure the machine you use most in the main arguments and other machines as additional arguments. You can access the Additional Arguments feature in Edit Launcher -> Advanced Modifications context menu.
New AEL release 0.9.5

Release notes

Compared to 0.9.5-beta2, release 0.9.5 has no new features, just bugfixes. Enjoy!

Advanced Emulator Launcher | version 0.9.5 | 12 January 2017

FIX Fix ROM Collection exporting/importing.

FIX Properly remove HTML tags in MobyGames metadata scraper plot.

FIX ROM substitution keywords now use $ instead of the ugly %. %rom% becomes $rom$

FIX Added new argument substitution keywords $rombasenoext$, $categoryID$, $launcherID$, and $romID$.

FIX Fixed issues #31 and #32 (FileName class related stuff). This should fix also "Edit Launcher" -> "Manage ROMs" -> "Scan for local artwork/assets"

FIX Fixed error in the ROM scanner when using semi-automatic scraping.
I updated from github but it still says 0.9.5beta2 in kodi.
That works perfectly! Thanks so much for the help and for the quick reply. Smile
(2017-01-12, 16:51)budtz Wrote: [ -> ]I updated from github but it still says 0.9.5beta2 in kodi.
If you install the new zip file Kodi picks up the new version instantly. However, if you update the add-on files it takes some time until Kodi shows the new version. No worries, if you replaced the add-on Python files you are running the new version.
ok you mean if i install it from scratch it gets the version right - but not if i update. here ill have to wait
(2017-01-12, 18:22)budtz Wrote: [ -> ]ok you mean if i install it from scratch it gets the version right - but not if i update. here ill have to wait
Just install the new version zip file, that should do the job. Alternatively, if you uninstall the add-on and reinstall no data must be lost at all, but this shouldn't be necessary though. If the problem persists I will check the 0.9.5 zip file, maybe I did a mistake when doing the zip file.
(2017-01-12, 19:10)Wintermute0110 Wrote: [ -> ]
(2017-01-12, 18:22)budtz Wrote: [ -> ]ok you mean if i install it from scratch it gets the version right - but not if i update. here ill have to wait
Just install the new version zip file, that should do the job. Alternatively, if you uninstall the add-on and reinstall no data must be lost at all, but this shouldn't be necessary though. If the problem persists I will check the 0.9.5 zip file, maybe I did a mistake when doing the zip file.

Hi Wintermute0110,

I have downloaded the .zip file from here and if I open it using 7-Zip, it shows me the following directory "plugin.program.advanced.emulator.launcher-0.9.5"...should it be without the "-0.9.5"? May be the update of budtz is not ok because the installed version is in the folder named "plugin.program.advanced.emulator.launcher". Tell me if I'm wrong... Smile
I did that. Version number stays the same
@axlt2002 When decompressing 7zip creates a folder with same name of the zip file, and inside it should be the plugin.program.advanced.emulator.launcher (withouth the -0.9.5). I have checked the ZIP file and everything seems to be in order.

@budzt Using Krypton RC2 in Linux I have unistalled AEL, then installed 0.9.5 and everything works OK. To test if you really have 0.9.5, then download these 2 files: Sonic.json and Sonic_assets.json. Place them together in a directory than can be read by Kodi. Go to ROM Collections context menu, Import Collection, navigate and select Sonic.json. When you are asked if you want to import assets then select YES. You should have a brand new Sonic ROM Collection with (almost) all artwork in place. This feature is new to 0.9.5 and was not working well in the betas.

EDIT: OK... I found what happened. For some reason, the tab I used to edit the first post didn't work correctly, so the first post was never updated and the download links were pointing to 0.9.5-beta2. Now everything should be OK! Sorry for the confusion.