• 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 14
Advanced MAME Launcher - MAME frontend for Kodi
#46
(2018-01-09, 04:31)jgraver Wrote: I am having trouble scanning ROMs from an NFS share.
nfs://x.x.x.x/MAME/MAME 0.192 ROMs (split)

Looking through the code:
 
Code:
ROM_path_FN = FileName(self.settings['rom_path'])
if not ROM_path_FN.isdir():
kodi_dialog_OK('ROM directory does not exist. Aborting.')
return
Looks like the FileName object is throwing an error on .isdir() over a network share.

Does AML support resources over NFS? Thanks!

AML does not support ROMs in remotes, including NFS, SMB or FTP. Note that even if AML would support ROMs in remotes when you call MAME to play your ROM, for example:
Code:
$ mame nfs://x.y.z.a/MAME/dino

then MAME will fail because MAME requires all ROMs to be available locally.

In my setup I have all my ROMs (both MAME and No-Intro) and artwork in a Synology NAS, and then I use autofs to automatically mount the NAS remote filesystems on-demand. It works like a charm.
Reply
#47
Can you please tell me what causes this behavior when I try to Context menu > Setup plugin > "Build Database".
XUbuntu 16.04.3
M.A.M.E. v0.160 (Mar 31 2015)

Starting MAME in xfce window is working ok. All rom paths are ok.

Version 0.9.0
Quote:03:07:44.731 T:139865747347200   ERROR: AML INFO : _command_setup_plugin() Generating MAME main database and PClone list...
03:07:44.731 T:139865747347200   ERROR: AML INFO : fs_build_MAME_main_database() Counting number of machines...
03:07:48.026 T:139865747347200   ERROR: AML INFO : fs_build_MAME_main_database() Found 0 machines.
03:07:48.026 T:139865747347200   ERROR: AML INFO : fs_load_Catver_ini() Parsing "/home/kodi/Downloads/catver.ini"
03:07:48.063 T:139865747347200   ERROR: AML INFO : fs_load_Catver_ini() Reached end of categories parsing.
03:07:48.063 T:139865747347200   ERROR: AML INFO : fs_load_Catver_ini() Number of machines    38793
03:07:48.063 T:139865747347200   ERROR: AML INFO : fs_load_Catver_ini() Number of categories    329
03:07:48.063 T:139865747347200   ERROR: AML INFO : fs_load_Catlist_ini() Parsing "/home/kodi/Downloads/UI_files/catlist.ini"
03:07:48.142 T:139865747347200   ERROR: AML INFO : fs_load_Catlist_ini() Number of machines    38795
03:07:48.142 T:139865747347200   ERROR: AML INFO : fs_load_Catlist_ini() Number of categories    335
03:07:48.142 T:139865747347200   ERROR: AML INFO : fs_load_Genre_ini() Parsing "/home/kodi/Downloads/UI_files/genre.ini"
03:07:48.224 T:139865747347200   ERROR: AML INFO : fs_load_Genre_ini() Number of machines    38795
03:07:48.224 T:139865747347200   ERROR: AML INFO : fs_load_Genre_ini() Number of categories     32
03:07:48.224 T:139865747347200   ERROR: AML INFO : fs_build_MAME_main_database() Loading "/home/kodi/.kodi/userdata/addon_data/plugin.program.advanced.MAME.launcher/MAME.xml"
03:07:48.227 T:139865747347200   ERROR: AML INFO : fs_build_MAME_main_database() MAME version is "0.160 (Mar 31 2015)"
03:07:48.227 T:139865747347200   ERROR: AML INFO : fs_build_MAME_main_database() Parsing MAME XML file ...
03:07:48.277 T:139865747347200   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 'machine' referenced before assignment
                                            Traceback (most recent call last):
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.MAME.launcher/addon.py", line 32, in <module>
                                                plugin.run_plugin()
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.MAME.launcher/resources/main.py", line 234, in run_plugin
                                                self._command_setup_plugin()
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.MAME.launcher/resources/main.py", line 830, in _command_setup_plugin
                                                fs_build_MAME_main_database(PATHS, self.settings)
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.MAME.launcher/resources/disk_IO.py", line 407, in fs_build_MAME_main_database
                                                machine['description'] = unicode(elem.text)
                                            UnboundLocalError: local variable 'machine' referenced before assignment
                                            -->End of Python script error report<--
 



