I'm contemplating switching from iTunes to JRiver, but before I undertake this pretty massive task, I have a few things I'd like to clarify. First, let me describe my situation. I've been using iTunes for years now. I only rip CDs, and I only create .m4a files. I have ripped multiple terabytes of music files, which iTunes cannot handle in a single library, so I periodically cull from my hard drive onto a backup disk, so that I can continue. In this way, I've accumulated a number of offline libraries on external disks as well as whatever current one is on my internal drive. Now that very large capacity drives have become cheap, I'd like to finally merge these various libraries. It looks like JRiver can probably handle the load, as it seems to have been built on a relational DB, rather than the dopey structure that iTunes uses. I would like to put my media library on a high-capacity expandable NAS with RAID.
As a portable player, I use an iPod Classic 160G unit, because (a) it has the largest capacity, and .m4a files are big, and (b) my car stereo knows how to interface with it, so I can operate it directly from the stereo interface (including seeing the album cover art, which is nice).
I am a heavy user of every single one of the Sort fields in iTunes. In fact, I wish there were
more of them. For example, the artist
Egg is quite distinct from
The Egg. Since I don't want them intermixed, I use the sort fields to distinguish them. Similarly, "Charlie Parker" and "Charly Parker" are the same person, and I use sort fields to remap them, without altering the way the credit reads on release. I sort people by surname first, and also do stuff like sorting "Joe Blow feat. Jane Doe" as "Blow, Joe featuring Doe, Jane" - my credits read as on release, but sort logically.
I am also a heavy user of the "Comments" field, which iTunes power users like myself have long used as a place to store the best approximation we have to custom database fields, using substrings of the form key="value". In some cases, these are one-to-many relations, as in the case of CD cat#s, where a CD sometimes has more than one cat#, and I have logged them all, or many-to-many as where a CD is co-branded by more than one record label, and again, I have logged this info in my iTunes DB with multiple key/value pairs, e.g. label="Blue Note" label="EMI".
I dislike the treatment of "Genre" by iTunes (and most everybody else). Genres in actual reality form a lattice, rather than a simple list, or for that matter a hierarchical tree. I'd like to (a) apply more than one genre tag, on a per-track basis, and (b) add inferencing logic (i.e. knowledge base style production rules) to genres. So Prog => Rock, Zeuhl => Prog, Progressive Metal => Prog, Metal => Rock, Death Metal => Metal, Technical Death Metal => Death Metal, Progressive Metal => Metal, Technical Death Metal => Progressive Metal would form a typical genre sublattice, for example.
So... My first questions are:
1) Does JRiver read and import
all of the iTunes tags? I
need them all. For audio files of radio plays, I have even appropriated some that are normally used for TV shows as a way of tagging episodes of, for example,
The Shadow. I've also done this with concert recordings.
2) Is there some equivalent to imposing a sort order on one field through another (potentially empty) field?
3) Are there codecs for .m4a (MP4 audio stream)?
4) Can this program be used to sync the iPod Classic 160G?
5) When importing, does JRiver leave the files in place, or make copies of them?
6) Is it possible to write scripts of some sort to extract the key/value pairs from the "Comments" field into their own first-class DB fields?
7) Is it possible to create one-to-many, many-to-one, or many-to-many relations in the JRiver DB? How? (Do we have more than one table? Can we build a schema?)
8 ) Can I create recursively-triggered calculated fields?