PS3 [Work In Progress] Using the Photo grid layout to mount games

I want to list some of the advantages of this method
  • No XML generation needed.
  • Users can arrange their games into custom folders on the XMB (WIP)
  • Users can rename the games on the XMB
  • Correct proportions on all covers
  • Ability to click on the cover to see it fullscreen
  • No need to reboot to see changes after adding games
  • Grid view for faster scrolling
  • No RAM issues even when scrolling over 10,000 items
  • Slideshow of covers when bored

And disadvantages:
  • New system so work to be done to make it work
  • Learning curve for users
  • Rebuilding database will wipe out albums.
  • ??

Anyone got any more of either to mention? I am probably forgetting something.
 
So this method of filtering works. I now have 6 specific albums showing ONLY in the game category, And not in the photo category. There is probably a better way but I think its already got potential.

See the way I can rename the game cover albums too from the xmb, and its nice the way the album folder icon gets the thumbnail of the first image in it, I used that trick to add the console logo to each album, but all you need to do is add another image there as "000.png and it will be the new thumbnail


Check it out @aldostools @habib
 
Last edited:
@DeViL303 One of the disadvantages is that Team Rebug didn't implement the PhotoGUI feature in Cobra 8.2 :(
The feature is only present in PS3HEN 3.x and Mamba.
https://github.com/Joonie86/COBRA-7.3/blob/master/486/LITE/stage2/mappath.c#L549
https://github.com/PS3Xploit/PS3HEN/blob/master/payload/mappath.c#L618

https://github.com/aldostools/COBRA/blob/master/486/REX/stage2/mappath.c#L332
https://github.com/aldostools/MAMBA/blob/master/stage2/mappath.c#L346

@Joonie if you're interested, I have updated my fork of "Cobra 8.3". It's untested due I don't have a flasher :(
https://github.com/aldostools/COBRA/tree/master/486

It includes PhotoGUI and other additional features listed in the "spoiler" of this post.
https://www.psx-place.com/threads/u...-4-84-on-cex-dex-deh.22627/page-4#post-236639
 
Last edited:
OK cool, I will take a look.

Here is how this xml works if anyone is interested. The filtering is done based on the fact that the album only has a certain amount of images in it. PS3 = 2811, PS2 = 2918 etc.

Code:
<View id="PhotoGUI">
<Attributes>
<Table key="PhotoGUI_items"> 
<Pair key="icon"><String>/dev_flash/vsh/resource/explore/icon/games.png</String></Pair> 
<Pair key="title"><String>Playstation®</String></Pair> 
<Pair key="info"><String>It only does everything!</String></Pair>
<Pair key="str_noitem"><String>msg_error_no_content</String></Pair>
<Pair key="child"><String>segment</String></Pair>
</Table>
</Attributes>
<Items>
<Query 
class="type:x-xmb/folder-pixmap" 
key="PhotoGUI_items" 
attr="PhotoGUI_items"
src="#PhotoGUI_items"
/>
</Items>
</View>
<View id="PhotoGUI_items">
<Items>
<Query class="type:x-xmb/folder-pixmap" key="PS3_games" attr="PS3_games" src="xcb://localhost/query?cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_TAGS+Ae+PhotoList:PhotoList.numOfItems 2811" />
<Query class="type:x-xmb/folder-pixmap" key="PS2_games" attr="PS2_games" src="xcb://localhost/query?cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_TAGS+Ae+PhotoList:PhotoList.numOfItems 2918" />
<Query class="type:x-xmb/folder-pixmap" key="PS1_games" attr="PS1_games" src="xcb://localhost/query?cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_TAGS+Ae+PhotoList:PhotoList.numOfItems 1522" />
<Query class="type:x-xmb/folder-pixmap" key="PSP_games" attr="PSP_games" src="xcb://localhost/query?cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_TAGS+Ae+PhotoList:PhotoList.numOfItems 953" />
<Query class="type:x-xmb/folder-pixmap" key="PSN_games" attr="PSN_games" src="xcb://localhost/query?cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_TAGS+Ae+PhotoList:PhotoList.numOfItems 10" />
<Query class="type:x-xmb/folder-pixmap" key="Bluray" attr="Bluray" src="xcb://localhost/query?cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_TAGS+Ae+PhotoList:PhotoList.numOfItems 4" />
<Query class="type:x-xmb/folder-pixmap" key="DVD" attr="DVD" src="xcb://localhost/query?cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_TAGS+Ae+PhotoList:PhotoList.numOfItems 111" />
</Items>
</View>

Then I added this to the registry.xml to stop them also showing there. This patch is kind of optional IMO as a few extra albums in the photo category would not be too big a deal and it can be useful to manage them there as you can see everything (if you dont add this):

