So I decided to install Visual Studio Express 2012 and re-familiarize myself with C++. I read up on the C++11 standard and started to get excited about some of the new things that had been added to C++ recently. Of course, my mood was quickly tempered by the utter lack of C++11 support in VC11 (the compiler behind Visual Studio 2012). Simple things like initializer lists and std::forward_list are missing. Something as innocuous as class constructor defaults, not present. Forget the complex stuff, like user-defined keyword tags and variadic templates. Now, I’ll be honest, when I first heard about variadic templates, and how Visual Studio didn’t support them, I couldn’t quite see how I’d ever need them. Needless to say, I’m not writing a C++ compiler that most of the Window’s user-base basically has to use. If I were, I might try to follow the standard a little more.
Anyway, I’ll post my projects below, stay tuned.
MP3 ID3 Tag Reader
So, I had the idea that I might expand my movie/book database to include music. Rather than manually enter thousands of songs, I figured I could just scan my music library and pull out the information I need from the ID3 tags. I know there must be tools out there that can do this, but I decided to write my own. After reading over the ID3 standards, I got started on a DLL that would provide the tag reading capability. I created a DLL so that I could plug it into a console app or a .NET Gui and not have to try to copy the code around. It’s just easier that way.
So, TagReader was born. Currently, I have it combined with TagReaderConsole. Eventually, I’ll need TagReaderGui (pass it on to my wife). Then, ultimately, I’ll probably create a TagReaderParser (in Perl or Python, may some other language just for the heck of it), that will take all the tag information, grab the important stuff, and create SQL out of it. I’ll have to write a front-end for my webpage to search/group/etc.., but that will be later on.
As always, the source code is in my repository. http://svn.hellwig.us/repo/VC11