Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: EAC/iTunes full integration (Read 105995 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

EAC/iTunes full integration

Reply #50
Quote
Otto, could you please send your updates (everytime you release a new version) to my e-mail address , so I can update the files on my server, too?
[a href="index.php?act=findpost&pid=225483"][{POST_SNAPBACK}][/a]

Sure. Sorry about that, these were just fixes. At some point I'll probably just throw the code out there and let everybody play with it. I didn't expect to have to release it three times for bugs or something.

Iconoclast_a: Quicktime doesn't produce the same kind of files that iTunes does. It doesn't offer any way to add tags to the file either, like iTunes does. Yeah, you could do it with QT, but it's not nearly as easy to do. And anyway, qutibacoas works for that, and anything you wrote to use quicktime directly would produce the same file as qutibacoas does.

EAC/iTunes full integration

Reply #51
Otto, your webspace is down so where to get the updated binaries? 

EAC/iTunes full integration

Reply #52
Quote
Otto, your webspace is down so where to get the updated binaries? 
[{POST_SNAPBACK}][/a]



If you can wait another five hours (i'm at work) or so, I will go ahead and upload the binary, and will also mirror any further releases (I should have done this already  )

EDIT:

Here is the link to the most current download Otto42 posted: [a href="http://umsis.miami.edu/~ajohanne/download/iTunesEncode.zip]iTunesEncode.zip[/url]

----
Domain

EAC/iTunes full integration

Reply #53
I will configure a File Manager account for Otto on the VBSpot site, but the SourceForge servers behave weird today. It takes ages to load the pages.

Edit: Otto, I sent you a private message with the log in details.

EAC/iTunes full integration

Reply #54
Quote
Otto, your webspace is down so where to get the updated binaries? 
[{POST_SNAPBACK}][/a]

Sorry about that. I hate my cable router. I don't know what the frickin' problem is. Maybe I just need a new router. I'll get it back up when I get home, but that's a good 4 hours from now. Sorry.

Edit: It's up.

Edit2: It's now available here as well: [a href="http://vbspot.sourceforge.net/file_manager/ressources/iTunesEncode.zip]http://vbspot.sourceforge.net/file_manager...TunesEncode.zip[/url]

EAC/iTunes full integration

Reply #55
Thanks Otto,

now one could consider also to add following tags 

-c <Comment>
-s <Composer>
-m <Total Tracks>
-d <DiscNum>
-e <Total Discs>

 

EAC/iTunes full integration

Reply #56
Quote
now one could consider also to add following tags  
-c <Comment>
-s <Composer>
-m <Total Tracks>
-d <DiscNum>
-e <Total Discs>

Well, -e is used for the encoder name in the exe version.

I'll go ahead and add all this stuff tonight or tommorrow night, but I'm going to change the formatting a bit, as I can see how I'll rapidly run out of letters.

Anybody got any suggestions on the right way to do this? Perhaps using long names for the options, like --comment or --composer, ala LAME?

EAC/iTunes full integration

Reply #57
Quote
...On a tangent...
It seems iTunes only allows its specified genre's to be added to the genre field, i.e. if you send it "Anime" as the genre, it is either removing that tag completely, or leaves the tag but does not display it in the interface (I'm not completely sure whether it is completely removing the tag, or the effect on the iPod or 3rd party programs).

I just tried genre tagging with a new CD. It does not recognize the term "Chillout" but works ok for "Jazz", so I assume iTunes allows only specified genres to be added to the genre field.

EAC/iTunes full integration

Reply #58
Quote
Well, -e is used for the encoder name in the exe version.

I'll go ahead and add all this stuff tonight or tommorrow night, but I'm going to change the formatting a bit, as I can see how I'll rapidly run out of letters.

Anybody got any suggestions on the right way to do this? Perhaps using long names for the options, like --comment or --composer, ala LAME?
[a href="index.php?act=findpost&pid=226259"][{POST_SNAPBACK}][/a]


I don't think there is a "right" way to do things, its a sort of a personal choice that seems to come down to either usability or capability. Anyway, you could just use long arguments like "-artist" but those can be prohibitive especially if an application has a specified maximum length for the command line arguments field (or how long the command line can be in general). You could do something like wapet (I belive this is something Case wrote, I could be wrong), that uses a scheme like -t "Artist=%a" or something similar, but this requires a little more parsing on your side, since you have to not only parse the fields, but case of letters and other such issues.

Or you could just continue using arbitrary letters, which gives you something 22 posibilities left from whats available (since your already using -o -i -d -e). Since the program is geared toward Exact Audio Copy, you might want to sync the EAC options with those in your command-line, and then come up with arbitrary letters for the other fields (just to make it easier for the user).

Anyway, lots of rambling on my part. On another note, i've been playing around with a C# version of the encoder (the C++ was so ugly  ) and I think i've figured out how to respond to events without blocking the iTunes interface thread... unfortunately i've been extremely busy this week, so there is quite a bit more to do, not to mention testing.

-----
Domain

EAC/iTunes full integration

Reply #59
Quote
I just tried genre tagging with a new CD. It does not recognize the term "Chillout" but works ok for "Jazz", so I assume iTunes allows only specified genres to be added to the genre field.
[a href="index.php?act=findpost&pid=226306"][{POST_SNAPBACK}][/a]

Well, if you actually tag the file in iTunes (at least for AAC) it allows you to type anything into the field and will actually save that value to the file. This may be an import issue, i.e. it doesn't directly allow you to import custom field enteries into iTunes (I couldn't say for sure, i've been changing my naming/directory/tagging schemes as of late anyway).

iTunes does some really strange things when it comes to importing files, as I found when I was first testing my script against files that had no tagging information at all. For example, if you ask iTunes to convert a file, and the "Name" field is not specified, it tags that field with the filename (without path) of the file that is being converted. I had to add a regular expresion into my script to retag the "Name" field after a foobar conversion of such a file, otherwise it would have something like "example.fb2k.tmp" in the "Name" field (since that was the original filename that was being converted). There are some other oddities as well, but they aren't as visible.

Also, <Total Tracks>, <Disc Num> etc are quite easy to add in so far as just the command-line options, but a little more difficult to pass to the command-line via EAC / foobar, unless you fancy modifying your arguments every time you encode. foobar2000 might be more manegable for this issue, as its built in "language" might be able to determine such information, but I haven't looked into this issue throughly. (maybe EAC too, I'd have to look in the faq when I get home).

-----
Domain

EAC/iTunes full integration

Reply #60
Quote
Well, if you actually tag the file in iTunes (at least for AAC) it allows you to type anything into the field and will actually save that value to the file. This may be an import issue, i.e. it doesn't directly allow you to import custom field enteries into iTunes (I couldn't say for sure, i've been changing my naming/directory/tagging schemes as of late anyway).

So if you use the EXE with, say "-g RandomGenre" you don't get RandomGenre tagged? What does it tag for the Genre in that case?

Quote
Also, <Total Tracks>, <Disc Num> etc are quite easy to add in so far as just the command-line options, but a little more difficult to pass to the command-line via EAC / foobar, unless you fancy modifying your arguments every time you encode. foobar2000 might be more manegable for this issue, as its built in "language" might be able to determine such information, but I haven't looked into this issue throughly. (maybe EAC too, I'd have to look in the faq when I get home).

