I am loving all the support I'm getting. So, I worked extra hard today, and I managed to get pretty far code-wise on a Wave sample editor! It can read both types of samples from the ROM - compressed and uncompressed!
In addition, I have added rudimentary wave playback for both the samples and the waveforms us NAudio! Although, I'm not sure if it sounds correct yet or not. Let's hope! :)
The Sample Editor in all its glory!
![[PokeCommunity.com] Advanced Song: GBA Music Editor [Alpha 0.5] ~ Open-Source [PokeCommunity.com] Advanced Song: GBA Music Editor [Alpha 0.5] ~ Open-Source](https://i1273.photobucket.com/albums/y404/eiennoitari/Advanced%20Song/asong_sample_zps84036dd5.png)
Let me know what you think about the design itself. Should I make the Wave view smushed together more?
Also, I have improved the colors for the track editor, so the commands aren't so hard to read and such.
And now for some info. about the program itself:
Advanced Song is written in Visual C# for the .Net 4.0 Framework, so as long as the framework is compatible with your computer, you should be able to use it.
I actually began the program's development in late October of 2013, and posted it here in December. Since then, I've actually reprogrammed the tool six times to varying degrees of success, before finally reaching the seventh reprogram, the current version. And it's going great, so I doubt I will need to restart here (I have a bad habit of coding myself in circles on these kinds of projects).
I just thought I'd share a small bit of the history about this so that I can show that I haven't been just screwing around since I originally posted it. I have been working!
Finally, I have a little contest for anyone that's interested. Let me warn you, though. It's not for the faint of heart.
You see as I have been working on the disassembler, I ran into a problem, or rather a single command that I cannot figure out.
Command 0xCD.
Command 0xCD is known as "XCMD" in the MPlayDef.s file, with a comment referring to something like an external library or something, and the only thing I can figure out is that it has either 4 bytes or a 32-bit integer as its argument.
So, my contest is thus: I want someone to figure out what command 0xCD does, as well as its true argument parameters. Whoever can send me the best results by a time I will decide later (which will be near the beta release), they will get to be the official beta tester or Advanced Song (other than myself, of course) and get a chance to mess around with the tool before anyone else. {D:}
This of course also makes it easier for me to select a beta-tester as well, so we all win! :D
If this interests you, please PM me anything you have on it and I will get in contact with the winner when it's time. Thanks~!