RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    WebtroPie

    Scheduled Pinned Locked Moved Projects and Themes
    retropieweb interfacewebtropie
    157 Posts 27 Posters 67.5k Views
    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.
    • darkniorD
      darknior
      last edited by

      I have update and now black screen :p

      angular.js:14642 TypeError: Cannot set property 'auto-allgames' of undefined
          at onSuccess (config.service.js:54)
          at processQueue (angular.js:17000)
          at angular.js:17044
          at Scope.$digest (angular.js:18182)
          at Scope.$apply (angular.js:18480)
          at done (angular.js:12501)
          at completeRequest (angular.js:12727)
          at XMLHttpRequest.requestLoaded (angular.js:12655) "Possibly unhandled rejection: {}"
      

      Life is game, just play it !

      K 1 Reply Last reply Reply Quote 0
      • K
        kixut @darknior
        last edited by kixut

        @darknior please git pull, hard refresh as above

        Edit: Regarding the game counts I set my system up with your game counts and the latest version matches all of the game counts except for PSX which contains 27 duplicates, so, WebtroPie was showing more games than EmulationStation.
        I've written something which finds the duplicates and shows them on the console.

        Edit 2: just tried your theme, looking great! - except I see what you mean about meta positioning
        0_1510528555623_DarkSteele.png

        darkniorD 1 Reply Last reply Reply Quote 0
        • darkniorD
          darknior @kixut
          last edited by

          @kixut I have read your Install script and i see now you use app/#!/ and not ROM in URL, ok it's better.

          The source are Ok and i have install again.

          # git pull
          Already up-to-date.
          

          I have refresh like you write, but i also have a good CHROME PLUGIN to do it from years ;)
          I have try on IE same result.

          Now i see your script in console, i have 0 games and 0 duplicate. I can see nothing. Zero menu now :(
          On the PI all is working perfectly.

          • Config.php works fine :
          {"app":{"LoadAllSystems":false,"ScanAtStartup":false,"ShowEmptySystems":false,"ShowEmptyDirectories":false,"ShowAddFields":true,"ShowGameCounts":true,"ShowThemeSelect":true,"ShowViewSelect":true,"LogSystemTotals":true,"ThemeSet":"carbon","Language":"en","DateFormat":"DD\/MM\/YYYY","ViewTransitions":"Slide","ViewStyle":""},"env":{"has_gd":1,"has_launch":1,"read_only":0},"lang":{"md_labels":{"name":"Name","rating":"Rating","releasedate":"Released","developer":"Developer","publisher":"Publisher","genre":"Genre","players":"Players","lastplayed":"Last Played","playcount":"Times Played","human_size":"Size","image":"Image","marquee":"Marquee","video":"Video","year":"Year","hidden":"Hidden","kidgame":"Kid","favorite":"Favourite","stars":"Stars","description":"Description"},"buttons":{"launch":"Launch","scrape":"Scrape","save":"Save","cancel":"Cancel","reset":"Reset","delete":"Delete","move":"Move","options":"Options","menu":"Menu","search":"Search","back":"Back","system":"system","choose":"choose","edit":"Edit","open":"Open","select":"Select"},"languages":{"en":"English (UK)","en-us":"English (US)"}},"es":{"BackgroundJoystickInput":false,"CaptionsCompatibility":true,"DrawFramerate":false,"EnableSounds":true,"MoveCarousel":true,"ParseGamelistOnly":false,"QuickSystemSelect":true,"SaveGamelistsOnExit":false,"ScrapeRatings":true,"ScreenSaverControls":true,"ScreenSaverOmxPlayer":true,"ShowHelpPrompts":true,"ShowHiddenFiles":false,"SlideshowScreenSaverCustomImageSource":false,"SlideshowScreenSaverRecurse":false,"SlideshowScreenSaverStretch":false,"SortAllSystems":false,"StretchVideoOnScreenSaver":false,"UseCustomCollectionsSystem":true,"VideoAudio":true,"VideoOmxPlayer":true,"hideQuitMenuOnKidUI":false,"MaxVRAM":"100","ScraperResizeHeight":"0","ScraperResizeWidth":"400","ScreenSaverSwapImageTimeout":"5000","ScreenSaverSwapVideoTimeout":"35000","ScreenSaverTime":"300000","AudioDevice":"PCM","CollectionSystemsAuto":"all,favorites,recent","CollectionSystemsCustom":"","GamelistViewStyle":"automatic","Local":"fr_FR.UTF-8","OMXAudioDev":"both","PowerSaverMode":"default","Scraper":"TheGamesDB","ScreenSaverBehavior":"random video","ScreenSaverGameInfo":"always","SlideshowScreenSaverBackgroundAudioFile":"\/home\/pi\/.emulationstation\/slideshow\/audio\/slideshow_bg.wav","SlideshowScreenSaverImageDir":"\/home\/pi\/.emulationstation\/slideshow\/image","SlideshowScreenSaverImageFilter":".png,.jpg","StartupSystem":"","ThemeSet":"dark-steel","TransitionStyle":"fade","UIMode":"Full","UIMode_passkey":"uuddlrlrba"},"themes":{"stretch-carbon":true,"stretch-clean-look":true,"stretch-crt":true,"stretch-cygnus":true,"stretch-material":true,"stretch-tronkyfran":true},"systems":[],"themes_list":[{"name":"famicom-mini"},{"name":"carbon"},{"name":"pixel"},{"name":"ComicBook"},{"name":"workbench"},{"name":"snes-mini"},{"name":"art-book"},{"name":"dark-steel"},{"name":"ComicBook_SE-Wheelart"},{"name":"nes-mini"},{"name":"material"},{"name":"mini-psx"}]}
          
          • theme.php works fine too.

          • gamelist.php
            http://192.168.1.62/app/svr/gamelist.php?getlist=1&system=default
            Satus 200 ok but no valid response from the PI.

          HTTP/1.1 200 OK
          Date: Mon, 13 Nov 2017 13:55:16 GMT
          Server: Apache/2.4.10 (Raspbian)
          Content-Length: 0
          Keep-Alive: timeout=5, max=95
          Connection: Keep-Alive
          Content-Type: text/html; charset=UTF-8
          

          Tell me what i can try to help please.

          Life is game, just play it !

          K 1 Reply Last reply Reply Quote 0
          • K
            kixut @darknior
            last edited by

            @darknior yes I did change the link but since the old symlink would still be there it would still work.

            Thanks for the info your config is not returning any systems, which is my fault as a while ago I had commented out a little code that is still needed regarding where it looks for gamelists, sorry about that, please try a new pull.

            1 Reply Last reply Reply Quote 0
            • darkniorD
              darknior
              last edited by

              @kixut said in WebtroPie WIP:

              I had commented out a little code that is still needed regarding where it looks for gamelists

              I have make the GIT PULL and see you update the app/svr/config.php file.

              HTTP/1.1 200 OK
              Date: Mon, 13 Nov 2017 20:23:04 GMT
              Server: Apache/2.4.10 (Raspbian)
              Content-Length: 0
              Keep-Alive: timeout=5, max=90
              Connection: Keep-Alive
              Content-Type: text/html; charset=UTF-8
              

              And always same, it found nothing, no gamelist ?

               +            file_exists(ROMSPATH.'/'.$system_name."/gamelist.xml") ||
               +            file_exists(HOME_ES."/gamelists/".$system_name."/gamelist.xml") ||
               +            file_exists(ES_PATH."/gamelists/".$system_name."/gamelist.xml")
              

              And it's good, i don't understand :(

              /opt/retropie/configs/all/emulationstation/gamelists

              Life is game, just play it !

              K 1 Reply Last reply Reply Quote 0
              • K
                kixut @darknior
                last edited by kixut

                @darknior Thanks for your patience, it's a challenge to debug in this situation, I've tried to replicate what you describe as best I can and noticed that it doesn't behave nicely if the roms directories do not exist but should do now, so I've pushed this and a few other minor changes.

                1 Reply Last reply Reply Quote 1
                • darkniorD
                  darknior
                  last edited by darknior

                  @kixut said in WebtroPie WIP:

                  Thanks for your patience, it's a challenge to debug in this situation

                  It's me, i'am so sad because i can't really help you more :(
                  I have see all your updates, 12 files. make the force refresh and again nothing :(
                  And now nothing in the console. It not search gamelist with PHP, only Config n Theme.

                  Maybe you can explain me how to debug for you ? In what file i must search to found why it not load my gamelist files.
                  Because now the real problem was it not load lists.

                  angular.js:14642 TypeError: Cannot read property 'substring' of undefined
                      at service.getGamelist (game.service.js:197)
                      at system.view.js:101
                      at processQueue (angular.js:17000)
                      at angular.js:17044
                      at Scope.$digest (angular.js:18182)
                      at Scope.$apply (angular.js:18480)
                      at done (angular.js:12501)
                      at completeRequest (angular.js:12727)
                      at XMLHttpRequest.requestLoaded (angular.js:12655) "Possibly unhandled rejection: {}"
                  

                  Yes some systemes can be installed like SATURN but without any games, ES is not loading a system if his rom dir is empty.

                  Life is game, just play it !

                  1 Reply Last reply Reply Quote 0
                  • darkniorD
                    darknior
                    last edited by

                            // get either a specific gamelist for a system or all systems
                            function getGamelist(system_name)
                            {
                                var promise;
                    			console.log(system_name);
                                if (system_name.substring(0,4)=='auto' //||
                                     //system.name.substring(0,6)=='custom'
                                    )      // get all systems
                                {
                    
                    

                    I don't know why it append, i have console.log and it crash when the system_name is undefined

                    Life is game, just play it !

                    K 1 Reply Last reply Reply Quote 0
                    • darkniorD
                      darknior
                      last edited by

                      I see you comit a debug for console.log, it write me :

                      config.service.js:47 systems
                      config.service.js:48 []auto-allgames: {name: "auto-allgames", fullname: "all", theme: "auto-allgames", has_games: true}auto-favorites: {name: "auto-favorites", fullname: "favorites", theme: "auto-favorites", has_games: true}auto-lastplayed: {name: "auto-lastplayed", fullname: "recent", theme: "auto-lastplayed", has_games: true}length: 0__proto__: Array(0)
                      system.view.js:95 {name: "carbon", path: "svr/themes/carbon", has_gd: 1, includes: {…}, fonts: {…}, …}carousel_systems: {}carousel_systems_list: []fonts: {carbon_._art_Cabin_Bold: {…}, carbon__art_Cabin_Bold: {…}}has_gd: 1includes: {././carbon.xml: {…}, auto-allgames/../carbon.xml: {…}, auto-favorites/../carbon.xml: {…}, auto-lastplayed/../carbon.xml: {…}, custom-collections/../carbon.xml: {…}}mid_index: 0name: "carbon"path: "svr/themes/carbon"systems: {default: {…}, auto-allgames: {…}, auto-favorites: {…}, auto-lastplayed: {…}, custom-collections: {…}}__proto__: Object
                      angular.js:14642 TypeError: Cannot read property 'substring' of undefined
                          at service.getGamelist (game.service.js:197)
                          at system.view.js:101
                          at processQueue (angular.js:17000)
                          at angular.js:17044
                          at Scope.$digest (angular.js:18182)
                          at Scope.$apply (angular.js:18480)
                          at done (angular.js:12501)
                          at completeRequest (angular.js:12727)
                          at XMLHttpRequest.requestLoaded (angular.js:12655) "Possibly unhandled rejection: {}"
                      (anonymous) @ angular.js:14642
                      (anonymous) @ angular.js:11102
                      processChecks @ angular.js:17026
                      $digest @ angular.js:18182
                      $apply @ angular.js:18480
                      done @ angular.js:12501
                      completeRequest @ angular.js:12727
                      requestLoaded @ angular.js:12655
                      XMLHttpRequest.send (async)
                      (anonymous) @ angular.js:12701
                      sendReq @ angular.js:12446
                      serverRequest @ angular.js:12198
                      processQueue @ angular.js:17000
                      (anonymous) @ angular.js:17044
                      $digest @ angular.js:18182
                      $apply @ angular.js:18480
                      done @ angular.js:12501
                      completeRequest @ angular.js:12727
                      requestLoaded @ angular.js:12655
                      XMLHttpRequest.send (async)
                      (anonymous) @ angular.js:12701
                      sendReq @ angular.js:12446
                      serverRequest @ angular.js:12198
                      processQueue @ angular.js:17000
                      (anonymous) @ angular.js:17044
                      $digest @ angular.js:18182
                      $apply @ angular.js:18480
                      bootstrapApply @ angular.js:1952
                      invoke @ angular.js:5040
                      doBootstrap @ angular.js:1950
                      bootstrap @ angular.js:1970
                      angularInit @ angular.js:1855
                      (anonymous) @ angular.js:33826
                      trigger @ angular.js:3468
                      
                      

                      Life is game, just play it !

                      1 Reply Last reply Reply Quote 0
                      • K
                        kixut @darknior
                        last edited by kixut

                        @darknior I think that the problem is that the config.php although it returns all of the other config it is not returning the list of active systems, (my guess)

                        so, if you want to have a little dabble with that php script (browse 192.168.1.31/app/svr/config.php?get=255 ) you could debug that loop in a browser and work out why below is not evaluating to true, ... maybe echo those values ?

                        file_exists(ROMSPATH.'/'.$system_name."/gamelist.xml") ||
                         +            file_exists(HOME_ES."/gamelists/".$system_name."/gamelist.xml") ||
                         +            file_exists(ES_PATH."/gamelists/".$system_name."/gamelist.xml")
                        

                        I've added a console.log to list systems, I'm guessing they will be blank
                        The other logging is more for later with your game counts, I believe when you are back working again that the counts should be better, and will show duplicates in your psx game list, I made that a config option as it seemed a little slower with it switched on.

                        Edit: ok my guess wrong, ... oh I mean no I was right, yes you should have more than auto systems so please, if you could evaluate the php file_exists check for which gamelists exist. thanks

                        Oh, and of course I should add checks and nice message for if there really are no systems :)

                        ... could it be that for some reason there is a permission problem now reading if the file exists?

                        1 Reply Last reply Reply Quote 0
                        • darkniorD
                          darknior
                          last edited by

                          System is empty

                          Toggle Collapsed | use cfdump format: 
                          Query:
                           - JSONQuery
                          {
                          -app: {
                          LoadAllSystems: false
                          ScanAtStartup: false
                          ShowEmptySystems: false
                          ShowEmptyDirectories: false
                          ShowAddFields: true
                          ShowGameCounts: true
                          ShowThemeSelect: true
                          ShowViewSelect: true
                          LogSystemTotals: false
                          ThemeSet: "carbon"
                          Language: "en"
                          DateFormat: "DD/MM/YYYY"
                          ViewTransitions: "Slide"
                          ViewStyle: ""
                          }
                          -env: {
                          has_gd: 1
                          has_launch: 1
                          read_only: 0
                          }
                          -lang: {
                          -md_labels: {
                          name: "Name"
                          rating: "Rating"
                          releasedate: "Released"
                          developer: "Developer"
                          publisher: "Publisher"
                          genre: "Genre"
                          players: "Players"
                          lastplayed: "Last Played"
                          playcount: "Times Played"
                          human_size: "Size"
                          image: "Image"
                          marquee: "Marquee"
                          video: "Video"
                          year: "Year"
                          hidden: "Hidden"
                          kidgame: "Kid"
                          favorite: "Favourite"
                          stars: "Stars"
                          description: "Description"
                          }
                          -buttons: {
                          launch: "Launch"
                          scrape: "Scrape"
                          save: "Save"
                          cancel: "Cancel"
                          reset: "Reset"
                          delete: "Delete"
                          move: "Move"
                          options: "Options"
                          menu: "Menu"
                          search: "Search"
                          back: "Back"
                          system: "system"
                          choose: "choose"
                          edit: "Edit"
                          open: "Open"
                          select: "Select"
                          }
                          -languages: {
                          en: "English (UK)"
                          en-us: "English (US)"
                          }
                          }
                          -es: {
                          BackgroundJoystickInput: false
                          CaptionsCompatibility: true
                          DrawFramerate: false
                          EnableSounds: true
                          MoveCarousel: true
                          ParseGamelistOnly: false
                          QuickSystemSelect: true
                          SaveGamelistsOnExit: false
                          ScrapeRatings: true
                          ScreenSaverControls: true
                          ScreenSaverOmxPlayer: true
                          ShowHelpPrompts: true
                          ShowHiddenFiles: false
                          SlideshowScreenSaverCustomImageSource: false
                          SlideshowScreenSaverRecurse: false
                          SlideshowScreenSaverStretch: false
                          SortAllSystems: false
                          StretchVideoOnScreenSaver: false
                          UseCustomCollectionsSystem: true
                          VideoAudio: true
                          VideoOmxPlayer: true
                          hideQuitMenuOnKidUI: false
                          MaxVRAM: "100"
                          ScraperResizeHeight: "0"
                          ScraperResizeWidth: "400"
                          ScreenSaverSwapImageTimeout: "5000"
                          ScreenSaverSwapVideoTimeout: "35000"
                          ScreenSaverTime: "300000"
                          AudioDevice: "PCM"
                          CollectionSystemsAuto: "all,favorites,recent"
                          CollectionSystemsCustom: ""
                          GamelistViewStyle: "automatic"
                          Local: "fr_FR.UTF-8"
                          OMXAudioDev: "both"
                          PowerSaverMode: "default"
                          Scraper: "TheGamesDB"
                          ScreenSaverBehavior: "random video"
                          ScreenSaverGameInfo: "always"
                          SlideshowScreenSaverBackgroundAudioFile: "/home/pi/.emulationstation/slideshow/audio/slideshow_bg.wav"
                          SlideshowScreenSaverImageDir: "/home/pi/.emulationstation/slideshow/image"
                          SlideshowScreenSaverImageFilter: ".png,.jpg"
                          StartupSystem: ""
                          ThemeSet: "dark-steel"
                          TransitionStyle: "fade"
                          UIMode: "Full"
                          UIMode_passkey: "uuddlrlrba"
                          }
                          -themes: {
                          stretch-carbon: true
                          stretch-clean-look: true
                          stretch-crt: true
                          stretch-cygnus: true
                          stretch-material: true
                          stretch-tronkyfran: true
                          }
                          systems: [ ]
                          -themes_list: [
                          -{
                          name: "famicom-mini"
                          }
                          -{
                          name: "carbon"
                          }
                          -{
                          name: "pixel"
                          }
                          -{
                          name: "ComicBook"
                          }
                          -{
                          name: "workbench"
                          }
                          -{
                          name: "snes-mini"
                          }
                          -{
                          name: "art-book"
                          }
                          -{
                          name: "dark-steel"
                          }
                          -{
                          name: "ComicBook_SE-Wheelart"
                          }
                          -{
                          name: "nes-mini"
                          }
                          -{
                          name: "material"
                          }
                          -{
                          name: "mini-psx"
                          }
                          ]
                          }
                          
                          

                          Life is game, just play it !

                          K 1 Reply Last reply Reply Quote 0
                          • K
                            kixut @darknior
                            last edited by

                            @darknior thanks, I think it's going to turn out to be a permissions problem, does your web server run as a user that can read the gamelists files ?

                            darkniorD 1 Reply Last reply Reply Quote 0
                            • darkniorD
                              darknior @kixut
                              last edited by darknior

                              @kixut It's work before ... i don't know. I supose Apache use root user, how can i verify this ? i use you script copy from here.

                              And i install your script i think at good place in : /opt/retropie/supplementary/WebtroPie/ with root user

                              Life is game, just play it !

                              K 1 Reply Last reply Reply Quote 0
                              • darkniorD
                                darknior
                                last edited by darknior

                                if ($_GET['get'] & SYSTEMS)
                                {
                                	echo($_GET['get']);
                                	echo(SYSTEMS);
                                

                                result :

                                • 25532
                                • ... systems":[]," ....

                                It is strange because your application is installed by part as ROOT and some other files PI
                                I always have execute it with root user for installation, maybe it's bad ?
                                But /opt/retropie/supplementary/ is a user root directory.

                                Life is game, just play it !

                                1 Reply Last reply Reply Quote 0
                                • K
                                  kixut @darknior
                                  last edited by kixut

                                  @darknior it should work from anywhere, there is no hard coded path to where it's installed.
                                  I would just open a tab to http://192.168.1.31/app/svr/config.php?get=255 and edit the config.php and temporarily add some echo commands (see below), then refresh your tab, the list of systems should be every system from your es_systems.cfg, and the ones that have a true file_exists are the ones that go back to the client, if the path look right and the ones that you know exist say that they don't exist then it would be permissions, but maybe it's not getting the list from es_systems, or maybe there something wrong with the paths

                                      echo "<pre>\n";
                                      print_r($systems['system']);
                                      echo "</pre>";
                                  
                                      for($i=0; $i<count($systems['system']);$i++)
                                      {
                                  
                                          $system_name = $systems['system'][$i]['name'];
                                  
                                          echo "<pre>\n";
                                          echo $system_name."\n";
                                          echo "[".$systems['system'][$i]['path']."/gamelist.xml"."]";
                                          echo file_exists($systems['system'][$i]['path']."/gamelist.xml")."\n";
                                          echo "[".ROMSPATH.'/'.$system_name."/gamelist.xml"."]";
                                          echo file_exists(ROMSPATH.'/'.$system_name."/gamelist.xml")."\n";
                                          echo "[".HOME_ES."/gamelists/".$system_name."/gamelist.xml"."]";
                                          echo file_exists(HOME_ES."/gamelists/".$system_name."/gamelist.xml")."\n";
                                          echo "[".ES_PATH."/gamelists/".$system_name."/gamelist.xml"."]";
                                          echo file_exists(ES_PATH."/gamelists/".$system_name."/gamelist.xml")."\n";
                                          echo "</pre>";
                                  
                                          if (file_exists($systems['system'][$i]['path']."/gamelist.xml") ||
                                              file_exists(ROMSPATH.'/'.$system_name."/gamelist.xml") ||
                                              file_exists(HOME_ES."/gamelists/".$system_name."/gamelist.xml") ||
                                              file_exists(ES_PATH."/gamelists/".$system_name."/gamelist.xml")
                                              )
                                          {
                                              $systems['system'][$i]['has_gamelist'] = true;
                                              if (filesize($systems['system'][$i]['path']."/gamelist.xml") > 40 ||
                                                  filesize(ROMSPATH.'/'.$system_name."/gamelist.xml") > 40 ||
                                                  filesize(HOME_ES."/gamelists/".$system_name."/gamelist.xml") > 40 ||
                                                  filesize(ES_PATH."/gamelists/".$system_name."/gamelist.xml") > 40
                                                  )
                                                  $systems['system'][$i]['has_games'] = true;
                                          }
                                         $config['systems'][$system_name] = $systems['system'][$i];
                                      }
                                  exit; // this is all we're interested in at the moment
                                  

                                  ... never mind ... lets add another last one "/opt/retropie/configs/all/emulationstation/"

                                  Edit: Ive added /opt/retropie/configs/all/emulationstation and pushed, I feel dumb now

                                  1 Reply Last reply Reply Quote 0
                                  • darkniorD
                                    darknior
                                    last edited by

                                    If i understand fine :

                                    if ($_GET['get'] & SYSTEMS)
                                    {
                                        $array_types = array('system'=>true);
                                        if (file_exists(HOME_ES."/es_systems.cfg"))
                                            $systems = load_file_xml_as_array(HOME_ES."/es_systems.cfg");
                                        else
                                            $systems = load_file_xml_as_array(ES_PATH."/es_systems.cfg");
                                        $config['systems'] = array();
                                    
                                        echo "<pre>\n";
                                        print_r($systems['system']);
                                        echo "</pre>";
                                    
                                        for($i=0; $i<count($systems['system']);$i++)
                                        {
                                    
                                            $system_name = $systems['system'][$i]['name'];
                                    
                                            echo "<pre>\n";
                                            echo $system_name."\n";
                                            echo "[".$systems['system'][$i]['path']."/gamelist.xml"."]";
                                            echo file_exists($systems['system'][$i]['path']."/gamelist.xml")."\n";
                                            echo "[".ROMSPATH.'/'.$system_name."/gamelist.xml"."]";
                                            echo file_exists(ROMSPATH.'/'.$system_name."/gamelist.xml")."\n";
                                            echo "[".HOME_ES."/gamelists/".$system_name."/gamelist.xml"."]";
                                            echo file_exists(HOME_ES."/gamelists/".$system_name."/gamelist.xml")."\n";
                                            echo "[".ES_PATH."/gamelists/".$system_name."/gamelist.xml"."]";
                                            echo file_exists(ES_PATH."/gamelists/".$system_name."/gamelist.xml")."\n";
                                            echo "</pre>";
                                    
                                            if (file_exists($systems['system'][$i]['path']."/gamelist.xml") ||
                                                file_exists(ROMSPATH.'/'.$system_name."/gamelist.xml") ||
                                                file_exists(HOME_ES."/gamelists/".$system_name."/gamelist.xml") ||
                                                file_exists(ES_PATH."/gamelists/".$system_name."/gamelist.xml")
                                                )
                                            {
                                                $systems['system'][$i]['has_gamelist'] = true;
                                                if (filesize($systems['system'][$i]['path']."/gamelist.xml") > 40 ||
                                                    filesize(ROMSPATH.'/'.$system_name."/gamelist.xml") > 40 ||
                                                    filesize(HOME_ES."/gamelists/".$system_name."/gamelist.xml") > 40 ||
                                                    filesize(ES_PATH."/gamelists/".$system_name."/gamelist.xml") > 40
                                                    )
                                                    $systems['system'][$i]['has_games'] = true;
                                            }
                                           $config['systems'][$system_name] = $systems['system'][$i];
                                        }
                                    exit; // this is all we're interested in at the moment
                                    }
                                    

                                    I have an empty page :(

                                    <pre>
                                    </pre>
                                    

                                    I don't understand fine for /opt/retropie/configs/all/emulationstation ?

                                    Life is game, just play it !

                                    1 Reply Last reply Reply Quote 0
                                    • darkniorD
                                      darknior
                                      last edited by

                                      /opt/retropie/configs/all/emulationstation is PI user
                                      /opt/retropie/configs/all/emulationstation/gamelists PI
                                      Each system and gamelist.xml PI user too.

                                      Life is game, just play it !

                                      1 Reply Last reply Reply Quote 0
                                      • darkniorD
                                        darknior
                                        last edited by

                                        No right problem, i have finally found :)
                                        It's my fault, but i think you must upgrade a little your XML PARSER for guy"s that write code it don't like.
                                        Now you can remove the code you add yesterday for me, and put again the game counter to show duplicate (PSX) games in console.log.

                                        Explanations :

                                        I have add error_reporting(E_ERROR | E_WARNING); to your svr/config.php file.
                                        And i think you should add it too, for the moment we are not in production mode but most dev mode :p
                                        I read my Apache error.log and then found :

                                        [Tue Nov 14 13:51:48.686359 2017] [:error] [pid 26599] [client 192.168.1.11:58586] PHP Warning:  SimpleXMLElement::__construct(): Entity: line 406: parser error : xmlParseEntityRef: no name in /opt/retropie/supplementary/WebtroPie/app/svr/xml_util.php on line 154
                                        [Tue Nov 14 13:51:48.686442 2017] [:error] [pid 26599] [client 192.168.1.11:58586] PHP Warning:  SimpleXMLElement::__construct():     &lt;command&gt;cd /opt/retropie/ports/openbor/ &amp;&amp; ./OpenBOR %ROM%&lt;/command&gt;  in /opt/retropie/supplementary/WebtroPie/app/svr/xml_util.php on line 154
                                        [Tue Nov 14 13:51:48.686519 2017] [:error] [pid 26599] [client 192.168.1.11:58586] PHP Warning:  SimpleXMLElement::__construct():                                                ^ in /opt/retropie/supplementary/WebtroPie/app/svr/xml_util.php on line 154
                                        

                                        Then i remember in my es_systems.cfg i have add a command line for OpenBOR, i give it to you, with :

                                        <command>cd /opt/retropie/ports/openbor/ && ./OpenBOR %ROM% > /dev/null 2>&1</command>

                                        I know it is not fine to not escape in XML, but ES is cool and understand it without crashing.
                                        I have replace now by :

                                        <command>cd /opt/retropie/ports/openbor/ &amp;&amp; ./OpenBOR %ROM% &lt; /dev/null 2&lt;&amp;1</command>

                                        And all is working fine :)

                                        Life is game, just play it !

                                        1 Reply Last reply Reply Quote 0
                                        • darkniorD
                                          darknior
                                          last edited by

                                          Game Show / Counter :

                                          Lynx : 44 same
                                          Jaguar : 42 same
                                          Atari800 : Not showed !
                                          Atari7800 : 40 you show 35
                                          Atari 5200 : Not showed !
                                          Atari 2600 : 130 you show 100
                                          Arcade : 436 you show 500 (i know it is because i have move my CPS games)

                                          If i understand fine, it's because ES also count games on HDD not on gamelist.xml and add them.
                                          For the not showed systems, it's because there is no gamelist, only file in directory to test games.

                                          • It's really cool to see this difference, to fix it if we forgot a game.
                                          • But it is also a problem to add a new game, we must first add it on PI, and restart ES to save the change.

                                          Do you think it is possible for you to show files not in XML ? It is complicate because you must scan the directory with PHP, and it will take time to compare with XML games, but maybe you can do it only on demand. With a SCAN button in the bottom menu when we are on a system we want to work on.
                                          And on the game list view, add a TAG we can show with filter, that show us if a game in the XML is on the HDD or not.

                                          User interface

                                          I have multiple bugs ... not same from the different skins ... i know it will be hard/long/impossible for you to fix them all ...
                                          And for some i know you can't do nothing because a theme use % placement, it's cool, but it is made for a resolution, 1080p, 720p, 4/3, 16/9 ... and on PC we have other resolutions ... I assume skinner are not real coder and don't take the good origin point to place elements.
                                          But the most important bugs are not many more :

                                          • The first is more a question than a bug, how do you choose the z-index of an element ?
                                            My friend made it :
                                          		<image name="logo2" extra="true">
                                          			<path>./art/controller.svg</path>
                                                      <maxSize>0.270 0.427</maxSize>
                                          			<pos>0.335 0.100</pos>
                                          			<origin>0 0</origin>
                                          			<color>bbbbbb</color>
                                          		</image>
                                          

                                          And you put the element with z-index 200 in front of the video.
                                          ES if i understand fine, show elements in order it read them, we declare them, but we can also add a z-index now.
                                          My friend for sure has make the error to not use s-index to prevent bugs.

                                          0_1510670904260_Sans titre-1.jpg

                                          • The BOXART image, change the z-Index to show it under the video.
                                            You can see it on PIXEL theme, in front of the video.

                                          0_1510670929891_Sans titre-2.jpg

                                          • The LOGO it is in front of the VIDEO too, and it is normal when you use VLC. But maybe you can add a switch to show it behind when the guy using OMXPlayer and you can see it in the ES settings from config.php

                                          VideoOmxPlayer: true

                                          • Always the Last player at bad place, but i see no other skin showing it to compare...

                                          MAYBE SKIN CODING PROBLEM :

                                          • In the NES MINI it use a caroussel_bar.png that have a z-index 100 in front of all other. We can't see the text and we can't use the menu. When i remove the ZINDEX all is fine.

                                          0_1510674317724_Sans titre-3.jpg

                                          • Same with SNES MINI. On home screen we can't see system images because he can't found them, on game list same than NES, an effect is in front of the menu and we can't use it.

                                          0_1510675166875_Sans titre-4.jpg
                                          0_1510675174144_Sans titre-5.jpg

                                          I don't read the skin code for the moment, but i think it is not your fault. They must better code the skins. Or it is also because you don't use the same ES element default oder.

                                          IMPROVEMENT :

                                          • Not a bug but only an improvement, is it possible to PAUSE the video preview when we EDIT a game, because with time the music will take us silly lol Especially on Coleco Vision where the sound is crappy :p
                                          • Or/And is it possible to have a MUTE button on the bottom menu ?

                                          Editing interface :

                                          • When we already have the image, you don't show the button/dragndrop to change/update it. Maybe you can let us clic the image to update it ?

                                          • When we don't have it i see the buttons, but the DragnDrop is not working for me on Chrome, and when i browse it don't upload the image to pi.

                                          • When i modify a text like a description, it don't save on pi too.

                                          • When do you save on gamelist.xml ?

                                          • Where do you upload images/video ? Are you using the default or my MEDIA path ? Because you can't know it on upload if we can't set it somewhere.

                                          Life is game, just play it !

                                          K 1 Reply Last reply Reply Quote 0
                                          • K
                                            kixut @darknior
                                            last edited by kixut

                                            @darknior I'm so glad that you found the problem, when I tested I was using the earlier es_systems.cfg file that you posted and unless I've got them mixed up it didn't have the invalid code.

                                            I think a priority must be for me to make that area more robust, it needs the es_systems config for the correct paths, rom extensions and system theme so it's important that it is loaded.

                                            If scanning is switched on it will search for roms that aren't in the game list file, also the logging console mod that I made can be switched on in the settings.cfg (it's not in the app menu).

                                            Edit: You can switch on scanning for all systems or as you say you can scan an individual directory, these show in the list with "New: " at the start of the name, you are right, it would be useful to be able to filter on that.

                                            Edit: Regarding test system not in es_systems file, the old way I used to do it was to scan rom folder for folders with a game list, I could have it work that way but if you scan that directory it will not know what extension to look for but it's better maybe to show it and scan fail than not to show it at all ..

                                            I know I have a problem with z-index, I need to understand properly how ES does it, the docs say that when extra is true that the elements are rendered in order that they appear in the file, and this what I try to do - unless z-index has been explicitly set, however, a theme can include other files, views may be combined, different elements can have different attributes from many files so when parts of themes can be in different included multiple files it gets hard to know what the element order really is. I know I should just put time aside to study the source code, but if someone could explain the algorithm in plain english I would be very happy :)

                                            ... I will have a read through the rest of the issues, and am happy to tackle them,

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

                                            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.