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 - sagrath - 2018-04-11

(2018-04-11, 08:31)Wintermute0110 Wrote: I'm not aware of such option in Retroarch, but I recomend you (Vantskruv) try it first.

Oh sorry, I mean sound settings in Kodi, not in retroarch. I will correct my post.


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Vantskruv - 2018-04-13

(2018-04-11, 08:31)Wintermute0110 Wrote:
(2018-04-10, 16:02)sagrath Wrote:
(2018-04-10, 10:46)Vantskruv Wrote: Anyone aware of any alsa problems?

Hence, I did install this addon, launching retroarch, or ROMS directly with retroarch, and I did not get any sound.
I think Kodi is locking the alsa-device and therefore blocking sound from retroarch.

Any solution for this? Using pulseaudio is not a option as I've read it does not support all audio-formats with passthrough.
 Yes! Kodi lock the sound if you use determined option on sound settings. I don't remember what setting is (on work right now), but it's quite simple to resolve: Set an option on sound settings and launch a rom, if the sound is muted, exit retroarch, go back to settings e select other setting. Repeat until get sound on retroarch.

Cheers    

I'm not aware of such option in Retroarch, but I recomend you (Vantskruv) try it first.

ALSA by default allows mixing (several apps accessing the same sound card) for analog devices, but not for digital ones. For example, if you are using HDMI (a digital device) to output your sound, then you have to create a dmix plug in your .alsarc configuration file. Please google a bit, there are many tutorials out there (in particular, check the Archlinux wiki is always useful). ALSA configuration may be painful but in the end you can get any result you want. For example, if you have a 5.1 audio system, you can create a virtual sound card for your emus and tell ALSA to output left and right channels to the left/right speakers, respectively, then mix both right and left for the central speaker, and apply a low pass filter for the subwoofer, all at the same time you are watching a 5.1 movie in Kodi with audio passthrough. OR, you may want the virtual sound card to output left/right sound only in the left/right front speakers, to create a more retro experience.  

Thank you very much both of you. Smile
The settings in Kodi did not help, but I guess than as @Wintermute0110 said it would not help if you send sound through HDMI, which I am doing (pass-through).
Also I did not know that you could mix up different sources in ALSA, I will investigate more about my ALSA settings when I get more time. Smile

For now on OpenAL did work, but only if game is started from Retroarch.

Another thing worth to note, not related to sound, is if using the same gamecontroller for playing games in Retroarch, as navigating in menus in Kodi, Kodi will still read input from the gamecontroller while playing the games. Ironically, and unintentionally, I managed to disable peripheral joysticks in Kodi while playing a game in Retroarch. When exiting Retroarch, I noticed Kodi was in the input menus for whatever reason, and I could not navigate at all. Big Grin


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Wintermute0110 - 2018-04-13

(2018-04-13, 08:39)Vantskruv Wrote: Thank you very much both of you. Smile

The settings in Kodi did not help, but I guess than as @Wintermute0110 said it would not help if you send sound through HDMI, which I am doing (pass-through).
Also I did not know that you could mix up different sources in ALSA, I will investigate more about my ALSA settings when I get more time. Smile

For now on OpenAL did work, but only if game is started from Retroarch.

You are welcomed. I recommend you put Kodi into windowed mode. Then, you open a console to launch Retroarch, edit ALSA configuration, etc.

To be totally honest with you, when I configured my setup years ago I got tired of ALSA and I decided to spend 2,000 yen on a USB sound card. Now, emulator audio is output through the HDMI port and Kodi audio is output on the USB sound card connected to the AUX input of my Denon RCD-N7. This creates a more retro environment (emulator sound comes from the TV and Movies/Music comes out of the Hi-FI speakers). The quality of the cheap USB sound card is excellent (at least I cannot notice any loss of quality).
(2018-04-13, 08:39)Vantskruv Wrote: Another thing worth to note, not related to sound, is if using the same gamecontroller for playing games in Retroarch, as navigating in menus in Kodi, Kodi will still read input from the gamecontroller while playing the games. Ironically, and unintentionally, I managed to disable peripheral joysticks in Kodi while playing a game in Retroarch. When exiting Retroarch, I noticed Kodi was in the input menus for whatever reason, and I could not navigate at all. Big Grin 

Recent versions of Retroarch introduced some changes in the video code and include a new setting "Use maximised window in full screen" or something like that. Try to change those settings under "Video" until you get the desired results.

Also, I recommend you use some button exclusively to exit the emulators which Kodi totally ignores. In my case I use the "Xbox" button. Before, I mapped that button to the Kodi action "Go to home menu" and when I exited Retroarch or MAME Kodi also picked that button event and did go to the Home menu. The solution was to tell Kodi to ignore that button.