Well, EAC doesn't support any more than it currently has, AFAIK. I mean it doesn't have any more params that it can send to an encoder, I think. With foobar, you could send any random tag by simply putting %tagname% into your encoder options. If %tagname% does not exist, I assume it leaves a blank there. And in that case, iTunesEncode.exe should treat the flag as if it does not exist.

What I mean is that this:
iTunesEncode -t "Title" -a -l -g -n -i input.wav -o output.m4a
is identical to this:
iTunesEncode -t "Title" -i input.wav -o output.m4a

A flag not followed by anything *should* not get set at all. I wrote it to check for a) the flag and b) something not a flag following that flag before it turns on that particular boolean in the array. Anyway, that should make writing command lines in foobar simpler, as you don't have to worry about a blank being set or something like that.

EAC/iTunes full integration

Reply #61
Quote
So if you use the EXE with, say "-g RandomGenre" you don't get RandomGenre tagged? What does it tag for the Genre in that case?

From my previous experience iTunes shows nothing in the tag field when you "get info" on the file in question. Whether or not it is actually contained in the file's tags I can't say for sure. (my laptop is lacking space so it doesn't contain any of my lossless sources. I've just been playing around with this stuff to kill time  )
Quote
Well, EAC doesn't support any more than it currently has, AFAIK. I mean it doesn't have any more params that it can send to an encoder, I think. With foobar, you could send any random tag by simply putting %tagname% into your encoder options. If %tagname% does not exist, I assume it leaves a blank there. And in that case, iTunesEncode.exe should treat the flag as if it does not exist.

