Hey Dean I don't know if you are working on a code to parse directories for Music, Pictures, Videos and such but as a programer I have a recommendation .
At this moment I believe from evaluating how Multiman works, you are Pre-Scanning all directories contents and then displaying everything collected from a loop.
I have an alternate approach that will do use of a loop as well but it will be done dynamically. I think this is the way the PS3 XMB does it.
The method would consist on the following routine(s), lest assume we are gonna browse the Photo section on Multiman:
1- Scan for all directories located at root of "Photo" directory
2- Collect their Paths into some sort of array.
3- Display the directories as they are scanned or later, as you prefer.
Now that could be one routine, the following is in case there are photos on that root directory:
1 - Scan for supported file extensions (ex. JPG, PNG, etc)
2 - Collect their paths
3 - Display the files below the directories we scanned before.
Now after running these 2 routines we would have a simple approach of displaying / processing what the User is requesting in real-time.
Let's assume there are 3 directories and a few supported files at Photo root direcotry and after running those routines we display them in MM XMB:
Now lets assume the user just want to see "funny_pics" directory contents.
At selection MM could just call "fnScanRootDirs(szDirsArray[nSelection])" and "fnScanRootFiles(szDirsArray[nSelection])" to display the contents of "funny_pics" directory in real-time, as the user requested it.
There should be some kind of pointer of the previous directory MM XMB was before so if we hit "back" or "O" button we can call those 2 routines to scan the directory we were browsing before.
This method could be adjusted for other areas of the XMB as well so MM doesn't have to scan all stuff un-categorized. This would make MM faster I believe, since it would not scan everything before user request it.
I think this is the way Sony does it in the official XMB.
I hope I have explained my suggestion clear enough Dean =), if you want me to give more details I'll be checking this thread constantly.
Let me know what you think ^^.
gamePKG / FB Alpha RL - [ https://github.com/CaptainCPS ]
FB ALPHA DEV TEAM - [ http://neosource.1emu.net ] [ [url]http://www.barryharris.me.uk/ ]
PS3 - [CECH-2501A][NOR][160GB HDD][MiraLaTijera CFW 4.40 (Core 3.2.0)]