Recalbox Forum

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

    [WIP] Recalbox Manager

    Community projects
    [wip] recalbox manager
    17
    251
    165241
    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.
    • DjLeChuck
      DjLeChuck last edited by

      @subs Je ne comprends pas ta remarque concernant le fichier. Le format est celui utilisé dans recalbox.conf donc ça me parle oui. Le problème qu'il y a avec l'API de neolao c'est qu'à l'enregistrement d'une donnée string, il l'entoure avec des double quotes. C'est un problème car recalbox croit alors que les double quotes font parti de la valeur alors que non elles servent (normalement) à délimiter la chaîne de caractère (et éviter les problèmes de caractères spéciaux à échapper).

      On a bien compris qu'il ne fallait donc pas utiliser les double quotes et il fera la correction (ou je ferais un PR) et c'est tout. Là le fichier que tu me montres va servir à quoi, faire tampon entre le fichier recalbox.conf et l'API ? Je ne sais pas comment est géré l'enregistrement des données je n'ai pas regardé en détail 🙂 Tout ce que j'ai remonté c'est ce bogue de double quote et le fait que certaines modifications de l'API ne sont pas faîtes instantanément sur le recalbox (comme le volume du son ou la musique de fond par exemple).

      Je crois qu'on se mélange sur différentes choses là... ^^'

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

        @DjLeChuck haaaannn t'as pas lu 😞

        ## EmulationStation menu style 
        # Values:
        # default: default all options menu
        # none: no menu except the game search menu
        # bartop: less menu, only needed for bartops
        system.es.menu=default
        

        Tu vois la section Values: elle n'existe pas par défaut. C'est un commentaire qui sert à dire à un interpréteur comme t aversion du manager "system.es.menu prend 3 valuers possibles : default, none et bartop, avec les commentaires inhérents". Et il y a un double dièse sur un début de commentaire de variable.

        L'idée était d'utiliser le recalboc.conf du share_init puisque c'est lui la référence (mis à jour, non touché par les utilisateurs), et mettre à jour en face le recalbox.conf du share

        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 0
        • DjLeChuck
          DjLeChuck last edited by DjLeChuck

          @subs Si j'ai lu (seulement le fichier, pas les explications en dessous :P) Mais actuellement ça y ressemble donc pardonne moi de ne pas avoir fait attention à la différence ^^ :

          ## EmulationStation menu style 
          ## default -> default all options menu
          ## none -> no menu except the game search menu
          ## bartop -> less menu, only needed for bartops
          system.es.menu=default
          

          Maintenant que j'ai lu les explications d'en-dessous et que tu me l'a expliqué également je vois de quoi tu parles.

          Je ne suis pas encore au fait de comment fonctionnent les différente configs mais du coup là je comprends mieux l'utilisation que tu voudrais voir. En soit ça me va comme ça, puisque de toute façon ça concernera neolao et son API, pas mon manager 😄

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

            @DjLeChuck non neolao se contente d'appliquer des valeurs ou de les extraire. Ces comms ont été ajoutés pour une IHM explicitement, qui permettrait de paramétrer tout le recalbox.conf

            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 0
            • DjLeChuck
              DjLeChuck last edited by

              @subs L'API de neolao prend la valeur que tu lui envoies en l'enregistre en l'encapsulant dans des double quotes d'où le bogue dont je parlais : https://github.com/recalbox/recalbox-api/blob/1.1.x/bundle-es6/utils/IniFile.js#L125-L131

              Sinon, les commentaire sont très bien oui ça me permet de savoir quoi proposer à l'utilisateur comme options par rapport à ce qui est indiqué sans me poser de questions, donc c'est très bien !

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

                @DjLeChuck justement, au boulot, faut que ta version du manager puisse tout faire sur le recalbox.conf. J'attends ta PR 😄

                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 0
                • DjLeChuck
                  DjLeChuck last edited by

                  @subs Haaa je comprends plus rien... XD Tu ne veux plus que j'utilise l'API et que je fasse directement des modifs dans le recalbox.conf de share_init ?

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

                    @DjLeChuck non pas du tout. Tu utilises l'API sans pb, mais ton interface tu la termines pour qu'elle puisse gérer tout recalbox 😄 Et surtout :

                    • le reboot/shutdown
                    • le script de support
                    • un bouton "kill running emulator" genre "panic mode" pour éviter que les gens rebootent leur recalbox et couinent qu'elle est cassée
                    • je ne sais pas quoi encore

                    NodeJS ou django, à ton aise

                    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 0
                    • DjLeChuck
                      DjLeChuck last edited by

                      @subs Ha ! Oui ça c'est bon. Je gère déjà le reboot / shutdown (puisque l'API le propose).
                      Le script de support faudra que je vois comment ça marche.
                      Pour le kill running emulator et autres je verrais pour faire une PR sur l'API pour ajouter cette fonctionnalité d'abord. Sauf si on part du principe que mon manager s’intégrera dans recalbox directement ce qui me permettra de faire des appels systèmes tranquillement (ou alors qu'une des possibilités de l'API est d'exécuter une commande système et de renvoyer le résultat...)
                      Mais comme je suis en train de voir pour basculer sur du Node plutôt que du PHP je vais devoir reprendre ce que j'ai déjà... 😄

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

                        @DjLeChuck si ton truc est abouti et viable, oui on peut l'intégrer. Le manager dans son état actuel risque fort de prendre la poussière ...

                        Pour le kill des emulateurs, on a déjà un embryon sur un autre topic en python, mais rien de difficile, si ce n'est que l'utilisation de python est pratique par rapport à configgen (qui a entre autre quasi tous les les binaires des émuls de listés)

                        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é

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

                          @subs Ok donc raison de plus pour le passer en Node afin de pas s'embêter à avoir PHP encore en plus sur recalbox...

                          Si tu retrouves le topic je suis preneur dans ce cas, sinon je le chercherais dans tous les cas le moment venu !

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

                            @DjLeChuck regarde ces 2 liens :
                            https://forum.recalbox.com/topic/3504/emulator-exit-button-gpio/11
                            https://forum.recalbox.com/topic/3435/game-reset/10

                            le 1er est celui que tu cherches. Le 2e est juste un petit coup de génie sur comment faire le reset d'un jeu sans HK avec un buoton GPIO (mais la techinique uilisée derrière n'a pas besoin de GPIO)

                            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 0
                            • neolao
                              neolao last edited by

                              Je me replonge dessus petit à petit chaque jour.

                              Le plus gros changement sera celui de subs. Une partie de l'API sera donc totalement dépendant de recalbox.conf

                              Le reste sera des alias ou des choses supplémentaires qui ne touchent pas à la config.

                              J'ai une réflexion sur les URLs des endpoints à choisir seulement.

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

                                @subs Merci pour les liens
                                @neolao Si jamais tu as besoin d'un coup de main ne serait-ce que pour la réflexion hésites pas à demander par MP par exemple.

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

                                  @neolao comme je l'ai dit plus haut : ton api elle s'en fout du recalbox.conf, c'est l'IHM derrière qui doit gérer ca proprement. Enfin personnellement, je pense que ce n'est pas à tno API de vérifier si les valuers données sont bonnes ou non. Elles doivent t'êtres données au bon format, tu ne devrais pas avoir à te poser de questions sur leur validité

                                  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 0
                                  • DjLeChuck
                                    DjLeChuck last edited by

                                    @subs Heuu là je suis pas d'accord... Certes de mon côté le manager doit envoyer une valeur correcte mais je ne suis qu'un client de l'API. Le côté serveur c'est justement l'API donc il FAUT une validation côté serveur ce n'est pas sécurisé sinon et n'importe qui peut envoyer ce qu'il veut comme donnée et réaliser des injections.

                                    Après ça c'est dans la pratique habituelle des choses. Ici comme tu l'as déjà répété le système n'est pas ouvert etc. mais bon tu peux te faire pénétrer ton réseau et voilà...

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

                                      @DjLeChuck mais c'est déjà le cas ! tu peux envoyer ce que tu veux je parie comme valeur à l'API 😛

                                      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 0
                                      • neolao
                                        neolao last edited by neolao

                                        J'ai oublié si on peut pour tout type de propriété.

                                        En tout cas, je confirme que c'est à l'API de gérer les bonnes valeurs.
                                        Il pourra même servir les valeurs possibles, ce sont des ressources en GET finalement aussi.

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

                                          Et potentiellement, comme le frontend a ses traductions pour les noms de propriétés, valeurs et descriptions, l'API peut exposer les traductions aussi.

                                          Un manager web serait comme un frontend à recalbox.

                                          Idéalement, le frontend en sortie vidéo devrait être découplé du backend via une API. Ce qui permettrait d'en changer.
                                          Dans mes ambitions, je voulais allez loin et l'API est la première pierre.

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

                                            @subs J'ai pas compris ta réponse ^^' Oui on peut envoyer ce qu'on veut à l'API sans qu'elle ne dise rien et ce n'est pas normal. Elle devrait contrôler les données reçues.

                                            @neolao Pour les valeurs possibles elle pourrait oui, mais ce n'est pas une obligation car c'est à ça que sert une doc aussi, indiquer ce qui est possible de faire ou non, et on en est pas encore là 😛 De même pour les traductions elle pourraient être données dans l'API mais ce n'est pas non plus une obligation. L'API peut très bien rester "bas niveau" et ne donner que les valeurs bruts ce n'est pas déconnant.

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

                                            Want to support us ?

                                            79
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com