IPB

Welcome Guest ( Log In | Register )

5 Pages V  < 1 2 3 4 > »   
Reply to this topicStart new topic
metamp3 - command line tool
Jebus
post Feb 19 2007, 16:30
Post #26





Group: Developer
Posts: 1327
Joined: 17-March 03
From: Calgary, AB
Member No.: 5541



QUOTE (tycho @ Feb 19 2007, 04:15) *
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 smile.gif

Cheers.


Thanks Tycho. Please also maybe take a look at how ver. 2.3 genres are tagged as I mentioned in a previous post... putting non-standard genres like "(133)Post-Punk" (for example, I made that one up) prevents iTunes from reading it altogether. For any genre index past 125, it would be best to just write the name without the index (since the WinAmp extensions aren't supported everywhere).
Go to the top of the page
+Quote Post
wraithdu
post Feb 20 2007, 02:28
Post #27





Group: Members
Posts: 382
Joined: 20-December 06
Member No.: 38861



Thanks for the update for track numbers!

I have another question, maybe bug, not sure. Can I use metamp3 to update just one field? I've tried things such as

metamp3 --track 8/10 test.mp3

and all other tag data (just about) is erased or mangled.

For example tag data before above commandline -

Artist: (+44)
Title: Interlude
Album: When Your Heart Stops Beating
Year: 2006
Genre: Rock
Tracknumber: 08
Totaltracks: 14

tag data after -

Artist: (+44)
Title: (blank)
Album: (blank)
Year: 2006; 2006
Genre: (blank)
Tracknumber: 8
Totaltracks: 10

Any idea what that's all about?

This post has been edited by wraithdu: Feb 20 2007, 02:32
Go to the top of the page
+Quote Post
Martin H
post Feb 20 2007, 22:56
Post #28





Group: Members
Posts: 857
Joined: 5-March 05
From: Denmark
Member No.: 20365



Hi wraithdu smile.gif

The problem is that metamp3.exe uses id3lib for tag reading/writing and that id3lib dosen't fully support the ID3v2.4 spec. When you set a new tag to a file, then id3lib also rewrites all the old tags of the file also, and since id3lib cannot correctly read all the tags of the file(as they are in ID3v2.4 format), then id3lib will only rewrite the frames that it understands(and also mangle some of them in the process).

You can solve this problem by selecting to use fb2k's "ID3v2 Writer Compatibility Mode" under the "Advanced" settings dialog.
Go to the top of the page
+Quote Post
wraithdu
post Feb 20 2007, 23:22
Post #29





Group: Members
Posts: 382
Joined: 20-December 06
Member No.: 38861



I had a suspicion that was the problem. Will the next version of metamp3 that Tycho is working on support id3v2.4 by chance?

Obviously this is not such a big issue for new rips, but I use foobar2k and mp3tag and would like to stick with v2.4 tags. If I decide to embed some art or some such change in the future, this would be a problem.
Go to the top of the page
+Quote Post
Martin H
post Feb 21 2007, 13:57
Post #30





Group: Members
Posts: 857
Joined: 5-March 05
From: Denmark
Member No.: 20365



@tycho

I have lately been reading up a little on the id3lib library and then i stumpled upon this quote :

QUOTE
id3lib is seriously outdated and doesn't appear to
be maintained anymore. And the API is just awful. There's a couple of
critical bugs in the 3.8.3 code that haven't been officially added yet
(fortunately there are patches on the SF page, but most packagers
don't include them, sadly)
.

Source : http://www.arcknowledge.com/gmane.comp.aud...0/msg00003.html

So i was thinking that if you haven't done so allready, then if you would please be so kind as to compile metamp3.exe with those extra id3lib patches for the next release of metamp3.exe.

Also, i have been thinking about that the lack of ID3v2.4 parsing support of id3lib is not only meaning that we can't parse those tags from MP3's, but also that if we e.g. RG scan or embed a cover picture into some MP3's with ID3v2.4 tags, then those files tags would be completely mangled and useless afterwards, so i was thinking that if you ever had some free time later on and was thinking about something to add to a later version of metamp3.exe, then here are a suggestion :

You could change metamp3.exe to only use id3lib for writing tags and then add support for the libid3tag library to parse tags from MP3's instead of using id3lib for that. libid3tag is a ID3 tag manipulation library from the MAD project with full support for reading ID3v1, ID3v1.1, ID3v2.2, ID3v2.3 and ID3v2.4 tags, as well as support for writing ID3v1, ID3v1.1, and ID3v2.4 tags. Also, if you felt like it, then you could add ID3v2.4 tagging support to metamp3.exe with the libid3tag library, besides the standard ID3v2.3 tag writing support of id3lib, so that people where able to write ID3v2.4 UTF-8 encoded unicode tags.

I know that this is a pretty big project to make happen and i am also not making this idea out to be a feature request, but just to give you some inspiration for if you where ever feeling bored wink.gif If you should ever decide to take a stab at this, then "The Code Project" has a Wrapper Class for the libid3tag Library, which will make parsing ID3 tags(all revisions) from MP3's very easy : http://www.codeproject.com/audio/MP3ID3.asp

CU, Martin.
Go to the top of the page
+Quote Post
Replika
post Feb 21 2007, 17:06
Post #31





Group: Members
Posts: 9
Joined: 21-February 07
Member No.: 40825



Could you please add --fromfile switch (copy id3 from a file to another) like tag.exe

I'm now using Multi frontend to convert mp3. It uses tag.exe to preserve id3 tags but tag.exe only can write to id3v1.
CODE
"tag.exe" --fromfile "source.mp3" "target.mp3"

Some of your program's command line is the same to it, so i think it can be changed by yours biggrin.gif


--------------------
[ EAC : BatchEnc : Lancer -q 5 : Lame -V 2 --vbr-new ]
Go to the top of the page
+Quote Post
tycho
post Feb 21 2007, 21:32
Post #32





Group: Members
Posts: 345
Joined: 5-August 03
Member No.: 8183



@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.

@Replika: The version I am working on does already support this. E.g.
metamp3 --title "@titlefile.txt" file.mp3

Any text input can be specified from a file by prefixing a filename with @.
Go to the top of the page
+Quote Post
Replika
post Feb 22 2007, 05:00
Post #33





Group: Members
Posts: 9
Joined: 21-February 07
Member No.: 40825



QUOTE (tycho @ Feb 22 2007, 03:32) *
The version I am working on does already support this. E.g.
metamp3 --title "@titlefile.txt" file.mp3
Any text input can be specified from a file by prefixing a filename with @.

I convert mp3s to mp3s. And i want preserve all id3 tags, so the command is:

CODE
metamp3 --artist "@source.mp3" --album "@source.mp3" --track "@source.mp3" --title "@source.mp3" year "@source.mp3" --comment "@source.mp3" [etc...] "target.mp3"

?

I've found ID3 mass tagger, has duplication id3 function
QUOTE
id3 -D source.mp3 -1 -2 dest.mp3
Copy ID3v1 and ID3v2 tags of source.mp3 to dest.mp3


--------------------
[ EAC : BatchEnc : Lancer -q 5 : Lame -V 2 --vbr-new ]
Go to the top of the page
+Quote Post
tycho
post Feb 22 2007, 09:08
Post #34





Group: Members
Posts: 345
Joined: 5-August 03
Member No.: 8183



QUOTE (Replika @ Feb 21 2007, 20:00) *
I convert mp3s to mp3s. And i want preserve all id3 tags, so the command is:
CODE
metamp3 --artist "@source.mp3" --album "@source.mp3" --track "@source.mp3" --title "@source.mp3" year "@source.mp3" --comment "@source.mp3" [etc...] "target.mp3"

?

In the next version, you transfer tags in the following way:
CODE
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.mp3
metamp3 --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.mp3
REM remove temporary files:
del x_*.txt
Go to the top of the page
+Quote Post
Martin H
post Feb 22 2007, 14:12
Post #35





Group: Members
Posts: 857
Joined: 5-March 05
From: Denmark
Member No.: 20365



QUOTE (tycho @ Feb 21 2007, 21:32) *
@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.

Hi tycho.

Thank you very much for your reply. I'm very pleased to hear that you allready have included those id3lib patches to metamp3.exe and also that you even have improved upon it further. I can see that metamp3.exe writes it's ID3v2.3 frames with ISO-8859-1 encoding, so another nice feature for metamp3.exe could maybe be an additional switch for alternatively enabling the writing of UTF-16 encoded ID3v2.3 frames with id3lib(i believe that id3lib supports that too), but of course, it's up to you - but i was just thinking about the posts in this thread about the missing unicode support of metamp3.exe. I really think that it's cool that you have enabled support for ID3v2.4 text frames and that would make my previous suggestion of using another library than id3lib redundant. I think that most apps that write ID3v2.4 tags, writes them as UTF-8 encoded ID3v2.4 frames, or atleast fb2k and Mp3tag does that. What encoding of ID3v2.4 text frames have you enabled support for ?

I have an MP3 track file which is tagged with fb2k and it has the following UTF-8 encoded ID3v2.4 text frames :

TALB: Fallen
TPE1: Evanescence
TCON: Rock
TIT2: Going Under (Album Version)
TRCK: 1/11
TYER: 2003
TXXX: [replaygain_album_gain]: -9.67 dB
TXXX: [replaygain_album_peak]: 1.376862
TXXX: [replaygain_track_gain]: -9.28 dB
TXXX: [replaygain_track_peak]: 1.238594

But when i run "metamp3 *.mp3" in a command prompt on that file, then metamp3.exe outputs only :

TIT2:
TALB:
TCON:
TDRC: 2003
TRCK: 1/11
TXXX: []:
TPE1: Evanescence
TYER: 2003

Then if i e.g. run "metamp3 --comment test *.mp3" in a command prompt on that file, then a "comment" tag with the value "test" is correctly set, but then you can see in fb2k and Mp3tag that the "date" tag is now mangled like this : "2003;2003" and also the following tags are completely deleted from the file : album, title, genre and all four ReplayGain tags.

This is not a problem for me personally, since i use fb2k if i need to change or add a tag, and only use metamp3.exe to set the initial tags as part of your genious REACT EAC plugin, but nonetheless, i just thought that i would let you know(and the same goes for the request for the UTF-16 encoded ID3v2.3 tags, as i'm personally perfectly happy with using ISO-8859-1 encoded ID3v2.3 tags).

Personally, then what i care about is :

To get the "dB" notation appended on the "replaygain_album_gain" TXXX frame.
Disable the setting of the "mp3gain_minmax" and "mp3gain_album_minmax" TXXX frames.
Update to newest revision of the ReplayGain calculation algorithm C code i.e. mp3gain.exe's "gain_analysis.c".
Only use two decimal places for the gain value TXXX frames, but still keep the 6 places on the peak ones.

There are actually also one thing that i would really like also : hack the mp3gain sources to ignore encoder and decoder delay, so that e.g. the leading 1152 silent samples will be ignored instead of as it is presently, where those samples are also taken into consideration when determining the loudness and recommended gain change. The difference is not very big, though - but nonetheless...

Again, many thank's for all your great work that you continue to contribute with - it's trully appreciated.

Edit: Btw, if you happened to know the answer to my padding question that i posted previously, then i would be happy to hear it.

This post has been edited by Martin H: Feb 22 2007, 14:58
Go to the top of the page
+Quote Post
tycho
post Feb 22 2007, 23:34
Post #36





Group: Members
Posts: 345
Joined: 5-August 03
Member No.: 8183



Alright, here is a beta version that you may try out. A later release version will be available in the uploads section. Pretty much of the discussed matters should be fixed, and a set of new import/export features are added. Also --fit should now work as expected. Note that a few command line options are changed/removed (non backward compatible). I will add a complete change list later.

metamp3v092b1.zip

Note: The following features are currently missing :

- other encodings than frames with ISO-8859-1 (UTF-8, UTF-16 will not work)
- support for v2.4 tags
- hack the mp3gain sources to ignore encoder and decoder delay, so that e.g. the leading 1152 silent samples will be ignored
Go to the top of the page
+Quote Post
Martin H
post Feb 23 2007, 00:12
Post #37





Group: Members
Posts: 857
Joined: 5-March 05
From: Denmark
Member No.: 20365



Hi tycho.

Thank you so much for this beta, my friend smile.gif

Also, i hope that you understand that i'm extremely gratefull for you implementing the suggestions i have made smile.gif

I will test it out now and report back if i see any problems.

Again, please accept my deepest gratitude for your continued efforts, mate smile.gif

You rock, tycho smile.gif

Sincerly,

Martin.
Go to the top of the page
+Quote Post
Martin H
post Feb 23 2007, 00:54
Post #38





Group: Members
Posts: 857
Joined: 5-March 05
From: Denmark
Member No.: 20365



@Tycho

When i run "metamp3.exe" on the command prompt, then the console outputs : "The system cannot execute the specified program". I have the VC8 runtimes installed correctly(with the official installer) and when i check the executable with "Dependency Walker", then i can see that two dependencys are missing i.e. the "msvcr80.dll" and "msvcp80.dll" VC8 runtime files ? The old v0.91 of metamp3.exe which also is dynamically linked to those two files runs perfectly and "Dependency Walker" also lists that executable to have no problems finding the "msvcr80.dll" and "msvcp80.dll" VC8 runtime files. Also i have tested this on another PC which also has the VC8 runtimes installed correctly with the official installer and it's the exact same problem there.

This post has been edited by Martin H: Feb 24 2007, 06:59
Go to the top of the page
+Quote Post
Martin H
post Feb 23 2007, 01:35
Post #39





Group: Members
Posts: 857
Joined: 5-March 05
From: Denmark
Member No.: 20365



Okay, i have just gotten the beta to run by making a .manifest file and placing it into the folder where metamp3.exe is located.

For people that want to run this beta, then it's not enough to have the VC8 runtimes installed, but you guys also need to copy/paste the following text into a file called "metamp3.exe.manifest" :

CODE
<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>


Okay, i will now begin to test the new features and fixes of this new beta and report back soon.

This post has been edited by Martin H: Mar 11 2007, 23:31
Go to the top of the page
+Quote Post
Martin H
post Feb 23 2007, 04:07
Post #40





Group: Members
Posts: 857
Joined: 5-March 05
From: Denmark
Member No.: 20365



@Tycho

Okay, i have tested the new beta and everything works perfectly. This is really an awesome release Tycho - a big thumbs up from me, that's for sure. I'm very pleased about the added "dB" notation on the "replaygain_album_gain" TXXX frame's gain value and also for omitting those redundant "mp3gain_minmax" and "mp3gain_album_minmax" TXXX frames, when RG scanning MP3's. Then the trimming to only 2 decimal places for the gain values is also just great. Also, i added some silence to the middle of a WAV file and encoded it to MP3 and then ReplayGain scanned it with first metamp3.exe v0.91 and then afterwards with v0.92b1 and i could clearly notice that you had used another revision of "gain_analysis.c", since metamp3.exe v0.91 took about 600% longer to RG scan that MP3 than the new beta release. Then i tested the new "@" importing function of the "--frame" and "--artist" "--album" etc switches and that worked perfectly and also the new "--extract" switch worked like a charm. Also, i think that it is smart thinking of you to make it possible to now also define TXXX frames with the general "--frame" switch, instead of having an additional "--user-text" switch for only defining that one single frame type. Also, if i define an "album artist" TXXX frame with the "--fit" switch also in the command-line, then now an additional ID3v2.3 tag is now made with that TXXX frame also, instead of as before, where that TXXX frame would just be completely ommited and only make an ID3v1 tag only.

There are only one little thing that i would suggest to you and that is when defining a genre which isn't in the ID3v1 genre list, then instead of ommiting that genre completely, then i think that it would be better to in this case add an additional ID3v2.3 tag also, so as to not loose that defined genre, just like allready is done when defining a TXXX frame, or when defining the "track" tag to also have an additional total-tracks value.

Again, thank you so much Tycho for this new release, it is very much appreciated. Also thank you so much for adding me to your "Thanks" section of metamp3.txt - you are too kind, my friend smile.gif

Btw, the info i gave you previously about what needed to be skipped(the encoder/decoder delay) where actually wrong and so here are the correct information. Please note that this is a pretty big job to implement i guess, so please only do it if you absolutely want to yourself...

What needs to be skipped is : encoder + decoder delay at the beginning of the decoded output and encoder padding - decoder delay at the end of the decoded output.

lame.exe only cuts the encoder + decoder delay from the beginning of the decoded output when decoding, except v3.97 at rarewares, which john33 has fixed to also cut the trailling encoder padding - decoder delay from the decoded output, and that patch has been added to current LAME CVS and hence, is included in latest LAME alpha i.e. v3.98a11. I don't really know if mp3gain.exe cuts anything or if it cuts the same amount as lame.exe(without john33's fix), but atleast i know that mp3gain.exe dosen't cut everything like it should, since that has Glen told me. mp3gain.exe uses a "light" version of the mpglib decoding library from the mpg123 project, where he has removed all unnecessary parts and lame.exe also uses mpglib for decoding. Glen has changed mpglib so that the librarys routines will pass back the raw double decoded values instead of rounding(and clipping) them to 16-bit integers.

Example: A MP3 is listed in it's INFO tag to have an encoder delay of 576 samples(newer lame.exe's always has that) and encoder padding of 2220 samples(varies for each file). mpglib, which both mp3gain.exe and lame.exe uses for decoding, has a decoding delay of 529 samples. Then the decoded output would need to get the initial 1105 samples skipped(576+529) and the last 1691 samples skipped(2220 - 529).

Here are the part of the INFO tag spec. which decribes how to read out the encoder delay and encoder padding values from the INFO tag :
QUOTE
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:
[01101100][00010010][11010010]

X = (011011000001)b = (1729)d, so 1729 samples is the encoder delay
Y = (001011010010)b = (722)d, so 722 samples have been padded at the end of the file

The complete INFO tag spec. : http://gabriel.mp3-tech.org/mp3infotag.html


CU, Martin.

This post has been edited by Martin H: Feb 24 2007, 06:57
Go to the top of the page
+Quote Post
tycho
post Feb 25 2007, 17:09
Post #41





Group: Members
Posts: 345
Joined: 5-August 03
Member No.: 8183



I have uploaded v0.92 beta 2 - download from first post.

Changes from previous beta:
- Changed some command line options again (see examples)
- Fixed a small bug --remove.
- Now outputs separate list for id3v1 and id3v2 when inspecting metadata on files.

Examples:

1) Add artist, album, comment (no descr, english), and picture (no descr, type {0}=Other):
metamp3 --artist "Joe" --album "Average" --comment "Cool" --frame "APIC:folder.jpg" "file.mp3"

