Changes Made to TAG.EXE, Tags from text file & OptimFrog support |
- No over 30 sec clips of copyrighted music. Cite properly and never more than necessary for the discussion.
- No copyrighted software without permission.
- Click here for complete Hydrogenaudio Terms of Service
![]() ![]() |
Changes Made to TAG.EXE, Tags from text file & OptimFrog support |
Oct 1 2008, 16:04
Post
#101
|
|
|
Group: Members Posts: 2 Joined: 25-September 08 Member No.: 58628 |
My Review of Tag 2.0.52
I have been using computers since before the DOS days. I am very familiar with DOS. Yet, because the documentation of Tag.EXE was incomplete and inaccurate, it took me FOUR HOURS TO FIGURE THE THING OUT. I almost gave up. It would've been faster to just copy and paste into the ID3's. The Tag.TXT text file shows an example ID3 insertion SCHEME as A - N - T, but it does not show the entire example command line. I tried numerous times, even going to the author's, "Synthetic Soul", forum he frequents: Hydrogenaudio Forums. If you use a free email address to sign up, you can't even post for FIVE DAYS! Left on my own, I finally figured out the SCHEME I wanted has the following correct syntax: Tag --auto --scheme "X-A - T" *.mp3 Notice the quotes. Tag.TXT also contradicts itself when using slashes for SCHEME. At the top it shows a backslash and at the bottom, for options, it shows a forward slash. Although "-t <item=x>", "-f <item=x>" and "--fromfile <file>" are mentioned under options, I have no clue how to actually implement them. WHAT is "item=x"? How exactly do you use a text file and how do you match its lines up with the MP3 file ID3 info you're trying to change? The Tag.TXT file needs more complete examples with correct syntax. While the program appears to work correctly, because of very poor documentation, its potential will never be fully realized. I recommend to Synthetic Soul that he correct and add to the included Tag.TXT file. Also, for SCHEME, I recommend a more robust implementation of the "X" option (text to be disregarded). I wanted to disregard the first 3 numerical digits of each MP3 which are followed by a {space}. Unfortunately, Tag.EXE can't do this. A DOS-type wildcard convention would help using "?"'s or maybe using "X" as single characters when there are more than one as in "XXX". Reviewed at Softpedia Tag 2.0.43 user reviews |
|
|
|
Oct 1 2008, 16:20
Post
#102
|
|
![]() Group: Super Moderator Posts: 4887 Joined: 12-August 04 From: Exeter, UK Member No.: 16217 |
-------------------- I'm on a horse.
|
|
|
|
Oct 1 2008, 17:42
Post
#103
|
|
|
Group: Members Posts: 2 Joined: 25-September 08 Member No.: 58628 |
Synthetic Soul,
{out} |
|
|
|
Oct 1 2008, 18:12
Post
#104
|
|
![]() Group: Super Moderator Posts: 4887 Joined: 12-August 04 From: Exeter, UK Member No.: 16217 |
Your understanding of Tag probably exceeds mine. I only used Tag for basic operations, mainly tagging from file. Given that I only wrote 1% of the code, I am no expert on the other 99%.
-------------------- I'm on a horse.
|
|
|
|
Jan 18 2010, 04:52
Post
#105
|
|
|
Group: Members Posts: 170 Joined: 7-January 05 From: Germany Member No.: 18891 |
Hello Synthetic Soul,
I tried copying the tags from one flac file to another flac file. I used this batch line: CODE "file-path\Tag.exe" --fromfile "file-path\name.flac" "file-path\name.lossy.flac" Tag.exe accepts the line but is crashing during processing. One flac file is processed with lossyWAV.exe. (original.flac and lossy.flac) I tried copying the tags from the original to the lossy.flac file. If you'd like I could provide them for you. (they are quite small) Any help would be appreciated. (even referral to another method) This post has been edited by gottkaiser: Jan 18 2010, 04:54 |
|
|
|
Jan 18 2010, 09:28
Post
#106
|
|
![]() Group: Members Posts: 103 Joined: 3-September 04 From: Waldbronn Member No.: 16744 |
What do you mean with "crashes"?
Does the tag.exe process hang or vanish? The first could come from tag.exe choking on the LYRICS tag. This post has been edited by hawkeye_p: Jan 18 2010, 09:29 |
|
|
|
Jan 18 2010, 10:19
Post
#107
|
|
![]() Group: Super Moderator Posts: 4887 Joined: 12-August 04 From: Exeter, UK Member No.: 16217 |
IIRC --fromfile is actually used to tag from a text file containing the tag information.
I'm afraid I can't be any more help than that. I don't think that it is possible with Tag with one command line. You could possibly use the ability to write a tag's content to file (--tostdoutn) in conjunction with the ability to tag using the contents of a file (-f); however that would require two commands per tag, and there has to be an easier way. Personally, I'd use foobar for this. -------------------- I'm on a horse.
|
|
|
|
Jan 18 2010, 10:39
Post
#108
|
|
![]() Group: Members Posts: 103 Joined: 3-September 04 From: Waldbronn Member No.: 16744 |
That's not correct, Neil: --fromfile indeed copies the tag information from a tagged file.
Nevertheless I'd also use foobar for this task (in the meantime, as you know |
|
|
|
Jan 18 2010, 10:48
Post
#109
|
|
![]() Group: Super Moderator Posts: 4887 Joined: 12-August 04 From: Exeter, UK Member No.: 16217 |
I'm sorry, but there isn't a hope in Hell of me fixing this. I don't have the skillz. Edit: Ha! Scroll up to post #102 (mainly .5)... This post has been edited by Synthetic Soul: Jan 18 2010, 11:03 -------------------- I'm on a horse.
|
|
|
|
Jan 18 2010, 11:01
Post
#110
|
|
![]() Group: Members Posts: 103 Joined: 3-September 04 From: Waldbronn Member No.: 16744 |
I might have, but I prefer spending my time with other things.
If gottkaiser indeed has the problem with tag .exe, my workaround will help: - export lyrics from source file to temp file - remove lyrics from source file - copy tags - add lyrics to both files You also might find the foobar solution easier ... |
|
|
|
Jan 18 2010, 11:04
Post
#111
|
|
![]() Group: Members Posts: 103 Joined: 3-September 04 From: Waldbronn Member No.: 16744 |
|
|
|
|
Jan 18 2010, 12:02
Post
#112
|
|
|
Group: Members Posts: 170 Joined: 7-January 05 From: Germany Member No.: 18891 |
You could possibly use the ability to write a tag's content to file (--tostdoutn) in conjunction with the ability to tag using the contents of a file (-f); however that would require two commands per tag I tried to put it together for one tag but failed. My knowledge about stdout and how to use it is not good enough. Could you give an universal valid example for one tag? Thanks for your help so far. |
|
|
|
Jan 18 2010, 13:39
Post
#113
|
|
![]() Group: Super Moderator Posts: 4887 Joined: 12-August 04 From: Exeter, UK Member No.: 16217 |
Here is an example.
The following line will output the contents of the tag "mytagname" to STDOUT, and write that to a text file (tag.txt) in your temp directory: CODE tag --tostdoutn mytagname source.flac>%TMP%\tag.txt The following line will then set the tag "mytagname" from the contents of the same text file: CODE tag -f "mytagname=%TMP%\tag.txt" destination.flac It would probably be best to join these using &&, so that the second command will only fire if the first is successful. Also, you could tidy up by deleting the temporary file. This leaves us with: CODE TAG --tostdoutn mytagname source.flac>%TMP%\tag.txt && TAG -f "mytagname=%TMP%\tag.txt" destination.flac && DEL %TMP%\tag.txt You would have to repeat this for every tag that you want to copy over. If you were doing this in a batch file you could ease your pain a little by using variables to replace the tag, source and destination values. There has to be an easier way... -------------------- I'm on a horse.
|
|
|
|
Jan 18 2010, 13:43
Post
#114
|
|
|
Group: Members Posts: 170 Joined: 7-January 05 From: Germany Member No.: 18891 |
I came up with this lines to copy a tag from a "name.flac" to a "name.lossy.flac" file:
CODE "%~dp0Tag.exe" --tostdoutn "REPLAYGAIN_ALBUM_GAIN" "%~dpn1.flac" >> "%~dp0tmp.txt" set /p TOOLOUTPUT= < "%~dp0tmp.txt" del "%~dp0tmp.txt" "%~dp0Tag.exe" -u "REPLAYGAIN_ALBUM_GAIN=%TOOLOUTPUT%" "%~dpn1.lossy.flac" This means at the moment I use a temporary text file. Is there another more direct way without temporary file? Edit: I saw your answer to late :-) Big thanks to you! If anybody has an idea for a direct (without temporary file) way it would please share it. This post has been edited by gottkaiser: Jan 18 2010, 13:50 |
|
|
|
Jan 18 2010, 13:48
Post
#115
|
|
![]() Group: Super Moderator Posts: 4887 Joined: 12-August 04 From: Exeter, UK Member No.: 16217 |
I guess Tag would need to be able to tag from STDIN to be able to skip that phase, and I don't think that it can.
-------------------- I'm on a horse.
|
|
|
|
Jan 18 2010, 13:53
Post
#116
|
|
![]() Group: Super Moderator Posts: 4887 Joined: 12-August 04 From: Exeter, UK Member No.: 16217 |
How about this:
CODE METAFLAC --export-tags-to=- source.flac | METAFLAC --import-tags-from=- destination.flac Edit: Note that you may get duplicate tags if destination.flac is already tagged. To be on the safe side maybe you could use: CODE METAFLAC --remove-all-tags destination.flac && METAFLAC --export-tags-to=- source.flac | METAFLAC --import-tags-from=- destination.flac
This post has been edited by Synthetic Soul: Jan 18 2010, 13:56 -------------------- I'm on a horse.
|
|
|
|
Jan 18 2010, 14:27
Post
#117
|
|
|
Group: Members Posts: 170 Joined: 7-January 05 From: Germany Member No.: 18891 |
Big big thanks!
the metaflac method was what I searched for. Do you have an idea for copying the picture tag? I tried: CODE METAFLAC --no-utf8-convert --export-picture-to=- source.flac | METAFLAC --no-utf8-convert --import-tags-from=- destination.flac but its gives me an error . I guess it has to do with the command "--import-tags-from" I' not sure about the proper specification for the picture. Again thanks for your troubles. This post has been edited by gottkaiser: Jan 18 2010, 14:46 |
|
|
|
Jan 18 2010, 15:04
Post
#118
|
|
![]() Group: Super Moderator Posts: 4887 Joined: 12-August 04 From: Exeter, UK Member No.: 16217 |
It doesn't look like you can use STDIN with --import-picture-from. It looks like you'd have to export to a file and import from there.
CODE METAFLAC --remove-all-tags destination.flac && METAFLAC --export-tags-to=- --export-picture-to=temp.jpg source.flac | METAFLAC --import-tags-from=- --import-picture-from=temp.jpg destination.flac I'm no expert with metaflac though (or Tag it seems!) so really your guess is as good as mine. -------------------- I'm on a horse.
|
|
|
|
Jan 18 2010, 16:24
Post
#119
|
|
|
Group: Members Posts: 170 Joined: 7-January 05 From: Germany Member No.: 18891 |
|
|
|
|
Apr 3 2010, 06:07
Post
#120
|
|
|
Group: Members Posts: 34 Joined: 17-September 08 From: Iceland Member No.: 58352 |
I am making some batch scripts (one per album) that will auto-encode & tag files for me. Tag.exe will come in handy because some of these files have characters that command-line will turn into garbage when receiving them directly from a batch file. Well, that was what I hoped for before I ran into trouble. Wildcards work great for making Tag and the encoder read filenames with foreign characters, but the tagging is more tricky it seems.
Example of my usage: Tag --chreplace "Comment=Test =a x" C:\test.wv (=a will return " according to Tag.cfg). but the resulting tag will be Test =a x, not Test " x. Does the char replacing only work in automatic modes? If so, then does anyone know good alternate methods to get foreign characters into tags (and filenames also) from a batch script? Only method I found working is using -f and lead to a text file containing the tag value, but it seems awfully inconvenient to make hundreds of text files for my project as a whole. Would be great if I could specify which line to read from within a text file, like -f 14 "Title=C:\tag.txt". Thanks in advance! |
|
|
|
Jun 11 2010, 14:55
Post
#121
|
|
|
Group: Members Posts: 112 Joined: 14-December 08 Member No.: 64497 |
hello, i've searched for hours for a commandline tagger or better ID3 Tag reading tool.
Tag.exe is the best but I think I need something impossible (because none of the tools I've found offer that) Why is it not possible to print out Non Standard tags like <PUID> or stuff like that. I set custom tagfields in foobar2000 with some additional info and I need to get these info over command line and write it into a textfile or something like that. Is this generally possible? thanks for any hint m. |
|
|
|
Apr 22 2011, 13:36
Post
#122
|
|
|
Group: Members Posts: 1 Joined: 27-February 09 Member No.: 67449 |
I have made some improvements:
Version 2.0.53: (+) Added M4A support for reading (alac.exe is required). (-) Fixed Lyrics3 v2.0 writing. (*) Reviewed ID3v2 code. Win32 binaries and sources attached.
Attached File(s)
Tag_2.0.53_bin.7z ( 222.01K )
Number of downloads: 203
Tag_2.0.53_src.7z ( 104.46K )
Number of downloads: 115 |
|
|
|
Apr 30 2011, 04:23
Post
#123
|
|
![]() Group: Members Posts: 21 Joined: 12-November 03 Member No.: 9805 |
if you or anyone else plans any more updates, I have a request: Show multiple tag info
my problem is if the audiophile has more than one type of tag (e.g. some.mp3 has id3v2.4+id3v1.1) then tag.exe picks the first one it recognizes and displays only the info from that tag so, if id3v1 is complete and id3v2 is present but all blank, then tag.exe will display that it contains a tag but all blank entries What I'm asking is that tag.exe instead shows all tag formats for each file e.g. CODE c:\my.mp3
Format: MPEG 1 Layer 3, Joint Stereo Details: 44100 Hz Stereo, 211 kbps, playtime 03:52 [ID3v2] Title: You Make Me Sick Artist: Egypt Central Album: Egypt Central Year: 2008 Track: 2 Genre: Rock Comment: ENCODEDBY=Exact Audio Copy (Secure mode) replaygain_album_gain=-10.43 dB replaygain_album_peak=1.216547 replaygain_track_gain=-10.62 dB replaygain_track_peak=1.195923 [ID3v1] Title: You Make Me Sick Artist: Egypt Central Album: Egypt Central Year: 2008 Track: 2 Genre: Rock Comment: [APE v2.0] Title: You Make Me Sick Artist: Egypt Central Album: Egypt Central Year: 2008 Track: 2 Genre: Rock Comment: ENCODEDBY=Exact Audio Copy (Secure mode) replaygain_album_gain=-10.43 dB replaygain_album_peak=1.216547 replaygain_track_gain=-10.62 dB replaygain_track_peak=1.195923 |
|
|
|
Feb 21 2012, 01:55
Post
#124
|
|
|
Group: Members Posts: 1 Joined: 21-February 12 Member No.: 97284 |
Hi,
An issue and a question about the --paranoid option: - I'm running tag.exe 2.0.52 and --help does not show the --paranoid option. I've been writing a script recently and opted to work around the lack of a return code because I thought it wasn't available and only stumbled on the option today when I noticed a reference to it in some release notes for an earlier version. Perhaps something has gone wrong with the code to display help? - Can anyone please tell me what the return codes are? I've searched and can only find that (as expected) we get non-zero for errors or warnings, but no more detail than that. I've tested with a read-only file and find that it works (great!) and I get an errorlevel of 32 so I'm guessing there is some bitsetting going on, but would really like to distinguish between "Failed to write but no damage done", and "Ooops, just chewed up your file" so my script can respond appropriately. Thanks in advance. |
|
|
|
Mar 11 2012, 18:04
Post
#125
|
|
|
Group: Members Posts: 1 Joined: 11-March 12 Member No.: 97709 |
@sirmax and other developers:
Is there any chance, that we get id3v2 WRITE support? From the --help we know: Main features: * Support for multiple standards: - ID3v1.x - ID3v2.x (reading and removing) but I'm desperately looking for a possibility to WRITE id3v2-tags. I would like to write all my metadata in id3v2.3, not only in id3v1. And +1 for selyb's request to show multiple tags, especially the one's with different content. |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 25th May 2013 - 00:00 |