Announcing Pegasus Frontend
-
@PlayingKarrde I agree the workflow being less than optimal at the moment. However, the reason I prioritize format updates is exactly because it'd be more difficult to add changes after people start making tools, videos or guides that would depend on some stability. I can also start making, say, a metadata editor program more easily when the planned changes don't loom over my head.
As for what Skraper does and supports, that's not something I can control. When I run on just ~600 NES games and said over 5 hours left, you bet that really made me want to write a scraper too. That said, support for its assets can be added, and will likely come this week. Also looks like it can export metadata in a frontend-independent way too, which might be usable. But if a use case requires you to convert between different file formats of incompatible programs, you'll always need some manual interaction.
-
@fluffypillow Yep, totally understand. I think maybe my comment came off a bit more confrontational than I intended. I think I'm just trying to explain the potential I see but the main thing still holding it back. Long term if it was as easy to use as, say Plex, it could potentially be the most popular launcher out there.
But it sounds like you are thinking long term so I'm on board with the changes you mentioned. I agree with everything else you say.
-
@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.
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.