and this is on Version 0.9.3
Quote:03:07:44.731 T:139865747347200   ERROR: AML INFO : _command_setup_plugin() Generating MAME main database and PClone list...
03:07:44.731 T:139865747347200   ERROR: AML INFO : fs_build_MAME_main_database() Counting number of machines...
03:07:48.026 T:139865747347200   ERROR: AML INFO : fs_build_MAME_main_database() Found 0 machines.
03:07:48.026 T:139865747347200   ERROR: AML INFO : fs_load_Catver_ini() Parsing "/home/kodi/Downloads/catver.ini"
03:07:48.063 T:139865747347200   ERROR: AML INFO : fs_load_Catver_ini() Reached end of categories parsing.
03:07:48.063 T:139865747347200   ERROR: AML INFO : fs_load_Catver_ini() Number of machines    38793
03:07:48.063 T:139865747347200   ERROR: AML INFO : fs_load_Catver_ini() Number of categories    329
03:07:48.063 T:139865747347200   ERROR: AML INFO : fs_load_Catlist_ini() Parsing "/home/kodi/Downloads/UI_files/catlist.ini"
03:07:48.142 T:139865747347200   ERROR: AML INFO : fs_load_Catlist_ini() Number of machines    38795
03:07:48.142 T:139865747347200   ERROR: AML INFO : fs_load_Catlist_ini() Number of categories    335
03:07:48.142 T:139865747347200   ERROR: AML INFO : fs_load_Genre_ini() Parsing "/home/kodi/Downloads/UI_files/genre.ini"
03:07:48.224 T:139865747347200   ERROR: AML INFO : fs_load_Genre_ini() Number of machines    38795
03:07:48.224 T:139865747347200   ERROR: AML INFO : fs_load_Genre_ini() Number of categories     32
03:07:48.224 T:139865747347200   ERROR: AML INFO : fs_build_MAME_main_database() Loading "/home/kodi/.kodi/userdata/addon_data/plugin.program.advanced.MAME.launcher/MAME.xml"
03:07:48.227 T:139865747347200   ERROR: AML INFO : fs_build_MAME_main_database() MAME version is "0.160 (Mar 31 2015)"
03:07:48.227 T:139865747347200   ERROR: AML INFO : fs_build_MAME_main_database() Parsing MAME XML file ...
03:07:48.277 T:139865747347200   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 'machine' referenced before assignment
                                            Traceback (most recent call last):
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.MAME.launcher/addon.py", line 32, in <module>
                                                plugin.run_plugin()
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.MAME.launcher/resources/main.py", line 234, in run_plugin
                                                self._command_setup_plugin()
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.MAME.launcher/resources/main.py", line 830, in _command_setup_plugin
                                                fs_build_MAME_main_database(PATHS, self.settings)
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.MAME.launcher/resources/disk_IO.py", line 407, in fs_build_MAME_main_database
                                                machine['description'] = unicode(elem.text)
                                            UnboundLocalError: local variable 'machine' referenced before assignment
                                            -->End of Python script error report<--


Thank you.
Reply
#48
(2018-02-17, 03:14)Kel_Sceptic Wrote: Can you please tell me what causes this behavior when I try to Context menu > Setup plugin > "Build Database".
XUbuntu 16.04.3
M.A.M.E. v0.160 (Mar 31 2015)

