# Custom Fields

Yate supports many built in fields. Additional tagging metadata can always be retained as user defined items. Typically as UDTIs or comments. However, it may be desirable to formalize a unique field which is available to all audio file types as a custom field. Once defined, these custom fields are accessible the same as any other field. When fields are listed or displayed, your custom fields are intermixed with the built in fields under their assigned names. They are not differentiated from the built in fields in any way.

Custom fields are defined in Preferences-General-Custom Fields. The Custom Field Editor may also be accessed from the Edit menu. You must supply a name for the custom field. Custom field names are case insensitive, must be unique and cannot be assigned the names of any of the built in fields. In order to activate a custom field, you must provide a low level mapping for at least one audio type (ID3, MPEG-4, FLAC/OGG or APE). It is a good rule of thumb to provide mappings for all four. Many commonly used mappings for custom fields can be chosen via a supplied disclosure control. Custom fields can be identified as being credits (for inclusion in the Combined Credits Editor). Custom fields may also be assigned to main window columns. Custom fields may be rendered as single or multiple line text controls or as a text field with an associated popup list.

Currently, there are one hundred available custom fields. While you use and view custom fields using their assigned names, internally the fields are referenced by an associated custom index. This means that if you access a custom field by an escape sequence, the escape sequence will automatically change if you rename the custom field. However, if you remove a custom field and then reassign it to a new index, all uses of the original field will still reference the original custom field index. If used in an escape sequence and the original custom index is not in use, the field will display as Custom #, where # is the index. These sequences will not insert anything. Assigning indirectly to these undefined custom fields will not save anything.

When editing actions and you wish to reference a custom field from an escape sequence, you will find them on the Insert Yate Field and Insert Yate Field (Initial Value) context menus with the built in fields.