Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Questions sur l'API et son avenir

    Recalbox Général
    lapi avenir
    8
    47
    12181
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • kjbstar
      kjbstar last edited by

      Hello,

      J'ai découvert ce weekend qu'il y avait une API, et ça m'a ouvert l'appétit 🙂
      J'ai vu aussi qu'apparemment une évolution de celle-ci est dans les tuyaux, du coup j'ai 2/3 questions :

      • Est-ce que le support de la Hotkey est envisagée/envisageable ?
      • La possibilité de récupérer des infos basiques sur le jeu en cours ?
      • Idem avec un listing des savestates ?

      Je me rend bien compte que ce n'est pas anodin tout ça. C'est juste que pour l'instant l'API permet principalement de jouer sur la config, et ça pourrait être sympa d'aller un peu plus loin. J'ai des idées en tête, mais sorti des langages web principaux, je suis un peu paumé, donc pas certain de pouvoir trifouiller de mon côté 🙂

      Recalbox 4.0.2 sur Raspberry Pi 2
      Recalboy sur Raspberry Pi Zero

      1 Reply Last reply Reply Quote 0
      • DjLeChuck
        DjLeChuck last edited by

        Hello @kjbstar

        Pour ça, il faut demander à son créateur, @neolao

        1 Reply Last reply Reply Quote 0
        • kjbstar
          kjbstar last edited by kjbstar

          Merci @DjLeChuck , j'avais pas fait gaffe que ça faisait un petit temps qu'il était pas passé par ici.

          Je viens de voir qu'on a un peu les mêmes idées, c'est aussi en prévision d'une intégration sur une borne, j'y collerais bien un 'tit écran tactile sur un Rasp zero pour quelques fonctions pratiques : save/load en "un clic", afficher les move lists si c'est tel ou tel jeu qui est en cours, etc... Y'aurait de quoi faire un truc sympa 🙂

          Recalbox 4.0.2 sur Raspberry Pi 2
          Recalboy sur Raspberry Pi Zero

          1 Reply Last reply Reply Quote 0
          • DjLeChuck
            DjLeChuck last edited by

            Rien ne t'empêche de mettre toi même les mains dans la cambouis 😉

            1 Reply Last reply Reply Quote 0
            • kjbstar
              kjbstar last edited by

              Yes je vais jeter un oeil, mais j'me garantis rien, du moins rien de propre ^^

              Recalbox 4.0.2 sur Raspberry Pi 2
              Recalboy sur Raspberry Pi Zero

              1 Reply Last reply Reply Quote 0
              • kjbstar
                kjbstar last edited by

                Bon, j'peux plus éditer, désolé pour le double post.

                Effectivement je devrais pouvoir bidouiller. Par contre impossible de trouver un quelconque log lors d'un lancement de jeu (le plus simple et le plus moche moyen d'interroger quel jeu/système est lançé). Au mieux y'a un log lorsqu'on sort d'un jeu, mais rien au lancement. Du moins pas trouvé.

                Entre ça et la hotkey que je vois pas comment toper (BUTTON_HK ?), je sens que je vais devoir oublier mon idée ^^

                Recalbox 4.0.2 sur Raspberry Pi 2
                Recalboy sur Raspberry Pi Zero

                Substring 1 Reply Last reply Reply Quote 0
                • DjLeChuck
                  DjLeChuck last edited by

                  Me semble que @substring devait me concocter un truc pour le lancement des jeux qui est BEAUCOUP plus simple que ce qui est fait actuellement. À voir si mon invocation va porter ses fruits... ^^

                  1 Reply Last reply Reply Quote 0
                  • Substring
                    Substring @kjbstar last edited by

                    @kjbstar si si tu peux récupérer ca dans le log de ES ou dans le recalbox.log. Après tu connais juste la commande qui a été invoquée, pas si le jeu tourne encore. Mais peut-etre que ...

                    Pour l'API, pas vu neolao depuis trèèèèèèèèèèèèèèèès longtemps ...

                    Former dev - Please reply with @substring so that i am notified when you answer me
                    Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                    kjbstar 1 Reply Last reply Reply Quote 0
                    • kjbstar
                      kjbstar @Substring last edited by

                      @Substring Hmmm dans logs/recalbox.log ? J'ai l'info uniquement lorsque je sors du jeu pour revenir à ES. C'est balo ^^

                      J'avais justement pensé à fouiller dans les logs d'ES, mais je n'ai pas trouvé où c'est ^^ Je regarderais ce soir !

                      Recalbox 4.0.2 sur Raspberry Pi 2
                      Recalboy sur Raspberry Pi Zero

                      Substring 1 Reply Last reply Reply Quote 0
                      • rockaddicted
                        rockaddicted last edited by

                        Hummm ça n'a été ajouté qu'en 4.1 il me semble.

                        Recalbox V4.1.0 - RPI3 OC - Xbox360 wireless
                        Wiki ENG : https://github.com/recalbox/recalbox-os/wiki/Mini-How-To-(EN)
                        Wiki FR : https://github.com/recalbox/recalbox-os/wiki/Mini-How-To-(FR)

                        Don't forget to upvote messages if it has been useful ;)

                        1 Reply Last reply Reply Quote 0
                        • Substring
                          Substring @kjbstar last edited by

                          @kjbstar sisisi il y a une ligne dans ~/.emulationstation/es_log.txt :

                          lvl2: 	Configure emulators command : -p1index 0 -p1guid 030000006d04000018c2000010010000 -p1name "Logitech Logitech RumblePad 2 USB" -p1nbaxes 4 -p1devicepath /dev/input/event2 
                          lvl2: 	Controllers config : -p1index 0 -p1guid 030000006d04000018c2000010010000 -p1name "Logitech Logitech RumblePad 2 USB" -p1nbaxes 4 -p1devicepath /dev/input/event2 
                          lvl2: 		python /usr/lib/python2.7/site-packages/configgen/emulatorlauncher.pyc -p1index 0 -p1guid 030000006d04000018c2000010010000 -p1name "Logitech Logitech RumblePad 2 USB" -p1nbaxes 4 -p1device
                          path /dev/input/event2  -system psp -rom /recalbox/share/roms/psp/Ultimate\ Ghouls\'n\'Ghosts.iso -emulator default -core default -ratio auto
                          

                          Mais ca se trouve elle est générée APRES le retour sous ES

                          Sinon au pire regarder la liste des process qui ont python /usr/lib/python2.7/site-packages/configgen/emulatorlauncher.pyc

                          Former dev - Please reply with @substring so that i am notified when you answer me
                          Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                          kjbstar 1 Reply Last reply Reply Quote 1
                          • kjbstar
                            kjbstar last edited by kjbstar

                            Rha bondiou c'était là ! Merci, je regarderais ce soir si c'est (aussi) généré qu'en sortie de jeu.

                            Puis je plongerais dans le JS voir si je peux faire un truc rapide...

                            Recalbox 4.0.2 sur Raspberry Pi 2
                            Recalboy sur Raspberry Pi Zero

                            1 Reply Last reply Reply Quote 0
                            • kjbstar
                              kjbstar @Substring last edited by

                              @Substring Je confirme c'est généré après le retour sous ES.

                              J'ai tenté une alternative : lancer retroarch en verbose, ça marche bien on a tout plein d'infos (--verbose > /tmp/retroarch.txt 2>&1). Nouveau fichier à chaque jeu, ca paraissait pas mal.

                              Après je l'ai ajouté dans /recalbox/scripts/emulatorlauncher.sh (j'ai remonté le disque en écriture) :

                              retroarchbin="/usr/bin/retroarch --verbose > /tmp/retroarch.txt 2>&1"

                              Mais visiblement je suis pas au bon endroit, la commande est toujours exécutée sans cette option lorsque je lance un jeu.

                              C'est tout pour aujourd'hui, les yeux piquent ce soir 🙂

                              Recalbox 4.0.2 sur Raspberry Pi 2
                              Recalboy sur Raspberry Pi Zero

                              Substring 1 Reply Last reply Reply Quote 0
                              • Substring
                                Substring @kjbstar last edited by

                                @kjbstar je te déconseille cette méthode, certains emulateurs sont très verbeux.

                                La seule vraie methode c'est avec un ps.

                                On n'utilise plus ce emulatorlauncher.sh depuis un bail cela dit

                                Former dev - Please reply with @substring so that i am notified when you answer me
                                Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                1 Reply Last reply Reply Quote 1
                                • kjbstar
                                  kjbstar last edited by

                                  Bon, avant de repartir dans cette recherche d'infos de jeu en cours, j'ai remis le nez dans la base de l'idée, à savoir faire prendre en charge le bouton Hotkey pour ensuite se servir de la fonction "combo" pour voir si on peut gérer la sortie de jeu, la sauvegarde, etc.

                                  Autant ajouter le Hotkey c'est simple, autant j'ai perdu 2h ensuite, entre l'api qui marchait plus pour le gamepad au 1er reboot du Rpi (et c'est parti pour l'install de la dév sur une VM rapide, et des tests sur la VM finalement injoignable niveau API...), pour finalement bêtement redémarrer une 2nde fois le Rpi, et ô miracle l'API remarche.

                                  Sauf qu'après quarante-douze mille tentatives d'envois de combos et de pressions de touches, je me suis rendu compte qu'en fait le gamepad virtuel (de l'API) ne fonctionne pas ingame, seulement dans ES.
                                  Le comble, c'est que je testais sur un jeu SNES, et que le gamepad virtuel est justement SNES.

                                  Tout mon truc tombe à l'eau, c'est balo ^^

                                  Recalbox 4.0.2 sur Raspberry Pi 2
                                  Recalboy sur Raspberry Pi Zero

                                  Substring 1 Reply Last reply Reply Quote 0
                                  • Substring
                                    Substring @kjbstar last edited by

                                    @kjbstar je te l'ai dit : le jeu en cours c'est en scrutant les process (ou une autre méthode en python avec configgen)

                                    Former dev - Please reply with @substring so that i am notified when you answer me
                                    Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                    kjbstar 1 Reply Last reply Reply Quote 0
                                    • kjbstar
                                      kjbstar @Substring last edited by

                                      @Substring Oui, je voulais juste retenter l'idée de base avant, pour valider ou non mon projet d'écran "compagnon" (et donc savoir si oui ou non j'achète un tactile à cet usage).

                                      J'ai retenté ce matin pour le virtual gamepad, mais bon je suis obligé de laisser tomber. Obligé de configurer le gamepad sur le joueur 1 pour avoir accès à Hotkey (1er problème), et la fonction Combo de l'API ne semble tout simplement pas fonctionner. J'ai juste réussi à déclencher 1 fois le menu de Retroarch en bourrinant de désespoir les envois "touche par touche".

                                      Bref, des touches dédiées sauvegarde & co sur un écran déporté, c'est pas demain la veille 😢

                                      Je checkerais quand même par curiosité pour ce que tu me dis, même si du coup je risque de pas m'en servir. Merci en tout cas !

                                      Recalbox 4.0.2 sur Raspberry Pi 2
                                      Recalboy sur Raspberry Pi Zero

                                      Substring 1 Reply Last reply Reply Quote 0
                                      • Substring
                                        Substring @kjbstar last edited by

                                        @kjbstar la fonction combo ne pourra jamais marcher puisque qu'elle implique activer des évènements d'un périphérique matériel (et donc autonome) par logiciel. Pas possible. Tu veux faire quoi exactement ? Regarde vers les commandes réseau de retroarch par exemple.

                                        Tu ferais bien d'unier tes forces avec https://forum.recalbox.com/topic/5777/relier-à-un-écran-et-afficher-du-texte/ 😉

                                        Former dev - Please reply with @substring so that i am notified when you answer me
                                        Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                        kjbstar 1 Reply Last reply Reply Quote 0
                                        • kjbstar
                                          kjbstar @Substring last edited by kjbstar

                                          @Substring L'idée c'était de faire une interface très simple via navigateur, avec des gros boutons, à utiliser sur écran tactile.

                                          A la base c'était juste 2 fonctions :

                                          • sauvegarder
                                          • restaurer

                                          Car intégration dans borne d'arcade, et le kit que je prévois a l'emplacement pour le hotkey sur sur la face verticale du panel. Donc un peu plus chiant que bouger 2 pouces sur une manette, pour sauver dans le feu de l'action.

                                          Faire un truc de feiniasse, quoi ! 😛

                                          Je me disais ensuite qu'éventuellement ça pouvait être sympa que je détecte le jeu lancé pour afficher les movelists, dans le cas des bourre-pifs.
                                          Et même afficher un listing des différentes savestates pour se repérer dans les dates et charger celle souhaitée, quand on reprend un jeu X temps après.

                                          J'ai vu le topic oui ce matin, je voulais tenter de faire sortir le nom du jeu en json sur une url propre et donc facile à récupérer pour une autre machine sur le local, mais j'ai pété le recalbox manager là, mes premières joies du python 😛

                                          EDIT : je ne savais pas du tout que RetroArch avait cette possibilité de commandes réseaux. Ca m'a l'air de répondre à ce besoin, merci !

                                          Recalbox 4.0.2 sur Raspberry Pi 2
                                          Recalboy sur Raspberry Pi Zero

                                          Substring 1 Reply Last reply Reply Quote 0
                                          • Substring
                                            Substring @kjbstar last edited by

                                            @kjbstar on a déjà un bout de code python pour les network commands retroarch (donc en local), faut demander à @supernature2k
                                            Mais si toi tu gères ta page web dans tn coin sans rien appeler de recalbox mais juste envoyer les commandes reseau à retroarch, pani pwoblem

                                            Idée : si ton jeu est scrapé, tu afficher des données tant qu'il edt en cours genre l'image, l'annee etc ... Tu peux aussi afficher le core etc ...

                                            Et si tut'y connais et que n'es pas un amateur, tu peux partger tes sources sur github 🙂

                                            Former dev - Please reply with @substring so that i am notified when you answer me
                                            Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                            kjbstar 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Want to support us ?

                                            115
                                            Online

                                            89.8k
                                            Users

                                            26.1k
                                            Topics

                                            181.0k
                                            Posts

                                            Copyright © 2021 recalbox.com