2) Add norwegian comment with description, and album artist as user text field:
metamp3 --frame "COMM[test]{nor}:hallo" --frame "TXXX[album artist]:Joe" "file.mp3"

Hint: remember to put quotes around the complete argument after --frame

Do all of you still need a separate .manifest file? I find it strange, because the compiler say it embeds it in the exe file on linking...

This post has been edited by tycho: Feb 25 2007, 17:25
Go to the top of the page
+Quote Post
Martin H
post Feb 26 2007, 02:23
Post #42





Group: Members
Posts: 857
Joined: 5-March 05
From: Denmark
Member No.: 20365



Hi Tycho.

Thank you so much for this new beta release. In my testing i couldn't find anything wrong with it, and i really like the way that you have simplified the command-line interface with these two betas - thumbs up, mate. Also, the new displaying of seperate ID3v1.1 and ID3v2.3 tags is also very welcomed indeed. If i could humbly suggest one single modification to this feature, then that would be to change the listed ID3v1.1 tags to use ID3v1.1 field names i.e. Artist, Album, Track, Year, Genre and Comment, instead of showing the ID3v2.3 native frame names for ID3v1.1 tags. Another little thing i've been thinking about, is that when running the "--undo-gain" switch on some MP3's, then there is still left behind the now redundant "mp3gain_undo" tag, with it's "000,000,N" value. Lastly, i still think that changing the "--fit" switch to set an additional ID3v2.3 tag when a genre is defined which isn't in the ID3v1 genre list, instead of just ommiting that genre tag completely.

