![]() |
Advanced MAME Launcher - MAME 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: Advanced MAME Launcher - MAME frontend for Kodi (/showthread.php?tid=304186) |
RE: Advanced MAME Launcher - MAME frontend for Kodi - Wintermute0110 - 2018-01-12 (2018-01-09, 04:31)jgraver Wrote: I am having trouble scanning ROMs from an NFS share. 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. RE: Advanced MAME Launcher - MAME frontend for Kodi - Kel_Sceptic - 2018-02-17 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... 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... Thank you. RE: Advanced MAME Launcher - MAME frontend for Kodi - Wintermute0110 - 2018-02-17 (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".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. RE: Advanced MAME Launcher - MAME frontend for Kodi - Kel_Sceptic - 2018-02-17 (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. RE: Advanced MAME Launcher - MAME frontend for Kodi - Kel_Sceptic - 2018-02-17 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 ![]() 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. RE: Advanced MAME Launcher - MAME frontend for Kodi - Wintermute0110 - 2018-02-17 (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.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? RE: Advanced MAME Launcher - MAME frontend for Kodi - Kel_Sceptic - 2018-02-17 (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. 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. RE: Advanced MAME Launcher - MAME frontend for Kodi - Wintermute0110 - 2018-02-18 (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.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 ?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. RE: Advanced MAME Launcher - MAME frontend for Kodi - Wintermute0110 - 2018-03-29 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 ![]() 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 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. ![]() 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. ![]() You can audit the ROMs of individual machines in the context menu View / Audit, Audit MAME machine ROMs. ![]() 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: ![]() And this is an example of a generated Fanart for a Software List item: ![]() AML-generated MAME Fanarts are defined in a XML template that will look familiar to Kodi skinners ![]()
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: ![]() 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: ![]() 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:
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. RE: Advanced MAME Launcher - MAME frontend for Kodi - Wintermute0110 - 2018-05-10 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 ![]() 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. RE: Advanced MAME Launcher - MAME frontend for Kodi - Wintermute0110 - 2018-05-25 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 RE: Advanced MAME Launcher - MAME frontend for Kodi - Dax9 - 2018-05-27 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. RE: Advanced MAME Launcher - MAME frontend for Kodi - Wintermute0110 - 2018-05-27 (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.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. RE: Advanced MAME Launcher - MAME frontend for Kodi - Dax9 - 2018-05-27 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. RE: Advanced MAME Launcher - MAME frontend for Kodi - Wintermute0110 - 2018-05-28 (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. 0.9.3 is primitive compared to 0.9.6 ![]() 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) 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. |