SNIFF
SNIFF copied to clipboard
If I were to want to refactor this so that the JSON stores note pitch data and other audio and music related properties, how would I go about doing it?
Inspired by the work of doggydentures I'd been starting to plan out a system that would allow songs to not have hard-set characters, though one of the biggest barriers to this would be the actual vocals themselves
looking through the code, as well as using a hex editor on several FSC files, I'd partially figured out how things work, and have even discovered where the data for whether a note is a slide note or not is stored (shown below)
(each box corresponds to each line of code and such)
however the one barrier is that this code is a bit too unfamiliar for me and I'm not quite sure how to change this program from a chart JSON exporter to a vocal note JSON exporter, and I was wondering if it'd be worth the time to assist with this, as I've been trying to figure it out for a while.
if your goal is to have each note store pitch info and for each character to have a separate array of notes you might honestly be better off basing it off a MIDI-based tool since you're really getting into the realm of sequence formats instead of rhythm game charts hehe.
speaking mainly from a design perspective, pitch would be tough to represent without actually placing the notes at different pitches, so you would need a different system to distinguish note directions. one possible solution is to use the note colours in FL (which correspond to MIDI channels normally) which i believe are stored in the low nybble of FLNote.Flags. you can also place them in different generator channels altogether, for which you'd use FLNote.ChannelNo.
the part in code you would mainly be focusing on is Program.cs#L458 (switch (notes[0].Pitch)) which you'd instead make a switch statement for whatever you're using to distinguish notes. then you can save each note as something like List
SNIFF's code sadly isn't really written to be friendly for anyone to work with for anyone except me because well i only made it for myself hehe, it would be rude not to open source it at all though. anyway hope this helps a lil
oh! the deal is actually that I DO plan on using the entire piano roll, I don't really need to do charts AND notes at the same time, it's mostly just due to the fact that this is the only tool I know that already does FSC --> JSON conversion