About the manifest file, then i can tell you that i have this problem on two different PC's running Windows XP Pro. SP2 with all high-priority updates applied. Something must have changed in your VC8 compiling process, since v0.91 works without an external manifest file, but these two new betas dosen't. I keep my PC very clean and only have about 20 apps installed and i always ghost my machine back to a previous state whenever i have tested new software or if i just have been changing many things temporarilly and i frequently run Reg/temp files cleaner apps. Also, both PC's have the VC8 runtimes installed with the official installer.

Again, thank you so much Tycho, and i really appreciate all the great work you have done on this nice tool smile.gif
Go to the top of the page
+Quote Post
Martin H
post Feb 26 2007, 21:23
Post #43





Group: Members
Posts: 857
Joined: 5-March 05
From: Denmark
Member No.: 20365



@Tycho

Could you please check the following :

From : Troubleshooting C/C++ Isolated Applications and Side-by-side Assemblies :
http://msdn2.microsoft.com/en-us/library/ms235342.aspx

To check whether the manifest is embedded inside the binary, open your binary in Visual Studio and browse through the resources of this binary. You should be able to find a resource named RT_MANIFEST. If you cannot find a manifest embedded inside the binary, check for an external file named something like <binary_name>.<extension>.manifest. If a manifest is not present, you need to ensure that the linker generates a manifest for your project. You need to check the linker option Generate manifest in the Project Properties dialog for this project. Building Visual C++ projects without manifest generation is not supported. Any C/C++ program built in Visual C++ 2005 has to include a manifest describing its dependencies on Visual C++ libraries. If the manifest is embedded inside the binary, ensure that the ID of RT_MANIFEST is correct for this type of the binary. For applications, ID should be equal to 1, for most DLLs ID should be equal to 2. If the manifest is in an external file, open it in an XML editor or text editor.