The biggest thing about these "additional" tagging arguments like <Disc Num> is that (unless i'm wrong), I don't belive EAC has a way to pass the total number of tracks to the command-line anyway. foobar2000 could certainly do this if you actually tagged each file a field "Disc Num" or whatever coresponding field might be in iTunes, but I'm guessing that would be a manual process. I can't look at the foobar titleformating document at the moment, but I suppose it might also be possible to extract the total number of tracks directly, though I can't confirm that at this time.

At either rate, while such options might be nice for use with iTunes, the only thing I use it for is converting/uploading to the iPod, so they serve me no immediate purpose 

-----
Domain

EAC/iTunes full integration

Reply #62
I've been playing around with a C# implementation over the past few days, though without as much luck as I might have hoped. It seems to me that COM is quite poorly designed, or at least too programmer "friendly" to retain any advanced capabilities.

Event detecting and handling works, albiet retaining the same issues I had with the JScript version, namely the interface thread blocking that occurs inside of the actuall event handler routines. Interestingly enough I did find an event that is not documented in the COM SDK (OnUserInterfaceEnabledEvent), which could possibly be utilized to completely block the user interface (thereby stopping the user from disabling COM with a dialog). Unfortunately it only works if iTunes was not already running, so using it would require shutting down iTunes between each file conversion.

There is one other solution to the thread blocking, although I wouldn't call it a very clean solution... instead of using the event handlers, you could use try..catch blocks to catch exceptions, evalute whether or not they were due to COM being disabled, and force a retries of the operation, with a specified duration until completely failing (either by number operations attempted, or a timeout period). This method does work, but it seems there must surely be a better way... unfortunately I can't find a single person that knows anything about COM.

Anyway, if you have any luck yourself Otto42, let me know 

-----
Domain

EAC/iTunes full integration

Reply #63
I've been ripping my CD's with multiple apps for a similar reason: my PlexWriter Premium only rips at 2X with iTunes (with error detection on).  I've come up with a solution that lets me use an alternative CD-DA ripper, but still use iTunes to do the compression/importing, with correct CDDB tags, etc:

1) <ctrl>w in EAC to get a .cue file.
2) Read the CDDA with PlexTools (saving all tracks as 1 wav file, with error detection/correction)
3) Edit the .cue file to point to the wav file.
4) Mount the .cue file as a virtual disk.
5) Import the _virtual_ CD into itunes with no error detection.
6) Unmount virtual disk, and delete .wav and .cue files.

Now, I can do this in batches, so its not _that_ much work. (Rip 10 .cue/.wav files, edit them all together, start itunes, and mount the .cue files, and iTunes will import them as they're mounted, if I set that option in iTunes.)  However, it'd be nice to have this automated.

So I guess my question is, does anyone know if EAC can be (java) scripted?  And plextools as well, of course?  If so, I my script would work like this:

1) Start iTunes (disable auto-encoding), EAC, Plextools.
2) Run script, which waits for an audio CD to be inserted, creates .cue file with EAC, rips audio tracks with error detection in plextools, mounts cue file, tells iTunes to import CD.

Or am I just dreaming? :)

  John

EAC/iTunes full integration

Reply #64
Just wanted to extend Kudos to Otto42. I don't know what I'm doing, yet I followed the directions, installed the exe version, set the command line extras, and it worked perfectly the FIRST TIME.

Thanks,
Jim

EAC/iTunes full integration

Reply #65
Could this be used to convert FLAC to iTunes AAC through foobar2000?

Or does it only work with files that iTunes understands?

EAC/iTunes full integration

Reply #66
Quote
Could this be used to convert FLAC to iTunes AAC through foobar2000?

Or does it only work with files that iTunes understands?
[a href="index.php?act=findpost&pid=233099"][{POST_SNAPBACK}][/a]

It'll only work with files that iTunes understands. So if foobar will convert the FLAC to a temporary WAV and then pass the WAV to iTunesEncode as the input, then it'd work.