Last but not least: Ubuntu 18.04 LTS is about to be released and I'm planning on totally rebuilding my setup (installing it again from scratch). I plan to write a complete guide of all the process which will be handy now that the Kodibuntu project is dead. In that guide I will include how to install Kodi, configure Retroarch and MAME, and fully control Kodi with a Gamepad.


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - sagrath - 2018-04-13

I do not know if it helps you @Vantskruv , but I use a custom script scheme for retroarch. Basically it consists of launching the game via retroarch by AEL and placing the kodi in suspended mode, and when exiting the game, the script releases the kodi from the suspended mode. This method besides saving resources of the machine that is executing the retroarch, still prevents of the kodi intercept the commands of the joystick. No need for extra setup in retroach or Kodi. Just create the script and convert it to .exe.

If you are interested, send me a PM that I will be happy to assist you with.

By the way, I wanted to take the opportunity to ask @Wintermute0110  about the possibility of running script before launching the game/emulator and after quitting the game/emulator. It's possible?


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - illinx - 2018-04-14

Seeing this with latest from release 0.9.8 branch, whenever I try and scan for roms:
Quote:15:56:13.620 T:140464742811392   ERROR: AEL INFO : _roms_import_roms() Starting ROM scanner ...
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Launcher name "Game Boy Color (Retroarch)"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : launcher ID   "071dc59302673cfdebbf9d9e63ea1006"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : ROM path      "/media/storage/Roms/GBC/"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : ROM exts      "zip|gbc"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Multidisc     True
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Platform      "Nintendo GameBoy Color"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Report file OP "special://profile/addon_data/plugin.program.advanced.emulator.launcher/reports/roms_Nintendo_Game_Boy_Color_(Retroarch)_071dc5_report.txt"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Report file  P "/home/kodi/.kodi/userdata/addon_data/plugin.program.advanced.emulator.launcher/reports/roms_Nintendo_Game_Boy_Color_(Retroarch)_071dc5_report.txt"
15:56:13.678 T:140464742811392   ERROR: AEL INFO : Launcher ROM database contain 1662 items
15:56:13.678 T:140464742811392   ERROR: AEL ERROR: SingleInstance::__exit__() Unhandled excepcion in protected code
15:56:13.692 T:140464742811392   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.NameError'>
                                            Error Contents: global name 'CURRENT_ADDON_DIR' is not defined
                                            Traceback (most recent call last):
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/addon.py", line 39, in <module>
                                                main.Main().run_plugin()
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 271, in run_plugin
                                                self.run_protected(command, args)
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 364, in run_protected
                                                self._command_add_roms(args['launID'][0])
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 2482, in _command_add_roms
                                                self._roms_import_roms(launcher)
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 8629, in _roms_import_roms
                                                self.scraper_data.set_addon_dir(CURRENT_ADDON_DIR.getPath())
                                            NameError: global name 'CURRENT_ADDON_DIR' is not defined
                                            -->End of Python script error report<--
How can I check what CURRENT_ADDON_DIR is set to?


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Wintermute0110 - 2018-04-16

(2018-04-13, 18:45)sagrath Wrote: By the way, I wanted to take the opportunity to ask @Wintermute0110  about the possibility of running script before launching the game/emulator and after quitting the game/emulator. It's possible?

It will be possible but will increase the complexity a lot. I think is better to create a wrapper script if your setup requires it.


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Wintermute0110 - 2018-04-16

(2018-04-14, 16:08)illinx Wrote: Seeing this with latest from release 0.9.8 branch, whenever I try and scan for roms:
Quote:15:56:13.620 T:140464742811392   ERROR: AEL INFO : _roms_import_roms() Starting ROM scanner ...
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Launcher name "Game Boy Color (Retroarch)"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : launcher ID   "071dc59302673cfdebbf9d9e63ea1006"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : ROM path      "/media/storage/Roms/GBC/"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : ROM exts      "zip|gbc"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Multidisc     True
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Platform      "Nintendo GameBoy Color"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Report file OP "special://profile/addon_data/plugin.program.advanced.emulator.launcher/reports/roms_Nintendo_Game_Boy_Color_(Retroarch)_071dc5_report.txt"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Report file  P "/home/kodi/.kodi/userdata/addon_data/plugin.program.advanced.emulator.launcher/reports/roms_Nintendo_Game_Boy_Color_(Retroarch)_071dc5_report.txt"
15:56:13.678 T:140464742811392   ERROR: AEL INFO : Launcher ROM database contain 1662 items
15:56:13.678 T:140464742811392   ERROR: AEL ERROR: SingleInstance::__exit__() Unhandled excepcion in protected code
15:56:13.692 T:140464742811392   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.NameError'>
                                            Error Contents: global name 'CURRENT_ADDON_DIR' is not defined
                                            Traceback (most recent call last):
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/addon.py", line 39, in <module>
                                                main.Main().run_plugin()
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 271, in run_plugin
                                                self.run_protected(command, args)
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 364, in run_protected
                                                self._command_add_roms(args['launID'][0])
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 2482, in _command_add_roms
                                                self._roms_import_roms(launcher)
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 8629, in _roms_import_roms
                                                self.scraper_data.set_addon_dir(CURRENT_ADDON_DIR.getPath())
                                            NameError: global name 'CURRENT_ADDON_DIR' is not defined
                                            -->End of Python script error report<--
