Ok, when I get time I'll do:- add fix of Gain_analysis.c- use two decimal places only for gain values- not write the MINMAX tags - I don't see the need for them either.- possibility to add track/total tracks with leading zeros- append " dB" to replay_album_gain tag- maybe some command line argument improvements.PS: I did develop metamp3 further after v0.91 (and I have the code), where I added possibilities to add and extract text tags from/to files, similar to metaflac, but something in id3lib crashed on my Win64 XP computer (but not on Win32 XP). If I can fix that, it will also be included Cheers.
id3lib is seriously outdated and doesn't appear tobe maintained anymore. And the API is just awful. There's a couple ofcritical bugs in the 3.8.3 code that haven't been officially added yet(fortunately there are patches on the SF page, but most packagersdon't include them, sadly).
"tag.exe" --fromfile "source.mp3" "target.mp3"
The version I am working on does already support this. E.g. metamp3 --title "@titlefile.txt" file.mp3Any text input can be specified from a file by prefixing a filename with @.
metamp3 --artist "@source.mp3" --album "@source.mp3" --track "@source.mp3" --title "@source.mp3" year "@source.mp3" --comment "@source.mp3" [etc...] "target.mp3"
id3 -D source.mp3 -1 -2 dest.mp3 Copy ID3v1 and ID3v2 tags of source.mp3 to dest.mp3
I convert mp3s to mp3s. And i want preserve all id3 tags, so the command is:Code: [Select]metamp3 --artist "@source.mp3" --album "@source.mp3" --track "@source.mp3" --title "@source.mp3" year "@source.mp3" --comment "@source.mp3" [etc...] "target.mp3"?
metamp3 --extract TPE1:x_artist.txt --extract TALB:x_album.txt --extract TIT2:x_title.txt --extract TRCK:x_track.txt --extract TCON:x_genre.txt --extract TYER:x_year.txt --extract COMM:x_comment.txt source.mp3metamp3 --artist @x_artist.txt --album @x_album.txt --track @x_track.txt --title @x_title.txt --year @x_year.txt --year @x_genre.txt --comment @x_comment.txt target.mp3REM remove temporary files:del x_*.txt
@Martin: I am aware of that id3lib is outdated and has quite a few bugs. Also that it only support v2.3 tags. However, I have already included those patches to the code (it was required to avoid crashes with VC++ 2005 Express to begin with), in addition to adding some improvements myself. It now seems to be quite stable, but admittably there are a few functional quirks left. When it comes to v2.4 tags, I have modified id3lib so that it accepts v2.4 text frames (but only on v2.4 tags written at the beginning of the file). Take a look at the id3v2.4.0-changes. So limited support (the new text frames) for v2.4 tags should be possible, but I'm not sure.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> </dependentAssembly> </dependency></assembly>
bytes $B1-$B3 Encoder delays store in 3 bytes:[xxxxxxxx][xxxxyyyy][yyyyyyyy]the 12 bit values (0-4095) of how many samples were added at start (encoder delay) in X and how many 0-samples were padded at the end in Y to complete the last frame.so ideally you could do: #frames*(#samples/frame)-(these two values) = exact number of samples in original wav.so worst case scenario you'd have a 48kHz file which would give it a range of 0.085s at the end and at the start.example:X = (011011000001)b = (1729)d, so 1729 samples is the encoder delayY = (001011010010)b = (722)d, so 722 samples have been padded at the end of the file
I have been thinking alot about this genre stuff and have changed my mind about it, so i don't think that it's a good idea to do what i described in my previous post afterall. The de-facto ID3v1 genre list is genre numbers between 0 - 147 and this is also what's shown when running lame.exe's "--list-genres" switch. This is also id3libs default standard and both lame.exe and fb2k also sets ID3v1 genre tags up to number "(147)". If i may humbly suggest something, then that would be to change metamp3 to do like fb2k does : ID3v1 genre tags are set between 1 - 147. ID3v2 "TCON" frames are set as a text-string only, without any ID3v1 genre numbers at all, so if we set a "Rock" genre tag to a MP3 with fb2k, then an ID3v1 genre tag of "(17)" is set and an ID3v2 "TCON" frame of "Rock" is set and if we set a "Goa" tag, then fb2k sets an ID3v1 genre tag of "(126)" and an ID3v2 "TCON" frame of "Goa". I personally think that this makes more sence and is cleaner than to set ID3v2.3 "TCON" frames with ID3v1 genre numbers in front of the text-string for only ID3v1 genres between 0 - 125 and then completely ommiting the ID3v1 genre number for ID3v1 genres between 126 - 147 + all other genres. This would also still fix Jebus's iTunes problem. So if you agree with me(and fb2k), then make metamp3 also set ID3v1 genre tags between 126 - 147 and stop setting ID3v1 genre numbers in front of the ID3v2.3 "TCON" frames text-strings, no matter what genre is set.
I have uploaded v0.92 beta 2 - download from first post.[...]Do all of you still need a separate .manifest file?