Announcing Pegasus Frontend
-
@PlayingKarrde No worries, I do appreciate your concerns about the future of Pegasus. Hope I can show its full potential eventually!
On another topic, for yesterday's theme Api changes, forgot to mention that the key handling will change too, after I finally implement the key modifier (Ctrl, Shift, etc.) support. When checking keys, instead of passing the key code (eg.
api.keys.isAccept(event.key)
) you'd pass the wholeevent
as parameter. The returned array types ofkeys.accept()
and co. will also change.Other than themes, because the modifiers modify regular keys, setting Ctrl and such "alone" will no longer work. The change will also require a one-time reset of the key settings, due to changes in the way keys are stored in the settings file. This update will come in one of the weekly releases (maybe the next one?) so don't worry about randomly loosing settings.
-
@fluffypillow said in Announcing Pegasus Frontend:
after I finally implement the key modifier (Ctrl, Shift, etc.)
Just out of curiosity, what do you see the modifiers being used for? I'm assuming this was discussed/requested above but I didn't see it.
-
@PlayingKarrde It was initially requested as a workaround for C64 keyboard issues, around here. Other than that, it'd also allow setting possibly more intuitive bindings, like Ctrl+F for searching or Ctrl+Left/Right to change collections.
-
@fluffypillow Ah I see. So it's just for bindings then? (ie not giving new functions through modifiers).
I have a quick question that I can't seem to find the answer for: do you know of any way to properly format text from the metadata? I'm noticing that double line breaks (or paragraphs) aren't being accounted for at all.
-
@PlayingKarrde yup, just for bindings.
As for text, it's not well documented yet, but you may use
\n
or<br>
for manual line breaks (but don't mix the two). -
@fluffypillow hmm but that would require me to hand edit the metadata which isn't something im likely to do for 1000 games.
-
Just released v0.2 of gameOS
Lots of polish and cleanup as well as added the details page into the flow. Switching between favourites and all will be the next big feature with search rounding it out after that. By that time I expect the new changes to Pegasus will be out so I will then spend the time updating it for that and probably move it into beta status.
I'll post a video as I think it looks better in motion, but as always it can be downloaded here:
-
@PlayingKarrde Great stuff.
-
@PlayingKarrde looks top notch, can't wait to see how it will be on it's final state.
-
@PlayingKarrde Nice! Will definitely try it out.
hmm but that would require me to hand edit the metadata
Ah so it'd be for a lots of games -- I should make the converter a bit smarter then (eventually). Though if I remember correctly, I did add support for empty lines when converting from ES files, but I'll review that part.
-
Here's the video of the update:
-edit-
Just made some new additions (adding, favorites filter, video preview in details, some other things) so going to call this v0.3. Will probably hold off from any major new features now until the Pegasus changes come in. -
nvm
-
Weekly update! So as mentioned previously, in the next weeks there will be several updates with breaking changes, and here's the first one:
- Added key modifier (Ctrl, Alt, Shift) support. You can now register key combinations with them.
- Note: Due to these changes the currently set key bindings will reset after the update. If you see issues like incorrect keys, you can also reset them manually.
- Added Skraper asset support. In the directories set in the Settings menu, Pegasus will look for Skraper-style asset layouts in
[gamedir]/media
and[gamedir]/skraper
(in case you don't want to mix it with Pegasus-style assets). - Updated all related documentation
Breaking Theme API changes:
- Changed the parameter of
api.keys.is<Keytype>()
calls from a single key to a QML KeyEvent. For example, instead ofapi.keys.isAccept(event.key)
you'd writeapi.keys.isAccept(event)
. - Changed the returned type of
api.keys.<Keytype>()
calls. Previously they returned a list of single keys, now they return a list of objects, each having akey
and amodifiers
field, similarly to the QML KeyEvent.
- Added key modifier (Ctrl, Alt, Shift) support. You can now register key combinations with them.
-
@fluffypillow said in Announcing Pegasus Frontend:
Added Skraper asset support.
So happy this is here! However, I just tried it out and it doesn't appear to be working. The media is organized into /media/box2dfront/<gamename>.png etc fwiw.
Have updated the theme with the new input changes.
-
I've been thinking a bit about how to manage adding roms a little easier for people and while this may not be the most elegant solution, if you were to write a Launchbox parser to go along with the single collection and metadata file, that would basically cover you for any future games you add. The process for adding roms would then be to just add the rom and scrape it with skraper. No extra steps necessary as far as I can tell. If you don't know, Launchbox has the entire database downloaded as an XML file locally and it's updated periodically.
I know you have Launchbox support on your list so I'm really just thinking out loud here. It would inevitably throw up thousands of errors when you launch the app though since it would look for a ton of games that aren't there so I'm curious how much of a performance/boot up time hit this would have. If it takes as long to load as Launchbox currently does it probably wouldn't be the best solution.
-
However, I just tried it out and it doesn't appear to be working.
Hm that's interesting, it certainly works for me with that layout, even tested subfolder support too. Do you see anything in the log? It should at least print the number of assets found (which in this case probably 0).
if you were to write a Launchbox parser to go along with the single collection and metadata file, that would basically cover you for any future games you add
With LaunchBox being Windows-only, that doesn't particularly make scraping easier for me :) Or you mean generate metadata files based on LaunchBox's data? That is certainly possible and not too difficult, would be a good feature in a metadata editor.
As for the technical side, after installing LaunchBox the only issue I see at the moment is that the metadata files have a slightly larger size, searching in ~200 MB of data might take some seconds. Shouldn't be slower than LaunchBox though.
-
Yep I get
2018-11-19T10:03:00 [i] Skraper: Looking for assets... 2018-11-19T10:03:00 [i] Skraper: 0 assets found
Or you mean generate metadata files based on LaunchBox's data?
Yeah I just mean to generate a metadata file based on their database xml that is local anyway. In terms of startup, mine already takes over 4000ms but I think the reason why it doesn't feel so bad is that you have a loading bar whereas Launchbox just doesn't do anything for this time so you're not even sure if it's been launched. Would be curious to see at least.
-
@PlayingKarrde Hm just to make sure, you have a layout like this:
- media/ - box2dfront/ - gamename.png - gamename.ext - collections.txt
, and the directory of
collections.txt
is added under "Set game directories", right? I've just tried it on Windows so I suppose it's not platform related. I can also make a very verbose build if nothing ends up working. -
Correct (although I'm using collections.pegasus.txt).
The test I did was on a directory that already worked (in this case Dreamcast). I deleted my media folder and scraped it again with Skraper and didn't change anything else.
-
@PlayingKarrde Ok, here's a more chatty build. This should log in detail the Skraper asset searching.
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.