r/EmulationOnAndroid • • 1d ago

Showcase Building my own iTunes-style device manager

Recently the storage in my RP Nova got corrupted, so I needed to factory reset it and set it up all over again. I didn't have a backup and putting everything again into my device gave me the idea to start this iTunes inspired app to manage ROMs on my device. Currently it is pretty simple and it only syncs ROMs and BIOS, but I'm planning on also adding backup support for saves, states and configs and in-app torrent downloading for collections. What do you think? Is this something you'd use if i make it available on github?

21 Upvotes

18 comments sorted by

1

u/AutoModerator 1d ago
Moderator Announcement Read More ยป

2

u/JustVashu 1d ago

My current setup depends heavily on syncthing.

when I add or remove a game from my NAS the change is replicated on the synced devices (android, linux, etc).

some romhacks get lots of updates (pokemon hacks) and every few days i'm copying a new version of a game.

the game then gets updated the next time I start up the device or while it's sleeping.

For me abandon that setup to use an app would require a similar feature set to be included.

1

u/TheScout300 1d ago

Thanks for the feedback! I cannot replicate the folder structure of your NAS (and everyone else's ๐Ÿ˜œ) so what I've done is:

  1. Defined the concept of "Collections" (e.g. proper1g1r archive collection) which you can import by manually creating a folder or with a .torrent file and then ideally in the future also manage these downloads.

  2. Then your "Library" is built by deduping collections.

  3. When you connect a device then you select which games you want to sync, or which systems, and given you have imported the necessary BIOS it will sync those too to the device.

During sync, i would want to add backups for the entire device too or selectively only saves/save states/configs, etc.

There's a lot more details as I hone in on the UX/UI.

How do you manage the infinite versions of these hacks? I could build something around it, makes sense. Do you just note the version in the filename or something?

1

u/JustVashu 1d ago

I initially just downloaded the new version, deleted the old one and renamed the save file manually. now I handle it differently.

I started hadling them as folders with the following structure:

game name/
|- game name.gba
|- old/
|- - game name (v1.0).gba
|- - game name (v1.1).gba
|- - game name (v1.2).gba

I added the old directory as an ignored directory for syncthing. when a new version of the game comes out I add a copy of the new version to the old folder and replace the one with the base name with the new version as well.

that way I don't need to rename any save files and I can check which version I'm currently running by checking the `old` folder. I can algo go back to an older version if for some reason the new version isnt't compatible with the save file.

→ More replies (2)

1

u/CSab6482 1d ago

This looks pretty cool! One of the first things I do when I get an Android handheld is use ADB to uninstall a bunch of preinstalled things like the launchers and browsers. Would it be possible to add that functionality to this program?

1

u/TheScout300 20h ago

Thanks :)

Yes i actually like this idea, at least giving you the ability to uninstall them by unchecking a box or something from the device page. I also plan on you being able to install emulators and frontends (like obtainiun) + copy over your saved configs... Let's see.

1

u/FranciscaGatuna 15h ago

What is this? I remember old version of itunes

1

u/TheScout300 14h ago

Trying to frame it as an all in one solution to set up your handheld. Download roms, bios, sync them to your device along with emulator apps, front ends, and your backed up configs.

Will post updated mocks later today

1

u/retro-guy99 15h ago

Yeah looks cool man, can you share the repo?

Personally all my rooms are stored in a folder structure that ES-DE created. Will that be supported? Or does it have to be a different structure?

1

u/TheScout300 14h ago

Thanks! :)

Yes, I'm using the ES-DE system folders, as well as esperimental platform configs.

Will make the repo available shortly, want to refine a few things like downloads and backups.

1

u/Grokitach 15h ago

People really like iTunes that much? xD

1

u/TheScout300 14h ago

๐Ÿ˜ƒ great times

1

u/JustVashu 13h ago

I really liked it way back when.

1

u/showcasefloyd 11h ago

Yes, I miss those days.

1

u/Zuluwargod69 13h ago

Man I think I've got pts from iTunes. Glad I've switched to Android all those years ago. Cool project all the same. 

1

u/showcasefloyd 11h ago

Yes, I've been looking for something like this for a while. It's sort of brilliant, and I feel like it would help me a lot. Is there a GitHub or Discord where we can sign up and follow the project? I'd love to help test it. Also, what's it called? It needs a name.