How can I check what CURRENT_ADDON_DIR is set to?  

Thanks for reporting. I will fix ASAP but it's going to take some time cos now I'm busy with AML. That error is because of a variable rename (to equalise AEL and AML code). If interested, it is defined here (the new name should be AEL_ADDON_DIR).


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - sagrath - 2018-04-16

(2018-04-16, 13:11)Wintermute0110 Wrote: It will be possible but will increase the complexity a lot. I think is better to create a wrapper script if your setup requires it. 
  Yes, it's just a curiosity. At the moment I use some custom executables, with scripts that is perfect to my setup. Ael thinks theses executables are in fact the emulator itself, and the scropts to the job os launching the emulator and games.


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - illinx - 2018-04-16

(2018-04-16, 13:13)Wintermute0110 Wrote:
(2018-04-14, 16:08)illinx Wrote: Seeing this with latest from release 0.9.8 branch, whenever I try and scan for roms:
Quote:15:56:13.620 T:140464742811392   ERROR: AEL INFO : _roms_import_roms() Starting ROM scanner ...
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Launcher name "Game Boy Color (Retroarch)"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : launcher ID   "071dc59302673cfdebbf9d9e63ea1006"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : ROM path      "/media/storage/Roms/GBC/"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : ROM exts      "zip|gbc"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Multidisc     True
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Platform      "Nintendo GameBoy Color"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Report file OP "special://profile/addon_data/plugin.program.advanced.emulator.launcher/reports/roms_Nintendo_Game_Boy_Color_(Retroarch)_071dc5_report.txt"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Report file  P "/home/kodi/.kodi/userdata/addon_data/plugin.program.advanced.emulator.launcher/reports/roms_Nintendo_Game_Boy_Color_(Retroarch)_071dc5_report.txt"
15:56:13.678 T:140464742811392   ERROR: AEL INFO : Launcher ROM database contain 1662 items
15:56:13.678 T:140464742811392   ERROR: AEL ERROR: SingleInstance::__exit__() Unhandled excepcion in protected code
15:56:13.692 T:140464742811392   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.NameError'>
                                            Error Contents: global name 'CURRENT_ADDON_DIR' is not defined
                                            Traceback (most recent call last):
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/addon.py", line 39, in <module>
                                                main.Main().run_plugin()
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 271, in run_plugin
                                                self.run_protected(command, args)
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 364, in run_protected
                                                self._command_add_roms(args['launID'][0])
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 2482, in _command_add_roms
                                                self._roms_import_roms(launcher)
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 8629, in _roms_import_roms
                                                self.scraper_data.set_addon_dir(CURRENT_ADDON_DIR.getPath())
                                            NameError: global name 'CURRENT_ADDON_DIR' is not defined
                                            -->End of Python script error report<--
How can I check what CURRENT_ADDON_DIR is set to?   

Thanks for reporting. I will fix ASAP but it's going to take some time cos now I'm busy with AML. That error is because of a variable rename (to equalise AEL and AML code). If interested, it is defined here (the new name should be AEL_ADDON_DIR). 
 Thanks for the quick reply--I might try doing a quick find and replace this week and see if that gets me going.


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - MitchZombie - 2018-04-18

G'day

Is there a way to stop certain ROMs/category appearing on recently played roms list.
I've made some google chrome links to websites and they appear on recently played roms.

Thanks


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Wintermute0110 - 2018-04-18

(2018-04-18, 04:17)MitchZombie Wrote: G'day

Is there a way to stop certain ROMs/category appearing on recently played roms list.
I've made some google chrome links to websites and they appear on recently played roms.

Thanks

Currently not. I never imagined someone would use AEL to create a URL LNK launcher Smile

I will create a per-launcher setting "Disable Recently and Most Played lists". Will take some time, currently I'm busy with AML.


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - sagrath - 2018-04-18

(2018-04-18, 16:17)Wintermute0110 Wrote: I will create a per-launcher setting "Disable Recently and Most Played lists". Will take some time, currently I'm busy with AML.

This will be great. This and a feature to clear ghosts roms will keep AEL clean a lot to our eyes!


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - illinx - 2018-04-19

