Suggestions for .synthesia metadata files

Synthesia is a living project. You can help by sharing your ideas.
Search the forum before posting your idea. :D

No explicit, hateful, or hurtful language. Nothing illegal.
Post Reply
discopatrick
Posts: 3

Post by discopatrick »

Some background on my use case: I am using the metadata editor to share my custom fingering across multiple devices, rather than creating content to share with others.
  • It would be great if we could also import bookmarks into the metadata editor. I see that we have the option to add them manually, but no way to import them from a song to which we have added bookmarks via the app UI.
  • I'd be quite happy if Synthesia would - either by default or via an option - automatically add a similarly named .synthesia file next to each .mid file that I open in the app (e.g. mysong.mid creates mysong.synthesia) - and keep that .synthesia file updated with new changes any time they are made in the UI. This would mean I wouldn't have to open the metadata editor each time I want to sync metadata across devices.
  • The iPad version of the app - at least, on my version of iOS, which is 12.5.5 (the latest supported version for my original iPad Air) - seems to only allow you to select "iTunes File Sharing" as the location to search for custom songs. I keep my .mid and .synthesia files in a DropBox folder to sync them across my devices, so "iTunes File Sharing" doesn't really work for me. It would be great if we could select a specific file location, as is possible in other apps.
Thanks for a wonderful app!
Nicholas
Posts: 13135

Post by Nicholas »

Importing bookmarks is a good idea. Right now the metadata can only specify bookmarks that fall right at the start of a measure (vs. the bookmarks in the app that can be placed in a very fine-grained, sub-beat fashion anywhere), so adding the feature to import them today might lose a bit of precision. Amending the metadata file format to handle higher-precision bookmarks would be a solution, but--depending on how it's done--might break backwards compatibility in the .synthesia file format for the first time ever. Hmm.

Automatically creating the sidecar file is another good idea that has tricky points: often, Synthesia doesn't have write access to the locations it reads songs from. The obvious (and boring) case is when loading a song from a URL, but that is relatively uncommon. A little more plausible: a read-only network share. And finally, much more prevalent: both Android (especially since version 10) and iOS go rather far out of their way to prevent apps from even discovering where a file exists! On iOS there is this dance you have to go through when the users asks to open a file from outside the app's sandbox area where you have to ask the OS very nicely to lock the file and give you temporary access to the contents. As soon as you report you're done reading from it, as far as your app is concerned it disappears forever and you never knew where it actually lived on the file system. (A lot of things are made harder in the name of security these days.)

So while I agree that your second point would be a nice addition, it's one of those things that would take more work to get right than it seems at first.

On iOS 12.5, another way you should be able to get by is with the Files app. That should be able to copy things directly from Dropbox to Synthesia's internal sandbox area. (This isn't ideal for keeping things sync'd, sorry. We could do more to integrate with the various cloud services.)
discopatrick
Posts: 3

Post by discopatrick »

I only set bookmarks on the beginning of measures, so that would be fine for my current needs.

What you say about the iOS file system makes sense. Ideally the app would update the existing file, but it sounds like in order to do that, the user would have to pick out the existing file in order to update it. I use the 1Password app, which syncs its data between devices via DropBox, and seems to do it without the need for user intervention on the iOS version - I wonder how it's doing that?

Initially though, I'd be happy to sync between desktop versions only. I have two machines that I would like to keep in sync. As these machines are both Macs, I'd also be happy to use iCloud storage instead of DropBox.

I look forward to seeing if you can come up with anything - cheers!
Post Reply