Code:
<Table key="view_photo">
<Pair key="month"><String>xcb://localhost/query?ssort=root.view_sort_selected.photo_month&cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_ALBUM_MONTH+An+PhotoList:PhotoList.numOfItems 2918+An+PhotoList:PhotoList.numOfItems 2811+An+PhotoList:PhotoList.numOfItems 1522+An+PhotoList:PhotoList.numOfItems 953+An+PhotoList:PhotoList.numOfItems 10+An+PhotoList:PhotoList.numOfItems 4</String></Pair>
<Pair key="year"><String>xcb://localhost/query?ssort=root.view_sort_selected.photo_year&cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_ALBUM_YEAR+An+PhotoList:PhotoList.numOfItems 2918+An+PhotoList:PhotoList.numOfItems 2811+An+PhotoList:PhotoList.numOfItems 1522+An+PhotoList:PhotoList.numOfItems 953+An+PhotoList:PhotoList.numOfItems 10+An+PhotoList:PhotoList.numOfItems 4</String></Pair>
<Pair key="album"><String>xcb://localhost/query?sort=+PhotoList:Common.titleForSort&cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_TAGS+An+PhotoList:PhotoList.numOfItems 2918+An+PhotoList:PhotoList.numOfItems 2811+An+PhotoList:PhotoList.numOfItems 1522+An+PhotoList:PhotoList.numOfItems 953+An+PhotoList:PhotoList.numOfItems 10+An+PhotoList:PhotoList.numOfItems 4</String></Pair>
<Pair key="all"><String>xcb://localhost/query?sort=+PhotoList:Common.titleForSort&cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_TAGS+An+PhotoList:PhotoList.numOfItems 2918+An+PhotoList:PhotoList.numOfItems 2811+An+PhotoList:PhotoList.numOfItems 1522+An+PhotoList:PhotoList.numOfItems 953+An+PhotoList:PhotoList.numOfItems 10+An+PhotoList:PhotoList.numOfItems 4</String></Pair>
</Table>
 
Try this devil, the info stored in the database for the Photolist:Common.tags is a text string... is the same text string you need to type (with the on screen keyboard) when you create a custom album
Im not sure how are you creating that albums (and assigning images to them), but the point is... if your album is named "PS3" then you can do this:
Code:
src="xcb://localhost/query?cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_TAGS+Ae+PhotoList:Common.tags PS3"
 
@DeViL303 One of the disadvantages is that Team Rebug didn't implement the PhotoGUI feature in Cobra 8.2 :(
The feature is only present in PS3HEN 3.x and Mamba.
https://github.com/Joonie86/COBRA-7.3/blob/master/486/LITE/stage2/mappath.c#L549
https://github.com/PS3Xploit/PS3HEN/blob/master/payload/mappath.c#L618

https://github.com/aldostools/COBRA/blob/master/486/REX/stage2/mappath.c#L332
https://github.com/aldostools/MAMBA/blob/master/stage2/mappath.c#L346

@Joonie if you're interested, I have updated my fork of "Cobra 8.3". It's untested due I don't have a flasher :(
https://github.com/aldostools/COBRA/tree/master/486

It includes PhotoGUI and other additional features listed in the "spoiler" of this post.
https://www.psx-place.com/threads/u...-4-84-on-cex-dex-deh.22627/page-4#post-236639
This is exciting! Progressing very quickly it seems at this point :)
 
Try this devil, the info stored in the database for the Photolist:Common.tags is a text string... is the same text string you need to type (with the on screen keyboard) when you create a custom album
No luck unfortunately. I suspect we can ONLY use these specific PhotoList entries here. And I don't really know what 95% of them mean. I can make guesses of course but we need to know the exact syntax of the filter too. So If we could use the extfilepath or clstname or something like that it might work.

Im not sure how are you creating that albums (and assigning images to them), but the point is... if your album is named "PS3" then you can do this:

What I am doing is importing a folder from USB using Copy, for example dev_usb000/PS3_Covers/ folder. This then gives me an "2020-04-12" album on the XMB which I am then renaming to "PS3 Games".

I have even tried with just "PS3" in cases spaces were not allowed in the xml filtering syntax like:
Code:
src="xcb://localhost/query?cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_TAGS+Ae+PhotoList:Common.tags PS3 Games"
Code:
src="xcb://localhost/query?cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_TAGS+Ae+PhotoList:Common.tags PS3"

No luck.

Does anyone here know what variables these entries are expecting or have any specific info on them?

upload_2020-4-12_14-39-37.png
 