Also, if this dosen't help, then could you please then tell me which version number is defined for the "Microsoft.VC80.CRT" assembly in your metamp3 projects manifest file. In my VC8 runtimes policy file, then i can see that i can handle version numbers of that assembly between : 8.0.41204.256 and 8.0.50608.0.
Go to the top of the page
+Quote Post
Martin H
post Mar 1 2007, 11:59
Post #44





Group: Members
Posts: 857
Joined: 5-March 05
From: Denmark
Member No.: 20365



@Tycho

Since you have changed metamp3.exe to not write ID3v1 genre identify numbers over "(125)" into the ID3v1 "Genre" tag(and also omitting them infront of the ID3v2 "TCON" frame), then i would suggest that you also change the switch "--list-genres" to only show the ID3v1 genres up to "(125)".

Thank's in advance.
Go to the top of the page
+Quote Post
Martin H
post Mar 2 2007, 12:28
Post #45





Group: Members
Posts: 857
Joined: 5-March 05
From: Denmark
Member No.: 20365



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.

This post has been edited by Martin H: Mar 2 2007, 14:10
Go to the top of the page
+Quote Post
Jebus
post Mar 2 2007, 18:50
Post #46





Group: Developer
Posts: 1327
Joined: 17-March 03
From: Calgary, AB
Member No.: 5541



