Edit: re-read your question and answered in the following post.
Original Response:
I donāt understand the question, and Iām not sure of your technical background, but this is a peculiar question in the context of the solutions that youāve suggested. Previous responses have indicated that funscript is JSON. JSON is sooooo much friendlier than XML. JSON is also universal. SRT seems fine for subtitles, Iām just not sure how it is an improvement for our purposes here.
If we had to migrate, I like TOML as a more modern alternative as you can add comments, but most people donāt need comments in a funscript file. Like most others in this thread, I donāt see a reason to change yet.
Here is what I would change
One change that Iād consider is having a each axis be a key in a single .funscript file. Instead of having the following files:
video.funscript
video.twist.funscript
video.roll.funscript
video.suck.funscript
video.pitch.funscript
video.sway.funscript
ā¦ etc.
you could just have a JSON key for each axis. It would be easy to maintain backwards compatibility by keeping the main axis named āactionsā. Your typical 1D stroker like The Handy the SSR1 could continue to use the data in the āactionsā key as is, other keys could be added for all other axes.
I believe SLR may have done something to integrate all axes into a single file but Iām not aware of what was actually implemented.
A Brief Example of One Possible Implementation
"actions": [
{
"at": 1000,
"pos": 100
},
{
"at": 2500,
"pos": 75
}
],
"pitch": [
{
"at": 1000,
"pos": 50
},
{
"at": 2500,
"pos": 65
}
],
"twist": [
{
"at": 1000,
"pos": 50
},
{
"at": 2500,
"pos": 85
}
]
Other than the need to reduce multiple files into a single file, which can be done in the current JSON .funscript format, I havenāt seen a reason for a change. I think you could make a good argument for some standardization within the JSON keys, however. In addition to the keys that Iād mentioned above, OpenFunscripter adds metadata keys for things like bookmarks, chapters, license, author, etc. These are great, yet I find myself wanting to add more.
Adopting some additional standards would be nice
Iāll give you an example:
Iāve written a program that will generate animated gifs from bookmarks within funscripts that are generated by OpenFunscripter (or any program, it will work). OpenFunscripter writes keys for things like metadata (author, license, title, etc), and of particular importance to me are chapters, bookmarks. Chapters contain a start time and an end time, but bookmarks only contain a single time.
"metadata": {
"bookmarks": [
{
"name": "Intro ~5s",
"time": "00:03:38.000"
},
{
"name": "Measure Ass (Anastasia Brokelyn) ~4s",
"time": "00:08:13.900"
},
{
"name": "Blowjob (Anastasia Brokelyn) ~6s",
"time": "00:11:05.100"
}
],
"chapters": [
{
"endTime": "00:09:34.700",
"name": "Blowjob" ,
"startTime": "00:04:26.166"
},
{
"endTime": "00:12:45.133",
"name": "Close Up",
"startTime": "00:09:48.966"
},
{
"endTime": "00:18:09.633",
"name": "Missionary",
"startTime": "00:12:46.033"
},
{
"endTime": "00:23:18.033",
"name": "Missionary Close",
"startTime": "00:18:10.266"
}
]
}
However, my program creates animated gifs from bookmarks, so I want to add a duration or end-time to the bookmarks key.
Here is an example output for a moving bookmark gif which I generated with the following:
<snip>
{
"name": "Measure Ass (Anastasia Brokelyn) ~4s",
"time": "00:08:13.900"
},
... <snip>
My current options for non-standard animated bookmarks areā¦
- use the hack Iām currently using to embed the duration in the bookmarkās ānameā key (by using a the ā~ā character followed by the number of seconds. This at least preserves compatibility with OpenFunscripter in its current form.
- add a key to each object in the bookmarks array named āendTimeā with an end time
- possibly also change ātimeā in the bookmarks objects to āstartTimeā, which follows the chapters naming convention, but wouldnāt be compatible with OpenFunscripter
- or just use chapters for everything (though causes a ton of clutter in OpenFunscripter and 5 second chapters seem like a terrible idea)
Creating a better standard would be helpful for everyone, letās just keep it open source and accessible for all. If you have a specific reason that JSON (funscript) isnāt a good format, Iād like to hear about it.