Previous Page | Next Page
- by Mouser X at 2:39 AM EDT on April 20, 2010
- As HCS said, the idea of tags for VGMstream supported formats is nothing new. Many ideas have been passed around (in fact, every single one of the ones you mentioned), but obviously, none of them have been implemented, or finalized. As near as I remember, the 3 biggest problems are
1) Someone needs to program it. Basically, if someone writes the necessary program/implementation, and it's able to be easily patched into VGMstream, HCS has said that he'll most likely accept it.
2) What data needs to be stored? As we've seen with GENH, not all streamed formats contain the data within the file itself that it actually needs to be able to be played back properly. Sometimes the tags would need to store the interlacing (or something like that), or the sample rate, or the loop points, or any number of other oddities. And, obviously, since you want tags, author, title, "album" (aka game), etc. as well.
3) What format should the tags be saved in? APE? TXT? INI (which is text)? GENH? With a TXT file, it makes the tags very easy to edit/alter/create. And, essentially, all the tag data could be stored in that TXT file. "associating" it with the proper stream would be easy enough. If "<name>.DSP" is loaded, VGMstream does a search for the accompanying "<name>.tag" file, or vice-versa (or, the "tag" file could contain the file name(s) inside in some form of a tag, which VGMstream then loads).
Obviously, INI and TXT are virtually identical, though I assume that with the INI, you're intending it to be closer to a database, with all the tag data from the various games stored in one file. While that would work, it's certainly not the method I would prefer. Personally, I'm quite happy with a separate "tag" file for each stream file. Or, theoretically, maybe a separate "tag/DB" file for each "album/game", but I wouldn't want my "tag" files to cover any more than a single collection/game/album. Maybe that's just me.
As for GENH, when it was very very first implemented, there was very rudimentary tag support in place (it was never used, and I'm not even sure the code for it was ever even "active"). This was eventually removed for various reasons, one of which being that it wasn't implemented well, but also that people couldn't quite agree on how to "fix" it.
I think the APE suggestion is "new" (I don't recall hearing of it before). My assumption is that GENH would be used as it currently stands, and that the APE tags would be appended onto the back of the GENH file. Considering that the code necessary to store and read the tags is already created, I can see why HCS would say that APE tags are one of the best ideas he's heard so far. I'm not familiar with APE tags, but from what I understand, they're very flexible, and could therefore be used to store whatever data might be necessary. So, if I'm understanding correctly, it might be closer to GENH+APE to do the tag storage (since GENH already serves a number of purposes, one of which is to store necessary data so that the streams can be played properly, but also to create a "mask" around the file, so that the original streamed data remains unaltered). Thus, you'd use GENH to "mask" the file, and APE to provide tags.
-----
Really, there's a number of various ideas for implementation of tags to VGMstream out there. The biggest thing holding it back is that no one has written an implementation to do it. The 2nd is, as mentioned above, that it's often difficult to decided what information should be stored in the tags (and of course, what format to use. I'm a fan of the "secondary" tags. Aka, TXT/"helper file" tags). If someone were to create an implementation that HCS was willing to put into VGMstream, chances are that whatever method that person chose would be the "final" method (they did the work, they made the choice. If you don't like it, why didn't you do it?).
Chances are that I haven't completely explained the situation. Nonetheless, I'm fairly certain I covered enough of it, that my explanation will suffice. If anyone here wants to write/implement tags into VGMstream, go ahead. Let's see what you've got to offer. Mouser X over and out.
- by SmartOne at 1:43 PM EDT on April 20, 2010
- ...whatever programming language, I'll gladly make...
If only it was that easy.
- by JILost at 4:32 PM EDT on April 20, 2010
- Yes, I realize that things have been suggested without action taken; that's why I included the suggestion that I'd do it. I've scripted tagging things in mIRC script, so I know the logic involved is simple; it's just a matter of learning the basics of some programming language and actually coding the thing. I'm motivated to do it, I just need a sense of direction as far as what language would be good, maybe the name of a good resource for learning said language, whether or how it could be implemented into VGM Toolbox, and any other useful information.
Also, Mouser's idea of keeping GENH Creator as it is but appending APE tag support is exactly what I was talking about with xSF tag support. I figured xSF tags would be easier to implement since their logic is about as simple as it gets, but APE tags would be decent as well, as I recall.
As far as where the stream specs would be stored in the tag....Like I said, I was thinking of just appending the "tag" to GENH data, and the GENH header already holds all that information. The tags would only deal with Composer, Game, Title, Year, Publisher, etc.
Like I said, I've done some tag reading/writing scripts before and would like to learn the basics of a new language anyway, I just need a sense of direction as to what language etc. would be most beneficial to the user base.
- by SmartOne at 6:46 PM EDT on April 20, 2010
- Java.
It's hip.
It's portable.
It's extremely easy to learn.
It's the only language in which I am fluent (lol, prepositional reordering).
Or Ada. All "government" and stuff.
Or Fortran. All "old school" and numbers and stuff.
- by hcs at 8:43 PM EDT on April 20, 2010
- Well if you want it in vgmstream, which I think was the point, then you'll want to do it in C.
Also yay for derailed thread.
edited 8:44 PM EDT April 20, 2010
- by Elven Spellmaker at 10:48 PM EDT on April 20, 2010
- I don't think I knew about VGMStreams ability to change the number of loops until recently.
I had never used it before, which is odd, consdiering I rarely take 64th note off of loop forever.
I'm rather fed up of getting MSN messages with people saying "Whats BGM212.brstm?" XD
- by Koto at 10:36 AM EDT on April 26, 2010
- Rip it by yourself... Isn't difficult
See ya
- by TheUltimateKoopa at 10:45 AM EDT on April 26, 2010
- Wow, Koto, no offense but if that was directed at me, I have a few things to say.
Firstly, you're way fucking late.
Secondly, you're telling me to do what I OBVIOUSLY already did? How the fuck would I know that there wasn't an "A18.brstm"? I'm PERFECTLY able to rip streams from Wii ISOs, just as long as I have the ISO, and that they are streams and not sequences. WiiScrubber or whatever isn't exactly difficult.
- by arbingordon at 5:16 AM EDT on April 29, 2010
- i agree with koto
- by ElPenguino at 5:34 PM EDT on April 29, 2010
- APE tags would be pretty easy to implement. there are free libraries available for it and foobar even has support for them built-in. on top of that, many tag editors have support for it (though you might have to rename the files to .ape)
Previous Page | Next Page
Go to Page 0 1 2 3 4 5
Search this thread
Show all threads
Reply to this thread:
HCS Forum Index
Halley's Comet Software
forum source