Difference between revisions of "Library Fields"
|Line 142:||Line 142:|
=== Square Bracket Notation ===
=== Square Bracket Notation ===
above we refer to fields using a notation surrounded by square brackets like so:
:[Some Field Name]
:[Some Field Name]
Revision as of 16:00, 17 January 2016
Media Center helps you manage, organize and view your files by maintaining a collection of metadata fields, or properties, about those files on a per-file basis in the Library. These properties are called Library Fields (or often just Fields).
Library Fields are managed in the Library Fields Manager available via:
- Tools > Options > Library & Folders > Manage Library Fields
Some examples of Library Fields are:
- [Artist], [Album] and [Genre] for audio files
- [Actor], [Director], and [Aspect Ratio] for movies
- [Series], [Season], and [Episode] for TV show episodes
- [Width], [Height], [Caption], and [Focal Length] for images.
- [Media Type], [Media Sub Type], [File Type], and [Name] for all file types.
When used in expressions or searches, a field is usually written by surrounding its name with square brackets, as shown above. So, Album Artist is written and used as [Album Artist], and that convention is used here on the Wiki and generally on Interact.
Fields are the main system that Media Center uses to manage, search, sort, and organize files. It is how Media Center shows Audio files under the Audio part of the Tree, and Video files under the video part of the Tree, and are the fundamental underlying structure that makes features like Media Views, Smartlists, Play Doctor, and Automatic Metadata Lookup work.
Fields, Properties, and Tags
The terms properties, fields, and tags are sometimes used synonymously in common language. Generally, we use the terms in the following manner:
- Fields: each of the database "columns" MC uses to store metadata for each file (the idea of [Artist], [Genre], or [Series])
- Properties: the characteristic stored for an actual file (ABBA, Disco, or The Big Bang Theory).
- Tags: the pieces of metadata that are embedded within the files themselves, where possible (the stuff written to the files for interchange with other applications).
It might help to think of a spreadsheet, where column headers are fields, rows are files, and a row of individual cell values are the file's properties. If each row were saved to an external file, the row's cells would be called tags.
Initially, a file's Fields are filled with default values when the file is Imported or created by Media Center (e.g. when ripping a CD or DVD). Typically, this data comes from a file's internal tags, information you enter when ripping a disc, or is looked up from external databases (YADB and the Automatic Metadata Lookup system for videos). In addition, several Library Tools are available to assist in creating or modifying properties and tags.
For many file types, Media Center can also save the Library Fields into the tags within the file on disk. These tags are then available for use by other programs that support the specific file types, and can serve as a backup in case your Media Center Library is damaged or lost. The tags supported by a given file type are file type-specific, but there is often commonality or overlap in various media or file formats. Media Center helps manage this by automatically mapping its own Fields to essentially similar tags with different names in the various standard tagging formats.
For more information on tag/metadata specifications for file formats, refer to the following external websites:
- MP3: id3.org
- Ogg Vorbis/FLAC: xiph.org
- EXIF/TIFF: EXIF (on Wikipedia), or this handy reference guide
In addition, Media Center allows creation of an almost limitless number of custom (or user) Fields. This allows for managing information about files that is not predefined by Media Center or by a given format's standard tags. These custom properties may also be saved to a file's tags, should the format support user-defined or extensible tags.
Saving file properties to the physical file allows tags to be re-imported by Media Center, and used by other programs on a variety of systems. While typical metadata consumes a trivial amount of extra disk storage (relative to the file's size), larger metadata such as cover art, lyrics or extensive notes may be more noticeable, especially when files are exported to smaller devices such as handhelds. See Save File Properties in Disk Files for more information.
Fields in Media Center have several defined characteristics. These are shown in the annotated example Manage Library Fields dialog.
- Has a standard, unchangeable Name.
- Has a Display name and its pluralized version used in throughout the user interface (pluralized version not currently shown in the Media Center Predefined Fields table below)
- Has Flags indicating the field's applicability to the indicated media / file types: Audio, Image, Video, Data, TV
- Is either User data, or is automatically Calculated data via Expression
- Stores a particular Data Type (see Field Data Types)
- May be a Relational field, and if so, its related field
- Has rules about its Edit Type or editability (see Field Edit Types)
- May have a semicolon-separated list of Acceptable Values (Note: no spaces after the semicolons)
- May be Save in file tags (when possible). Note: was labeled "Stored ..." prior to 16.0.154.
- May have one or more Search keywords used in queries as abbreviated or alternate names
- May be a Default search field when performing search queries (see Note: Default Search Field)
- May be hidden from normal view/usage (these field names are shown in italics in the Predefined Fields table below)
When fields are created, they can be one of two main types:
- User Data: These are standard fields which contain a value provided by the user or intrinsic to the file. Values for User Data fields are stored directly in the Library (database) and (optionally) in the embedded file tags as well.
- Calculated Data: These are fields that are automatically calculated on the fly. They output the value of an Expression which is defined in the Manage Library Fields dialog. The value is recalculated on the fly each time the value is accessed or displayed. A calculated field can be thought of as a way to "save" a useful Expression and allow it to be named and used like any other Field.
Field Data Types
Fields can store different types of data, such as strings of text or integers. For User Data fields, this is set with the Data Type dropdown in the Manage Library Fields dialog, and can be one of the following types:
|String||An unformatted sequence of characters.|
|Integer||A whole number (no decimal portion).|
|Decimal||A floating point number.|
|Percentage||A decimal from 0 to 1 indicating 0% to 100%.|
|List||A semicolon-separated list of strings.|
|Date||A complex type that is either date-only, or date and time. (TBD: need refs)|
Most fields store one discreet value for each file stored in the Library. However, Relational fields allow you to instead store a single value for all files from a particular Album, Series, or Artist. So, if the value of a relational field is changed for one file in a set, then the value is simultaneously changed for all files in that set. In all other aspects, these fields work identically to normal fields.
An example of this is the built-in [The TVDB Series ID] field, which stores one value for each Series. This is used by the Automatic Metadata Lookup system for TV Show episodes. When the lookup occurs, the system saves the Series ID from thetvdb.com to this field, and then future lookups for any additional episode of that same series search for this ID number instead of the text [Series] name value. That lets you save files in your Library using a different naming scheme for a particular Series than thetvdb.com prefers, without having to manually look up each and every episode to have good metadata.
You can make your own relational fields and store a value keyed off of:
At this time it is not possible to key a relational field off of any other arbitrary or user-defined fields in the Library.
Field Edit Types
|Standard||A free-format, editable field.|
|Clear-only||A clear-only field, whose value is set or updated by Media Center.|
|Large Value||A free-format, editable field, used for large data (e.g. lyrics, notes, descriptions). (TBD: recommended for data larger than XXX characters).|
|Cannot be edited||A non-editable field.|
|Filename||A file-path specification field.|
|Five stars||A selectable, 5-star graphical field, typically used for ratings.|
|DVD video info||TBD (currently used only for hidden field DVD Video Info).|
|List||List fields display using the list-type editors in the Tag Action Window and Panes.|
|Check||Check fields display with a check box that sets a 1 value when checked, and a 0 value when unchecked.|
|Ten Stars||A selectable, 10-star graphical field, typically used for ratings.|
Field values are stored in the Library. They can be viewed and edited in a variety of ways. Everywhere in Media Center you see information about your files, it is displaying the values of fields. Also, the entire Media View system itself is driven by the values of fields. For example, the reason that, when you open the Audio part of the Tree, it displays your audio files, and not your image or video files, is because the Audio Media View searches for files where the [Media Type] field is set to Audio.
When you view your files in details view or navigate using Categories or Panes, the program is displaying the contents of various fields like [Artist], [Album], and [Genre]. To edit a field value, you can select any file or files, and open the Tag Action Window. You can also edit directly in the file listing on any details style View, and edit field values in the Panes by checking the checkboxes available in Tagging Mode.
Square Bracket Notation
As mentioned above we refer to fields throughout this wiki using a notation surrounded by square brackets like so:
- [Some Field Name]
That is the standard notation Media Center uses to indicate that you want to substitute the value of a field. It is used throughout the Expression Language and Search Language and in many other places throughout the application. If you are writing your own expression or search, and you want to substitute in or refer to the values of a particular field, then this is the way you do it.
By default, Media Center formats the output of the field and displays it in a friendly, human-readable way. However, you can provide an optional parameter to any field you reference using standard square bracket field notation that controls whether the output is the "regular" formatted value (the default) or the raw value actually stored in the Library:
- [Some Field,0] : Outputs raw value from the database.
- [Some Field,1] : Outputs formatted value. This is the default so is equivalent to [Some Field].
A simple example is numeric fields, such as [Track #]. When these fields are set to 0, then they display blank when viewed. If you want [Track #] to actually output these zeroes (to do math on them in an Expression, perhaps) you need to use [Track #,0] instead. Another example is Date values, which are stored internally as floating point numbers, and to see the "real" value you need to set the bFormatted parameter to zero.
Predefined and Custom Fields
Media Center includes a number of predefined Fields, and you can define as many of your own custom Fields as you'd like. To view and manage the Fields currently available in your Library, use the Field Manager available at Tools > Options > Library & Folders > Manage Library Fields.
More information about the predefined fields can be found in the Predefined Library Fields article.
Custom fields may be added with the Add New Field Manage Library Fields dialog. Custom fields can act as library-wide global values, to be used in expressions, as columns, etc.
Custom fields may be calculated expression fields, in that they will be evaluated when used. Storage for calculated fields does not add additional library storage per file, since they are evaluated when used. If configured to be default search fields, calculated fields will produce some search performance penalty in search box suggestions, and possibly other library searches.
Values of calculated fields cannot be stored in file tags.
Tag Import Options
Media Center provides a few options for the importation of tags for some file types. These encoder-specific options are available under Tools > Options > Encoding > Encoder > Encoder settings... (pre-MC18, see Plug-in Manager > Input).
For images and video, Media Center will fill in the Album field with the year of the image or video (if the album field is otherwise empty). This puts a reasonable value there when importing directly from a digital camera. (TBD - should this be moved? Is it comprehensive wrt other types/fields?)
To import non-default file tags into Media Center, first create a custom field named exactly as the physical tag appears in the media file. Subsequent imports, or Update library (from tags) will populate the custom field with the file tag values. A tag dump will show the physical file tags for a single selected file.
The tagging of classical music is unfortunately more complex and standards are lax. See Tagging Classical Music.
For more comprehensive information on tagging photos, see Photo Tagging.
- Note: Work in Progress. See this thread for details.
- Check if a file contains tag information
- Edit File Properties (tags)
- Save File Properties in Disk Files
- Remove Tags
- Sync the database and tags
- Licensed Files (Windows Media Manager)
- Multiple Artist Albums
- Re-rip existing music and keep tags and statistics
- Tree & View Settings
- Library Tools
- Cover Art