Getting the rom name and emulator
-
@daveyman123 you may know my compatriot here:
-
https://gyazo.com/fdca868affb3ecd1f7c6f6accf2bd267
gif showing progress so far -
@cyperghost said in Getting the rom name and emulator:
@daveyman123 I think you better give the 20 bucks to @meleu and he buys me a Caipirinha :)
Let me know when you come to Rio de Janeiro and we'll drink some Caipirinhas and try to find some arcade to play Street Fighter or something. :)
-
@meleu Don't make any jokes! My company got's a branch office in south america. For three or four weeks a company pal was in Rio to sell goods and he visited his girlfriend there. So it could happen I'm in :) It's unlikly but never say never :)
SFII? I was more addicted to MK! But for the Caipis sake :)
-
You could try something like
sleep 5 while [$(pidof retroarch)] do *script to scroll once* sleep 5 done
Lauched in background by runcommand-onstart.
-
20 bucks to @meleu it is
-
@cyperghost it's not a joke! Consider yourself invited. Any game is fun with enough alcohol and friends. :-)
-
Let's get back on topic...
@daveyman123 usually your python script scrolls the text only once or keeps looping the text?
-
@sano I think it isn't a matter of the retroarch-PID more that the script does anyting.
But it's a nice catch to end a process by watching the retroarch-PID.@meleu and me descriped also ways to terminate a running script :)
And thanks for the invitation. It's very unlikely that I ever enter brazil, but as I said never say never and market development changes quickly. My next stops will be more east .... romania, bulgaria, russia, belarussia...
-
@meleu
scrolls the text once. I would like it to eventually loop. but right now it stops as soon as the game actually launches -
@daveyman123 got it. I'll try something when I get home (it means 4 or 5 hours).
-
@meleu
oh goshI may have it figured out by then ;)
-
@meleu @daveyman123 It's late here - going to sleep.
Good night mates@daveyman123
That's the wrong intention. The script should do the loop not a bash file. The bash file should only tell changes. Because you always load the python interpreter again and again and this will waste resources and even the python language gives you much much controll over strings. So I would rather use python intead of bash.@meleu will certainly find an easy and working solution ;)
-
@daveyman123 said in Getting the rom name and emulator:
I may have it figured out by then ;)
better yet!
-
@daveyman123 said in Getting the rom name and emulator:
I will look into cyperghost's loop.sh example again and see if that works to put the python script in there
The loop example is useless. You should look the
runcommand-onstart.sh
and how scripts are called and running in background. If you were able to readout files you can simply write the romname viaecho $3
to a file or you can directly call the python script with $3 command.I think @meleu will do a nice job but meanwhile you can also try to find a solution. I'm 100% sure you find one!
Good night -
@daveyman123 Here are some ideas to let you find the solution yourself...
Use this code as inspiration for your
runcommand-onstart.sh
:# getting the rom name with no full path and no extension rom_name="$(basename "${3%.*}")" # running the python script in background sudo /path/to/python/code.py "$rom_name" &
This one as inspiration for your
runcommand-onend.sh
:# killing the python script sudo pkill -f "/path/to/python/code.py"
And this one as inspiration for your python script:
#!/usr/bin/python # I don't know if it's right, just used @daveyman123 code as example from UHScroll import * import unicornhat as unicorn import time sys while True: # I have no idea if this command is right, I just used @daveyman123 code as example unicorn_scroll(sys.argv[1], 'white', 255, 0.2) # I have no idea if 5 seconds is OK, adapt it to your needs time.sleep(5)
-
@meleu
there is still the problem of (i dont know if i mentioned it) the unicorn only scrolls through ONCE (even if i include a loop in python) then it will play a random sequence of lights. I.E. it reads "JIM" or "GOLDEN" in "GOLDENEYE". But as soon as the game launches it freezes or plays random lights.My fear is it has something to do with the pins being messed with by retropie. I have not tried to replicate the problem on raspbian.. but I may have to try that.
What I have tried:
making sure audio isnt interfering with the unicorn hat pins (i.e. setting the audio output to hdmi)
and obviously have tried making the python script run in the background -
@meleu said in Getting the rom name and emulator:
sudo /path/to/python/code.py "$rom_name" &
Try to modify this line like this :
sudo nohup /path/to/python/code.py "$rom_name" &
-
@Sano
nohup was nohelp... lolsomething is happening at the level of the pins i believe
-
Ok sorry, could you try
nohup sudo /path/to/python/code.py "$rom_name" &
(possibly with quotes)
I'm pretty sure it's because the parent process (runcommand-onstart) terminates before game launch, so the child are killed, including your script.
This could be solved with the use of nohup, if I ever remember the correct syntax with sudo...
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.