IDE
This project has been created with Visual Studio 2012 Ultimate RC.
It should run with Visual Studio 2012 Express, though I didn't try yet.

Target Framework
This project targets the .NET 4.5 Framework, uses the async framework, and thus cannot compile with an earlier version Visual Studio or .NET Framework.

Library Code
The code of the library is in the WaveTagLibrary project. The code is very short and has only 2 files.
There are some comments in the code, few to be honnest but the code is quite easy to understand and self-explanatory.

Code to check
The code that uses the library functionalities is in the Tester project, which is the one I used to format the tags of my .wav files as I wished.

private async Task ProcessFile(WaveFile waveFile)
{
    waveFile.SetTagValue("IART", "Artist");
    waveFile.SetTagValue("IPRD", "Album");
    waveFile.SetTagValue("IGNR", "Genre");

    var songTitle = Path.GetFileNameWithoutExtension(waveFile.Filename).Substring(3));
    waveFile.SetTagValue("INAM", songTitle);

    waveFile.Tags.RemoveAll(t => t.TagName == "ITOC"); // remove table of content

    await waveFile.SaveAsync(); // save
}

In the code bellow, the code set the artist tag as "Artist", the album tag as "Album", the genre tag as "Genre".

It also set the song name a the filename, without directory and extension, and removes the three first characters.
For exemple, if the filename were something like "Drive:\Directory\03 My Song Name.wav", the value "My Song Name" would be set as the song title tag.

Then, it removes the table of content (ITOC tag) as long as I do not care about it.

Eventually, it saves the modifications back to the file.

Specifications

RIFF Tags
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/RIFF.html
Section "RIFF Info Tags"

RIFF WAVE File Format
http://www.neurophys.wisc.edu/auditory/riff-format.txt
Very good for RIFF format itself, sucks like hell for info tags

Exif 2.3 Spec
http://www.cipa.jp/english/hyoujunka/kikaku/pdf/DC-008-2010_E.pdf
Specification for still image tags, wave tags overlap.
Section "5.6.2 LIST Chunk and INFO List" page 118

Last edited Jul 3, 2012 at 2:06 PM by SebastienSAIGO, version 8

Comments

No comments yet.