Announcing Pegasus Frontend
@sselph Ah ok, is your scraper going to be updated to support pegasus's naming scheme?
@Darksavior looking at the code it doesn't look like the default
-imagesuffix that my code and ES uses works. If you remove the suffix it may work.
FYI I haven't actually used the code just inspecting the code to figure out how I could integrate with it.
@sselph Thanks again. I'll have to wait when you decide to change your scraper's naming scheme to be compatible. Lots of renaming if I do it manually, heh. -boxFront is for the cart, -screenshot for the left half of the screen(I used the cart pic again). -video works without renaming, yay.
Update: duh, I forgot my old dos renaming skills. That was easy...
@Darksavior @sselph yes Pegasus looks for files with certain suffixes for the different asset types, see https://retropie.org.uk/forum/topic/9598/announcing-pegasus-frontend/52. At the moment the ones @sselph linked are supported, but suggestions are welcome. I can add
-imagetoo, but as most of the assets are also images, it didn't feel too informative to me :)
There are tools for batch renaming files, for example you can run
rename 's/-image.jpg/.jpg/' *in the image directory.
@fluffypillow Yeah, I'm renaming my images in windows since I also scrape on that.
Crashes and freezes galore:) Looks amazing, though. A small taste of what it'll be. I know this is an alpha so I'll try not to post at github about these issues so early in dev.
Scrolling with videos causes the freezes. Some videos are distorted.
The systems without videos seems to be fine. I'm using sselph's scraper in windows with handbrakecli.exe to auto downsize them for the pi. I won't use videos for now.
Loading a game is another adventure. It'll randomly boot me back to pegasus after 15+ seconds. Then, if I go load the game again, it takes me back to where I was in the game. Crashes with exit code 15.
I also need to use my kb since pegasus sees my snes pad's dpad as analog. The dpad won't respond. I'm sure once the ability to change controls is implemented, this will no longer be a problem.
I added some systems myself, but not sure how to do add the logos for those. The retropie system page has no icons.
@sselph Sorry to bother, but is your scraper working to get logo art from screenscraper.fr? Maybe I'm doing it wrong. I can only get the logos from gdb, but they're not transparent like ss's. SS does have three different kinds of logos, so maybe I thought I'd need to type some more strings.
In windows, I tried scraper.exe -console_src ss -console_img l
New sunday, new changelog; here's what happened on week 13:
- Fixed the game launching bug
- Some mouse navigation fixes
- Implemented scrolling details text: https://my.mixtape.moe/iwggya.webm
- Added initial multilanguage support:
- Added Hungarian translation as an example of a fairly usual European language
- Added Rovás (traditional Hungarian) as an example for a right-to-left, non-latin-alphabet-using translation
- Multilanguage support is still work in progress; I'm working on the settings menu where you'll be able to change the language (it will default to the OS one)
@fluffypillow I must've spent the whole weekend trying to build this and still nowhere close. I've also never compiled in my life so it's quite the learning experience. Trying with Ubuntu, I'm following the pi cross compile tutorial you linked in your wiki with your configure settings. Qt creator doesn't seem to see qml, multimedia, quick, svg. It also says my qmake is "non-installed -prefix build - for internal development only"
I'm using these 5.9 gits from http://code.qt.io/cgit/qt
Installed qt5, qtdeclarative, qtgamepad, qtmultimedia, qtbase, qtsvg, few more I can't remember.
If I use the main package from https://launchpad.net/~beineri/+archive/ubuntu/opt-qt59-xenial then qtcreator wont complain but it won't create a working build. Pi refuses to run it.
I'll keep trying.
@Darksavior yeah Qt can be quite complex, and not necessarily the best first time experience :) I've never seen that error before, but you could try using this Qt build I've made. I'll also set up an automated nightly build system tomorrow, so you won't have to rebuild every time there's a change.
(Also the PPA you linked provides desktop Qt, which is why it will not run on the Pi.)
Ok, the very latest builds are now available here, and are updated on every new commit of the master branch.
Could it be possible for Pegasus to have an overlay-option for some games, or will overlays work the way it does today?
In non-coder terms, what's the current status of this project?
@fluffypillow let me know if you'd like translations to danish - I'd love to contribute in some way, but I guess other languages is pretty low-priority.
@AndersHP by overlay, you mean a global GUI overlay that would pop up when you press a key/button combination? Like with Steam, Kodi, and on consoles? I'm not sure if it'd be possible on the Pi, (as far as I know) when you're running an emulator, it owns the graphical context of the device ("has the right to draw on the screen"), and I don't know if it's allowed for other programs to draw at the same time. It probably could be done on desktop/X11 though.
In non-coder terms, what's the current status of this project?
What counts as a non-coder term? :) It's currently in Alpha, meaning some functions are usable, but many are missing, there could be lots of bugs, and the documentation is lacking. In short, it's incomplete but testable.
Sure, translations are welcome! I'll write up a localization guide (there's even a nice GUI program for it), and translation context comments; meanwhile you can find the Hungarian files here. The changes and new files will be automatically picked up by the build system (well, as soon as I finish translation support). It's not necessary to translate every text, eg. console debug output messages, it'll fall back to English. Also since it's still in alpha, the text may change often, eg. when new features added and such.
@AndersHP by overlay, you mean a global GUI overlay that would pop up when you press a key/button combination? Like with Steam, Kodi, and on consoles?
No I think that would stress the Pi unnecessarily? I meant MAME overlays like bezels for vertical shooters etc. But maybe that's too early when the basic functionality is not 100% yet.
When I browse with videos from screenscraper.fr's, pegasus eventually crashes. Bit of lag when browsing but when I downgrade them to 320x240 with sselph's scraper + handbrakecli.exe, some videos appear garbled for some reason. They play fine in ES.
Error message(I tried the original 640x480 videos)
Gstreamer-WARNING **: gstpad.c:4661:store_sticky_event:h264parse54:src (and capsfilter54:sink) Sticky event misordering, got 'segment' before 'caps'
and a lot of "warning: "no volume control found""
(You may have already said this before but) what video player does Pegasus use? I think ES was using the VLC player but I believe they've moved over to the OMX Player with hardware decoding? That might be why @Darksavior's videos "appear garbled".
@AndersHP ah ok, but isn't that a libretro setting?
@Darksavior @backstander Pegasus uses the Qt Multimedia module, which in turn uses GStreamer (1.0) on Unix. Video format support depends on the quality of the GStreamer plugins, but most of them seem to be in a bad shape...
In theory, installing
gstreamer1.0-omxshould enable hardware acceleration, but that's probably not enough to fix the video output. I have some ideas that could be tried out:
- I've heard there's a plugin that enables GStreamer to use FFMPEG, might worth looking into it
- I wonder if using a freshly built GStreamer using the latest version would improve things; this would also require rebuilding Qt and Pegasus
- There's someone who used OMX directly in Qt, without Multimedia; maybe we could too
This week the translation support has landed:
- implemented the settings menu
- implemented dynamic translation reload on language change
- build system integration
- translation guide
RetroFE also uses gstreamer. If you can link me a garbled video I can check if it plays on there. If it does, it's either a plugin issue or you might be able to find an answer in the RetroFE code.