QUOTE (Martin H @ Mar 2 2007, 04:28) *
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'm fine either way.
Go to the top of the page
+Quote Post
Martin H
post Mar 2 2007, 23:56
Post #47





Group: Members
Posts: 857
Joined: 5-March 05
From: Denmark
Member No.: 20365



@Jebus

QUOTE (tycho @ Feb 25 2007, 17:09) *
I have uploaded v0.92 beta 2 - download from first post.

[...]

Do all of you still need a separate .manifest file?
Go to the top of the page
+Quote Post
tycho
post Mar 4 2007, 10:48
Post #48





Group: Members
Posts: 345
Joined: 5-August 03
Member No.: 8183



Thanks, Martin.

metamp3 v0.92 beta 3. (download first post)

- id3v1 tags are shown with descriptive names.
- TXXX[mp3gain_undo] frame is removed after --undo-gain
- id3v2 genre is nolonger prefixed with id3v1 genre number.

I have used the unmodifed solution/project files from version v0.90, but I couldn't see any significant difference, so I am still not sure why you need the .manifest file (I don't). The only difference I can think of since 0.90 is that I installed VC++ 2005 express service pack 1.
Go to the top of the page
+Quote Post
Jebus
post Mar 4 2007, 18:28
Post #49





Group: Developer
Posts: 1327
Joined: 17-March 03
From: Calgary, AB
Member No.: 5541



I don't think --genre is working at all now (at least it didn't seem to work for me).

Thanks for the other fixes though!

And I didn't need a manifest, either.

This post has been edited by Jebus: Mar 4 2007, 18:28
Go to the top of the page
+Quote Post
tycho
post Mar 4 2007, 21:00
Post #50





Group: Members
Posts: 345
Joined: 5-August 03
Member No.: 8183



Sorry, beta 4 fixes the genre, and should work fine for both id3 v1 and v2.
Go to the top of the page
+Quote Post

5 Pages V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 26th December 2014 - 12:10