(2018-04-16, 13:13)Wintermute0110 Wrote:
(2018-04-14, 16:08)illinx Wrote: Seeing this with latest from release 0.9.8 branch, whenever I try and scan for roms:
Quote:15:56:13.620 T:140464742811392   ERROR: AEL INFO : _roms_import_roms() Starting ROM scanner ...
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Launcher name "Game Boy Color (Retroarch)"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : launcher ID   "071dc59302673cfdebbf9d9e63ea1006"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : ROM path      "/media/storage/Roms/GBC/"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : ROM exts      "zip|gbc"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Multidisc     True
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Platform      "Nintendo GameBoy Color"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Report file OP "special://profile/addon_data/plugin.program.advanced.emulator.launcher/reports/roms_Nintendo_Game_Boy_Color_(Retroarch)_071dc5_report.txt"
15:56:13.620 T:140464742811392   ERROR: AEL INFO : Report file  P "/home/kodi/.kodi/userdata/addon_data/plugin.program.advanced.emulator.launcher/reports/roms_Nintendo_Game_Boy_Color_(Retroarch)_071dc5_report.txt"
15:56:13.678 T:140464742811392   ERROR: AEL INFO : Launcher ROM database contain 1662 items
15:56:13.678 T:140464742811392   ERROR: AEL ERROR: SingleInstance::__exit__() Unhandled excepcion in protected code
15:56:13.692 T:140464742811392   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.NameError'>
                                            Error Contents: global name 'CURRENT_ADDON_DIR' is not defined
                                            Traceback (most recent call last):
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/addon.py", line 39, in <module>
                                                main.Main().run_plugin()
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 271, in run_plugin
                                                self.run_protected(command, args)
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 364, in run_protected
                                                self._command_add_roms(args['launID'][0])
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 2482, in _command_add_roms
                                                self._roms_import_roms(launcher)
                                              File "/home/kodi/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 8629, in _roms_import_roms
                                                self.scraper_data.set_addon_dir(CURRENT_ADDON_DIR.getPath())
                                            NameError: global name 'CURRENT_ADDON_DIR' is not defined
                                            -->End of Python script error report<--
How can I check what CURRENT_ADDON_DIR is set to?   

Thanks for reporting. I will fix ASAP but it's going to take some time cos now I'm busy with AML. That error is because of a variable rename (to equalise AEL and AML code). If interested, it is defined here (the new name should be AEL_ADDON_DIR). 
I did a find/replace on the variable names and "Add Roms" works again. Created a pull request here


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - UnluckyForSome - 2018-04-20

@Wintermute0110 , what are your thoughts on Leia's RetroPlayer? Loving the work you have done on this I use it every day - but won't RetroPlayer (which is being included in Kodi 18) kind of replace it's functionality? Or have I completely misundertood what RetroPlayer is?

Many thanks, and keep up the good work on AEL, its a great addon! Smile


RE: Advanced Emulator Launcher - Multi-emulator frontend for Kodi - Wintermute0110 - 2018-04-21

(2018-04-20, 14:56)UnluckyForSome Wrote: @Wintermute0110 , what are your thoughts on Leia's RetroPlayer? Loving the work you have done on this I use it every day - but won't RetroPlayer (which is being included in Kodi 18) kind of replace it's functionality? Or have I completely misundertood what RetroPlayer is?

Many thanks, and keep up the good work on AEL, its a great addon! Smile
Thanks a lot Smile

Leia Retroplayer support will be still very limited. Retroplayer cannot load zipped ROMs (you must decompress them, if you have thousands as I do ...). I believe you will not be able to use cores that require BIOSes. Also, not all the cores are still ported for Retroplayer. I'm not sure about savestates and rewinding either. To summarise: Kodi Retroplayer is going to be a big milestone, but there is still way to go. In Leia I still recommend using Retroarch as an external emulator.

Also, Leia will not include a games database. The database (also called the library) is what stores the metadata and artwork of the ROMs. In Leia, you will browse the ROMs like files in the File Manager. I am not sure whether they will include a games database in Kodi M****, or decide that plugins like AEL will provide the metadata/asset database capabilities. In any case, AEL will still have use for a couple of years, maybe more. Once Kodi gets a games database most of AEL's functionality won't make sense any more. However, there are some AEL functionalities, like ROM auditing, Parent/Clone view modes, Fanart generation from other pieces of artwork (well... AEL doesn't have this yet but AML does and I will port it from AML to AEL ASAP), etc. that probably will never be implemented into Kodi core. And of course: if you need a general launcher AEL will be still there.

On the other hand, Advanced MAME Launcher will have a healthy future even once Kodi get the games database, and the reason is that MAME is so special that many features will never be implemented into the core, left for addons. Same for Advanced DOOM Launcher (ADL has not been released yet, but development is well advanced and can generate Fanarts from the doom level maps).

I hope this more or less answers your question but let me know if you need more info.

EDIT: forgot to mention... there are emulators (PSX2, Xbox, Model2, etc.) that are not part of Retroarch and many people use. For those you will need AEL.