...
The version of MAME you are using is too old. Somewhere around MAME 0.180 (I don't recall which version exactly) the MAME team did some changes in the MAME XML. Among other stuff, they changed the tag <game> by <machine>. Because AML only understands the latter hence the crash. Can you please update MAME to 0.189 using Cesare Falco's PPA? Substitute YOUR_UBUNTU_VERSION_HERE by xenial.

AML will be released soon (2, 4, 6 weeks...) and if you cannot update MAME (please tell me why you cannot) I can give support for MAME 0.160. In any case, AML 0.9.4 will include a numerical MAME version that will raise a WARNING (please update your MAME version) and won't crash.
Reply
#49
(2018-02-17, 11:43)Wintermute0110 Wrote: The version of MAME you are using is too old.
 Yep, after installing mame_0.189+dfsg.1-0ubuntu1~ppa1~xenial1_amd64.deb everything worked out corectly.
Thank you.

LE: Quick question: is there a way to add additional parameters to mame launcher. For instance:
       -audiodriver, -ad auto|alsa|arts
              SDL audio driver to use; 'auto' selects SDL default.
Reply
#50
I'm using Kodi with Alsa and altough kodi works ok, I got no audio in MAME. I can't switch tu pulse.
It seems it has something to do with the face that alsa works on session. But still, I've dissabled Keep Audio Alive ... can't get this through Sad
Starting mame outside kodi works without any problems.
Any ideeas ?

Oh, and another problem ... after I exit a mame game, I lose my keyboard in Kodi, so I have to restart Kodi to get back kodi fucntionality.
Reply
#51
(2018-02-17, 16:14)Kel_Sceptic Wrote: I'm using Kodi with Alsa and altough kodi works ok, I got no audio in MAME. I can't switch tu pulse.
It seems it has something to do with the face that alsa works on session. But still, I've dissabled Keep Audio Alive ... can't get this through Sad
Starting mame outside kodi works without any problems.
Any ideeas ?
Looks like Kodi is blocking the ALSA device/sound card. If you tell MAME to use SDL and then SDL uses ALSA the device would be blocked.

Are you using a digital output, like HDMI, to get the sound to your TV? In that case, you need to enable dmix on that device to allow two or more applications to use the device/sound card.

(2018-02-17, 16:14)Kel_Sceptic Wrote: Oh, and another problem ... after I exit a mame game, I lose my keyboard in Kodi, so I have to restart Kodi to get back kodi fucntionality.
Which window manager are you using?
Reply
#52
(2018-02-17, 16:23)Wintermute0110 Wrote: Looks like Kodi is blocking the ALSA device/sound card. If you tell MAME to use SDL and then SDL uses ALSA the device would be blocked.
Are you using a digital output, like HDMI, to get the sound to your TV? In that case, you need to enable dmix on that device to allow two or more applications to use the device/sound card.
Which window manager are you using? 
 
It is a custom HTPC, so it doesnt have a window manager, it starts X then KODI. If kodi fails/crashes it autorestarts.
I'm using alsa so that KODI can passthrough (Allow passthrough) the digital signal with signatures (DTS/DolbyD etc" to my Onkyo reciever. So yes, it is using an HDMI cable for the audio part.
Seems like I should try setting up dmix.

About the keyboard issue, any ideeas on how to make Kodi keep the keyboard, since no window manager used ?

Thank you.
Reply
#53
(2018-02-17, 18:13)Kel_Sceptic Wrote: It is a custom HTPC, so it doesnt have a window manager, it starts X then KODI. If kodi fails/crashes it autorestarts.
I'm using alsa so that KODI can passthrough (Allow passthrough) the digital signal with signatures (DTS/DolbyD etc" to my Onkyo reciever. So yes, it is using an HDMI cable for the audio part.
Seems like I should try setting up dmix.
Good luck! Configuring ALSA may be a pain in the ass but I'm sure it's doable.

(2018-02-17, 18:13)Kel_Sceptic Wrote: About the keyboard issue, any ideeas on how to make Kodi keep the keyboard, since no window manager used ?

Thank you.
I'm afraid unless you use a Window Manager you cannot avoid this. If the HTPC is based in Ubuntu, then you sould be able to locate the systemd service that initiates X. Then, modify it to launch a Window Manager (I recommend OpenBox) and then Kodi.

The other solution would be to use a wrapper script to close Kodi, launch MAME, and then open Kodi again. However, if Kodi is relaunched by another scripts that detects when Kodi crashes and relaunches it, this won't work either.
Reply
#54
New AML release 0.9.4

It's been a long time (almost a year) since the last AML release. During this time, AML has evolved a lot and many components of the addon have been totally rewritten from scratch. AML 0.9.4 comes fully loaded with a lot of new features and I hope you will enjoy it!

NOTE AML is still under heavy development and the format of the databases may change in the future. Do not make huge lists of Favourites because there could be incompatibilities with future versions (in other words, it may be possible that you will need to wipe out your favourites in order to upgrade AML).

The instructions on the first and second post of this thread need and update to follow up with all the new features of AML 0.9.4. You you should be able to figure out the new menus and settings Wink Over the following weeks, I will try to improve the documentation and create a wiki in Github.

Some of the most important new features are ...

ROM/Asset cache for MAME machines

AML 0.9.4 navigation is now faster than ever owing to a new ROM and asset cache. The disadvantage is that every time the database is changed or ROMs/assets are scanned the cache must be rebuilt. The cache rebuild may take a couple of minutes but is it worth it.

File scanner cache

Scanning of MAME and SL ROMs/Assets is now much faster thanks to the file scanner cache ported from Advanced Emulator Launcher.

Parent/Clone Asset substitution

Parents can use Assets from Clone machines and Clone machines can use Assets from the Parent machine or other Clone machines.

DAT file support

AML now supports History.dat, MameInfo.dat, Gameinit.dat and Command.dat. History.dat is also supported on Software List items. You can access the DAT information by selecting a machine and opening the context menu, Info/Utils, View History/MameInfo/Gameinit/Command DAT.

MAME machine plot generation

AML is now able to generate a plot for MAME machines with some useful information. For example:

Code:
Controls Only Buttons
One raster horizontal screen
Non-mechanical / Driver is 88games.cpp
Machine has 2 coin slots
Artwork, Manual, History, Info, Gameinit, Command
SL sms, snes

The first line tells you about the controls used by the machine. Second line informs about the number of screens. The third line reports wheter the machine is mechanical or not and the MAME driver. The fourth line informs about the number of coin slots. The fifth line informs if the machine has artwork available and manual are available and the support in the DAT files (in this example, the machine has entries in History, MameInfo, Gameinit and Command DATs. The last line is present if the machine supports Software Lists.

ROM/CHD audit support

At last, AML is able to show the ROMs of a MAME machine and also audit all your ROMs, CHDs and Samples. To view the ROMs of a machine open the context menu, View / Audit, View MAME machine ROMs (ROMs DB). The ROMs database display the ROMs as they appear in the MAME XML file.

Image

You can also show the ROMs in the audit database in the context menu View / Audit, View MAME machine ROMs (ROMs DB). The ROM Audit database has the location of each ROM (the ZIP file and directory where the ROM must be) and varies depending if you have a Merged, Split or Non-merged set.

Image

You can audit the ROMs of individual machines in the context menu View / Audit, Audit MAME machine ROMs.

Image

In addition, you can audit all your MAME ROMs/CHDs in one go. Open the context menu in AML root window, Setup plugin, Audit MAME machine ROMs/CHDs. The audit process will take several minutes. The audit process will produce several reports that can be read in the context menu View, View audit reports ...

ROM viewing and audit is also supported for Software Lists.

Fanart generation from XML templates

Unfortunately, the vast majority MAME machines do not have a Fanart, only the most popular games do. Fanart is especially important in skins that do not support AML. To overcome this, AML is now able to build a Fanart from other pieces of artwork. This is an example of a generated Fanart for a MAME machine:

Image

And this is an example of a generated Fanart for a Software List item:

Image

AML-generated MAME Fanarts are defined in a XML template that will look familiar to Kodi skinners Wink An example of this XML Fanart template file looks like this:

xml:
<!-- AML MAME Fanart template -->
<Advanced_MAME_Launcher_MAME_Fanart>
<!-- Artwork images -->
<Title>
<width>450</width>
<height>450</height>
<left>50</left>
<top>50</top>
</Title>
<Snap>
<width>450</width>
<height>450</height>
<left>50</left>
<top>550</top>
</Snap>

...

<!-- Text fields -->
<MachineName>
<left>550</left>
<top>50</top>
<fontsize>72</fontsize>
</MachineName>
</Advanced_MAME_Launcher_MAME_Fanart>

Currently, this file is located in AML_INSTALLATION_DIR/AML-MAME-Fanart-template.xml and the file location is hard-coded into AML Python code. Future versions of AML will be able to load custom XML templates. You can edit this file if you wish but keep in mind that will be overwritten when a new version of AML is installed so keep a backup.

The Fanart generation is quite time consuming. For a fully loaded artwork collection from ProgettoEMMA the Fanart building for all MAME machines will take about 3/4 hours on a fast computer. Before building all Fanarts, you can test the current template in the context menu Setup plugin, Build Fanarts ..., Test MAME Fanart. This Fanart test uses some hardcoded artwork. This is how the test looks for a MAME machine:

Image

The deep-purple bands allow an easy identification of the rectangles defined in the XML template and will not be present in the final Fanart.

Finally, this is how the Fanart test looks for a Software List item:

Image

Export of Virtual Launchers

AML is able to export any MAME machine filter/listing into an XML file. In the future, Advanced Emulator Launcher will be able to load this XML file to create a Virtual Launcher. In this way, you can use AML and its powerful filters to choose the MAME ROMs you like most and then create an AEL launcher for fast and convenient browsing. Note that Virtual Launchers will share ROMs and Assets so there is no need for duplicate ROMs and/or Assets.

PDF manual viewer

Finally, AML is able to display Manuals in PDF format! Kudos to i96751414 and his PDF Reader addon. Note that currently AML is able to display PDF that are componsed exclusively of images (no text). This should be no problem because 99% of all the game manuals are like this. However, only PNG and JPG embedded images embedded in PDF files are currently supported and many PDFs will not work. In the future, I plan to improve the PDF reader so more types of images can be extracted. PDF is a very complex file format and will take me some time, though.

In addition, I have plans to support manuals in CBZ and CBR formats in the future (and of course port this feature to AEL).

Custom MAME filters

I have ported some features from NARS into AML to support creating you own custom MAME machine filters. Currently, AML comes with a set of preconfigured filters so you can easily test this new feature. The filter XML file is located in AML_INSTALLATION_DIR/AML-MAME-filters.xml and looks like this:

xml:
<!-- Example Advanced MAME Launcher custom filters -->
<Advanced_MAME_Launcher_custom_filters>

<!-- Capcom -->
<DEFINE name="CAPCOM_DRIVERS">cps1.cpp or cps2.cpp or cps3.cpp</DEFINE>

<!-- Filter definitions -->
<MAMEFilter>
<Name>Capcom</Name>
<Options></Options>
<Driver>CAPCOM_DRIVERS</Driver>
</MAMEFilter>
</Advanced_MAME_Launcher_custom_filters>

Currently, you can only filter MAME machines by driver. Future version of AML will include more filtering options (like the filters available in ROMLister) and will be able to load your own custom XML filtering file. Now, you can edit the XML file included in the AML installation directory, but keep in mind that your custom file will be overwritten when a new version of the addon is intalled, so keep a backup!

Upgrading AML

AML 0.9.4 requires a complete wipe out of any previous AML installation. I'm afraid you will have to reconfigure AML again but this was unavoidable due to the large number of changes in the database format.

1) First, uninstall any previous AML you may have installed.

2) Delete AML plugin data directory PLUGIN_DATA_DIRECTORY.