Last edited:
@sandungas The big obvious thing I have just realized is that we are filtering the ALBUMS, not the images. So any filters we use must apply to the albums, NOT the individual images.

upload_2020-4-12_14-39-37-png.25294





I have an idea but I would need your help. I think if we look in the database at the info stored for these albums. We might be able to see what filter we can use from this list. There has to be unique info we can use here with the above filters. Maybe this is the mridList for example (not really, just example).

I have attached my current database files if it helps. These have the albums and images added as seen in my last video


upload_2020-4-12_16-13-4.png
 

Attachments

Last edited:
Ideally we would not use the album name or the amount of images as a filter.. As these have disadvantages over other filtering methods (if there are any):
  • If we use the number of images as a filter then adding a new game will need an XMB refresh and xml edit.
  • If you we use the album name then only hard coded names will work, user will not be able to customizes folder.
  • If we can filter by album name, We could add a whitelist of accepted album names that will ONLY show in game
    • PS3 Games
    • PS2 Games
    • PS1 Games
    • PSP Games
    • PSN Games
    • DVD Movies
    • Bluray Movies
    • Driving Games
    • Shooting Games
    • Platformers
    • Favourites
    • etc etc
Off topic but it looks like photolist can load items from an xml too.
Code:
xmb://localhost/dev_bdvd/root.xml#Photo.Ai+xCB:PhotoList
 
Last edited:
Ideally we would not use the album name or the amount of images as a filter.. As these have disadvantages over other filtering methods (if there are any):
  • If we use the number of images as a filter then adding a new game will need an XMB refresh and xml edit.
  • If you we use the album name then only hard coded names will work, user will not be able to customizes folder.
  • If we can filter by album name, We could add a whitelist of accepted album names that will ONLY show in game
    • PS3 Games
    • PS2 Games
    • PS1 Games
    • PSP Games
    • PSN Games
    • DVD Movies
    • Bluray Movies
    • Driving Games
    • Shooting Games
    • Platformers
    • Favourites
    • etc etc
Off topic but it looks like photolist can load items from an xml too.
Code:
xmb://localhost/dev_bdvd/root.xml#Photo.Ai+xCB:PhotoList

I don't see anything wrong with "hard coded names". I don't remember anyone asking to rename webMAN folders.

If the filter support partial names " Games" " Movies" or "★ " the number of whitelisted items can be reduced and the users would have more freedom to use custom names.

By the way, webMAN MOD performs the content type detection when a file is mounted. So it doesn't matter the name or the location of the file, the game will be mounted correctly 90% of the time.
https://github.com/aldostools/webMAN-MOD/blob/master/include/mount_cobra.h#L603
 
I don't see anything wrong with "hard coded names". I don't remember anyone asking to rename webMAN folders.
Yeah if we had a way to do that it would be great, but either its not possible or we dont know the correct syntax yet. I didnt explain very well there, i was just saying it would be better if we could do it another way basically, as that way the user COULD rename and group as they pleased.

If we do find a way to filter by name it will stop that possibility, but IF we can do that it will be the best option currently.

I think we will find a better way based on a different filter/condition, but if we cant maybe there another work around, like maybe we could use the numOfItems filter (the only filter that is currently working) to filter by number in a different way. Like if there is more than 100 images in an album then show it in game. and then we fill the games folders with 100 dummy files or mod the database so it thinks there are more than really in there. I don't know.
 
Have you tried using a wildcard? I think that's what aldo is suggesting above? So * Games would cover all albums with Games in the title preceding the wildcard... IF it works
 
Have you tried using a wildcard? I think that's what aldo is suggesting above? So * Games would cover all albums with Games in the title preceding the wildcard... IF it works
Yeah I got that bit.. But I do not know of any accepted syntax for wildcards in these xmls, never seen one.

Anyway wildcards are not needed right now as we cant filter by name at all yet. that would be another step for after, Now we just need to get ANY filtering by static hard coded name to work. Testing wildcards will come after.

The wildcard idea would be great, but its only really be useful as a way to allow the user to still rename albums, which is not the issue right now yet.
 
Yeah I got that bit.. But I do not know of any accepted syntax for wildcards in these xmls, never seen one.

Anyway wildcards are not needed right now as we cant filter by name at all yet. that would be another step for after, Now we just need to get ANY filtering by static hard coded name to work. Testing wildcards will come after.

The wildcard idea would be great, but its only really be useful as a way to allow the user to still rename albums, which is not the issue right now yet.

Have you tried AGL or Ap operands? AGL would be useful for a "range" of names. Ap seems to be a "like" operand.

