Haha... That title gives me the uncanny feeling that the end product of this thread will be printed out, cut into small pieces and used as confetti in the J River office
Here's something I prepared earlier:
Darichman,
You've mentioned a relational database in several threads.
It sounds like what you're looking for is a way to say "Keep this field the same for all files in the same album or artist" for any field.
Note that there's no efficiency to be gained from this as Media Center already pools similar data. It would only be an ease-of-use enhancement.
Is there more to it than that? Thanks.
....The benefits I'm suggesting are functional, rather than efficiency-related
What I was hoping for was a way to have a
field (let's say [Artist]) as its own entity in the database. This artist could be taggable just as any
file is now in the current database implementation. One of the functional consequences of this is, as you mentioned, that a subordinate field would be the same for all
files belonging the particular parent
field. But there is a lot more to it than this. I think the best way to describe this is with a few examples.
Example 1 - Inheritance (as you mentioned)
I have 20 files by Abba.
The [Bio] field should be the same for all of the 20 files.
In the current database, while the info is only stored once, it must be re-entered for any future files I add by Abba
If [Bio] is set up as a subordinate field of [artist] any files added for a particular artist would inherit the bio of the other fields (and thus would never have to entered again or copied from another file)
Other examples of inheritance of files might include Bio, Year Formed, Years Active, Nationality, Primary Genre, Members etc for [Artist] --this sort of info would look really cool in an "Artist Summary" page
For albums: Album Year, Album Artist, Album Type, Review (same goes for an "Album Summary" view)
Such an approach might be particularly useful for all the movie fields as well...
Example 2 - SpecificitySome fields at the moment are ambiguous, as it is unclear what exactly they are referring to.
For a compilation album or a "Best of" album, what does the field [Year] mean?
Is it the year the song was released? Or is it the year the album was released?
It would be fabulous to be able to Tag an [Album] with a year, separate to the standard year field for the individual files.
It gets even more complicated with classical music, where multiple dates are important
As an example, Johann Sebastian Bach: Prelude & Fugue No. 8 in D♯ Minor from the Well-Tempered Clavier Book II album
Let's look at the [Year] field again...
Is it the year the song was written? The year it was recorded? The year the album was released?
Example 3 - DiscriminationHere we are talking about matching entries in a field A with entries in a Field B... there is no way to do this currently
I have a list field [People] which may contain multiple entries
Let's say a file is tagged for Fred;Mary;Sally
Fred is my brother, and Mary and Sally are friends -- but there is no at the moment to tag "Fred" as "Family" or the others as "Friends"
If I create a field called [Association], the photo will appear under "Family" and "Friends" (this is as expected)...
...but "Fred" will appear under "Friends" and Mary and Sally will appear under "Family", when they're not... just because the photo has OTHER people belonging to those entries
I hope that makes sense!
Nested keywords has made something like this possible.. but there are advantaged to doing it with a separate field:
If I want to create another custom field [Birth Date] for a person, there is no way to tag this information in the current database
Sure I can create a [Birth Date] field and enter a value, but which person does it apply to? Because the file will have three people entries, there is no way to match up the correct [Person] with the correct [Birth Date] or any other field which may be used to describe [People]
It would mean users could store an Artist and Album and Movie database (among other fields) as well as a "File" database...
Once subordinate fields are created for parent fields, and populated, users need only "Add" a file to that group, and any relevant data is inherited.