On Linux, PLUGIN_DATA_DIRECTORY is is located in /home/your_username/.kodi/userdata/addon_data/plugin.program.advanced.MAME.launcher

On Windows, PLUGIN_DATA_DIRECTORY is is located in C:\Users\your_username\AppData\Roaming\Kodi\userdata\addon_data\plugin.program.advanced.MAME.launcher

3) After deleting the directory then install AML 0.9.4 using the ZIP file. You will need to configure the plugin (MAME executable and paths), rebuild the databases and scan for ROMs/assets again. Also, the MAME Favourites and Software List Favourites of AML 0.9.3 will be lost. In some cases, Kodi will disable AML 0.9.4 after the installation. To enable it, browse to the "My addons" section, select AML and then click on the "Enable" button.

I tried to test AML 0.9.4 as much as possible, but due to the vast number of new features expect some bugs and things that should be improved. Please report here or in Github any problems or issues you may have.

Advanced MAME Launcher | version 0.9.4 | 29 March 2018

Code:
FEATURE  File cache for SL ROMs/CHDs and SL assets.

FEATURE  Port the file scanner cache from AEL to AML. This will increase the scanning speed a lot!
         Also, this will allow supporting more image types (currently only PNG), manual
         types (currently only PDF) and trailer types (currently MP4 only).