Did you try with PhotoList:Common.fileName or PhotoList:Common.dirPath ?
https://www.psdevwiki.com/ps3/XMBML_Functions
 
Ah sorry, misunderstood thought you had filtering by name.. skimming a lil bit.. going back to a previous post
Ok, so all of these will show the grid view without using registry.xml

Code:
<Query
class="type:x-xmb/folder-pixmap"
key="ps3"
attr="ps3"
src="xcb://localhost/query?cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_ALBUM_YEAR"
/>

Could you not simply use
Code:
src="xcb://localhost/query?cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_ALBUM"
and omit the need for another tag ie number of items.. I might go back and read this whole topic because you've probably tried that already
 
Have you tried AGL or Ap operands? AGL would be useful for a "range" of names. Ap seems to be a "like" operand.
I have not tried those "range" or "like" but I think it will be easier to get something exact working first with the same filters, then try wildcards after. I will have a play around with those too though.
Did you try with PhotoList:Common.fileName or PhotoList:Common.dirPath ?
https://www.psdevwiki.com/ps3/XMBML_Functions
I will try those but I dont think they will work.


I think the wiki might be wrong here when it says the common fields work with photolist. The difference is the albums dont really exist anywhere. So how can it have a filepath for example? How can it have a filename?
upload_2020-4-13_4-3-20.png
 
Ah sorry, misunderstood thought you had filtering by name.. skimming a lil bit.. going back to a previous post


Could you not simply use
Code:
src="xcb://localhost/query?cond=Ae+PhotoList:PhotoList.type %xCB_LIST_TYPE_PHOTO_ALBUM"
and omit the need for another tag ie number of items.. I might go back and read this whole topic because you've probably tried that already
Well we have no problem with viewing all albums in game, that is easy. And for me that would be no big deal.. As i dont use my ps3 for normal photos. The reason I would like to get the filter working is so the PS3 is still 100% compatible with every ones photo collections they might have. We dont want to add a feature and remove another at the same time if we can help it..

BUT it is something that has not been mentioned here yet really, that for maybe 90% CFW users they won't have any photos, so all this will make no difference to them. :) And if we made it so albums with over 100 images showed in game then it would maybe cover 99% of CFW users... So yeah, we have options. It would just be nice to make it perfect :, like official.


Off topic but see I changed "images" to "files" and "image" to "file" in every place possible. if you are copying them, deleting them etc. So it fits with both photos and "games" and still looks official. :)

upload_2020-4-13_4-12-5.png
 
Hello devil303
I have a question.
I create my small design with movies loaded with xml in xmb (not like the attached video from the site just straight from xmb loading movies).

And I would like to add your project to spread the videos level 5 pieces
Can you help you do so to be visible in the column?
 
I think the wiki might be wrong here when it says the common fields work with photolist. The difference is the albums dont really exist anywhere. So how can it have a filepath for example? How can it have a filename?
View attachment 25329
Because a lot of them are optional, in total there are around 250 availables (around 100 for "Common" and around 150 more specific)
The internal structure of the database reverses up to 250 info "slots" or so for all them, but every item (as example "Game" or "Photo") have avaiable only a few of them, and that few are optional. The same happens for "Common" and for the specifics
The "Common" ones that appears in wiki applyes to all the others, but everyone of the others is avaiable to use only a few of the "Common"

Photo:Common.whatever
Photo:Photo.whatever
PhotoList:Common.whatever
PhotoList:Photolist.whatever

Game:Common.whatever
Game:Game.whatever
GameList:Common.whatever
GameList:GameList.whatever

Im completly sure the "Item:Common.tags" are the album names, i can explain how it works with "Game:Common.tags"
When you install a game (but dont assign it to any album) the "Game:Common.tags" stores the value 0xFF as default
When you click triangle in XMB in the game icon and assign it to an album (by typing the name of the album) the value 0xFF is replaced by the text string you typed
The "tags" string is stored in every item of the database, in this example in every "Game" (but im not sure if "GameList" have it)

Previouslly i suggested you to use "PhotoList:Common.tags" because i guess PhotoList have it
The alternative is to use it in "Photo:Common.tags" (this scans them individually, not as a single "list" entity)

------------
The problem is im not so sure if you can combine 2 different entities (PhotoList and Photo) in the same "src" line of the XMBML files
but this is why i mentioned to modify registory.xml, it seems by using it is posible to cummulate several "src" lines

Another thing that could be a problem in your tests (not sure if is a syntax mistake) is the value of "PhotoList:PhotoList.type" (where appears the %xCB_WHATEVER), as far i remember in the official XMBML files is usually located at the last position, but you are using it at first position
 
Last edited:

Similar threads

Back
Top