I'm not sure how the cpviewers use the controller ini files to show the button bindings, but couldn't MAMEWAH do this on its own?
I'm at the laptop so my terminology will be off, but here's what I started on until I saw these cpviewers:
I'm building a modular control panel and wanted to display what panels were needed for each game. I created a folder in my MAME directory called control_panel. In that folder I photochopped what the entire control panel should look like for each game (only a couple so far for testing purposes). I'm calling it into MAMEWAH under the artwork3 variable. It works perfectly. Now I see that these cpviewers are calling actual text to identify what each button does. Couldn't MAMEWAH also generate this text by reading the controler ini file for that specific game? Similar to how it reads the monitor information? Or am I missing something? If these controller variables were defined in MAMEWAH, I wouldn't care if I had to spend the hours writing a controller ini for each game. I could even filter by layout and adjust the fields displaying the info so it looked perfect. Unless the launch control viewer command can embed the graphic into MAMEWAH?
Personally, I'm not so concerned about displaying the button bindings for MAMEWAH itself. I plan on printing out a card for that.