FEATURE  Create an AEL virtual launcher in XML from any AML filter.

FEATURE  Use proper Software List name in "Machines by Software List" filter.

FEATURE  Use proper short name in "Machines by MAME short name" filter.

FEATURE  Clean Render and main machine JSON files. Currently, there are repeated fields on both
         databases like nplayers.

FEATURE  Move flags and plot from the render database to the assets database. Flags are modified
         by the scanner only and plot generated after the scanner. If flags and plot are in
         the asset DB, the ROM cache and hashed DB must be regenerated after the database building
         only and not always like now.

FEATURE  Render PDF manuals consisting of image scans (99% of game manuals are scans of images).
         Thank you very much to i96751414 for allowing use of his PDF reader addon code.
         Have a look at the PDF reader addon https://forum.kodi.tv/showthread.php?tid=187421
         and https://github.com/i96751414/plugin.image.pdfreader
         This initial implementation somewhat works for some PDFs but code can be improved a lot.

FEATURE  Create a hased database for all catalog filter combination. This will require the
         creation of about 5000 json files but will make AEL as fast as possible.

FEATURE  Hashed database for assets, in a similar fashion to the catalog ROM hashed database.

FEATURE  Make a ROM cache and a assets cache for the MAME filters. That will increase the
         loading speed of the MAME filters a lot.

FEATURE  Support MAME artwork by Mr. Do's. Note that Clones use Parent's artwork automatically.

FEATURE  Use Parent/Clone substituted artwork in MAME. For example, most trailers are only available
         for the Parent machine and can be used by Clone machines.

FEATURE  Use Parent/Clone substituted artwork in Software Lists.

