Change background image on Android?
No explicit, hateful, or hurtful language. Nothing illegal.
Hi, I was wondering if it's possible to change the background color or image behind the falling notes when playing a MIDI file on Android, the same way as on the desktop version. I remember you could do this with the metadata editor on the desktop version, by assigning an image file to a particular MIDI. If there's a metadata editor on Android, I would love to know how to access it. If there's no official way to do this, is there some file in the app data directory I could edit in order to change the background color? Thanks.
There isn't a metadata editor for Android, but you can use the same files created by the desktop version (with the .synthesia extension) and they should work the same on Android. Just drop the .synthesia file and the image next to each other in any folder that Synthesia is watching (on the Settings --> Songs screen), and it should be picked up automatically.
Android 11 is going to make this trickier because apps no longer have general purpose access to any of the filesystem except their own sandboxed data folders. To get to anything else it requires some strange new interfaces that will probably make this no longer work.
Android 11 is going to make this trickier because apps no longer have general purpose access to any of the filesystem except their own sandboxed data folders. To get to anything else it requires some strange new interfaces that will probably make this no longer work.
This would be a really awful workaround, but you could always generate the .synthesia file by hand in a text editor, as long as it matched the file format correctly. For your use-case, copy-pasting this example file would get you 90% of the way there:
The hardest part there would be finding out the MD5 hash of the MIDI file to put in the "UniqueId" attribute. Although, I'm sure there is probably some Android app out there that can hash a file.
Once you know the file's MD5, it would just be a matter of saving that text above with a .synthesia file extension and putting it alongside an image named "background.png".
Sorry I don't have a better answer!
Code: Select all
<?xml version="1.0" encoding="UTF-8" ?>
<SynthesiaMetadata Version="1">
<Songs>
<Song Version="1" UniqueId="MD5-goes-here" Background="background.png" />
</Songs>
</SynthesiaMetadata>
Once you know the file's MD5, it would just be a matter of saving that text above with a .synthesia file extension and putting it alongside an image named "background.png".
Sorry I don't have a better answer!
Hey, thanks so much! That's really helpful! This is off topic, but I just want to let you know that I think you're a really awesome developer, and you deserve a lot more credit for all your hard work. I discovered Synthesia ten years ago, and it's become my favorite program since, and I thoroughly enjoy using it to learn video game songs on the piano and to teach others through my YouTube channel. https://www.youtube.com/glitchman161 It may not look like it, but you've made a huge positive impact on many peoples' lives, mine included. So, thank you.
Thanks so much for your kind words. Hearing about the positive impact on the lives of Synthesia users is basically the fuel that keeps my motivation for this project going!
(And you might be the only other person I've ever encountered that has played Marble Blast Gold. What a great game!)
(And you might be the only other person I've ever encountered that has played Marble Blast Gold. What a great game!)