-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Each invocation of dmd-play on ES events (game-selected and system-selected) takes about 1.6 seconds to import all the required libraries on slower platforms (such as Pi 3B+)
I suggest you allow dmd-play to also run as a service, where a TCP socket can be used to send a command line, thus avoiding constant invocation.
This speeds up marquee changes considerably. i.e., 5Kb 128x32 PNG marquee would take ~ 1.9 seconds to change, whereas a socket based notification with an already running script takes < 0.2 seconds.
A potential solution to avoid having to rework the command line argument parsing code:
dmd-play <current arguments>
or
dmd-play -lp <port>
where -lp stands for "listener port". This could default to 6788 (i.e. one beside dmd_real assuming no dmd_simulator clash)
First example = current state (interactively play the clock, file etc....)
2nd example - TCP socket opened to receive requests (same command line support), eg:
Run as daemon / service
dmd-play -lp 6788 &
then as client:
echo -n "-f /userdata/system/dmd/games/mame/outrun.gif" | nc -w1 127.0.0.1 6788