FEATURE  Build Fanarts from other pieces of artwork for Software List items.

FEATURE  Build Fanarts from other pieces of artwork for MAME machines.

FEATURE  Test MAME and SL Fanart building.

FEATURE  Custom MAME filters, using XML files. Merge some of the functionality of NARS into AML.
         First, give to support to filter by driver. Later, more filters can be added.

FEATURE  "Browse by MAME short name" and "Browse by MAME long name" alphabetical catalogs.

FEATURE  Renamed plugin from plugin.program.advanced.MAME.launcher to plugin.program.AML.
         Shorter name, shorter databases, higher speed.

FEATURE  Some skin helper commands to display widgets.

FEATURE  Support bestgames.ini and series.ini.

FEATURE  Generate machine plot from MAME XML information.

FEATURE  New Main filters Normal and Unusual.

FEATURE  Show ROMs of a MAME machine that should be in a ZIP file. Supports Merged, Split and
         Non-merged sets, CHDs, BIOS and Devices with ROMs.

FEATURE  Audit MAME ROMs for all machines.

FEATURE  Show SL ROMs of a SL entry. Supports Merged, Split and Non-merged sets and SL CHDs.

FEATURE  Audit SL ROMs.

FEATURE  Display MAMEINFO.DAT information.

FEATURE  Display HISTORY.DAT in information.

FEATURE  Display gameinit.dat in information.

FEATURE  Display command.dat in information.

FEATURE  At launching, do not check ROMs for machines which doesn't have ROMs.
         Requires loading machines database, which will slow down launching process a lot!
         A hashed database of machines is necessary to speed up plugin.
         Better solution for now: do not do any check. Let MAME fail if there are ROM/CHD errors.

FEATURE  Allow user to choose default assets as AEL does in addon seetings.

FEATURE  Trailer support in MAME machines and Software Lists.

FEATURE  Manage MAME Favourites context menu.

FEATURE  Manage SL Favourites context menu.

FEATURE  Create a hased database for main ROM database and Audit ROM database.
Reply
#55
New AML release 0.9.5

New AML release!

NOTE AML is still under heavy development and the format of the databases may change in the future. Do not make huge lists of Favourites because there could be incompatibilities with future versions (in other words, it may be possible that you will need to wipe out your favourites in order to upgrade AML).

The instructions on the first and second post of this thread need and update to follow up with all the new features of AML 0.9.5. You you should be able to figure out the new menus and settings Wink Over the following weeks, I will try to improve the documentation and create a wiki in Github.

Some of the most important new features are ...

Option to disable the ROM/Asset cache

AML 0.9.4 introduced the ROM/Asset cache. This cache speeds up the plugin considerably but the price to pay is that the cache must be regenerated any time a change is made to the database. Also, the cache requires the creation of about 12,000 JSON files. AML 0.9.5 by default has this cache disabled, which slows down the plugin a bit. However, you can enable/disable and any time. Just remember to regenerate the cache manually after enabling it if you disabled it previously.

Check AML configuration

AML has many paths and it could be easy to make a mistake. AML can now check the current configuration for errors. The option in in the addon settings, I/O tab.

PDF manual viewer

The PDF Manual viewer has been improved a lot! Now AML is capable of opening and introspect the PDF files. However, not all the CODECS in the PDF file are supported yet and there could be manuals (composed of images) that cannot be read. I plan to add more PDF CODECS in the future.

ROM and CHD auditor

Several bugs have been fixed in the ROM Auditor and now I can proudly say that it works well. AML has been extensively tested with a full ROM Split set and CHD Merged set. If you have different sets and the auditor does strange things please report a bug.

Upgrading AML from 0.9.4 to 0.9.5

AML 0.9.5 requires a complete wipe out of any previous AML installation. However, you will keep your settings and Favourite lists.

1) First, uninstall any previous AML you may have installed.

2) Delete everything in the AML plugin data directory PLUGIN_DATA_DIRECTORY EXCEPT Favourite_Machines.json, Favourite_SL_ROMs.json and settings.xml.

On Linux, PLUGIN_DATA_DIRECTORY is is located in /home/your_username/.kodi/userdata/addon_data/plugin.program.advanced.MAME.launcher

On Windows, PLUGIN_DATA_DIRECTORY is is located in C:\Users\your_username\AppData\Roaming\Kodi\userdata\addon_data\plugin.program.advanced.MAME.launcher

3) After deleting the directory then install AML 0.9.5 using the ZIP file. Then, follow the usual steps of extracting the MAME XML, generate the databases, scan, etc.

