Closed Baklap4 closed 7 months ago
How about this?
#SOURCE: editor=Karedi, editorversion=1.3, hosting=https://usdb.animux.de/
Would be similiar to #ONLINE in #22
I guess this could work, but makes it harder to parse again in the actual games (same can be said about #ONLINE
) personally i'd love to keep text file purely key-value in terms of metadata since that's the easiest and fastest way to read it within the games improving performance instead of checking all sorts of things during load time.
Aside from performance every karaoke game out there currently reads it in key-value. If we add 'complexity' to the value in terms of parsing this is an extra step to overcome to implement a simple new tag
The difference with #22 is that this is all local static data, whilst the #ONLINE
tag is used to grab things from the web. These online resources can change without the user knowing
I agree with @Baklap4 about flat key-value tags. Simple and stupid format is the best format.
In software like Karedi I would have to display such combined tags as several flat tags anyway - otherwise the creators will have a very difficult time editing them without making mistakes in the syntax.
It only adds complexity to parsing, saving and makes the whole system more error-prone. I see 0 gain from using such approach.
I agree. So what about this?
#EDITOR:Karedi
#EDITORVERSION:1.3
#HOSTING:https://usdb.animux.de/
This feature seem like low effort to me to implement. Something for 1.1.0.
I have a feeling weβre overengineering here a little bit. What if someone uses UltraStar Creator to tap the file, YASS to finetune and then when testing the song in USDX, decides to make the final edits in USDX editor?
Heheh creative way to get a file working ;)
The editor part might be a bit too verbose. But i do think they're under-mentioned in all the songs created. The hosting part (at least for me) has a big upside in differentiating where the txt file came from. Sure this can be done manually but from hosting site perspective it's not a lot of effort to add this for every txt file hosted there
But ultimately, youβre using that information to infer some (presumed) file quality, right? Or what do you do with the information where the file came from?
Yeah as stated in the opening of the thread it's mostly quality control
Songs from ultrastar-es i know are working Songs from usdb might not work. A fix is upstream for skipping songs with only txt files and no audio files, but it still cannot guarantee that the gap matches the audio/video. Or that the audio/video is available (something to do with availability of youtube links)
I do have to say a lot has been improved over the last versions, but i do see some issues sometimes when running an event. I note these songs and try to get them fixed at a later time by editing it within usdb so it can be redownloaded and updated.
Another usecase is that there are other sites out there which host txt files, which might benefit from this exposure aswell as the source can be seen from within the game: "Provided by
This was a good discussion. Here is a summary for this issue. We are close to a final result.
Please vote for this issue till 31th oct 2023 with emoticon π / π / β€οΈ .
π A: Introduce #MADEWITH #PROVIDEDBY π B: Introduce #PROVIDEDBY β€οΈ C: Don't introduce any tags for editors and hostings
What?
Why?
π A
#MADEWITH:UltraSinger@0.0.1dev, Karedi@1.3
#PROVIDEDBY:https://usdb.animux.de/
π B
#PROVIDEDBY: https://usdb.animux.de
How do you solve something like this: Auto created with UltraSinger and then edited with Karedi and Yass and some spice from other App?
Even if we make it comma separated, how do we get the version?
Maybe #EDITOR:Karedi@1.3, UltraSinger@0.0.1dev
My problem is mostly solved by adding a #SOURCE
or #PROVIDEDBY
tag for hosting site recognition.
As for Editor software... Not sure when multiple apps are involved. I guess a solution could be what you proposed @rakuri255 Every app checks the string for their app if it doesn't exist append to the list?
I can understand that the source may be of interest, but who gives a f* with what it was created?
@DoubleDee73 some creator software supports some features whilst others don't. This way the origin can be tracked down and show the path of how the txt file itself evolved
but it isn't it the whole point of our efforts to standardize and versionize Ultrastar-txts? Plus, e. g. when I'm creating songs, I use the Ultrastar-Creator to tap the song, Yass to set pitches and fine-tune and the USDX editor to set medley and intro point. In any case, I voted for B, if the majority decides to go for option A, of course, I will implement it for Yass...
Thanks for voting. Here is the final result for this issue.
We introduce #PROVIDEDBY (option B). 3 π / 2 π / π 1
#PROVIDEDBY: https://usdb.animux.de
What?
Why?
Text on Website:
PROVIDEDBY helps to understand where a txt-file cames from. This is important cause there are many third-parties that host txt-files with different quality standards. This information should be normally set automatically from the provider. But you can set it as well manually with a song editor if you know where you got it from. Value should be a URL.
#PROVIDEDBY: https://usdb.animux.de
Suggestion
Introduction of 3 tags so we can find where a txt came from and which software created it.
#APP
=> Name of the creator software used to create this txt file.#APPVERSION
=>Version of the creator software used to create this txt file#SOURCE
=> Name or url of the site the txt got downloaded from#SOURCE
might conflict with the#WEBSITE
discussion found here: #22Use case
How to implement
Hosting sites
Hosting sites can append
#SOURCE
to the end of the metadata list to include their website. This can be done automaticly.Creator software
Creator software can append
#APP
and#APPVERSION
to the end of the metadata list to include their software and versionnumber. This can also be done automaticly after saving / exporting the txt file.Extra info/examples/attachments
Within performous we have an open PR-883 to support these tags including the
#COMMENT
tag already out there. I hope this can get a place in here for 1.1.0 or later. I'm more curious what you guys think of this idea