# Translate Rating

This function is used to translate the internal representation of a track ratings.

This function is closely tied to changing the Rating Mapping type in Preferences-Audio. You must specify that ratings in FLAC/OGG and/or ID3 and/or MPEG-4 based and/or APE (.ape and .wv) audio files are to be translated. You must also specify if you are translating all ratings or only the default rating displayed on the Info edit panel.

Note changing the rating encoding of MPEG-4 files is extremely rare. The only application which seems to write different value in MPEG-4 files is JRiver Media Center which writes Direct*2 values.

This function requires that open files had the Full (0-255) rating mapping when they were loaded. When ratings are loaded with the Full (0-255) rating mapping they are not modified. If you are translating from Direct (0-5), Apple (0-100) or Direct*2 (0-10), change the mapping to Full (0-255) prior to executing this function. The function will terminate if the associated rating mappings are not currently set to Full (0-255) in Preferences-Audio.

As the rating values will not have been translated when loaded, you must supply the format of the source values. The following source formats are available:

Current
  The mappings in the files have the same encoding as the current internal mapping.
Default
  The mappings in the files have a Full (0-255) encoding with Yate's default Full Rating mapping.
Custom
  The mappings in the files have a Full (0-255) encoding with a Full Rating mapping which is different than the current Full Rating mapping. You must specify the custom mapping which was used when the ratings were written.
Direct
  The mappings in the files have a Direct (0-5) encoding.
Apple
  The mappings in the files have an Apple (0-100) encoding.
Direct*2
  The mappings in the files have a Direct*2 (0-10) encoding.

You must also specify the encoding that you are translating to. Note that even though the rating mapping is currently Full (0-255) you must specify the encoding that you eventually want to use. Typically this statement will be run via the Batch Processor. After the batch run is complete, you would change the Full (0-255) mappings to the encodings your wrote. The following encodings may be specified for the to format:

Current
  The source values will be translated to the current internal Full Rating mapping. If the source format is Current the resultant values will be normalized to be a pure star value.
Direct
  The source values will be translated to the Direct (0-5) encoding.
Apple
  The source values will be translated to the Apple (0-100) encoding.
Direct*2
  The source values will be translated to the Direct*2 (0-10) encoding.

## Custom Mapping Format

If Custom was specified for source a custom mapping must be supplied. The following describes the format of the custom ratings:

A rating mapping assigns star values of 0 through 5 for every value in the range of 0 through 255. For every star value a single value in the range of 0 through 255 must be marked as the 'write' value. The value 0 is pre mapped to zero stars and zero stars always has a write value of 0. Assignments are entered free form. Spaces and new line characters are ignored. Commas may be specified between assignments.

Assignment examples:

> Treat the value 4 as 3 stars: 4=3
> Treat all values from 25 to 50 as 2 stars: 25-50=2
> Treat 253 as 5 stars and make 253 the 5 star write value: 253*=5
> Treat 250 through 255 as 5 stars and make 255 the 5 star write value: 250-255*=5
> Treat 51-65 as 2 stars and make 51 the 2 star write value: 51*-65=2

Note that custom mappings are validated at run time. To check if an entered custom mapping is valid, use the associated Validate button.

Additional Information:

How Ratings Work

Notes on Translating Ratings