Advanced MAME Launcher | version 0.9.5 | 11 May 2018

Code:
FEATURE  Option to disable the ROM and asset caches.

FEATURE  CRC32 hash collision detector for MAME and SL ROMs.

FEATURE  MAME ROM and asset cache disable by default. They may be enabled by user that want to
         increase the loading speed. This will be very useful for development because
         cache rebuilding takes a long time.

FEATURE  Check if AML configuration is OK or not, and warn the user about warnings/errors.

FEATURE  Improved PDF manual rendering. Use the library pdfrw for image extraction.

FEATURE  Clean ROM cache before rebuilding cache.

FEATURE  Clean asset cache before rebuilding cache.

FEATURE  Clean filters directory before rebuilding custom filters.

FEATURE  MAME audit statistics.

FEATURE  SL audit statistics.

FEATURE  Support for SL Merged ROM/CHD sets (currently only Split).

FEATURE  Added audit timestamps (MAME machines and Software Lists).

FEATURE  Move driver aristmk5.cpp (Aristocrat gambling machines) from Standard to Unusual.
         Also, adp.cpp, mpu4vid.cpp, cubo.cpp, sfbonus.cpp, peplus.cpp.

FIX      Software List ROM size was stored as string and not as int. This made the SL Audit to
         completely fail.

FIX      Fixed audit of MAME machine ROMs (wrong function name).

FIX      Lots of fixes to MAME ROM audit engine.

FIX      Lots of fixes to Software Lists audit engine.
Reply
#56
New AML release 0.9.6

New AML release! Compared with previous releases 0.9.6 does not introduce big changes. The main feature is support for Most Played and Recently played MAME machines and Software List items. Parents with kids will be happy to hear that support for Mature.ini has been added and now Mature MAME machines can be completely filtered out. Mature.ini is included in the ZIP file that contains Catver.ini. Finally, the usability of AML has been improved. Now, if the database is not built AML will print a message telling the user what to do, etc., which I think will be great for new users of the addon.

If everything is all right and nobody reports any serious issue I will include AML 0.9.6 in the official Kodi repo. The policy for new releases will be to update AML on the forum first and about one week later update the Kodi repository. From now on, AML will keep you Favourite machines, Recently Played and Most Played machines (no need for more database wipe outs) between upgrades.

Upgrading AML to release 0.9.6

1) Install AML 0.9.6 using the ZIP file.

2) Follow the steps of Extracting MAME XML, Build all databases and Scan everything and build plots. Extracting MAME XML resets the ROM audit statistics so if you want to see those you also need to repead the ROM audit.

3) Open AML settings, go to the "I/O" tab and click on "Check/Update all objects". This will bring your MAME Favourites, MAME Most Played, etc. up to date with the last version of the database.

Advanced Emulator Launcher | version 0.9.6 | 25 May 2018

Code:
FEATURE  Improve the user experience when the addon is just installed. Check if databases
         have been built, check for errors, etc.

FEATURE  Add a isMature field to MAME DB. Take the mature information from mature.ini included
         in the Catver.ini ZIP file.

FEATURE  Option in settings to completely hide Mature machines and filter categories.

FEATURE  Asset hashed database. This will speed up launching MAME machines. Note that the asset
         DB must be opened for the Most Played and Recently Played DBs.

FEATURE  Prettify the "Display rotation" filter (use Horizontal/Vertical instead of numbers).

FEATURE  Include number of buttons in controls and some other control information.

FEATURE  Add the Samples of each machine to the ROM database.

FEATURE  Audit the ROM samples inside ZIP files.

FEATURE  Implement "Most played MAME machines"

FEATURE  Implement "Recently played MAME machines"

FEATURE  Option in settings to update all MAME and SL Favourite ROMs. Useful for plugin upgrades.

FEATURE  Implement "Most played SL ROMs"

FEATURE  Implement "Recently played SL ROMs"
Reply
#57
I'm getting errors when setting up AML.  This occurs in AML 0.9.4, 0.9.5, 0.9.6 running Kodi 17.6 on Windows 10 Pro 64-bit.

My log is here: https://pastebin.com/vtArhtwD

These are the setup steps I executed.  I don't have Software Lists, so I skipped those steps:
Extract MAME.xml     OK
Build MAME databases     OK
Build MAME Audit/Scanner databases     ERROR
Build MAME catalogs     OK
Scan MAME ROMs/CHDs/Samples     ERROR
Scan MAME assets/artwork     OK
Build MAME machines plots     OK
Rebuild MAME machine and asset cache     OK