EAC/iTunes full integration

Reply #67
first i want to say that the itunesencode is great and i really appreciate it.

i have a couple questions. first, is there a tag for the total number of tracks? and second, is there a way to have the itunesencoder add the output file (not the temp file) to the itunes library?

EAC/iTunes full integration

Reply #68
Quote
first i want to say that the itunesencode is great and i really appreciate it.

i have a couple questions. first, is there a tag for the total number of tracks? and second, is there a way to have the itunesencoder add the output file (not the temp file) to the itunes library?
[a href="index.php?act=findpost&pid=233157"][{POST_SNAPBACK}][/a]


No, and.. no. Sorry.

I haven't ever gotten around to adding support for other tags than the ones EAC supports. I haven't needed it myself, and I'm lazy. It's not hard to do, I just haven't done it yet. I will soon.

And I'm not sure why you'd want to have it add the output file to the library, since the "output file" is just a copy of the file *from* the library. If you leave off the "-d" switch, the song will be in the iTunes library.

EAC/iTunes full integration

Reply #69
Quote
Quote
Could this be used to convert FLAC to iTunes AAC through foobar2000?

Or does it only work with files that iTunes understands?
[a href="index.php?act=findpost&pid=233099"][{POST_SNAPBACK}][/a]

It'll only work with files that iTunes understands. So if foobar will convert the FLAC to a temporary WAV and then pass the WAV to iTunesEncode as the input, then it'd work.
[a href="index.php?act=findpost&pid=233131"][{POST_SNAPBACK}][/a]


It does work, I have succesfully converted several FLAC, APE & MPCs. So far it's great. My only problem is that the -d modifier only deletes the song from the iTunes database, but the actual file remains on the disc.

EAC/iTunes full integration

Reply #70
There seem to be some problems with international characters which get cropped on their way to iTunes. Perhaps something to do with UTF-8?

EAC/iTunes full integration

Reply #71
Quote
It does work, I have succesfully converted several FLAC, APE & MPCs. So far it's great. My only problem is that the -d modifier only deletes the song from the iTunes database, but the actual file remains on the disc.
[{POST_SNAPBACK}][/a]

Grab a copy of the latest version. [a href="http://otto.homedns.org:8888/itunes/iTunesEncode.zip]http://otto.homedns.org:8888/itunes/iTunesEncode.zip[/url] . I fixed that problem a while back.

I don't know about the UTF problem. I simply pass whatever you pass in more or less directly to iTunes for tagging. It does go through an MFC CString first, so either blame iTunes or blame Microsoft.

EAC/iTunes full integration

Reply #72
Is there going to be a development for a foobar plugin.  I prefer not to type in every command with a long string of options.

EAC/iTunes full integration

Reply #73
Thanks a lot for your work Otto, it works great. 

I join the petition for more tags.

I personally use the following in foobar2000, depending on the material:

Album
Artist
Composer
Conductor
Date
Disc
Ensemble
Featuring
Genre
Performer
Tempo
Title
Track Number

It would be very useful to have "Composer" be automatically copied/converted to "Writer", likewise with ReplayGain information.

Perhaps also:

Album Artist
Compilation

for albums like Hôtel Costes or Colette series.

Having all that, would be just swell.

EAC/iTunes full integration

Reply #74
As far as what tags I can make it put in, I'm limited by iTunes capabilities for tagging. I'm just passing the tags to iTunes after the track is encoded but before it gets moved/renamed/what have you. Any other tags you want, you'll just have to deal with some other way. Adding extra tagging would really be outside the scope of this program, which is only to be a command line interface to iTunes encoding/tagging.

Here's what tags I can send to iTunes (along with what the current parameter to use is if it's already implemented). Note that I'm not certain all of these actually are written to the file itself, but I removed the more obvious iTunes database only ones.

Album (-l)
Artist (-a)
BPM
Comment
Compilation Flag
Composer
DiscCount
DiscNumber
Genre (-g)
TrackCount
TrackNumber (-n)
Year (-y)
Artwork
Name (-t)

Artwork seems to be limited to JPG, PNG, or BMP files. Anything else it marks as "unknown", although I think it'll allow GIF files in there. Might convert them to PNG's though, I'm not sure.