Thanks for working on this great add-on.
Reply
#58
(2018-05-27, 03:09)Dax9 Wrote: I'm getting errors when setting up AML.  This occurs in AML 0.9.4, 0.9.5, 0.9.6 running Kodi 17.6 on Windows 10 Pro 64-bit.

My log is here: https://pastebin.com/vtArhtwD

These are the setup steps I executed.  I don't have Software Lists, so I skipped those steps:
Extract MAME.xml     OK
Build MAME databases     OK
Build MAME Audit/Scanner databases     ERROR
Build MAME catalogs     OK
Scan MAME ROMs/CHDs/Samples     ERROR
Scan MAME assets/artwork     OK
Build MAME machines plots     OK
Rebuild MAME machine and asset cache     OK

Thanks for working on this great add-on.
You are getting an out of memory error. How much RAM do you have in your mediacenter computer? To avoid this error, if AML or any other addon crashes please reboot Kodi and try again, this seems to help (for some reason it looks that if an addon crashes the memory consumed is not completely purged and after the crashing addons have less memory available).

I have modified AML and added a patch that should keep the memory consumed below 2 GBytes when building the Audit database. I did not do much testing but seems to work OK. Can you please try the version in github? There is an additional problem... I discovered that when you download AML ZIP from Github the pdfrw submodule is not downloaded (do you know something about git usage?). I will need more time to fix this problem with the submodule. If you know what I'm talking about, download the submodule and include in the AML ZIP file. If not wait until tomorrow and I will fix this additional problem with the submodule.
Reply
#59
My HTPC has 8 GB RAM.  I tried rebooting and rerunning the AML Setup, but I got errors with Build MAME Audit/Scanner databases and Scan MAME ROMs/CHDs/Samples again.

Then I downloaded the latest AML 0.9.7-alpha from GitHub; extracted and added the pdfrw folder; zipped it all up; installed the add-on in Kodi, and rebooted.

I ran through the AML Setup again, but unfortunately I'm getting errors in the same steps.  Here's the log:

https://pastebin.com/SaUSF2i1

The last version of AML which did not give me Setup errors was 0.9.3.
Reply
#60
(2018-05-27, 19:24)Dax9 Wrote: My HTPC has 8 GB RAM.  I tried rebooting and rerunning the AML Setup, but I got errors with Build MAME Audit/Scanner databases and Scan MAME ROMs/CHDs/Samples again.

Then I downloaded the latest AML 0.9.7-alpha from GitHub; extracted and added the pdfrw folder; zipped it all up; installed the add-on in Kodi, and rebooted.

I ran through the AML Setup again, but unfortunately I'm getting errors in the same steps.  Here's the log:

https://pastebin.com/SaUSF2i1

The last version of AML which did not give me Setup errors was 0.9.3.

0.9.3 is primitive compared to 0.9.6 Big Grin and the memory consumption was significantly lower.

If the Audit database fails to build the ROM scanner will also fail. Before to 0.9.4 the scanner database was built using a navie algorithm. 0.9.4 and up first build the audit database (which is different depending if you have a Merged, Split, Non-merged set) and then determines which ZIP files the set contains. This list of ZIP files is used by the ROM scanner.

I've doing some tests in a Windows computer with the task manager. I monitored the Peak Working Set (Memory) of the Kodi process. This is what I get:

Code:
Windows 7 Ultimate version 6.1 64 bit, Kodi Krypton 17.6. MAME 0.197, Peak Working Set (Memory)
Kodi is restarted before each test.
Options: no ROM/Asset cache, with SLs.

Build all databases, no INIs/DATs -> 863 MB
Build all databases, with INIs/DATs, with ROM/Asset cache, OPTION_COMPACT_JSON -> 866 MB
Build all databases, with INIs/DATs, with ROM/Asset cache -> 914 MB
Build all databases, with INIs/DATs -> 916 MB
Build MAME database, with INIs/DATs -> 916 MB
Build MAME Audit database, with INIs/DATs -> 938 MB
Build MAME database, with INIs/DATs, OPTION_COMPACT_JSON -> 870 MB
Build MAME Audit database, with INIs/DATs, OPTION_COMPACT_JSON -> 905 MB

I'm totally puzzled and don't understand how Kodi peaks at 916 MB and get an Out of Memory error on a machine with 8 GB of RAM.

I will open a thread in the addon developer subforum to check with the core developers about what's going on.
Reply
  • 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 14

Logout Mark Read Team Forum Stats Members Help
Advanced MAME Launcher - MAME frontend for Kodi2