https://wiki.jriver.com/api.php?action=feedcontributions&user=Marko&feedformat=atomJRiverWiki - User contributions [en]2024-03-29T06:22:12ZUser contributionsMediaWiki 1.27.7https://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17706Release Notes MC322024-03-28T18:56:18Z<p>Marko: </p>
<hr />
<div>'''32.0.32 (3/28/2024)'''<br />
<br><br />
1. Changed: Updated to LAV Filters 0.79.1 to fix an issue with HEVC playback glitches.<br><br />
<br><br />
<br><br />
'''32.0.31 (3/28/2024)'''<br />
<br><br />
1. Changed: When face-tagging an image, if a click falls on an existing region, that region is automatically selected. If the click hits outside of any existing region, the user will be prompted to choose an action (Add a new region, Edit selected existing region, Edit nearest existing region, or Cancel).<br><br />
2. Changed: When a field has a description, it is returned in the Library/Fields call.<br><br />
3. Changed: When setting up auto-import on a Portable Install, the system drive is replaced with (Install Drive) to be more portable.<br><br />
4. Changed: When face-tagging an image, all existing regions' rectangles will be drawn on the image.<br><br />
5. Changed: Updated the Catalan language (thanks Josep).<br><br />
<br><br />
<br><br />
'''32.0.30 (3/26/2024)'''<br />
<br><br />
1. Fixed: Updated Netflix integration to fix playback failures due to recent Netflix changes.<br><br />
2. Fixed: Video playback with subtitles could hang since 32.0.28.<br><br />
3. Changed: When resizing Rename, Move, & Copy Files the extra height is spread between the two expression editors.<br><br />
4. Changed: Updated to LAV Filters 0.79 for VVC video support, and improved reliability when streaming HLS content.<br><br />
<br><br />
<br><br />
'''32.0.29 (3/22/2024)'''<br />
<br><br />
1. '''NEW:''' Added ShortTime date formatting string.<br><br />
2. Changed: Tweaked Theater View file info templates (v2.5 of templates file).<br />
* For TV Shows: Add option variable to show/hide director. Display small episode thumbnail.<br><br />
* For Shows and Movies: Add Watched status display. Use new ShortTime formatting for end times. Add option variable for date formatting which defaults to ShortDate. Add option variable to show/hide Recommended title text.<br><br />
3. Changed: In Image Face-tagging, if a rectangle is created on the image (by user clicking in the image) while the list of regions is still empty, a new region is automatically created, and the user is prompted to enter more details.<br><br />
4. '''NEW:''' Added a "Test output" command to Options > Audio. It will save the current settings and try playing a sample file with the current settings.<br><br />
5. Changed: Removed the Help menu option to leave error free mode since it's now in the view menu.<br><br />
6. Changed: The view extras submenu no longer hits the filesystem when it's added to a menu (only when the menu is opened).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138498.0.html 32.0.28 (3/21/2024)]'''<br />
<br><br />
1. '''NEW:''' Added an error free toolbar button to show the status and allow toggling. Also added to the view menu.<br><br />
2. Fixed: Double-click on the play button was not stopping.<br><br />
3. '''NEW:''' The brightness of PGS subtitles on HDR movies is checked to determine if they are proper HDR subtitles, and are treated as SDR subtitles if not.<br><br />
4. Fixed: XMP image tagging did not work with some non-ASCII characters. <br><br />
<br><br />
<br><br />
'''32.0.27 (3/19/2024)'''<br />
<br><br />
1. Fixed: Some Sat>IP channels scanned since MC29 would not play because a tuner type matching failed.<br><br />
2. Changed: Running a command line argument or double-clicking files exits error free mode.<br><br />
3. Changed: "lr" is added to "words" that should be always all-capitalized during auto case correction.<br><br />
4. Changed: Updated Spanish translation (thanks Leandro Botella Penalva).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138447.0.html 32.0.26 (3/14/2024)]'''<br />
<br><br />
1. Fixed: Merging of image [People] and [Image Regions] did not work if the latter is empty.<br><br />
2. '''NEW:''' Added Theater View file info template for TV Shows using Spotlight data. (v2.4 of templates file)<br><br />
3. Changed: Particle creation from chapters works on blu-rays.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138420.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''32.0.24 (3/7/2024)'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recordig settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated. <br><br />
<br><br />
<br><br />
'''32.0.23 (3/5/2024)'''<br />
<br><br />
1. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
2. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
3. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
4. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
5. Fixed: While playing a live TV channel on a client using a server TV tuner, switching to a different media type (e.g. Audio or Video) without explicitly clicking the Stop button would cause the server tuner not to be released (for an hour).<br><br />
<br><br />
<br><br />
'''32.0.22 (2/29/2024)'''<br />
<br><br />
1. Changed: Updated the new / improved this version link to v32.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
4. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
5. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
<br><br />
<br><br />
'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17705Release Notes MC322024-03-28T18:55:37Z<p>Marko: </p>
<hr />
<div>'''32.0.31 (3/28/2024)'''<br />
<br><br />
1. Changed: When face-tagging an image, if a click falls on an existing region, that region is automatically selected. If the click hits outside of any existing region, the user will be prompted to choose an action (Add a new region, Edit selected existing region, Edit nearest existing region, or Cancel).<br><br />
2. Changed: When a field has a description, it is returned in the Library/Fields call.<br><br />
3. Changed: When setting up auto-import on a Portable Install, the system drive is replaced with (Install Drive) to be more portable.<br><br />
4. Changed: When face-tagging an image, all existing regions' rectangles will be drawn on the image.<br><br />
5. Changed: Updated the Catalan language (thanks Josep).<br><br />
<br><br />
<br><br />
'''32.0.30 (3/26/2024)'''<br />
<br><br />
1. Fixed: Updated Netflix integration to fix playback failures due to recent Netflix changes.<br><br />
2. Fixed: Video playback with subtitles could hang since 32.0.28.<br><br />
3. Changed: When resizing Rename, Move, & Copy Files the extra height is spread between the two expression editors.<br><br />
4. Changed: Updated to LAV Filters 0.79 for VVC video support, and improved reliability when streaming HLS content.<br><br />
<br><br />
<br><br />
'''32.0.29 (3/22/2024)'''<br />
<br><br />
1. '''NEW:''' Added ShortTime date formatting string.<br><br />
2. Changed: Tweaked Theater View file info templates (v2.5 of templates file).<br />
* For TV Shows: Add option variable to show/hide director. Display small episode thumbnail.<br><br />
* For Shows and Movies: Add Watched status display. Use new ShortTime formatting for end times. Add option variable for date formatting which defaults to ShortDate. Add option variable to show/hide Recommended title text.<br><br />
3. Changed: In Image Face-tagging, if a rectangle is created on the image (by user clicking in the image) while the list of regions is still empty, a new region is automatically created, and the user is prompted to enter more details.<br><br />
4. '''NEW:''' Added a "Test output" command to Options > Audio. It will save the current settings and try playing a sample file with the current settings.<br><br />
5. Changed: Removed the Help menu option to leave error free mode since it's now in the view menu.<br><br />
6. Changed: The view extras submenu no longer hits the filesystem when it's added to a menu (only when the menu is opened).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138498.0.html 32.0.28 (3/21/2024)]'''<br />
<br><br />
1. '''NEW:''' Added an error free toolbar button to show the status and allow toggling. Also added to the view menu.<br><br />
2. Fixed: Double-click on the play button was not stopping.<br><br />
3. '''NEW:''' The brightness of PGS subtitles on HDR movies is checked to determine if they are proper HDR subtitles, and are treated as SDR subtitles if not.<br><br />
4. Fixed: XMP image tagging did not work with some non-ASCII characters. <br><br />
<br><br />
<br><br />
'''32.0.27 (3/19/2024)'''<br />
<br><br />
1. Fixed: Some Sat>IP channels scanned since MC29 would not play because a tuner type matching failed.<br><br />
2. Changed: Running a command line argument or double-clicking files exits error free mode.<br><br />
3. Changed: "lr" is added to "words" that should be always all-capitalized during auto case correction.<br><br />
4. Changed: Updated Spanish translation (thanks Leandro Botella Penalva).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138447.0.html 32.0.26 (3/14/2024)]'''<br />
<br><br />
1. Fixed: Merging of image [People] and [Image Regions] did not work if the latter is empty.<br><br />
2. '''NEW:''' Added Theater View file info template for TV Shows using Spotlight data. (v2.4 of templates file)<br><br />
3. Changed: Particle creation from chapters works on blu-rays.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138420.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''32.0.24 (3/7/2024)'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recordig settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated. <br><br />
<br><br />
<br><br />
'''32.0.23 (3/5/2024)'''<br />
<br><br />
1. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
2. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
3. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
4. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
5. Fixed: While playing a live TV channel on a client using a server TV tuner, switching to a different media type (e.g. Audio or Video) without explicitly clicking the Stop button would cause the server tuner not to be released (for an hour).<br><br />
<br><br />
<br><br />
'''32.0.22 (2/29/2024)'''<br />
<br><br />
1. Changed: Updated the new / improved this version link to v32.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
4. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
5. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
<br><br />
<br><br />
'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Mac&diff=17704Release Notes MC32 Mac2024-03-28T18:52:38Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138561.0.html 32.0.31 (3/28/2024)]'''<br />
<br><br />
1. Changed: When face-tagging an image, if a click falls on an existing region, that region is automatically selected. If the click hits outside of any existing region, the user will be prompted to choose an action (Add a new region, Edit selected existing region, Edit nearest existing region, or Cancel).<br><br />
2. Changed: When a field has a description, it is returned in the Library/Fields call.<br><br />
3. Changed: When face-tagging an image, all existing regions' rectangles will be drawn on the image.<br><br />
4. Changed: Updated the Catalan language (thanks Josep).<br><br />
5. Changed: When resizing Rename, Move, & Copy Files the extra height is spread between the two expression editors.<br><br />
6. '''NEW:''' Added ShortTime date formatting string.<br><br />
7. Changed: Tweaked Theater View file info templates (v2.5 of templates file).<br><br />
* For TV Shows: Add option variable to show/hide director. Display small episode thumbnail.<br><br />
* For Shows and Movies: Add Watched status display. Use new ShortTime formatting for end times. Add option variable for date formatting which defaults to ShortDate. Add option variable to show/hide Recommended title text.<br><br />
8. Changed: In Image Face-tagging, if a rectangle is created on the image (by user clicking in the image) while the list of regions is still empty, a new region is automatically created, and the user is prompted to enter more details.<br><br />
9. '''NEW:''' Added a "Test output" command to Options > Audio. It will save the current settings and try playing a sample file with the current settings.<br><br />
10. Changed: Removed the Help menu option to leave error free mode since it's now in the view menu.<br><br />
11. Changed: The view extras submenu no longer hits the filesystem when it's added to a menu (only when the menu is opened).<br><br />
12. '''NEW:''' Added an error free toolbar button to show the status and allow toggling. Also added to the view menu.<br><br />
13. Fixed: Double-click on the play button was not stopping.<br><br />
14. Fixed: The brightness of PGS subtitles on HDR movies is checked to determine if they are proper HDR subtitles, or should be treated as SDR subtitles instead.<br><br />
15. Fixed: XMP image tagging did not work with some non-ASCII characters.<br><br />
16. Fixed: Some Sat>IP channels scanned since MC29 would not play because a tuner type matching failed.<br><br />
17. Changed: Running a command line argument or double-clicking files exits error free mode.<br><br />
18. Changed: "lr" is added to "words" that should be always all-capitalized during auto case correction.<br><br />
19. Changed: Updated Spanish translation (thanks Leandro Botella Penalva).<br><br />
20. Fixed: Merging of image [People] and [Image Regions] did not work if the latter is empty.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138416.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
10. Fixed: Issues with the menu bar when entering and returning from fullscreen display view and theater view modes on MacOS 13 and above.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138372.msg959796.html#msg959796 32.0.23 (3/7/2024)]'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recording settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated.<br><br />
8. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
9. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
10. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
11. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
12. Changed: Updated the new / improved this version link to v32.<br><br />
13. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
14. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
15. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
16. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
17. Fixed: The EXIF parser could crash on malformed files.<br><br />
18. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
19. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
20. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
21. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
22. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138248.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
3. Changed: List drawing supports the alpha parameter on text.<br><br />
4. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
5. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
6. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
7. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
8. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
9. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
10. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
11. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
12. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
13. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
14. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
15. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
16. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
17. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
18. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
19. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
20: Fixed: CD ripping could only be initialed from Drives & Devices. Now it can also be initiated from Rip Disc.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138166.0.html 32.0.17 (2/13/2024)]'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138124.0.html 32.0.15 (2/9/2024)]'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
5. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
6. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
7. Changed: Moved the "convert to pre-composed UTF8" into a separate function and allowed it to fix filenames as well as stock string fields.<br><br />
8. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138104.0.html 32.0.13 (2/6/2024)]'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138056.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. Fixed: Crash on CD insertion.<br><br />
8. Fixed: Crash on tabbing views.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138038.0.html 32.0.11 (1/30/2024)]'''<br />
<br><br />
1. '''NEW:''' Implemented program links.<br><br />
2. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
3. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
4. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
5. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.10 (1/26/2024)]'''<br />
<br><br />
1. Fixed: Crash on exiting Options from the Tree and View page.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Possible fix for unusual event processing crashes. Needs feedback, especially from universal control users.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137895.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. Fixed: File Associations being set on first run of a new major version of MC wouldn't work and popup a black box with no information in it.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Linux&diff=17703Release Notes MC32 Linux2024-03-28T18:50:02Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138562.0.html 32.0.31 (3/28/2024)]'''<br />
<br><br />
1. Changed: When face-tagging an image, if a click falls on an existing region, that region is automatically selected. If the click hits outside of any existing region, the user will be prompted to choose an action (Add a new region, Edit selected existing region, Edit nearest existing region, or Cancel).<br><br />
2. Changed: When a field has a description, it is returned in the Library/Fields call.<br><br />
3. Changed: When face-tagging an image, all existing regions' rectangles will be drawn on the image.<br><br />
4. Changed: Updated the Catalan language (thanks Josep).<br><br />
5. Changed: When resizing Rename, Move, & Copy Files the extra height is spread between the two expression editors.<br><br />
6. '''NEW:''' Added ShortTime date formatting string.<br><br />
7. Changed: Tweaked Theater View file info templates (v2.5 of templates file).<br><br />
* For TV Shows: Add option variable to show/hide director. Display small episode thumbnail.<br><br />
* For Shows and Movies: Add Watched status display. Use new ShortTime formatting for end times. Add option variable for date formatting which defaults to ShortDate. Add option variable to show/hide Recommended title text.<br><br />
8. Changed: In Image Face-tagging, if a rectangle is created on the image (by user clicking in the image) while the list of regions is still empty, a new region is automatically created, and the user is prompted to enter more details.<br><br />
9. '''NEW:''' Added a "Test output" command to Options > Audio. It will save the current settings and try playing a sample file with the current settings.<br><br />
10. Changed: Removed the Help menu option to leave error free mode since it's now in the view menu.<br><br />
11. Changed: The view extras submenu no longer hits the filesystem when it's added to a menu (only when the menu is opened).<br><br />
12. '''NEW:''' Added an error free toolbar button to show the status and allow toggling. Also added to the view menu.<br><br />
13. Fixed: Double-click on the play button was not stopping.<br><br />
14. Fixed: The brightness of PGS subtitles on HDR movies is checked to determine if they are proper HDR subtitles, or should be treated as SDR subtitles instead.<br><br />
15. Fixed: XMP image tagging did not work with some non-ASCII characters.<br><br />
16. Fixed: Some Sat>IP channels scanned since MC29 would not play because a tuner type matching failed.<br><br />
17. Changed: Running a command line argument or double-clicking files exits error free mode.<br><br />
18. Changed: "lr" is added to "words" that should be always all-capitalized during auto case correction.<br><br />
19. Changed: Updated Spanish translation (thanks Leandro Botella Penalva).<br><br />
20. Fixed: Merging of image [People] and [Image Regions] did not work if the latter is empty.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138417.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138375.0.html 32.0.23 (3/7/2024)]'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recording settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated.<br><br />
8. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
9. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
10. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
11. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
12. Changed: Updated the new / improved this version link to v32.<br><br />
13. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
14. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
15. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
16. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
17. Fixed: The EXIF parser could crash on malformed files.<br><br />
18. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
19. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
20. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
21. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
22. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138249.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
3. Changed: List drawing supports the alpha parameter on text.<br><br />
4. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
5. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
6. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
7. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
8. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
9. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
10. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
11. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
12. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
13. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
14. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
15. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
16. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
17. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
18. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
19. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
20: Fixed: CD ripping could only be initialed from Drives & Devices. Now it can also be initiated from Rip Disc.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138168.0.html 32.0.17 (2/13/2024)]'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
14. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
15. Changed: Loading views starts in the saved views folder under the library.<br><br />
16. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
17. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
18. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
19. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
20. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
21. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
22. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
23. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
24. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
25. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
26. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
27. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
28. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
29. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
30. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
31. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138057.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
8. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
9. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
10. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Updated package dependencies.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137898.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. '''NEW:''' For MC32 the initial run will copy upgrade the library, data, skins and trackinfos from the most recent previous major version of MC.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. '''NEW:''' GTKWebKit added as an internal browser choice.<br><br />
8. Fixed: The background color for window creation was red/blue value swapped.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Linux&diff=17702Release Notes MC32 Linux2024-03-28T18:49:07Z<p>Marko: </p>
<hr />
<div>'''[ 32.0.31 (3/28/2024)]'''<br />
<br><br />
1. Changed: When face-tagging an image, if a click falls on an existing region, that region is automatically selected. If the click hits outside of any existing region, the user will be prompted to choose an action (Add a new region, Edit selected existing region, Edit nearest existing region, or Cancel).<br><br />
2. Changed: When a field has a description, it is returned in the Library/Fields call.<br><br />
3. Changed: When face-tagging an image, all existing regions' rectangles will be drawn on the image.<br><br />
4. Changed: Updated the Catalan language (thanks Josep).<br><br />
5. Changed: When resizing Rename, Move, & Copy Files the extra height is spread between the two expression editors.<br><br />
6. '''NEW:''' Added ShortTime date formatting string.<br><br />
7. Changed: Tweaked Theater View file info templates (v2.5 of templates file).<br><br />
* For TV Shows: Add option variable to show/hide director. Display small episode thumbnail.<br><br />
* For Shows and Movies: Add Watched status display. Use new ShortTime formatting for end times. Add option variable for date formatting which defaults to ShortDate. Add option variable to show/hide Recommended title text.<br><br />
8. Changed: In Image Face-tagging, if a rectangle is created on the image (by user clicking in the image) while the list of regions is still empty, a new region is automatically created, and the user is prompted to enter more details.<br><br />
9. '''NEW:''' Added a "Test output" command to Options > Audio. It will save the current settings and try playing a sample file with the current settings.<br><br />
10. Changed: Removed the Help menu option to leave error free mode since it's now in the view menu.<br><br />
11. Changed: The view extras submenu no longer hits the filesystem when it's added to a menu (only when the menu is opened).<br><br />
12. '''NEW:''' Added an error free toolbar button to show the status and allow toggling. Also added to the view menu.<br><br />
13. Fixed: Double-click on the play button was not stopping.<br><br />
14. Fixed: The brightness of PGS subtitles on HDR movies is checked to determine if they are proper HDR subtitles, or should be treated as SDR subtitles instead.<br><br />
15. Fixed: XMP image tagging did not work with some non-ASCII characters.<br><br />
16. Fixed: Some Sat>IP channels scanned since MC29 would not play because a tuner type matching failed.<br><br />
17. Changed: Running a command line argument or double-clicking files exits error free mode.<br><br />
18. Changed: "lr" is added to "words" that should be always all-capitalized during auto case correction.<br><br />
19. Changed: Updated Spanish translation (thanks Leandro Botella Penalva).<br><br />
20. Fixed: Merging of image [People] and [Image Regions] did not work if the latter is empty.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138417.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138375.0.html 32.0.23 (3/7/2024)]'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recording settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated.<br><br />
8. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
9. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
10. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
11. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
12. Changed: Updated the new / improved this version link to v32.<br><br />
13. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
14. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
15. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
16. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
17. Fixed: The EXIF parser could crash on malformed files.<br><br />
18. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
19. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
20. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
21. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
22. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138249.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
3. Changed: List drawing supports the alpha parameter on text.<br><br />
4. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
5. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
6. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
7. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
8. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
9. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
10. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
11. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
12. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
13. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
14. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
15. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
16. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
17. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
18. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
19. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
20: Fixed: CD ripping could only be initialed from Drives & Devices. Now it can also be initiated from Rip Disc.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138168.0.html 32.0.17 (2/13/2024)]'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
14. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
15. Changed: Loading views starts in the saved views folder under the library.<br><br />
16. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
17. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
18. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
19. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
20. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
21. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
22. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
23. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
24. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
25. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
26. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
27. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
28. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
29. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
30. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
31. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138057.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
8. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
9. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
10. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Updated package dependencies.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137898.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. '''NEW:''' For MC32 the initial run will copy upgrade the library, data, skins and trackinfos from the most recent previous major version of MC.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. '''NEW:''' GTKWebKit added as an internal browser choice.<br><br />
8. Fixed: The background color for window creation was red/blue value swapped.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17701Release Notes MC322024-03-26T19:37:31Z<p>Marko: </p>
<hr />
<div>'''32.0.30 (3/26/2024)'''<br />
<br><br />
1. Fixed: Updated Netflix integration to fix playback failures due to recent Netflix changes.<br><br />
2. Fixed: Video playback with subtitles could hang since 32.0.28.<br><br />
3. Changed: When resizing Rename, Move, & Copy Files the extra height is spread between the two expression editors.<br><br />
4. Changed: Updated to LAV Filters 0.79 for VVC video support, and improved reliability when streaming HLS content.<br><br />
<br><br />
<br><br />
'''32.0.29 (3/22/2024)'''<br />
<br><br />
1. '''NEW:''' Added ShortTime date formatting string.<br><br />
2. Changed: Tweaked Theater View file info templates (v2.5 of templates file).<br />
* For TV Shows: Add option variable to show/hide director. Display small episode thumbnail.<br><br />
* For Shows and Movies: Add Watched status display. Use new ShortTime formatting for end times. Add option variable for date formatting which defaults to ShortDate. Add option variable to show/hide Recommended title text.<br><br />
3. Changed: In Image Face-tagging, if a rectangle is created on the image (by user clicking in the image) while the list of regions is still empty, a new region is automatically created, and the user is prompted to enter more details.<br><br />
4. '''NEW:''' Added a "Test output" command to Options > Audio. It will save the current settings and try playing a sample file with the current settings.<br><br />
5. Changed: Removed the Help menu option to leave error free mode since it's now in the view menu.<br><br />
6. Changed: The view extras submenu no longer hits the filesystem when it's added to a menu (only when the menu is opened).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138498.0.html 32.0.28 (3/21/2024)]'''<br />
<br><br />
1. '''NEW:''' Added an error free toolbar button to show the status and allow toggling. Also added to the view menu.<br><br />
2. Fixed: Double-click on the play button was not stopping.<br><br />
3. '''NEW:''' The brightness of PGS subtitles on HDR movies is checked to determine if they are proper HDR subtitles, and are treated as SDR subtitles if not.<br><br />
4. Fixed: XMP image tagging did not work with some non-ASCII characters. <br><br />
<br><br />
<br><br />
'''32.0.27 (3/19/2024)'''<br />
<br><br />
1. Fixed: Some Sat>IP channels scanned since MC29 would not play because a tuner type matching failed.<br><br />
2. Changed: Running a command line argument or double-clicking files exits error free mode.<br><br />
3. Changed: "lr" is added to "words" that should be always all-capitalized during auto case correction.<br><br />
4. Changed: Updated Spanish translation (thanks Leandro Botella Penalva).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138447.0.html 32.0.26 (3/14/2024)]'''<br />
<br><br />
1. Fixed: Merging of image [People] and [Image Regions] did not work if the latter is empty.<br><br />
2. '''NEW:''' Added Theater View file info template for TV Shows using Spotlight data. (v2.4 of templates file)<br><br />
3. Changed: Particle creation from chapters works on blu-rays.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138420.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''32.0.24 (3/7/2024)'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recordig settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated. <br><br />
<br><br />
<br><br />
'''32.0.23 (3/5/2024)'''<br />
<br><br />
1. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
2. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
3. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
4. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
5. Fixed: While playing a live TV channel on a client using a server TV tuner, switching to a different media type (e.g. Audio or Video) without explicitly clicking the Stop button would cause the server tuner not to be released (for an hour).<br><br />
<br><br />
<br><br />
'''32.0.22 (2/29/2024)'''<br />
<br><br />
1. Changed: Updated the new / improved this version link to v32.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
4. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
5. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
<br><br />
<br><br />
'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Decimal()&diff=17700Decimal()2024-03-23T10:38:22Z<p>Marko: Redirected page to Formatting Functions#Decimal</p>
<hr />
<div>#redirect [[Formatting Functions#Decimal]]<br />
<br />
[[Category:Expression Functions]]</div>Markohttps://wiki.jriver.com/index.php?title=Formatting_Functions&diff=17699Formatting Functions2024-03-23T10:37:27Z<p>Marko: </p>
<hr />
<div>{{Function Type Page}}<br />
<br />
The functions in this section format their arguments in specific ways.<br />
Some functions are used for formatting values for better presentation, or according to some format, while other functions work on Media Center internal "raw" data to convert to user-friendly formats.<br />
<br />
Certain Media Center fields are used to store values in ways that are internally convenient or efficient. But these field values are not terribly useful or meaningful when used directly.<br />
<br />
For example, the Duration field holds values as a number seconds of length, while various Date/Time fields such as Date or Last Played store values as floating point numbers specifying a number of days and fractions of a day since a particular epoch time.<br />
<br />
Media Center will generally format fields using the "display" format where necessary, such as in panes, file list columns, or various tools such as the Rename, Move & Copy tool.<br />
When a function requires a raw field value, or you want to access a raw field value, by sure to use the raw field format.<br />
This is done by appending a <span style="font-family: monospace,monospace; font-size:1em;"><b>,0</b></span> to the field's name inside the brackets, for example <span style="font-family: monospace,monospace; font-size:1em;">[Date Imported,0]</span>.<br />
<br />
=== <span id="Decimal">Decimal(&hellip;)</span> ===<br />
: Standardises the decimal point to be a dot rather than a comma<br />
<br />
{{function description box<br />
| name=Decimal<br />
| arguments=Number<br />
| description=<br />
''Number'' is required.<br />
The [[#Decimal|Decimal()]] function can be useful for those regions that use a comma to denote a decimal point. It will take that decimal number with the comma and output the same number with a decimal point. (.)<br />
| examples=<br />
'''{{monospace|<nowiki>Decimal(4,76)</nowiki>}}'''<br />
: Returns 4.76<br />
}}<br />
<br />
=== <span id="Delimit">Delimit(&hellip;)</span> ===<br />
: Outputs a value with head/tail strings when value is non-empty.<br />
<br />
{{function description box<br />
| name=Delimit<br />
| arguments=expression, tail, head<br />
| description=<br />
{{argument optional|tail|SPACE}}<br />
{{argument optional|head|EMPTY}}<br />
The [[#Delimit|Delimit()]] function outputs the value of <i>expression</i> prepended with a <i>head</i> string and/or appended with a <i>tail</i> string, but only if the value of the <i>expression</i> is non-empty. Nothing is output when the <i>expression</i> evaluates to empty.<br />
| examples=<br />
'''{{monospace|<nowiki>delimit([Track #], .)</nowiki>}}'''<br />
: Appends a period after a track number if [Track #] is not empty, such as {{monospace|12}}.<br />
'''{{monospace|<nowiki>delimit([Date (year)], {, })</nowiki>}}'''<br />
: Outputs the year surrounded by curly braces, for example {{monospace|2012}}.<br />
}}<br />
<br />
=== <span id="FormatBoolean">FormatBoolean(&hellip;)</span> ===<br />
: Formats a boolean (true / false) value in a specified manner.<br />
<br />
{{function description box<br />
| name=FormatBoolean<br />
| arguments=conditional, true string, false string<br />
| description=<br />
{{argument optional|true string|true}}<br />
{{argument optional|false string|false}}<br />
The [[#FormatBoolean|FormatBoolean()]] function outputs <i>true string</i> and <i>false string</i> values to represent the 0 or 1 Boolean output resulting from the <i>conditional</i> expression. When the <i>conditional</i> evaluates to 1, the <i>true string</i> will be output, otherwise the <i>false string</i> will be output.<br />
| examples=<br />
'''{{monospace|<nowiki>formatboolean(isempty([number plays]), Never Played, Has Been Played)</nowiki>}}'''<br />
: Returns <span style="font-family: monospace,monospace; font-size:1em;">Never Played</span> when the expression [[#IsEmpty|IsEmpty()]] evaluates to 0, and <span style="font-family: monospace,monospace; font-size:1em;">Has Been Played</span> when it evaluates to 1.<br />
'''{{monospace|<nowiki>formatboolean(math([track #] % 2)</nowiki>}}'''<br />
: Outputs the default True label for odd track numbers, and the default False label for even ones.<br />
}}<br />
<br />
=== <span id="FormatDuration">FormatDuration(&hellip;)</span> ===<br />
: Presents a duration of seconds in a reader friendly format.<br />
<br />
{{function description box<br />
| name=FormatDuration<br />
| arguments=duration value<br />
| description=<br />
The [[#FormatDuration|FormatDuration()]] function formats a <i>duration value</i> into a friendly format. The <i>duration value</i> argument is expected to be a value representing a number of seconds, typically used for media file duration. Media Center internally stores duration values in seconds.<br />
| examples=<br />
'''{{monospace|<nowiki>formatduration([duration,0])</nowiki>}}'''<br />
: Outputs a friendly display of the duration field. This is the same output shown using the Duration field in a file list.<br />
'''{{monospace|<nowiki>formatduration(600)</nowiki>}}'''<br />
: This will output ten minutes in the format <span style="font-family: monospace,monospace; font-size:1em;">10:00</span>.<br />
}}<br />
<br />
=== <span id="FormatFileSize">FormatFileSize(&hellip;)</span> ===<br />
: Presents a number of bytes in a reader friendly format.<br />
<br />
{{function description box<br />
| name=FormatFileSize<br />
| arguments=bytes value<br />
| description=<br />
The [[#FormatFileSize|FormatFileSize()]] function formats a <i>bytes value</i> into a friendly format. The <i>bytes value</i> argument is expected to be a value representing a number of bytes, typically used for media file size. Media Center internally stores file size values in bytes. [[#FormatFileSize|FormatFileSize()]] will convert those byte values into unitized friendly formats such as 50 bytes, 3.2 KB or 10.4 MB.<br />
| examples=<br />
'''{{monospace|<nowiki>formatfilesize([file size,0])</nowiki>}}'''<br />
: Outputs a friendly format of the file size field. This is the same output shown using the File Size field in a file list.<br />
'''{{monospace|<nowiki>formatfilesize(56123456)</nowiki>}}'''<br />
: Outputs the <i>bytes value</i> 56,123,456 as <span style="font-family: monospace,monospace; font-size:1em;">53.5 MB</span>.<br />
}}<br />
<br />
=== <span id="FormatNumber">FormatNumber(&hellip;)</span> ===<br />
: Formats and rounds a number to a specified number of decimal places.<br />
<br />
{{function description box<br />
| name=FormatNumber<br />
| arguments=value, decimal places, label zero, label plural, label singular<br />
| description=<br />
{{argument optional|decimal places|0}}<br />
{{argument optional|label zero|''label plural''}}<br />
{{argument optional|label plural|''omitted''}}<br />
{{argument optional|label singular|''omitted''}}<br />
The [[#FormatNumber|FormatNumber()]] function formats a numeric <i>value</i> to a specified number of <i>decimal places</i>, rounding its <i>value</i>, and optionally outputs <i>value</i>-dependent labels, which can be used to construct more grammatically-correct output. The <i>value</i> can be any numeric <i>value</i>. The <i>decimal places</i> argument specifies the number of digits to be used after the decimal point. Use -1 to output as many <i>decimal places</i> as available.<br />
<br />
The label selected depends on the original <i>value</i>, not the resulting formatted <i>value</i>.<br />
<br />
The <i>label zero</i> argument is output instead of a formatted <i>value</i> when the original <i>value</i> is 0. When this label is specified as empty, <i>label plural</i> is used. The <i>label plural</i> argument is appended to the formatted <i>value</i> when the original <i>value</i> is more than 1. The <i>label singular</i> argument is appended to the formatted <i>value</i> when the original <i>value</i> is equal to 1.<br />
<br />
'''''Note''''': [[#FormatNumber|FormatNumber()]] will not output additional zero's after the decimal point. In other words, [[#FormatNumber|FormatNumber()]] rounds fractional values, but does not zero fill.<br />
| examples=<br />
'''{{monospace|<nowiki>formatnumber([duration,0], 2)</nowiki>}}'''<br />
: Returns a file's duration (which are in seconds) rounding to two <i>decimal places</i>.<br />
'''{{monospace|<nowiki>formatnumber([number plays,0], 0, Unplayed, Plays, Play)</nowiki>}}'''<br />
: Outputs values in whole number formats (no decimals shown). When the number of plays is 0, the output will be <span style="font-family: monospace,monospace; font-size:1em;">Unplayed</span>. When it is more than one, such as six, outputs <span style="font-family: monospace,monospace; font-size:1em;">6 Plays</span>. And when the number of plays is one, outputs <span style="font-family: monospace,monospace; font-size:1em;">1 Play</span>.<br />
'''{{monospace|<nowiki>formatnumber([number plays,0], 0, , Plays, Play)</nowiki>}}'''<br />
: Same as the previous example, but uses the default <i>value</i> for <i>label zero</i> (which is <i>label plural</i>), so that when number of plays is zero, output is <span style="font-family: monospace,monospace; font-size:1em;">0 Plays</span>.<br />
'''{{monospace|<nowiki>formatnumber([number plays,0], , , , Time)</nowiki>}}'''<br />
: In this example, only <i>label singular</i> argument is specified (as <span style="font-family: monospace,monospace; font-size:1em;">Time</span>), so all other arguments use their defaults values. The output will be <span style="font-family: monospace,monospace; font-size:1em;">0</span> when number of plays is zero, <span style="font-family: monospace,monospace; font-size:1em;">1 Time</span> when number of plays is one, and the actual number of plays for other values (e.g. <span style="font-family: monospace,monospace; font-size:1em;">6</span>).<br />
}}<br />
<br />
=== <span id="FormatRange">FormatRange(&hellip;)</span> ===<br />
: Formats a value as a range.<br />
<br />
{{function description box<br />
| name=FormatRange<br />
| arguments=value, range size, mode<br />
| description=<br />
{{argument optional|range size|1}}<br />
{{argument optional}}<br />
The [[#FormatRange|FormatRange()]] function creates numerical or alphabetic groupings of size <i>range size</i>, and returns the grouping where <i>value</i> falls. Only the first character of <i>value</i> is considered and used. The <i>range size</i> is a numerical <i>value</i> specifying how wide the range should be. Numeric ranges are 0-based. The <i>mode</i> specifies the type of range grouping.<br />
<br />
{{argument table<br />
| name=mode<br />
| contents=<br />
{{argument table row|0|Automatically choose between number / letter grouping}}<br />
{{argument table row|1|Letter grouping}}<br />
{{argument table row|2|Number grouping}}<br />
}}<br />
| examples=<br />
'''{{monospace|<nowiki>formatrange([artist], 3, 1)</nowiki>}}'''<br />
: Outputs the range that the artist's first letter falls within. With a <i>range size</i> of 3 and using <i>mode</i> 1 (letter grouping), ranges will be produced in the form of<br />
<span style="font-family: monospace,monospace; font-size:1em;">a-c</span>, <span style="font-family: monospace,monospace; font-size:1em;">d-f</span>, <span style="font-family: monospace,monospace; font-size:1em;">g-i</span>, etc.<br />
'''{{monospace|<nowiki>formatrange([artist])</nowiki>}}'''<br />
: With <i>range size</i> and <i>mode</i> values left unspecified, default values are used, so automatic range groupings of size 1 are output. Hence, the first character of [artist] will be output.<br />
'''{{monospace|<nowiki>formatrange([bitrate], 100, 2)</nowiki>}}'''<br />
: Numeric range groupings of size 100 will be output, for the <i>value</i> of <span style="font-family: monospace,monospace; font-size:1em;">[bitrate]</span>. Possible outputs are: <span style="font-family: monospace,monospace; font-size:1em;">0-99</span>, <span style="font-family: monospace,monospace; font-size:1em;">100-199</span>, <span style="font-family: monospace,monospace; font-size:1em;">200-299</span>, etc.<br />
'''Additional Examples:'''<br />
* [http://wiki.jriver.com/index.php/CD_Reference_Number How to produce 1-based range values.]<br />
}}<br />
<br />
=== <span id="Orientation">Orientation(&hellip;)</span> ===<br />
: Outputs the orientation of an image.<br />
<br />
{{function description box<br />
| name=Orientation<br />
| arguments=<br />
| description=<br />
The [[#Orientation|Orientation()]] function outputs a term indicating the orientation of an image file. {{argument table<br />
| name=output<br />
| contents=<br />
{{argument table row|Portrait|When height > width.}}<br />
{{argument table row|Square|<nowiki>When height = width.</nowiki>}}<br />
{{argument table row|Landscape|When width > height}}<br />
}}<br />
| examples=<br />
'''{{monospace|<nowiki>if(isequal(orientation(), Square), Square, Rectangle)</nowiki>}}'''<br />
: Outputs <span style="font-family: monospace,monospace; font-size:1em;">Square</span> for square images or <span style="font-family: monospace,monospace; font-size:1em;">Rectangle</span> for portrait and landscape images.<br />
}}<br />
<br />
=== <span id="PadNumber">PadNumber(&hellip;)</span> ===<br />
: Adds leading zeros to any given number<br />
<br />
{{function description box<br />
| name=PadNumber<br />
| arguments=value, number digits<br />
| description=<br />
The [[#PadNumber|PadNumber()]] function adds leading zeros to any given number <i>value</i>, producing a <i>value</i> of length <i>number digits</i>. This function can also be used to reduce or remove the current level of padding by specifying a lower ''number digits'' than are currently used, or 0 to remove all additional padding.<br />
| examples=<br />
'''{{monospace|<nowiki>padnumber([track #], 2)</nowiki>}}'''<br />
: This will pad the track number with leading zeros sufficient to ensure the output is minimally two digits in length.<br />
'''{{monospace|<nowiki>padnumber(counter(), 4)</nowiki>}}'''<br />
: Outputs 4 digits of zero-padded numbers produced by [[Counter()]]. For example, <span style="font-family: monospace,monospace; font-size:1em;">0001</span>, <span style="font-family: monospace,monospace; font-size:1em;">0002</span>, <span style="font-family: monospace,monospace; font-size:1em;">0003</span>, etc.<br />
'''{{monospace|PadNumber(0005, 0)}}'''<br />
: Removes extra padding and outputs {{monospace|5}}.<br />
}}<br />
<br />
=== <span id="RatingStars">RatingStars(&hellip;)</span> ===<br />
: Outputs the value of Rating as a number of star characters.<br />
<br />
{{function description box<br />
| name=RatingStars<br />
| arguments=<br />
| description=<br />
The [[#RatingStars|RatingStars()]] function outputs the Rating field's value as the equivalent number of black star characters.<br />
| examples=<br />
'''{{monospace|<nowiki>ratingstars()</nowiki>}}'''<br />
: For a file that has a Rating of 4, outputs &#9733;&#9733;&#9733;&#9733;.<br />
}}<br />
<br />
=== <span id="RatingStars10">RatingStars10(&hellip;)</span> ===<br />
: Outputs the value of a 10 star rating field as a number of star characters.<br />
<br />
{{function description box<br />
| name=RatingStars10<br />
| arguments=rating<br />
| description=<br />
The [[#RatingStars10|RatingStars10()]] function outputs a given 10 star rating field's value as the equivalent number of black star characters.<br />
<br />
'''Note:''' This function only requires the field name, ''without'' the usual square brackets.<br />
| examples=<br />
'''{{monospace|<nowiki>ratingstars10(10 Star Rating)</nowiki>}}'''<br />
: For a file that has a <nowiki>[10 Star Rating]</nowiki> value of 8, return will be &#9733;&#9733;&#9733;&#9733;&#9733;&#9733;&#9733;&#9733;.<br />
}}<br />
<br />
=== <span id="Watched">Watched(&hellip;)</span> ===<br />
: Outputs a formatted video bookmark.<br />
<br />
{{function description box<br />
| name=Watched<br />
| arguments=mode<br />
| description=<br />
{{argument optional}}<br />
The [[#Watched|Watched()]] function outputs a video's bookmark position in a human-readable format, using a specified <i>mode</i>.<br />
<br />
{{argument table<br />
| name=mode<br />
| contents=<br />
{{argument table row|0|Output a human-readable watched status.}}<br />
{{argument table row|1|Output a numeric watched value (see Watched Status Values below).}}<br />
{{argument table row|2|Output a watched checkmark &#x2713; if watched.}}<br />
}}<br />
{{argument table<br />
| name=numeric watched status<br />
| contents=<br />
{{argument table row|-1|File type is not Video}}<br />
{{argument table row|0|Not watched.}}<br />
{{argument table row|1|Partially watched.}}<br />
{{argument table row|2|Entirely watched.}}<br />
}}<br />
| examples=<br />
'''{{monospace|<nowiki>watched()</nowiki>}}'''<br />
: Outputs formatted watched status, such as <span style="font-family: monospace,monospace; font-size:1em;">57% on Sep 25</span>, or <span style="font-family: monospace,monospace; font-size:1em;">Aug 21</span>, or nothing when the video has not been watched.<br />
'''{{monospace|<nowiki>ifelse(compare(watched(1), =, 1), Finish Me, compare(watched(1), =, 2), I'm Done)</nowiki>}}'''<br />
: Outputs <span style="font-family: monospace,monospace; font-size:1em;">Finish Me</span> if the video has been partially watched, and <span style="font-family: monospace,monospace; font-size:1em;">I'm Done</span> when completely watched.<br />
}}</div>Markohttps://wiki.jriver.com/index.php?title=Expression_Language&diff=17698Expression Language2024-03-23T10:24:05Z<p>Marko: /* Formatting Functions */</p>
<hr />
<div>{{Tocright}}<br />
Media Center provides a simple programming language that enhances and enriches its overall user interface and usability.<br />
This language, commonly called the expression language, is simple to learn, simple to use, and can greatly enhance your experience using Media Center.<br />
<br />
Expressions are ubiquitous throughout Media Center, used in areas such as:<br />
:* The categories in a view<br />
:* File list expression columns<br />
:* Theater View<br />
:* Customized view headers, grouping and sort criteria<br />
:* The library field manager (fields with data type Calculated data)<br />
:* File and folder location definitions<br />
:* Auto-import rules<br />
:* Custom DLNA titles<br />
:* The player's display<br />
:* Captions and thumbnail text<br />
:* The link manager (expressions help format link URLs)<br />
:* Rename, Move, & Copy tool<br />
:* Tag assignment<br />
:* Complex search queries<br />
<br />
An expression is a mixture of ordinary text, pre-defined functions, and a few reserved characters and constructs that have special meaning. An expression is evaluated by Media Center's expression engine and textual output is produced. This output is then used by Media Center to customize the user interface and affect its method of operation.<br />
<br />
== The Anatomy of an Expression ==<br />
<br />
As mentioned above, an expression is a mixture of text and function calls (and some reserved stuff described shortly).<br />
The simplest expression would be some basic, literal text, such as <span style="font-family: monospace,monospace; font-size:1em;">A good movie</span>.<br />
The expression engine evaluates this expression, finds nothing special, and then outputs the result: <span style="font-family: monospace,monospace; font-size:1em;">A good movie</span>. Simple.<br />
<br />
But simple text only has so much utility.<br />
The ability to transform or generate content is much more interesting and useful.<br />
And this is when [[#Functions|functions]] are employed.<br />
Media Center [[#Function Index|provides many functions]], which when called, produce some output.<br />
Most functions require some form of input, called arguments, and most functions generate output.<br />
By supplying a function with various arguments, the function will return some output value which is just more text.<br />
And this output text can be the used by other functions, and so on.<br />
Each function has a unique name, and calling upon a function to do some work requires little more that using its name anywhere in the expression.<br />
<br />
A function call looks like this:<br />
<br />
:{{monospace|<i>functionname</i><b>(</b><i>argument 1</i>, <i>argument 2</i>, ...<b>)</b>}}<br />
<br />
The syntax of the function call is the function's case-insensitive name, immediately followed by an opening parenthesis character, one or more comma-separated arguments, and a closing parenthesis character.<br />
Whitespace after the commas is optional, but helps readability and formatting.<br />
And each argument itself is also just an expression. And some arguments are optional.<br />
If an argument is optional, it can be omitted and its default value will be used.<br />
If the argument is omitted, a comma-separator will still be required if additional arguments follow.<br />
The following example uses the [[String_Manipulation_Functions#FixCase|FixCase()]] function to change its input to Title Case:<br />
<br />
:{{monospace|fixcase(A good movie)}}<br />
<br />
The result is <span style="font-family: monospace,monospace; font-size:1em;">A Good Movie</span>.<br />
<br />
A slightly more complex expression example consists of both text and a nested function call:<br />
<br />
:{{monospace|Wow! fixcase(replace(A good movie, good, great))}}<br />
<br />
Inner functions are called before outer functions, so the [[String_Manipulation_Functions#Replace|Replace()]] function is call first:<br />
<br />
:{{monospace|replace(A good movie, good, great)}}<br />
<br />
and its output is then supplied as the input to the [[String_Manipulation_Functions#FixCase|FixCase()]] function.<br />
[[String_Manipulation_Functions#Replace|Replace()]] does its work substituting {{monospace|good}} with {{monospace|great}}, and returns {{monospace|A great movie}}.<br />
This output is then supplied as the argument to [[String_Manipulation_Functions#FixCase|FixCase()]] which sees only the text {{monospace|A great movie}} (it knows nothing about how it was produced). So the function call:<br />
<br />
:{{monospace|fixcase(A great movie)}}<br />
<br />
in turn outputs {{monospace|A Great Movie}}.<br />
Now that the functions have produced their output, the final output, including the literal {{monospace|Wow!}} leading text is<br />
<br />
:{{monospace|Wow! A Great Movie}}<br />
<br />
== Fields ==<br />
The expression examples thus far have been limited to static literal text.<br />
Expressions have much more utility when they use data from other sources, such as a file's metadata.<br />
Media Center maintains this metadata in its defined fields.<br />
This data is accessed using the [[Accessing_and_Storing_Functions#Field|Field()]] function, and its first argument is the case-insensitive name of the field to be accessed.<br />
For example, the function call <span style="font-family: monospace,monospace; font-size:1em;">field(album)</span> will return the current* file's value for the album field (* more will be said later about the current file).<br />
If the album field contained the value <span style="font-family: monospace,monospace; font-size:1em;">After Hours</span>, the expression:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">fixcase(field(album), 3)</span></div><br />
<br />
would produce <span style="font-family: monospace,monospace; font-size:1em;">AFTER HOURS</span>.<br />
First <span style="font-family: monospace,monospace; font-size:1em;">field(album)</span> is evaluated, returning <span style="font-family: monospace,monospace; font-size:1em;">After Hours</span>.<br />
The [[String_Manipulation_Functions#FixCase|FixCase()]] function is supplied with this output as its first argument, and its second argument is <span style="font-family: monospace,monospace; font-size:1em;">3</span>, which happens to specify that it should perform upper-casing.<br />
<br />
Because fields are so frequently used in expressions, an abbreviated form called [[square bracket notation]] exists for accessing their values. This makes it easier to both read and write expressions.<br />
Nonetheless, both forms are equivalent.<br />
The abbreviated form is simple: immediately surround the field's name with opening and closing square brackets, for example, <span style="font-family: monospace,monospace; font-size:1em;">[album]</span>.<br />
The previous example is now written more simply as:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">fixcase([album], 3)</span></div><br />
<br />
=== Field Values ===<br />
For the sake of simplicity and clarity, the section above glossed over an important detail regarding how<br />
Media Center outputs field values.<br />
Recall that [[Accessing_and_Storing_Functions#Field|Field()]] is the function used to return the value of a specified field.<br />
But [[Accessing_and_Storing_Functions#Field|Field()]] also has a second argument that indicates the format of the value that it returns.<br />
Because field values are used in a variety of situations, the [[Accessing_and_Storing_Functions#Field|Field()]] function can produce output suitably formatted for the requirements.<br />
There are two forms of output: one is a nice, friendly human-readable format suitable for use in views or other display locations; the other is a raw format which returns the representation stored internally by Media Center which is useful when uninterpreted values are necessary.<br />
<br />
By default, Media Center <i>always</i> outputs the friendly format, so expressions sometimes need to take this into account and chose the format accordingly.<br />
<br />
Not used earlier because it is optional, the second argument to the [[Accessing_and_Storing_Functions#Field|Field()]] function selects the mode of output:<br />
the value <span style="font-family: monospace,monospace; font-size:1em;">0</span> selects the raw mode, and the default value of <span style="font-family: monospace,monospace; font-size:1em;">1</span> selects the friendly mode.<br />
Here are two examples using the date field, the first one outputs the date value in raw format, the second in the friendly format:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">field(date, 0)</span></div><br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">field(date, 1)</span></div><br />
<br />
==== Field Values: Override the expression, and [This] ====<br />
[[File:ExpressionOverride.png|right]]<br />
When creating (or editing) an expression based field, there is an option, shown in the image on the right, to "Allow custom data to override the expression".<br />
When enabled, it becomes possible to open the tag for editing either inline or in the tag window, just as you would any other regular tag, and replace the expression derived data with any other static data. Complex expression based fields can very easily slow view loading times to a crawl, and in many cases, this option can help speed things up again. Imagine an expression based field that manipulates another, otherwise static field, such the [Date] field. The returned expression values will never change, so why waste time evaluating the same results over and over, when you can simply replace them with static data and so forego any future expression processing?<br />
<br />
Media Center 28 saw the introduction of a [https://yabb.jriver.com/interact/index.php/topic,124543.msg906895.html#msg906895 [This]] variable that can also be invoked, so, using the example, ''=removeleft([This], 4)'' would remove four characters from the left of "this field".<br />
<br />
The new [This] variable can be used to override expression data. Select one, or 1000s of files, then edit, either inline or in the tag window, using the simple expression ''=[this]'' and apply to have MC replace the expression result with, the expression result, which from that point forwards, will be static data and the expression will no longer run ''<u>for those files</u>''.<br />
<br />
To remove the static data and return to expression evaluated data instead, simply edit again, deleting the static data, which when applied, will cause the expression evaluated result to return.<br />
<br />
'''<u>Note:</u>''' Use this "override" option with care. It requires least maintenance when used in situations where ''all'' expression values for all files for that field will be replaced with static data. Currently (October 2022) there is no way to differentiate between static data and expression derived data meaning the potential for things to get very confusing, very quickly, is very high indeed.<br />
<br />
'''<u>Note 2:</u>''' MC32 comes with the addition of the [[IsOverridden()|IsOverridden(...)]] function that now allows us to filter any given expression based field based on its override status.<br />
<br />
==== Field Values: Empty, 0, and 1 ====<br />
The Media Center expression language does not strongly differentiate between the numeric value zero <span style="font-family: monospace,monospace; font-size:1em;">0</span> and emptiness<br />
for numeric field types Integer and Decimal.<br />
And in some cases, the numeric value of <span style="font-family: monospace,monospace; font-size:1em;">1</span> is treated similarly to the empty value.<br />
<br />
When a value of 0 is entered as a numeric field's value, the raw value will be shown as <span style="font-family: monospace,monospace; font-size:1em;">0</span>,<br />
but the display format (as in the file list) will be shown as empty.<br />
The empty display allows for less visual noise in the user interface, since a column full of <span style="font-family: monospace,monospace; font-size:1em;">0</span> values is not usually helpful.<br />
In fact, if you attempt to set a numeric field's value to <span style="font-family: monospace,monospace; font-size:1em;">0</span> in the file list, it will immediately be displayed as empty.<br />
<br />
Generally this difference is unimportant, except when testing numeric values with [[Test_and_Comparison_Functions#IsEmpty|IsEmpty()]] or [[Test_and_Comparison_Functions#IsEqual|IsEqual()]].<br />
It is easy to be fooled when testing such a value if the value shown in a file list is empty.<br />
The values shown in the Tag Action Window will reveal the actual raw value, as will an expression column using the field's raw format.<br />
<br />
Another consideration for integer fields is that when sorting, a <span style="font-family: monospace,monospace; font-size:1em;">1</span> value can sometimes sort indistinguishably from an empty value.<br />
The Integer type <span style="font-family: monospace,monospace; font-size:1em;">disc #</span> field is typically empty when an album consists of only one disc, and as such, Media Center will sort<br />
the <span style="font-family: monospace,monospace; font-size:1em;">disc #</span> values of empty (<span style="font-family: monospace,monospace; font-size:1em;">0</span>) and <span style="font-family: monospace,monospace; font-size:1em;">1</span> identically.<br />
<br />
The friendly output of a field can differ, depending on context.<br />
For example, in a file list, and empty field will be shown as blank, but in the Rename, Move & Copy tool,<br />
it will be output as <span style="font-family: monospace,monospace; font-size:1em;">Unknown Disc #</span> (this ensures no blank values are generated as path components).<br />
To test such a field, always use and test against the raw format, and then expressions will be context agnostic.<br />
<br />
===Field Assignment===<br />
<div><br />
The output of an expression can be used to assign a value to a tag.<br />
This is accomplished by preceding the expression with an <span style="font-family: monospace,monospace; font-size:1em;">=</span> character.<br />
The <span style="font-family: monospace,monospace; font-size:1em;">=</span> character causes the tagging engine to invoke the expression evaluator first,<br />
and then to use its output as the value to assign to the field.<br />
[[File:Field_Assignment_with_Expression.png|right]]<br />
Without the prepended <span style="font-family: monospace,monospace; font-size:1em;">=</span> character, the literal expression text itself and not its evaluated value would be stored in the tag.<br />
The expression can refer to the field's own value to modify itself, and this offers a convenient way to perform complex transformations on field values.<br />
For example, the assignment expression<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">=removeleft([name], 4)</span></div><br />
<br />
entered into an edit cell for the <span style="font-family: monospace,monospace; font-size:1em;">name</span> field would remove<br />
four characters from the left of the <span style="font-family: monospace,monospace; font-size:1em;">name</span> field's current value.<br />
An assignment expression can be entered into the Tag Action Window, or by using inline editing in the file list or a pane entry.<br />
The image on the right shows in-place field assignment.<br />
<br />
Note: Undo is supported, reverting each tag to its value prior to the assignment.<br />
Redo is also supported, reapplying the most recent Undo.<br />
</div><br />
<br />
== Expression Language Syntax ==<br />
Now that the basics have been covered, the more rigorous rules of the expression language syntax can be described.<br />
<br />
:* An expression is any sequence of literal text and any number of function calls.<br />
:* Expressions are read and evaluated left to right. Literal text is output unmodified, function calls are evaluated and their return values output.<br />
:* Fields designated using [[square bracket notation]] are expanded into the equivalent [[Accessing_and_Storing_Functions#Field|Field()]] function call.<br />
:* Nested function calls are evaluated from the innermost function to outermost function, and again, left to right when one function follows another.<br />
:* A function is evaluated and its returned value contextually replaces the function call in the expression<br />
:* Within a function's argument list, whitespace is ignored before and after commas, after an opening parenthesis, and before a closing parenthesis.<br />
:* The forward-slash escape character <span style="font-family: monospace,monospace; font-size:1em;">/</span> disables the special meaning of the character that follows it.<br />
:* The escape sequence <span style="font-family: monospace,monospace; font-size:1em;">/#</span> followed by <span style="font-family: monospace,monospace; font-size:1em;">#/</span> escapes everything inside.<br />
:* The escape sequence <nowiki>/* followed by /*</nowiki> will escape everything inside returning it as given without formatting or processing.<br />
:* To use a literal parenthesis, comma, or whitespace inside of function argument lists, escape them. Whitespace within an argument's value is literal and does not need to be escaped when it is surrounded by other non-whitespace text.<br />
:* An expression may be split into multiple lines, but when it does not satisfy the conditions above regarding whitespace around function parenthesis and commas, use a forward-slash escape as the last character before the newline. Extraneous newlines in the expression editor will produce a trailing ellipsis (...) in the output.<br />
<br />
=== How Expressions Are Evaluated ===<br />
Expressions are evaluated in the context where they are used.<br />
For example, an expression column in a file list is evaluated relative to those files in the file list.<br />
And the general flow is that for each file in the list, the expression is evaluated and produces output.<br />
The expression only has access to the fields available for the file currently being evaluated.<br />
This is important to remember, so it bears repeating.<br />
One file after another, an expression is evaluated against that single file, its output is produced and stored away for use later,<br />
and then the result of that evaluation is entirely forgotten before the next file is evaluated.<br />
This means, the expression evaluator cannot use the results from one file's evaluated expression with the results of another<br />
file's evaluation.<br />
<br />
=== Expressions and Locales ===<br />
Media Center will respect the Windows locale setting for output values produced by certain functions,<br />
and within the values of certain fields.<br />
This is important to consider when writing expressions that consume such values.<br />
Under most circumstances, such values cause no harm.<br />
However special care must be taken with functions that require the use of period as the decimal point.<br />
One such function is [[Miscellaneous_Functions#Math|Math()]], which always uses period as the decimal point.<br />
If your locale uses some other character such as comma, these characters will have to be converted into periods before the<br />
critical function is called.<br />
Handling this problem is not difficult. Before passing to [[Miscellaneous_Functions#Math|Math()]] any floating point number,<br />
use [[String_Manipulation_Functions#Replace|Replace()]] first when necessary to convert the locale's decimal character into a period.<br />
Fields that cause problems are any fields that produce floating-point values,<br />
such as any Date type field in raw format (e.g. <span style="font-family: monospace,monospace; font-size:1em;">[date,0]</span>, <span style="font-family: monospace,monospace; font-size:1em;">[last played,0]</span>, <span style="font-family: monospace,monospace; font-size:1em;">[date modified,0]</span>, and <span style="font-family: monospace,monospace; font-size:1em;">[date imported,0]</span>),<br />
or any textual field that contains floating-point values that will be used for various calculations<br />
(e.g. any of the Dynamic Range variants).<br />
Certain functions such as [[Date_and_Time_Functions#Now|Now()]] and [[Date_and_Time_Functions#ConvertTime|ConvertTime()]] also return localized floating-point values.<br />
Consider also that the expression parser uses comma as the argument separator.<br />
Any literal numeric values specified as a function argument must have any embedded commas escaped.<br />
<br />
=== A Complex Expression Example ===<br />
[[File:Expression_Editor.png|right]]<br />
Here is a more complex expression example that illustrates the various rules discussed above regarding expressions:<br />
<br />
<span style="font-family: monospace,monospace; font-size:1em;"><br />
<div style="margin-left: 20pt">if( IsEmpty( [Disc #] ),</div><br />
<div style="margin-left: 40pt">Disc number is empty,</div><br />
<div style="margin-left: 40pt">Delimit(</div><br />
<div style="margin-left: 60pt">field(disc #) , </div><br />
<div style="margin-left: 60pt">/) ,</div><br />
<div style="margin-left: 60pt">DISC /(</div><br />
<div style="margin-left: 40pt">)</div><br />
<div style="margin-left: 20pt">)</div><br />
</span><br />
<br />
The expression demonstrates that<br />
:* whitespace before and after commas or opening and closing parenthesis is ignored<br />
:* expressions can be safely split into multiple lines using the whitespace rules just mentioned<br />
:* function and field names are case insensitive<br />
:* forward slash is used and required to escape parenthesis (see inside the [[Formatting_Functions#Delimit|Delimit()]] function)<br />
:* whitespace does not require escapement when surrounded by other characters (see after the <span style="font-family: monospace,monospace; font-size:1em;">C</span> in <span style="font-family: monospace,monospace; font-size:1em;">DISC</span>)<br />
:* literal text is output unmodified (<span style="font-family: monospace,monospace; font-size:1em;">Disc number is empty</span>)<br />
:* functions can be nested (Both [[Test_and_Comparison_Functions#IsEmpty|IsEmpty()]] and [[Formatting_Functions#Delimit|Delimit()]] are nested within the [[Conditional_Functions#If|If()]] function, and the [[Accessing_and_Storing_Functions#Field|Field()]] function is nested within [[Formatting_Functions#Delimit|Delimit()]]<br />
<br />
When the expression is run, files that have no disc number will produce <span style="font-family: monospace,monospace; font-size:1em;">Disc number is empty</span>,<br />
and files that have, say, a disc number value of <span style="font-family: monospace,monospace; font-size:1em;">3</span> will produce <span style="font-family: monospace,monospace; font-size:1em;">DISC (3)</span>.<br />
<br />
== Functions ==<br />
<br />
Functions enable you to transform or generate content automatically. For background information on how functions are used in expressions, refer to [[#The Anatomy of an Expression|The Anatomy of an Expression]] section above.<br />
<br />
This section describes all the various functions provided by Media Center's Expression Language.<br />
<br />
=== Function Arguments ===<br />
<br />
As discussed [[#The_Anatomy_of_an_Expression|above]], a function call consists of the function's case-insensitive name, immediately followed by an opening parenthesis character, one or more comma-separated arguments, and a closing parenthesis character:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;"><i>functionname</i><b>(</b><i>argument 1</i>, <i>argument 2</i>, ...<b>)</b></span></div><br />
<br />
Functions may have one or more arguments. In some cases, these arguments are optional, and will automatically use a default value if omitted. For example, these two expressions are equivalent because the mode argument for [[Test_and_Comparison_Functions#IsEmpty|IsEmpty()]] is optional and defaults to 0:<br />
:<span style="font-family: monospace,monospace; font-size:1em;">isempty([comment], 0)</span><br />
:<span style="font-family: monospace,monospace; font-size:1em;">isempty([comment])</span><br />
<br />
In this case, a comma-separator will still be required if additional arguments follow the optional one. Whitespace after the commas is also optional, but helps readability and formatting. However, if any extra arguments are included in a function call which are not valid for that function, they are dropped and omitted from output. This is of particular importance when using string-manipulation functions on text. If the text you enter contains any commas, these must be escaped or the expression engine will consider text after the comma to be additional arguments.<br />
<br />
The arguments themselves are also just expressions, and you can nest multiple functions to achieve complex logic:<br />
:<span style="font-family: monospace,monospace; font-size:1em;">if(isequal([artist], [album], 1), Eponymous, [album])</span><br />
<br />
Nested function calls are always treated as a ''single'' argument when used as the input to another function (so that commas in the output of one function do not need to be escaped to be used as input in another function). This includes fields, since they are expanded to the equivalent [[Accessing_and_Storing_Functions#Field|Field()]] function call.<br />
<br />
:'''''Please Note:''''' In some cases below, such as with [[String_Manipulation_Functions#Unswap|Unswap()]], we have ignored this detail in order to simplify the examples. If you enter any text manually into a function, all commas ''must be'' escaped in order to achieve the correct result. This detail is unimportant in most real-world usages, however, because you will typically use either field values or the output of other functions as the arguments in your expressions. However, if you need to include commas in a string literal argument to a function, you need to escape every one, or block escape the entire argument.<br />
<br />
=== [[Function Index]] ===<br />
Unfortunately, ''when'' these were actually introduced has ''not'' been tracked. The only way to be certain you have access to all of the functions below is to make sure you have the most current build of Media Center installed.<br><br />
The available functions are grouped below based on the type of operation they might perform. If you prefer, a [[Complete Expression Language Alphabetical List|flat, alphabetically sorted function list is available here.]]<br><br />
Over time, as Media Center evolves, expression functions are added or changed. Those changes are typically not reflected here immediately. In the list available [https://yabb.jriver.com/interact/index.php/topic,125477.msg868288.html#msg868288 here, on interact], any entries in red text are currently missing from these wiki pages.<br />
<br />
==== [[Accessing and Storing Functions]] ====<br />
* '''[[Accessing_and_Storing_Functions#Field|Field(&hellip;)]]''': Returns a field's value.<br />
* '''[[Accessing_and_Storing_Functions#FieldQuery|FieldQuery(&hellip;)]]''': Return a list of matches based on a list of fields to search, from a selected scope of files.<br />
* '''[[Accessing_and_Storing_Functions#ItemCount|ItemCount(&hellip;)]]''': Counts the number of files that have the exact same value of the given expression as the file the expression runs in the context of.<br />
* '''[[Accessing_and_Storing_Functions#Load|Load(&hellip;)]]''': Outputs the value of a [[global variable]].<br />
* '''[[Accessing_and_Storing_Functions#Note|Note(&hellip;)]]''': Retrieve note fields.<br />
* '''[[Accessing_and_Storing_Functions#Save|Save(&hellip;)]]''': Saves a value to a [[global variable]].<br />
* '''[[Accessing_and_Storing_Functions#SaveAdd|SaveAdd(&hellip;)]]''': Adds to a [[global variable]].<br />
* '''[[Accessing_and_Storing_Functions#SetField|SetField(&hellip;)]]''': Sets a field's value.<br />
* '''[[Accessing_and_Storing_Functions#Tag|Tag(&hellip;)]]''': Returns a file's physical tag.<br />
<br />
==== [[Conditional Functions]] ====<br />
* '''[[Conditional Functions#And|And(&hellip;)]]''': Tests a set of values and returns 1 if all are true.<br />
* '''[[Conditional Functions#FirstNotEmpty|FirstNotEmpty(&hellip;)]]''': Returns the first non-empty argument.<br />
* '''[[Conditional Functions#If|If(&hellip;)]]''': Conditional ifelse evaluator.<br />
* '''[[Conditional Functions#IfCase|IfCase(&hellip;)]]''': Functions as a switch or select case statement.<br />
* '''[[Conditional Functions#IfElse|IfElse(&hellip;)]]''': Conditional if-elseif evaluator.<br />
* '''[[Conditional Functions#Not|Not(&hellip;)]]''': Negates the results of funtions.<br />
* '''[[Conditional Functions#Or|Or(&hellip;)]]''': Tests a set of values and returns 1 if any are true.<br />
<br />
==== [[Date and Time Functions]] ====<br />
* '''[[Date and Time Functions#CompareDates|CompareDates(&hellip;)]]''': Compares two dates, returning a formatted elapsed period between them<br />
* '''[[Date and Time Functions#ConvertDate|ConvertDate(&hellip;)]]''': Converts a human-readable date to the internal format required for use in date fields<br />
* '''[[Date and Time Functions#DateInRange|DateInRange(&hellip;)]]''': Compares a date with a range of dates<br />
* '''[[Date and Time Functions#FormatDate|FormatDate(&hellip;)]]''': Formats a date value in a specified manner<br />
* '''[[Date and Time Functions#Now|Now(&hellip;)]]''': Retrieve and display the system date<br />
* '''[[Date and Time Functions#PlaylistTime|PlaylistTime(&hellip;)]]''': Returns the time of a track in the current playlist (a sum of all previous durations)<br />
<br />
==== [[File Path and Identifier Functions]] ====<br />
* '''[[File Path and Identifier Functions#DBLocation|DBLocation(&hellip;)]]''': Identifies a file's databases<br />
* '''[[File Path and Identifier Functions#Enviro|Enviro(&hellip;)]]''': Returns the full path to a host system variable<br />
* '''[[File Path and Identifier Functions#FileDBLocation|FileDBLocation(&hellip;)]]''': Identifies a file's databases<br />
* '''[[File Path and Identifier Functions#FileFolder|FileFolder(&hellip;)]]''': Returns the name of a file's parent<br />
* '''[[File Path and Identifier Functions#FileKey|FileKey(&hellip;)]]''': Returns a file's unique internal identifier<br />
* '''[[Miscellaneous Functions#FileLookup()|FileLookup()]]''': Looks up a file based on its filename<br />
* '''[[File Path and Identifier Functions#FileName|FileName(&hellip;)]]''': Returns a file's name component<br />
* '''[[File Path and Identifier Functions#FilePath|FilePath(&hellip;)]]''': Returns a file's path component<br />
* '''[[File Path and Identifier Functions#FileVolume|FileVolume(&hellip;)]]''': Returns a file's volume name component<br />
<br />
==== [[Formatting Functions]] ====<br />
* '''[[Formatting Functions#Decimal|Decimal(&hellip;)]]''': Standardises the decimal point to be a dot rather than a comma<br />
* '''[[Formatting Functions#Delimit|Delimit(&hellip;)]]''': Outputs a value with head/tail strings when value is non-empty<br />
* '''[[Formatting Functions#FormatBoolean|FormatBoolean(&hellip;)]]''': Formats a boolean (true / false) value in a specified manner<br />
* '''[[Formatting Functions#FormatDuration|FormatDuration(&hellip;)]]''': Presents a duration of seconds in a reader friendly format<br />
* '''[[Formatting Functions#FormatFileSize|FormatFileSize(&hellip;)]]''': Presents a number of bytes in a reader friendly format<br />
* '''[[Formatting Functions#FormatNumber|FormatNumber(&hellip;)]]''': Formats and rounds a number to a specified number of decimal places<br />
* '''[[Formatting Functions#FormatRange|FormatRange(&hellip;)]]''': Formats a value as a range<br />
* '''[[Formatting Functions#Orientation|Orientation(&hellip;)]]''': Outputs the orientation of an image<br />
* '''[[Formatting Functions#PadNumber|PadNumber(&hellip;)]]''': Adds leading zeros to any given number<br />
* '''[[Formatting Functions#RatingStars|RatingStars(&hellip;)]]''': Outputs the value of Rating as a number of star characters<br />
* '''[[Formatting Functions#RatingStars10|RatingStars10(&hellip;)]]''': Outputs the value of a 10 star rating field as a number of star characters<br />
* '''[[Formatting Functions#Watched|Watched(&hellip;)]]''': Outputs a formatted video bookmark<br />
<br />
==== [[Grouping Functions]] ====<br />
* '''[[Grouping Functions#GroupCount|GroupCount(&hellip;)]]''': Counts the members of a specified group (in a category or field).<br />
* '''[[Grouping Functions#GroupCountQuery|GroupCountQuery(&hellip;)]]''': Globally counts the number of items in a specified group.<br />
* '''[[Grouping Functions#GroupSummary|GroupSummary(&hellip;)]]''': Smartly summarizes the members of a specified group (mode, mean, min, max, etc as is most logical for that grouping).<br />
* '''[[Grouping Functions#GroupSummaryQuery|GroupSummaryQuery(&hellip;)]]''': Get a summary for the current group of files based on another matching field.<br />
<br />
==== [[List Manipulation Functions]] ====<br />
* '''[[List Manipulation Functions#ListBuild|ListBuild(&hellip;)]]''': Constructs a list from a series of items<br />
* '''[[List Manipulation Functions#ListClean|ListClean(&hellip;)]]''': Various list operations<br />
* '''[[List Manipulation Functions#ListCombine|ListCombine(&hellip;)]]''': Combines two delimited lists into a single delimited list<br />
* '''[[List Manipulation Functions#ListContains|ListContains(&hellip;)]]''': Checks for a value being in a list<br />
* '''[[List Manipulation Functions#ListCount|ListCount(&hellip;)]]''': Returns the number of items in a list<br />
* '''[[List Manipulation Functions#ListEqual|ListEqual(&hellip;)]]''': Checks for equality between two lists<br />
* '''[[List Manipulation Functions#ListFilter|ListFilter(&hellip;)]]''': Filter any list, returning only values within a given range<br />
* '''[[List Manipulation Functions#ListFind|ListFind(&hellip;)]]''': Search a list for a value and return that value, or its index # in the list<br />
* '''[[List Manipulation Functions#ListFormat|ListFormat(&hellip;)]]''': Outputs a given list in a reader friendly format.<br />
* '''[[List Manipulation Functions#ListGrep|ListGrep(&hellip;)]]''': Returns list items containing specified text<br />
* '''[[List Manipulation Functions#ListItem|ListItem(&hellip;)]]''': Returns an item from a location in a list<br />
* '''[[List Manipulation Functions#ListLimit|ListLimit(&hellip;)]]''': Limits the length of a list<br />
* '''[[List Manipulation Functions#ListMath|ListMath(&hellip;)]]''': Perform one of 4 specific math functions on a list containing numbers<br />
* '''[[List Manipulation Functions#ListMix|ListMix(&hellip;)]]''': Combine corresponding values from multiple lists into a new list, using a template to process each item<br />
* '''[[List Manipulation Functions#ListRemove|ListRemove(&hellip;)]]''': Removes a string from a list<br />
* '''[[List Manipulation Functions#ListShuffle|ListShuffle(&hellip;)]]''': Shuffles a list<br />
* '''[[List Manipulation Functions#ListSort|ListSort(&hellip;)]]''': Sort a list of values<br />
<br />
==== [[Miscellaneous Functions]] ====<br />
* '''[[Miscellaneous Functions#AlbumArtist|AlbumArtist(&hellip;)]]''': Returns a file's calculated album artist<br />
* '''[[Miscellaneous Functions#AlbumKey|AlbumKey(&hellip;)]]''': Returns a unique album key for a file<br />
* '''[[Miscellaneous Functions#AlbumType|AlbumType(&hellip;)]]''': Returns the album type for a file<br />
* '''[[Miscellaneous Functions#AudioAnalysisState|AudioAnalysisState(&hellip;)]]''': Returns the state of audio analysis for a file<br />
* '''[[Miscellaneous Functions#Char|Char(&hellip;)]]''': Returns a character from the numeric code of that character<br />
* '''[[Miscellaneous Functions#CustomData|CustomData(&hellip;)]]''': Returns internal data to the expression language<br />
* '''[[Miscellaneous Functions#FileExtension|FileExtension(&hellip;)]]''': Returns the extension of the referenced file<br />
* '''[[Miscellaneous Functions#FilePlaylists()|FilePlaylists(&hellip;)]]''': Returns a list of playlists a file belongs to (Can also be used to search)<br />
* '''[[Miscellaneous Functions#Literal()|Literal(&hellip;)]]''': Returns a string as given without any formatting or processing<br />
* '''[[Miscellaneous Functions#Repeat|Repeat(&hellip;)]]''': Returns any given string repeated the specified number of times<br />
* '''[[Miscellaneous Functions#Row|Row(&hellip;)]]''': Returns the row number of a list entry<br />
* '''[[Miscellaneous Functions#Size|Size(&hellip;)]]''': Returns a file's size in a format specific to the media type<br />
* '''[[Miscellaneous Functions#Translate|Translate(&hellip;)]]''': Converts an English string found in the program to the current language selected in the language menu<br />
* '''[[Miscellaneous Functions#TreeNode|TreeNode(&hellip;)]]''': Returns the selected tree path<br />
* '''[[Miscellaneous Functions#TVInfo|TVInfo(&hellip;)]]''': Miscellaneous television and other pre-formatted information<br />
<br />
==== [[Number Functions]] ====<br />
* '''[[Number Functions#Avg|Avg(&hellip;)]]''': Returns the average from a set of numbers<br />
* '''[[Number Functions#Counter|Counter(&hellip;)]]''': Counts upwards in specified increments<br />
* '''[[Number Functions#Math|Math(&hellip;)]]''': Evaluates a given mathematical formula<br />
* '''[[Number Functions#Max|Max(&hellip;)]]''': Returns the largest value from a set of numbers<br />
* '''[[Number Functions#Min|Min(&hellip;)]]''': Returns the smallest value from a set of numbers<br />
* '''[[Number Functions#Number|Number(&hellip;)]]''': Returns the first number , including decimals, from a given string<br />
* '''[[Number Functions#Rand|Rand(&hellip;)]]''': Returns a random number anywhere between two given numbers<br />
* '''[[Number Functions#Range|Range(&hellip;)]]''': Creates a semi-colon delimited list of numbers in a field<br />
* '''[[Number Functions#Roman|Roman(&hellip;)]]''': Converts any given number to, or from, roman numerals<br />
* '''[[Number Functions#StackCount|StackCount(&hellip;)]]''': Returns the number of files in a stack<br />
* '''[[Number Functions#Sum|Sum(&hellip;)]]''': Returns the sum of a set of numbers<br />
* '''[[Number Functions#TrackNumber|TrackNumber(&hellip;)]]''': Returns a file's track # value<br />
<br />
==== [[String Manipulation Functions]] ====<br />
* '''[[String Manipulation Functions#Clean|Clean(&hellip;)]]''': Clean a string to be used for various operations<br />
* '''[[String Manipulation Functions#Extract|Extract(&hellip;)]]''': Returns a portion of a string bounded by another substring<br />
* '''[[String Manipulation Functions#Find|Find(&hellip;)]]''': Finds a string or character in another string, returning its zero-based position in that string<br />
* '''[[String Manipulation Functions#FixCase|FixCase(&hellip;)]]''': Changes the case of a given string<br />
* '''[[String Manipulation Functions#FixSpacing|FixSpacing(&hellip;)]]''': Intelligently splits adjacent camel-cased words<br />
* '''[[String Manipulation Functions#Hexify|Hexify(&hellip;)]]''': Hexifies a string to make it suitable for web usage<br />
* '''[[String Manipulation Functions#Left|Left(&hellip;)]]''': Retrieves a specified number of characters from the left of a string<br />
* '''[[String Manipulation Functions#Length|Length(&hellip;)]]''': Returns the number of characters in a string<br />
* '''[[String Manipulation Functions#Letter|Letter(&hellip;)]]''': Returns the starting letter or letters of a given string<br />
* '''[[String Manipulation Functions#Mid|Mid(&hellip;)]]''': Retrieves specified characters from a string<br />
* '''[[String Manipulation Functions#MoveArticles|MoveArticles(&hellip;)]]''': Takes "The Beatles" and reverses it to "Beatles, The"<br />
* '''[[String Manipulation Functions#NoArticles|NoArticles(&hellip;)]]''': Takes "The Beatles" and returns "Beatles"<br />
* '''[[String Manipulation Functions#PadLeft|PadLeft(&hellip;)]]''': Pad any string with any character, to the left<br />
* '''[[String Manipulation Functions#PadRight|PadRight(&hellip;)]]''': Pad any string with any character, to the right<br />
* '''[[String Manipulation Functions#Regex|Regex(&hellip;)]]''': Regular expression pattern matching and capture<br />
* '''[[String Manipulation Functions#RemoveCharacters|RemoveCharacters(&hellip;)]]''': Removes a list of characters from a string<br />
* '''[[String Manipulation Functions#RemoveLeft|RemoveLeft(&hellip;)]]''': Trims characters from the beginning of a string<br />
* '''[[String Manipulation Functions#RemoveRight|RemoveRight(&hellip;)]]''': Trims characters from the end of a string<br />
* '''[[String Manipulation Functions#Replace|Replace(&hellip;)]]''': Replace or remove a string segment<br />
* '''[[String Manipulation Functions#Right|Right(&hellip;)]]''': Retrieves a specified number of characters from the right of a string<br />
* '''[[String Manipulation Functions#Swap|Swap(&hellip;)]]''': Takes Firstname Lastname and swaps to Lastname, Firstname<br />
* '''[[String Manipulation Functions#Trim|Trim(&hellip;)]]''': Removes leading and trailing non-printable characters and new lines from a string<br />
* '''[[String Manipulation Functions#TrimLines|TrimLines(&hellip;)]]''': Removes leading and trailing non-printable characters and new lines from a string<br />
* '''[[String Manipulation Functions#UnMoveArticles|UnMoveArticles(&hellip;)]]''': Takes "Beatles, The" and reverses it to restore the normal word order, "The Beatles"<br />
* '''[[String Manipulation Functions#Unswap|Unswap(&hellip;)]]''': Takes Lastname, Firstname and reverses it to Firstname Lastname<br />
* '''[[String Manipulation Functions#Urlify|Urlify(&hellip;)]]''': Takes a string and applies html formatting for browser consumption<br />
<br />
==== [[Test and Comparison Functions]] ====<br />
* '''[[Test and Comparison Functions#Compare|Compare(&hellip;)]]''': Compares two numbers<br />
* '''[[Test and Comparison Functions#IsDigit|IsDigit(&hellip;)]]''': Determines whether or not a given value is digits<br />
* '''[[Test and Comparison Functions#IsDriveMissing|IsDriveMissing(&hellip;)]]''': Checks if a drive is missing<br />
* '''[[Test and Comparison Functions#IsEmpty|IsEmpty(&hellip;)]]''': Tests a value for emptiness<br />
* '''[[Test and Comparison Functions#IsEqual|IsEqual(&hellip;)]]''': Compares two values in one of seventeen specified modes<br />
* '''[[Test and Comparison Functions#IsInPlayingNow|IsInPlayingNow(&hellip;)]]''': Tests to see if a file is in the Playing Now playlist<br />
* '''[[Test and Comparison Functions#IsLowerCase|IsLowerCase(&hellip;)]]''': Tests to see if a value is lower case<br />
* '''[[Test and Comparison Functions#IsMissing|IsMissing(&hellip;)]]''': Tests to see if a file exists on the system<br />
* '''[[Test and Comparison Functions#IsOverridden|IsOveridden(&hellip;)]]''': Tests if an expression is overridden by a value<br />
* '''[[Test and Comparison Functions#IsPlaying|IsPlaying(&hellip;)]]''': Tests to see if a file is in currently being played<br />
* '''[[Test and Comparison Functions#IsRange|IsRange(&hellip;)]]''': Tests a value for inclusion within a given range<br />
* '''[[Test and Comparison Functions#IsRemovable|IsRemovable(&hellip;)]]''': Tests to see if a file is stored on removable media<br />
* '''[[Test and Comparison Functions#IsUpperCase|IsUpperCase(&hellip;)]]''': Tests to see if a value is upper case<br />
* '''[[Test and Comparison Functions#SearchTags|SearchTags(&hellip;)]]''': Finds all fields that contain a value<br />
<br />
== Data Types ==<br />
It was mentioned already that the Media Center expression language is primarily a textual language - it consumes and produces text.<br />
Nonetheless, certain areas of Media Center are influenced by the type of data used or presented,<br />
and sometimes it is useful or necessary to coerce expression output into one data type or another.<br />
Each Media Center field is defined to be of a certain data type,<br />
listed in the [[File_Properties_%28tags%29#Field_Specifications|Field Data Types]] table.<br />
These types influence how values are output, sorted, and interpreted on input.<br />
And expressions always output data of type String.<br />
By coercing the data type of an expression, output formatting and sorting can be controlled in various ways.<br />
<br />
Data types are forced by appending to an expression the string:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[<i>type</i>]</span></div><br />
<br />
where <i><span style="font-family: monospace,monospace; font-size:1em;">type</span></i> is one of the following values:<br />
<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse"><br />
<tr><td style="text-align:left; padding-right:20pt"><b>list</b></td><td>A list of strings, separated by semicolons</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>string</b></td><td>Sorts as strings (with smart number handling)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>number</b></td><td>Sorts values as numbers (decimal or integer)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>integer</b></td><td>Sorts values as integers</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>path</b></td><td>Sorts using a smart filename compare style</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>month</b></td><td>Sorts string month names (i.e. January, February, etc.)</td></tr><br />
</table></div><br />
<br />
=== Calculated Fields and Search ===<br />
<br />
Media Center's [[Search Language]] supports some simple numeric [[Search Language#Comparison_Operators|comparison operators]].<br />
Because expressions always evaluate as a String type, these operators would be unavailable for use in a search query to compare numeric values from a calculated expression field.<br />
In order to use the numeric comparison operators, a calculated expression field can be cast into one of the numeric types.<br />
In your numeric calculated fields, to allow the use Search's numeric comparison operators, add either of the casts:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[integer]</span></div><br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[number]</span></div><br />
<br />
to the end of the field's calculated expression.<br />
<br />
=== Lists and Trees ===<br />
<div><br />
[[File:Datatype_List.png|right]]<br />
The list of output in view categories and pane columns can be modified by forcing the data type to a List type.<br />
Two things happen when the data type is List:<br />
The values within a List type are split into their individual (semicolon-separated) list items<br />
The backslash character takes on a special meaning and becomes another form of separator that creates tree-like hierarchies,<br />
collapsible in panes columns and creates drill-down categories in any category view type (Standard View > Categories, Theater View, DLNA, Gizmo/WebGizmo).<br />
Forcing an expression's type to <span style="font-family: monospace,monospace; font-size:1em;">list</span> causes this list item separation and hierarchy generation.<br />
Alternatively, forcing a List type to <span style="font-family: monospace,monospace; font-size:1em;">string</span> defeats this.<br />
Add the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[list]</span></div><br />
<br />
to the end of an expression to force an expression's output to be considered as a List type.<br />
Conversely, a List type may be forced into a String type by adding the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[string]</span></div><br />
<br />
to the end of an expression.<br />
</div><br />
<br />
=== Sort Order ===<br />
<div><br />
[[File:Datatype_Month.png|right]]<br />
Normally strings are sorted ASCII-betically with some smart numeric sorting.<br />
But this form of sort may not always be desired.<br />
<br />
==== Sorting by Month ====<br />
Generally it is more useful to see month names sorting such that January sorts before April, instead of alphabetically where April would sort before January.<br />
Forcing an expression's type to Month forces string month values to be treated instead as their equivalent numerical month numbers.<br />
For example, the first month January and the third month March sort before the fourth month April.<br />
Add the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[month]</span></div><br />
<br />
to the end of an expression to force an expression's output to be sorted by numeric month values.<br />
<br />
==== Sorting by Path ====<br />
<br />
Path data types sort using smart filename comparisons.<br />
<br />
XXX: Note: This section is incomplete. I cannot distingish any difference between using a datatype of <span style="font-family: monospace,monospace; font-size:1em;">path</span> vs. <span style="font-family: monospace,monospace; font-size:1em;">string</span>. It seems <span style="font-family: monospace,monospace; font-size:1em;">path</span> sort order is always engaged.<br />
<br />
Add the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[path]</span></div><br />
<br />
to the end of an expression to force an expression's output to be smart-sorted by path components.<br />
<br />
</div><br />
<br />
== Expressions and Search ==<br />
The expression language is fully available to the search query engine (Search, Set rules for file display, etc.).<br />
This allows creation of more complex search queries than would otherwise be possible.<br />
An expression-based search query is any valid expression that produces a zero or non-zero numeric output.<br />
The syntax of the query is:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;"><b>[=</b><i>expression</i><b>]=</b><i>numval</i></span></div><br />
<br />
where expression is any valid expression, and numval is the expected numeric output produced by the expression.<br />
The expression is evaluated against the current list of available files and the expression output numerically compared against numval.<br />
All files for which the comparison is true are returned as part of the file list produced by the query and all files that fail the comparison are winnowed from the file list.<br />
<br />
The following example illustrates an expression-based search query:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">[=ismissing([filename (path)]\Folder.jpg)]=1</span></div><br />
<br />
The [[Test_and_Comparison_Functions#IsMissing|IsMissing()]] function is run using the file name argument <span style="font-family: monospace,monospace; font-size:1em;">[filename (path)]</span> appended by <span style="font-family: monospace,monospace; font-size:1em;">\Folder.jpg</span>,<br />
and returns a Boolean value <span style="font-family: monospace,monospace; font-size:1em;">1</span> for files that are missing, and this <span style="font-family: monospace,monospace; font-size:1em;">1</span> is compared against the value <i>numval</i>.<br />
All these files where there was a successful comparison are returned in the file list,<br />
and all those for which the expression produced <span style="font-family: monospace,monospace; font-size:1em;">0</span> are filtered from the file list.<br />
By inverting the comparison and using a <span style="font-family: monospace,monospace; font-size:1em;">0</span> numval, the set of files remaining in the file list would be those that did not match.<br />
<br />
== HTML Font Properties ==<br />
The expression language recognizes a limited set of HTML font properties and attributes. These can be used to set font styles in most text drawing areas, such as captions, thumbnail text and in the configuration of Theater View.<br />
HTML tags are used by surrounding the desired content with an opening and closing tag, in the form of:<br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><<i>tag</i>><i>desired content</i><//<i>tag</i>></span><br />
<br />
The supported HTML tags are:<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse"><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><b></nowiki></b></td><td>Bold</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><i></nowiki></b></td><td>Italics</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><u></nowiki></b></td><td>Underline</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><font></nowiki></b></td><td>Font properties (see attributes below)</td></tr><br />
</table></div><br />
<br />
The <b>font</b> tag supports the following attributes:<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse"><br />
<tr><td style="text-align:left; padding-right:20pt"><b>alpha</b></td><td>Sets alpha-blending percentage (0 - 100)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>color</b></td><td>Sets the foreground color (RGB hex values from 00 to ff in the form of rrggbb)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>bgcolor</b></td><td>Sets the background color (same values as color)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>face</b></td><td>Sets the font face (a font name)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>size</b></td><td>Sets the font size (a percentage scaling value)</td></tr><br />
</table></div><br />
<br />
Any combination of HTML tags and font attributes can be used.<br />
An HTML tag must have an opening and closing tag.<br />
Nesting is allowed, but be sure to properly balance like opening and closing tags.<br />
Attribute values must be double quoted. The closing tag's forward slash requires escapement with an extra forward slash.<br />
The following examples illustrate using HTML font properties:<br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><nowiki><i>This is in italics<//i></nowiki></span><br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><nowiki><i><b>And this is bold and italic<//b><//i></nowiki></span><br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><nowiki><b>The<font color=&quot;ff0000&quot; size=&quot;80&quot; alpha=&quot;50&quot;> Great <//font>Gatsby<//b></nowiki></span><br />
<br />
== Expression Editors ==<br />
There are a couple of variations of dialog or edit field used to enter expressions.<br />
Some allow multi-line expressions, while others are single line, but can be expanded to multi-line editors.<br />
Unfortunately, some single-line editors flatten multi-line expressions into a single line, replacing the newlines with spaces.<br />
<br />
== Acknowledgements ==<br />
A big tip of hat to [[User:Marko|marko]] who tackled the enormous challenge of documenting the MC Expression Language in detail. His work was instrumental and through which has brought clarity and great assistance to Media Center users worldwide.<br />
<br />
Also, a huge thanks to user [[User:MrC|MrC]] who built [[Expression_Language_Archive|the amazing and long-lived previous version of this page]], upon which this is still heavily based.<br />
<br />
The current caretaker of this documentation is forever in their debts.<br />
<br />
[[Category:Frequently Asked Questions]]<br />
[[Category:Developer]]<br />
[[Category:Expression Language]]</div>Markohttps://wiki.jriver.com/index.php?title=Complete_Expression_Language_Alphabetical_List&diff=17697Complete Expression Language Alphabetical List2024-03-23T10:18:34Z<p>Marko: </p>
<hr />
<div>{{Function Type Page}}<br />
<br />
#[[And()|And(…)]]<br><br />
#[[AlbumArtist()|AlbumArtist(…)]]<br><br />
#[[AlbumKey()|AlbumKey(…)]]<br><br />
#[[AlbumType()|AlbumType(…)]]<br><br />
#[[AudioAnalysisState()|AudioAnalysisState(…)]]<br><br />
#[[Avg()|Avg(…)]]<br><br />
#[[Char()|Char(…)]]<br><br />
#[[Clean()|Clean(…)]]<br><br />
#[[Compare()|Compare(…)]]<br><br />
#[[CompareDates()|CompareDates(…)]]<br><br />
#[[ConvertDate()|ConvertDate(…)]]<br><br />
#[[Counter()|Counter(…)]]<br><br />
#[[CustomData()|CustomData(…)]]<br><br />
#[[DateInRange()|DateInRange(…)]]<br><br />
#[[DBLocation()|DBLocation(…)]]<br><br />
#[[Decimal()|Decimal(…)]]<br><br />
#[[Delimit()|Delimit(…)]]<br><br />
#[[Enviro()|Enviro(…)]]<br><br />
#[[Extract()|Extract(…)]]<br><br />
#[[Field()|Field(…)]]<br><br />
#[[FieldQuery()|FieldQuery(…)]]<br><br />
#[[FileDBLocation()|FileDBLocation(…)]]<br><br />
#[[FileExtension()|FileExtension(…)]]<br><br />
#[[FileFolder()|FileFolder(…)]]<br><br />
#[[FileKey()|FileKey(…)]]<br><br />
#[[FileLookup()|FileLookup(…)]]<br><br />
#[[FileName()|FileName(…)]]<br><br />
#[[FilePath()|FilePath(…)]]<br><br />
#[[FilePlaylists()|FilePlaylists()]]<br><br />
#[[FileVolume()|FileVolume(…)]]<br><br />
#[[Find()|Find(…)]]<br><br />
#[[FirstNotEmpty()|FirstNotEmpty(…)]]<br><br />
#[[FixCase()|FixCase(…)]]<br><br />
#[[FixSpacing()|FixSpacing(…)]]<br><br />
#[[FormatBoolean()|FormatBoolean(…)]]<br><br />
#[[FormatDate()|FormatDate(…)]]<br><br />
#[[FormatDuration()|FormatDuration(…)]]<br><br />
#[[FormatFileSize()|FormatFileSize(…)]]<br><br />
#[[FormatNumber()|FormatNumber(…)]]<br><br />
#[[FormatRange()|FormatRange(…)]]<br><br />
#[[GroupCount()|GroupCount(…)]]<br><br />
#[[GroupCountQuery()|GroupCountQuery(…)]]<br><br />
#[[GroupSummary()|GroupSummary(…)]]<br><br />
#[[GroupSummaryQuery()|GroupSummaryQuery(…)]]<br><br />
#[[Hexify()|Hexify(…)]]<br><br />
#[[If()|If(…)]]<br><br />
#[[IfCase()|IfCase(…)]]<br><br />
#[[IfElse()|IfElse(…)]]<br><br />
#[[IsDigit()|IsDigit(…)]]<br><br />
#[[IsDriveMissing()|IsDriveMissing(…)]]<br><br />
#[[IsEmpty()|IsEmpty(…)]]<br><br />
#[[IsEqual()|IsEqual(…)]]<br><br />
#[[IsInPlayingNow()|IsInPlayingNow(…)]]<br><br />
#[[IsLowerCase()|IsLowerCase(…)]]<br><br />
#[[IsMissing()|IsMissing(…)]]<br><br />
#[[IsOverridden()|IsOverridden(…)]]<br><br />
#[[IsPlaying()|IsPlaying(…)]]<br><br />
#[[IsRange()|IsRange(…)]]<br><br />
#[[IsRemovable()|IsRemovable(…)]]<br><br />
#[[IsUpperCase()|IsUpperCase(…)]]<br><br />
#[[ItemCount()|ItemCount(…)]]<br><br />
#[[Left()|Left(…)]]<br><br />
#[[Length()|Length(…)]]<br><br />
#[[Letter()|Letter(…)]]<br><br />
#[[ListBuild()|ListBuild(…)]]<br><br />
#[[ListClean()|ListClean(…)]]<br><br />
#[[ListCombine()|ListCombine(…)]]<br><br />
#[[ListContains()|ListContains(…)]]<br><br />
#[[ListCount()|ListCount(…)]]<br><br />
#[[ListEqual()|ListEqual(…)]]<br><br />
#[[ListFilter()|ListFilter(…)]]<br><br />
#[[ListFind()|ListFind(…)]]<br><br />
#[[ListFormat()|ListFormat(…)]]<br><br />
#[[ListGrep()|ListGrep(…)]]<br><br />
#[[ListItem()|ListItem(…)]]<br><br />
#[[ListLimit()|ListLimit(…)]]<br><br />
#[[ListMath()|ListMath(…)]]<br><br />
#[[ListMix()|ListMix(…)]]<br><br />
#[[ListRemove()|ListRemove(…)]]<br><br />
#[[ListShuffle()|ListShuffle(…)]]<br><br />
#[[ListSort()|ListSort(…)]]<br><br />
#[[Literal()|Literal(…)]]<br><br />
#[[Load()|Load(…)]]<br><br />
#[[Math()|Math(…)]]<br><br />
#[[Max()|Max(…)]]<br><br />
#[[Mid()|Mid(…)]]<br><br />
#[[Min()|Min(…)]]<br><br />
#[[MoveArticles()|MoveArticles(…)]]<br><br />
#[[NoArticles()|NoArticles(…)]]<br><br />
#[[Not()|Not(…)]]<br><br />
#[[Note()|Note(…)]]<br><br />
#[[Now()|Now(…)]]<br><br />
#[[Number()|Number(…)]]<br><br />
#[[Orientation()|Orientation(…)]]<br><br />
#[[Or()|Or(…)]]<br><br />
#[[PadLeft()|PadLeft(…)]]<br><br />
#[[PadNumber()|PadNumber(…)]]<br><br />
#[[PadRight()|PadRight(…)]]<br><br />
#[[PlaylistTime()|PlaylistTime(…)]]<br><br />
#[[Rand()|Rand(…)]]<br><br />
#[[Range()|Range(…)]]<br><br />
#[[RatingStars()|RatingStars(…)]]<br><br />
#[[RatingStars10()|RatingStars10(…)]]<br><br />
#[[Regex()|Regex(…)]]<br><br />
#[[RemoveCharacters()|RemoveCharacters(…)]]<br><br />
#[[RemoveLeft()|RemoveLeft(…)]]<br><br />
#[[RemoveRight()|RemoveRight(…)]]<br><br />
#[[Repeat()|Repeat(…)]]<br><br />
#[[Replace()|Replace(…)]]<br><br />
#[[Right()|Right(…)]]<br><br />
#[[Roman()|Roman(…)]]<br><br />
#[[Row()|Row(…)]]<br><br />
#[[Save()|Save(…)]]<br><br />
#[[SaveAdd()|SaveAdd(…)]]<br><br />
#[[SearchTags()|SearchTags(…)]]<br><br />
#[[SetField()|SetField(…)]]<br><br />
#[[Size()|Size(…)]]<br><br />
#[[StackCount()|StackCount(…)]]<br><br />
#[[Sum()|Sum(…)]]<br><br />
#[[Swap()|Swap(…)]]<br><br />
#[[Tag()|Tag(…)]]<br><br />
#[[TrackNumber()|TrackNumber(…)]]<br><br />
#[[Translate()|Translate(…)]]<br><br />
#[[TreeNode()|TreeNode(…)]]<br><br />
#[[Trim()|Trim(…)]]<br><br />
#[[TrimLines()|TrimLines(…)]]<br><br />
#[[TVInfo()|TVInfo(…)]]<br><br />
#[[UnMoveArticles()|UnMoveArticles(…)]]<br><br />
#[[Unswap()|Unswap(…)]]<br><br />
#[[Urlify()|Urlify(…)]]<br><br />
#[[Watched()|Watched(…)]]<br />
<br />
{{Function Type Page}}<br />
<br />
[[Category:Expression Functions]]</div>Markohttps://wiki.jriver.com/index.php?title=Complete_Expression_Language_Alphabetical_List&diff=17696Complete Expression Language Alphabetical List2024-03-23T10:03:54Z<p>Marko: </p>
<hr />
<div>{{Function Type Page}}<br />
<br />
#[[And()|And(…)]]<br><br />
#[[AlbumArtist()|AlbumArtist(…)]]<br><br />
#[[AlbumKey()|AlbumKey(…)]]<br><br />
#[[AlbumType()|AlbumType(…)]]<br><br />
#[[AudioAnalysisState()|AudioAnalysisState(…)]]<br><br />
#[[Avg()|Avg(…)]]<br><br />
#[[Char()|Char(…)]]<br><br />
#[[Clean()|Clean(…)]]<br><br />
#[[Compare()|Compare(…)]]<br><br />
#[[CompareDates()|CompareDates(…)]]<br><br />
#[[ConvertDate()|ConvertDate(…)]]<br><br />
#[[Counter()|Counter(…)]]<br><br />
#[[CustomData()|CustomData(…)]]<br><br />
#[[DateInRange()|DateInRange(…)]]<br><br />
#[[DBLocation()|DBLocation(…)]]<br><br />
#[[Delimit()|Delimit(…)]]<br><br />
#[[Enviro()|Enviro(…)]]<br><br />
#[[Extract()|Extract(…)]]<br><br />
#[[Field()|Field(…)]]<br><br />
#[[FieldQuery()|FieldQuery(…)]]<br><br />
#[[FileDBLocation()|FileDBLocation(…)]]<br><br />
#[[FileExtension()|FileExtension(…)]]<br><br />
#[[FileFolder()|FileFolder(…)]]<br><br />
#[[FileKey()|FileKey(…)]]<br><br />
#[[FileLookup()|FileLookup(…)]]<br><br />
#[[FileName()|FileName(…)]]<br><br />
#[[FilePath()|FilePath(…)]]<br><br />
#[[FilePlaylists()|FilePlaylists()]]<br><br />
#[[FileVolume()|FileVolume(…)]]<br><br />
#[[Find()|Find(…)]]<br><br />
#[[FirstNotEmpty()|FirstNotEmpty(…)]]<br><br />
#[[FixCase()|FixCase(…)]]<br><br />
#[[FixSpacing()|FixSpacing(…)]]<br><br />
#[[FormatBoolean()|FormatBoolean(…)]]<br><br />
#[[FormatDate()|FormatDate(…)]]<br><br />
#[[FormatDuration()|FormatDuration(…)]]<br><br />
#[[FormatFileSize()|FormatFileSize(…)]]<br><br />
#[[FormatNumber()|FormatNumber(…)]]<br><br />
#[[FormatRange()|FormatRange(…)]]<br><br />
#[[GroupCount()|GroupCount(…)]]<br><br />
#[[GroupCountQuery()|GroupCountQuery(…)]]<br><br />
#[[GroupSummary()|GroupSummary(…)]]<br><br />
#[[GroupSummaryQuery()|GroupSummaryQuery(…)]]<br><br />
#[[Hexify()|Hexify(…)]]<br><br />
#[[If()|If(…)]]<br><br />
#[[IfCase()|IfCase(…)]]<br><br />
#[[IfElse()|IfElse(…)]]<br><br />
#[[IsDigit()|IsDigit(…)]]<br><br />
#[[IsDriveMissing()|IsDriveMissing(…)]]<br><br />
#[[IsEmpty()|IsEmpty(…)]]<br><br />
#[[IsEqual()|IsEqual(…)]]<br><br />
#[[IsInPlayingNow()|IsInPlayingNow(…)]]<br><br />
#[[IsLowerCase()|IsLowerCase(…)]]<br><br />
#[[IsMissing()|IsMissing(…)]]<br><br />
#[[IsOverridden()|IsOverridden(…)]]<br><br />
#[[IsPlaying()|IsPlaying(…)]]<br><br />
#[[IsRange()|IsRange(…)]]<br><br />
#[[IsRemovable()|IsRemovable(…)]]<br><br />
#[[IsUpperCase()|IsUpperCase(…)]]<br><br />
#[[ItemCount()|ItemCount(…)]]<br><br />
#[[Left()|Left(…)]]<br><br />
#[[Length()|Length(…)]]<br><br />
#[[Letter()|Letter(…)]]<br><br />
#[[ListBuild()|ListBuild(…)]]<br><br />
#[[ListClean()|ListClean(…)]]<br><br />
#[[ListCombine()|ListCombine(…)]]<br><br />
#[[ListContains()|ListContains(…)]]<br><br />
#[[ListCount()|ListCount(…)]]<br><br />
#[[ListEqual()|ListEqual(…)]]<br><br />
#[[ListFilter()|ListFilter(…)]]<br><br />
#[[ListFind()|ListFind(…)]]<br><br />
#[[ListFormat()|ListFormat(…)]]<br><br />
#[[ListGrep()|ListGrep(…)]]<br><br />
#[[ListItem()|ListItem(…)]]<br><br />
#[[ListLimit()|ListLimit(…)]]<br><br />
#[[ListMath()|ListMath(…)]]<br><br />
#[[ListMix()|ListMix(…)]]<br><br />
#[[ListRemove()|ListRemove(…)]]<br><br />
#[[ListShuffle()|ListShuffle(…)]]<br><br />
#[[ListSort()|ListSort(…)]]<br><br />
#[[Literal()|Literal(…)]]<br><br />
#[[Load()|Load(…)]]<br><br />
#[[Math()|Math(…)]]<br><br />
#[[Max()|Max(…)]]<br><br />
#[[Mid()|Mid(…)]]<br><br />
#[[Min()|Min(…)]]<br><br />
#[[MoveArticles()|MoveArticles(…)]]<br><br />
#[[NoArticles()|NoArticles(…)]]<br><br />
#[[Not()|Not(…)]]<br><br />
#[[Note()|Note(…)]]<br><br />
#[[Now()|Now(…)]]<br><br />
#[[Number()|Number(…)]]<br><br />
#[[Orientation()|Orientation(…)]]<br><br />
#[[Or()|Or(…)]]<br><br />
#[[PadLeft()|PadLeft(…)]]<br><br />
#[[PadNumber()|PadNumber(…)]]<br><br />
#[[PadRight()|PadRight(…)]]<br><br />
#[[PlaylistTime()|PlaylistTime(…)]]<br><br />
#[[Rand()|Rand(…)]]<br><br />
#[[Range()|Range(…)]]<br><br />
#[[RatingStars()|RatingStars(…)]]<br><br />
#[[RatingStars10()|RatingStars10(…)]]<br><br />
#[[Regex()|Regex(…)]]<br><br />
#[[RemoveCharacters()|RemoveCharacters(…)]]<br><br />
#[[RemoveLeft()|RemoveLeft(…)]]<br><br />
#[[RemoveRight()|RemoveRight(…)]]<br><br />
#[[Repeat()|Repeat(…)]]<br><br />
#[[Replace()|Replace(…)]]<br><br />
#[[Right()|Right(…)]]<br><br />
#[[Roman()|Roman(…)]]<br><br />
#[[Row()|Row(…)]]<br><br />
#[[Save()|Save(…)]]<br><br />
#[[SaveAdd()|SaveAdd(…)]]<br><br />
#[[SearchTags()|SearchTags(…)]]<br><br />
#[[SetField()|SetField(…)]]<br><br />
#[[Size()|Size(…)]]<br><br />
#[[StackCount()|StackCount(…)]]<br><br />
#[[Sum()|Sum(…)]]<br><br />
#[[Swap()|Swap(…)]]<br><br />
#[[Tag()|Tag(…)]]<br><br />
#[[TrackNumber()|TrackNumber(…)]]<br><br />
#[[Translate()|Translate(…)]]<br><br />
#[[TreeNode()|TreeNode(…)]]<br><br />
#[[Trim()|Trim(…)]]<br><br />
#[[TrimLines()|TrimLines(…)]]<br><br />
#[[TVInfo()|TVInfo(…)]]<br><br />
#[[UnMoveArticles()|UnMoveArticles(…)]]<br><br />
#[[Unswap()|Unswap(…)]]<br><br />
#[[Urlify()|Urlify(…)]]<br><br />
#[[Watched()|Watched(…)]]<br />
<br />
{{Function Type Page}}<br />
<br />
[[Category:Expression Functions]]</div>Markohttps://wiki.jriver.com/index.php?title=Expression_Language&diff=17695Expression Language2024-03-23T09:19:55Z<p>Marko: /* Miscellaneous Functions */</p>
<hr />
<div>{{Tocright}}<br />
Media Center provides a simple programming language that enhances and enriches its overall user interface and usability.<br />
This language, commonly called the expression language, is simple to learn, simple to use, and can greatly enhance your experience using Media Center.<br />
<br />
Expressions are ubiquitous throughout Media Center, used in areas such as:<br />
:* The categories in a view<br />
:* File list expression columns<br />
:* Theater View<br />
:* Customized view headers, grouping and sort criteria<br />
:* The library field manager (fields with data type Calculated data)<br />
:* File and folder location definitions<br />
:* Auto-import rules<br />
:* Custom DLNA titles<br />
:* The player's display<br />
:* Captions and thumbnail text<br />
:* The link manager (expressions help format link URLs)<br />
:* Rename, Move, & Copy tool<br />
:* Tag assignment<br />
:* Complex search queries<br />
<br />
An expression is a mixture of ordinary text, pre-defined functions, and a few reserved characters and constructs that have special meaning. An expression is evaluated by Media Center's expression engine and textual output is produced. This output is then used by Media Center to customize the user interface and affect its method of operation.<br />
<br />
== The Anatomy of an Expression ==<br />
<br />
As mentioned above, an expression is a mixture of text and function calls (and some reserved stuff described shortly).<br />
The simplest expression would be some basic, literal text, such as <span style="font-family: monospace,monospace; font-size:1em;">A good movie</span>.<br />
The expression engine evaluates this expression, finds nothing special, and then outputs the result: <span style="font-family: monospace,monospace; font-size:1em;">A good movie</span>. Simple.<br />
<br />
But simple text only has so much utility.<br />
The ability to transform or generate content is much more interesting and useful.<br />
And this is when [[#Functions|functions]] are employed.<br />
Media Center [[#Function Index|provides many functions]], which when called, produce some output.<br />
Most functions require some form of input, called arguments, and most functions generate output.<br />
By supplying a function with various arguments, the function will return some output value which is just more text.<br />
And this output text can be the used by other functions, and so on.<br />
Each function has a unique name, and calling upon a function to do some work requires little more that using its name anywhere in the expression.<br />
<br />
A function call looks like this:<br />
<br />
:{{monospace|<i>functionname</i><b>(</b><i>argument 1</i>, <i>argument 2</i>, ...<b>)</b>}}<br />
<br />
The syntax of the function call is the function's case-insensitive name, immediately followed by an opening parenthesis character, one or more comma-separated arguments, and a closing parenthesis character.<br />
Whitespace after the commas is optional, but helps readability and formatting.<br />
And each argument itself is also just an expression. And some arguments are optional.<br />
If an argument is optional, it can be omitted and its default value will be used.<br />
If the argument is omitted, a comma-separator will still be required if additional arguments follow.<br />
The following example uses the [[String_Manipulation_Functions#FixCase|FixCase()]] function to change its input to Title Case:<br />
<br />
:{{monospace|fixcase(A good movie)}}<br />
<br />
The result is <span style="font-family: monospace,monospace; font-size:1em;">A Good Movie</span>.<br />
<br />
A slightly more complex expression example consists of both text and a nested function call:<br />
<br />
:{{monospace|Wow! fixcase(replace(A good movie, good, great))}}<br />
<br />
Inner functions are called before outer functions, so the [[String_Manipulation_Functions#Replace|Replace()]] function is call first:<br />
<br />
:{{monospace|replace(A good movie, good, great)}}<br />
<br />
and its output is then supplied as the input to the [[String_Manipulation_Functions#FixCase|FixCase()]] function.<br />
[[String_Manipulation_Functions#Replace|Replace()]] does its work substituting {{monospace|good}} with {{monospace|great}}, and returns {{monospace|A great movie}}.<br />
This output is then supplied as the argument to [[String_Manipulation_Functions#FixCase|FixCase()]] which sees only the text {{monospace|A great movie}} (it knows nothing about how it was produced). So the function call:<br />
<br />
:{{monospace|fixcase(A great movie)}}<br />
<br />
in turn outputs {{monospace|A Great Movie}}.<br />
Now that the functions have produced their output, the final output, including the literal {{monospace|Wow!}} leading text is<br />
<br />
:{{monospace|Wow! A Great Movie}}<br />
<br />
== Fields ==<br />
The expression examples thus far have been limited to static literal text.<br />
Expressions have much more utility when they use data from other sources, such as a file's metadata.<br />
Media Center maintains this metadata in its defined fields.<br />
This data is accessed using the [[Accessing_and_Storing_Functions#Field|Field()]] function, and its first argument is the case-insensitive name of the field to be accessed.<br />
For example, the function call <span style="font-family: monospace,monospace; font-size:1em;">field(album)</span> will return the current* file's value for the album field (* more will be said later about the current file).<br />
If the album field contained the value <span style="font-family: monospace,monospace; font-size:1em;">After Hours</span>, the expression:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">fixcase(field(album), 3)</span></div><br />
<br />
would produce <span style="font-family: monospace,monospace; font-size:1em;">AFTER HOURS</span>.<br />
First <span style="font-family: monospace,monospace; font-size:1em;">field(album)</span> is evaluated, returning <span style="font-family: monospace,monospace; font-size:1em;">After Hours</span>.<br />
The [[String_Manipulation_Functions#FixCase|FixCase()]] function is supplied with this output as its first argument, and its second argument is <span style="font-family: monospace,monospace; font-size:1em;">3</span>, which happens to specify that it should perform upper-casing.<br />
<br />
Because fields are so frequently used in expressions, an abbreviated form called [[square bracket notation]] exists for accessing their values. This makes it easier to both read and write expressions.<br />
Nonetheless, both forms are equivalent.<br />
The abbreviated form is simple: immediately surround the field's name with opening and closing square brackets, for example, <span style="font-family: monospace,monospace; font-size:1em;">[album]</span>.<br />
The previous example is now written more simply as:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">fixcase([album], 3)</span></div><br />
<br />
=== Field Values ===<br />
For the sake of simplicity and clarity, the section above glossed over an important detail regarding how<br />
Media Center outputs field values.<br />
Recall that [[Accessing_and_Storing_Functions#Field|Field()]] is the function used to return the value of a specified field.<br />
But [[Accessing_and_Storing_Functions#Field|Field()]] also has a second argument that indicates the format of the value that it returns.<br />
Because field values are used in a variety of situations, the [[Accessing_and_Storing_Functions#Field|Field()]] function can produce output suitably formatted for the requirements.<br />
There are two forms of output: one is a nice, friendly human-readable format suitable for use in views or other display locations; the other is a raw format which returns the representation stored internally by Media Center which is useful when uninterpreted values are necessary.<br />
<br />
By default, Media Center <i>always</i> outputs the friendly format, so expressions sometimes need to take this into account and chose the format accordingly.<br />
<br />
Not used earlier because it is optional, the second argument to the [[Accessing_and_Storing_Functions#Field|Field()]] function selects the mode of output:<br />
the value <span style="font-family: monospace,monospace; font-size:1em;">0</span> selects the raw mode, and the default value of <span style="font-family: monospace,monospace; font-size:1em;">1</span> selects the friendly mode.<br />
Here are two examples using the date field, the first one outputs the date value in raw format, the second in the friendly format:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">field(date, 0)</span></div><br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">field(date, 1)</span></div><br />
<br />
==== Field Values: Override the expression, and [This] ====<br />
[[File:ExpressionOverride.png|right]]<br />
When creating (or editing) an expression based field, there is an option, shown in the image on the right, to "Allow custom data to override the expression".<br />
When enabled, it becomes possible to open the tag for editing either inline or in the tag window, just as you would any other regular tag, and replace the expression derived data with any other static data. Complex expression based fields can very easily slow view loading times to a crawl, and in many cases, this option can help speed things up again. Imagine an expression based field that manipulates another, otherwise static field, such the [Date] field. The returned expression values will never change, so why waste time evaluating the same results over and over, when you can simply replace them with static data and so forego any future expression processing?<br />
<br />
Media Center 28 saw the introduction of a [https://yabb.jriver.com/interact/index.php/topic,124543.msg906895.html#msg906895 [This]] variable that can also be invoked, so, using the example, ''=removeleft([This], 4)'' would remove four characters from the left of "this field".<br />
<br />
The new [This] variable can be used to override expression data. Select one, or 1000s of files, then edit, either inline or in the tag window, using the simple expression ''=[this]'' and apply to have MC replace the expression result with, the expression result, which from that point forwards, will be static data and the expression will no longer run ''<u>for those files</u>''.<br />
<br />
To remove the static data and return to expression evaluated data instead, simply edit again, deleting the static data, which when applied, will cause the expression evaluated result to return.<br />
<br />
'''<u>Note:</u>''' Use this "override" option with care. It requires least maintenance when used in situations where ''all'' expression values for all files for that field will be replaced with static data. Currently (October 2022) there is no way to differentiate between static data and expression derived data meaning the potential for things to get very confusing, very quickly, is very high indeed.<br />
<br />
'''<u>Note 2:</u>''' MC32 comes with the addition of the [[IsOverridden()|IsOverridden(...)]] function that now allows us to filter any given expression based field based on its override status.<br />
<br />
==== Field Values: Empty, 0, and 1 ====<br />
The Media Center expression language does not strongly differentiate between the numeric value zero <span style="font-family: monospace,monospace; font-size:1em;">0</span> and emptiness<br />
for numeric field types Integer and Decimal.<br />
And in some cases, the numeric value of <span style="font-family: monospace,monospace; font-size:1em;">1</span> is treated similarly to the empty value.<br />
<br />
When a value of 0 is entered as a numeric field's value, the raw value will be shown as <span style="font-family: monospace,monospace; font-size:1em;">0</span>,<br />
but the display format (as in the file list) will be shown as empty.<br />
The empty display allows for less visual noise in the user interface, since a column full of <span style="font-family: monospace,monospace; font-size:1em;">0</span> values is not usually helpful.<br />
In fact, if you attempt to set a numeric field's value to <span style="font-family: monospace,monospace; font-size:1em;">0</span> in the file list, it will immediately be displayed as empty.<br />
<br />
Generally this difference is unimportant, except when testing numeric values with [[Test_and_Comparison_Functions#IsEmpty|IsEmpty()]] or [[Test_and_Comparison_Functions#IsEqual|IsEqual()]].<br />
It is easy to be fooled when testing such a value if the value shown in a file list is empty.<br />
The values shown in the Tag Action Window will reveal the actual raw value, as will an expression column using the field's raw format.<br />
<br />
Another consideration for integer fields is that when sorting, a <span style="font-family: monospace,monospace; font-size:1em;">1</span> value can sometimes sort indistinguishably from an empty value.<br />
The Integer type <span style="font-family: monospace,monospace; font-size:1em;">disc #</span> field is typically empty when an album consists of only one disc, and as such, Media Center will sort<br />
the <span style="font-family: monospace,monospace; font-size:1em;">disc #</span> values of empty (<span style="font-family: monospace,monospace; font-size:1em;">0</span>) and <span style="font-family: monospace,monospace; font-size:1em;">1</span> identically.<br />
<br />
The friendly output of a field can differ, depending on context.<br />
For example, in a file list, and empty field will be shown as blank, but in the Rename, Move & Copy tool,<br />
it will be output as <span style="font-family: monospace,monospace; font-size:1em;">Unknown Disc #</span> (this ensures no blank values are generated as path components).<br />
To test such a field, always use and test against the raw format, and then expressions will be context agnostic.<br />
<br />
===Field Assignment===<br />
<div><br />
The output of an expression can be used to assign a value to a tag.<br />
This is accomplished by preceding the expression with an <span style="font-family: monospace,monospace; font-size:1em;">=</span> character.<br />
The <span style="font-family: monospace,monospace; font-size:1em;">=</span> character causes the tagging engine to invoke the expression evaluator first,<br />
and then to use its output as the value to assign to the field.<br />
[[File:Field_Assignment_with_Expression.png|right]]<br />
Without the prepended <span style="font-family: monospace,monospace; font-size:1em;">=</span> character, the literal expression text itself and not its evaluated value would be stored in the tag.<br />
The expression can refer to the field's own value to modify itself, and this offers a convenient way to perform complex transformations on field values.<br />
For example, the assignment expression<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">=removeleft([name], 4)</span></div><br />
<br />
entered into an edit cell for the <span style="font-family: monospace,monospace; font-size:1em;">name</span> field would remove<br />
four characters from the left of the <span style="font-family: monospace,monospace; font-size:1em;">name</span> field's current value.<br />
An assignment expression can be entered into the Tag Action Window, or by using inline editing in the file list or a pane entry.<br />
The image on the right shows in-place field assignment.<br />
<br />
Note: Undo is supported, reverting each tag to its value prior to the assignment.<br />
Redo is also supported, reapplying the most recent Undo.<br />
</div><br />
<br />
== Expression Language Syntax ==<br />
Now that the basics have been covered, the more rigorous rules of the expression language syntax can be described.<br />
<br />
:* An expression is any sequence of literal text and any number of function calls.<br />
:* Expressions are read and evaluated left to right. Literal text is output unmodified, function calls are evaluated and their return values output.<br />
:* Fields designated using [[square bracket notation]] are expanded into the equivalent [[Accessing_and_Storing_Functions#Field|Field()]] function call.<br />
:* Nested function calls are evaluated from the innermost function to outermost function, and again, left to right when one function follows another.<br />
:* A function is evaluated and its returned value contextually replaces the function call in the expression<br />
:* Within a function's argument list, whitespace is ignored before and after commas, after an opening parenthesis, and before a closing parenthesis.<br />
:* The forward-slash escape character <span style="font-family: monospace,monospace; font-size:1em;">/</span> disables the special meaning of the character that follows it.<br />
:* The escape sequence <span style="font-family: monospace,monospace; font-size:1em;">/#</span> followed by <span style="font-family: monospace,monospace; font-size:1em;">#/</span> escapes everything inside.<br />
:* The escape sequence <nowiki>/* followed by /*</nowiki> will escape everything inside returning it as given without formatting or processing.<br />
:* To use a literal parenthesis, comma, or whitespace inside of function argument lists, escape them. Whitespace within an argument's value is literal and does not need to be escaped when it is surrounded by other non-whitespace text.<br />
:* An expression may be split into multiple lines, but when it does not satisfy the conditions above regarding whitespace around function parenthesis and commas, use a forward-slash escape as the last character before the newline. Extraneous newlines in the expression editor will produce a trailing ellipsis (...) in the output.<br />
<br />
=== How Expressions Are Evaluated ===<br />
Expressions are evaluated in the context where they are used.<br />
For example, an expression column in a file list is evaluated relative to those files in the file list.<br />
And the general flow is that for each file in the list, the expression is evaluated and produces output.<br />
The expression only has access to the fields available for the file currently being evaluated.<br />
This is important to remember, so it bears repeating.<br />
One file after another, an expression is evaluated against that single file, its output is produced and stored away for use later,<br />
and then the result of that evaluation is entirely forgotten before the next file is evaluated.<br />
This means, the expression evaluator cannot use the results from one file's evaluated expression with the results of another<br />
file's evaluation.<br />
<br />
=== Expressions and Locales ===<br />
Media Center will respect the Windows locale setting for output values produced by certain functions,<br />
and within the values of certain fields.<br />
This is important to consider when writing expressions that consume such values.<br />
Under most circumstances, such values cause no harm.<br />
However special care must be taken with functions that require the use of period as the decimal point.<br />
One such function is [[Miscellaneous_Functions#Math|Math()]], which always uses period as the decimal point.<br />
If your locale uses some other character such as comma, these characters will have to be converted into periods before the<br />
critical function is called.<br />
Handling this problem is not difficult. Before passing to [[Miscellaneous_Functions#Math|Math()]] any floating point number,<br />
use [[String_Manipulation_Functions#Replace|Replace()]] first when necessary to convert the locale's decimal character into a period.<br />
Fields that cause problems are any fields that produce floating-point values,<br />
such as any Date type field in raw format (e.g. <span style="font-family: monospace,monospace; font-size:1em;">[date,0]</span>, <span style="font-family: monospace,monospace; font-size:1em;">[last played,0]</span>, <span style="font-family: monospace,monospace; font-size:1em;">[date modified,0]</span>, and <span style="font-family: monospace,monospace; font-size:1em;">[date imported,0]</span>),<br />
or any textual field that contains floating-point values that will be used for various calculations<br />
(e.g. any of the Dynamic Range variants).<br />
Certain functions such as [[Date_and_Time_Functions#Now|Now()]] and [[Date_and_Time_Functions#ConvertTime|ConvertTime()]] also return localized floating-point values.<br />
Consider also that the expression parser uses comma as the argument separator.<br />
Any literal numeric values specified as a function argument must have any embedded commas escaped.<br />
<br />
=== A Complex Expression Example ===<br />
[[File:Expression_Editor.png|right]]<br />
Here is a more complex expression example that illustrates the various rules discussed above regarding expressions:<br />
<br />
<span style="font-family: monospace,monospace; font-size:1em;"><br />
<div style="margin-left: 20pt">if( IsEmpty( [Disc #] ),</div><br />
<div style="margin-left: 40pt">Disc number is empty,</div><br />
<div style="margin-left: 40pt">Delimit(</div><br />
<div style="margin-left: 60pt">field(disc #) , </div><br />
<div style="margin-left: 60pt">/) ,</div><br />
<div style="margin-left: 60pt">DISC /(</div><br />
<div style="margin-left: 40pt">)</div><br />
<div style="margin-left: 20pt">)</div><br />
</span><br />
<br />
The expression demonstrates that<br />
:* whitespace before and after commas or opening and closing parenthesis is ignored<br />
:* expressions can be safely split into multiple lines using the whitespace rules just mentioned<br />
:* function and field names are case insensitive<br />
:* forward slash is used and required to escape parenthesis (see inside the [[Formatting_Functions#Delimit|Delimit()]] function)<br />
:* whitespace does not require escapement when surrounded by other characters (see after the <span style="font-family: monospace,monospace; font-size:1em;">C</span> in <span style="font-family: monospace,monospace; font-size:1em;">DISC</span>)<br />
:* literal text is output unmodified (<span style="font-family: monospace,monospace; font-size:1em;">Disc number is empty</span>)<br />
:* functions can be nested (Both [[Test_and_Comparison_Functions#IsEmpty|IsEmpty()]] and [[Formatting_Functions#Delimit|Delimit()]] are nested within the [[Conditional_Functions#If|If()]] function, and the [[Accessing_and_Storing_Functions#Field|Field()]] function is nested within [[Formatting_Functions#Delimit|Delimit()]]<br />
<br />
When the expression is run, files that have no disc number will produce <span style="font-family: monospace,monospace; font-size:1em;">Disc number is empty</span>,<br />
and files that have, say, a disc number value of <span style="font-family: monospace,monospace; font-size:1em;">3</span> will produce <span style="font-family: monospace,monospace; font-size:1em;">DISC (3)</span>.<br />
<br />
== Functions ==<br />
<br />
Functions enable you to transform or generate content automatically. For background information on how functions are used in expressions, refer to [[#The Anatomy of an Expression|The Anatomy of an Expression]] section above.<br />
<br />
This section describes all the various functions provided by Media Center's Expression Language.<br />
<br />
=== Function Arguments ===<br />
<br />
As discussed [[#The_Anatomy_of_an_Expression|above]], a function call consists of the function's case-insensitive name, immediately followed by an opening parenthesis character, one or more comma-separated arguments, and a closing parenthesis character:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;"><i>functionname</i><b>(</b><i>argument 1</i>, <i>argument 2</i>, ...<b>)</b></span></div><br />
<br />
Functions may have one or more arguments. In some cases, these arguments are optional, and will automatically use a default value if omitted. For example, these two expressions are equivalent because the mode argument for [[Test_and_Comparison_Functions#IsEmpty|IsEmpty()]] is optional and defaults to 0:<br />
:<span style="font-family: monospace,monospace; font-size:1em;">isempty([comment], 0)</span><br />
:<span style="font-family: monospace,monospace; font-size:1em;">isempty([comment])</span><br />
<br />
In this case, a comma-separator will still be required if additional arguments follow the optional one. Whitespace after the commas is also optional, but helps readability and formatting. However, if any extra arguments are included in a function call which are not valid for that function, they are dropped and omitted from output. This is of particular importance when using string-manipulation functions on text. If the text you enter contains any commas, these must be escaped or the expression engine will consider text after the comma to be additional arguments.<br />
<br />
The arguments themselves are also just expressions, and you can nest multiple functions to achieve complex logic:<br />
:<span style="font-family: monospace,monospace; font-size:1em;">if(isequal([artist], [album], 1), Eponymous, [album])</span><br />
<br />
Nested function calls are always treated as a ''single'' argument when used as the input to another function (so that commas in the output of one function do not need to be escaped to be used as input in another function). This includes fields, since they are expanded to the equivalent [[Accessing_and_Storing_Functions#Field|Field()]] function call.<br />
<br />
:'''''Please Note:''''' In some cases below, such as with [[String_Manipulation_Functions#Unswap|Unswap()]], we have ignored this detail in order to simplify the examples. If you enter any text manually into a function, all commas ''must be'' escaped in order to achieve the correct result. This detail is unimportant in most real-world usages, however, because you will typically use either field values or the output of other functions as the arguments in your expressions. However, if you need to include commas in a string literal argument to a function, you need to escape every one, or block escape the entire argument.<br />
<br />
=== [[Function Index]] ===<br />
Unfortunately, ''when'' these were actually introduced has ''not'' been tracked. The only way to be certain you have access to all of the functions below is to make sure you have the most current build of Media Center installed.<br><br />
The available functions are grouped below based on the type of operation they might perform. If you prefer, a [[Complete Expression Language Alphabetical List|flat, alphabetically sorted function list is available here.]]<br><br />
Over time, as Media Center evolves, expression functions are added or changed. Those changes are typically not reflected here immediately. In the list available [https://yabb.jriver.com/interact/index.php/topic,125477.msg868288.html#msg868288 here, on interact], any entries in red text are currently missing from these wiki pages.<br />
<br />
==== [[Accessing and Storing Functions]] ====<br />
* '''[[Accessing_and_Storing_Functions#Field|Field(&hellip;)]]''': Returns a field's value.<br />
* '''[[Accessing_and_Storing_Functions#FieldQuery|FieldQuery(&hellip;)]]''': Return a list of matches based on a list of fields to search, from a selected scope of files.<br />
* '''[[Accessing_and_Storing_Functions#ItemCount|ItemCount(&hellip;)]]''': Counts the number of files that have the exact same value of the given expression as the file the expression runs in the context of.<br />
* '''[[Accessing_and_Storing_Functions#Load|Load(&hellip;)]]''': Outputs the value of a [[global variable]].<br />
* '''[[Accessing_and_Storing_Functions#Note|Note(&hellip;)]]''': Retrieve note fields.<br />
* '''[[Accessing_and_Storing_Functions#Save|Save(&hellip;)]]''': Saves a value to a [[global variable]].<br />
* '''[[Accessing_and_Storing_Functions#SaveAdd|SaveAdd(&hellip;)]]''': Adds to a [[global variable]].<br />
* '''[[Accessing_and_Storing_Functions#SetField|SetField(&hellip;)]]''': Sets a field's value.<br />
* '''[[Accessing_and_Storing_Functions#Tag|Tag(&hellip;)]]''': Returns a file's physical tag.<br />
<br />
==== [[Conditional Functions]] ====<br />
* '''[[Conditional Functions#And|And(&hellip;)]]''': Tests a set of values and returns 1 if all are true.<br />
* '''[[Conditional Functions#FirstNotEmpty|FirstNotEmpty(&hellip;)]]''': Returns the first non-empty argument.<br />
* '''[[Conditional Functions#If|If(&hellip;)]]''': Conditional ifelse evaluator.<br />
* '''[[Conditional Functions#IfCase|IfCase(&hellip;)]]''': Functions as a switch or select case statement.<br />
* '''[[Conditional Functions#IfElse|IfElse(&hellip;)]]''': Conditional if-elseif evaluator.<br />
* '''[[Conditional Functions#Not|Not(&hellip;)]]''': Negates the results of funtions.<br />
* '''[[Conditional Functions#Or|Or(&hellip;)]]''': Tests a set of values and returns 1 if any are true.<br />
<br />
==== [[Date and Time Functions]] ====<br />
* '''[[Date and Time Functions#CompareDates|CompareDates(&hellip;)]]''': Compares two dates, returning a formatted elapsed period between them<br />
* '''[[Date and Time Functions#ConvertDate|ConvertDate(&hellip;)]]''': Converts a human-readable date to the internal format required for use in date fields<br />
* '''[[Date and Time Functions#DateInRange|DateInRange(&hellip;)]]''': Compares a date with a range of dates<br />
* '''[[Date and Time Functions#FormatDate|FormatDate(&hellip;)]]''': Formats a date value in a specified manner<br />
* '''[[Date and Time Functions#Now|Now(&hellip;)]]''': Retrieve and display the system date<br />
* '''[[Date and Time Functions#PlaylistTime|PlaylistTime(&hellip;)]]''': Returns the time of a track in the current playlist (a sum of all previous durations)<br />
<br />
==== [[File Path and Identifier Functions]] ====<br />
* '''[[File Path and Identifier Functions#DBLocation|DBLocation(&hellip;)]]''': Identifies a file's databases<br />
* '''[[File Path and Identifier Functions#Enviro|Enviro(&hellip;)]]''': Returns the full path to a host system variable<br />
* '''[[File Path and Identifier Functions#FileDBLocation|FileDBLocation(&hellip;)]]''': Identifies a file's databases<br />
* '''[[File Path and Identifier Functions#FileFolder|FileFolder(&hellip;)]]''': Returns the name of a file's parent<br />
* '''[[File Path and Identifier Functions#FileKey|FileKey(&hellip;)]]''': Returns a file's unique internal identifier<br />
* '''[[Miscellaneous Functions#FileLookup()|FileLookup()]]''': Looks up a file based on its filename<br />
* '''[[File Path and Identifier Functions#FileName|FileName(&hellip;)]]''': Returns a file's name component<br />
* '''[[File Path and Identifier Functions#FilePath|FilePath(&hellip;)]]''': Returns a file's path component<br />
* '''[[File Path and Identifier Functions#FileVolume|FileVolume(&hellip;)]]''': Returns a file's volume name component<br />
<br />
==== [[Formatting Functions]] ====<br />
* '''[[Formatting Functions#Delimit|Delimit(&hellip;)]]''': Outputs a value with head/tail strings when value is non-empty<br />
* '''[[Formatting Functions#FormatBoolean|FormatBoolean(&hellip;)]]''': Formats a boolean (true / false) value in a specified manner<br />
* '''[[Formatting Functions#FormatDuration|FormatDuration(&hellip;)]]''': Presents a duration of seconds in a reader friendly format<br />
* '''[[Formatting Functions#FormatFileSize|FormatFileSize(&hellip;)]]''': Presents a number of bytes in a reader friendly format<br />
* '''[[Formatting Functions#FormatNumber|FormatNumber(&hellip;)]]''': Formats and rounds a number to a specified number of decimal places<br />
* '''[[Formatting Functions#FormatRange|FormatRange(&hellip;)]]''': Formats a value as a range<br />
* '''[[Formatting Functions#Orientation|Orientation(&hellip;)]]''': Outputs the orientation of an image<br />
* '''[[Formatting Functions#PadNumber|PadNumber(&hellip;)]]''': Adds leading zeros to any given number<br />
* '''[[Formatting Functions#RatingStars|RatingStars(&hellip;)]]''': Outputs the value of Rating as a number of star characters<br />
* '''[[Formatting Functions#RatingStars10|RatingStars10(&hellip;)]]''': Outputs the value of a 10 star rating field as a number of star characters<br />
* '''[[Formatting Functions#Watched|Watched(&hellip;)]]''': Outputs a formatted video bookmark<br />
<br />
==== [[Grouping Functions]] ====<br />
* '''[[Grouping Functions#GroupCount|GroupCount(&hellip;)]]''': Counts the members of a specified group (in a category or field).<br />
* '''[[Grouping Functions#GroupCountQuery|GroupCountQuery(&hellip;)]]''': Globally counts the number of items in a specified group.<br />
* '''[[Grouping Functions#GroupSummary|GroupSummary(&hellip;)]]''': Smartly summarizes the members of a specified group (mode, mean, min, max, etc as is most logical for that grouping).<br />
* '''[[Grouping Functions#GroupSummaryQuery|GroupSummaryQuery(&hellip;)]]''': Get a summary for the current group of files based on another matching field.<br />
<br />
==== [[List Manipulation Functions]] ====<br />
* '''[[List Manipulation Functions#ListBuild|ListBuild(&hellip;)]]''': Constructs a list from a series of items<br />
* '''[[List Manipulation Functions#ListClean|ListClean(&hellip;)]]''': Various list operations<br />
* '''[[List Manipulation Functions#ListCombine|ListCombine(&hellip;)]]''': Combines two delimited lists into a single delimited list<br />
* '''[[List Manipulation Functions#ListContains|ListContains(&hellip;)]]''': Checks for a value being in a list<br />
* '''[[List Manipulation Functions#ListCount|ListCount(&hellip;)]]''': Returns the number of items in a list<br />
* '''[[List Manipulation Functions#ListEqual|ListEqual(&hellip;)]]''': Checks for equality between two lists<br />
* '''[[List Manipulation Functions#ListFilter|ListFilter(&hellip;)]]''': Filter any list, returning only values within a given range<br />
* '''[[List Manipulation Functions#ListFind|ListFind(&hellip;)]]''': Search a list for a value and return that value, or its index # in the list<br />
* '''[[List Manipulation Functions#ListFormat|ListFormat(&hellip;)]]''': Outputs a given list in a reader friendly format.<br />
* '''[[List Manipulation Functions#ListGrep|ListGrep(&hellip;)]]''': Returns list items containing specified text<br />
* '''[[List Manipulation Functions#ListItem|ListItem(&hellip;)]]''': Returns an item from a location in a list<br />
* '''[[List Manipulation Functions#ListLimit|ListLimit(&hellip;)]]''': Limits the length of a list<br />
* '''[[List Manipulation Functions#ListMath|ListMath(&hellip;)]]''': Perform one of 4 specific math functions on a list containing numbers<br />
* '''[[List Manipulation Functions#ListMix|ListMix(&hellip;)]]''': Combine corresponding values from multiple lists into a new list, using a template to process each item<br />
* '''[[List Manipulation Functions#ListRemove|ListRemove(&hellip;)]]''': Removes a string from a list<br />
* '''[[List Manipulation Functions#ListShuffle|ListShuffle(&hellip;)]]''': Shuffles a list<br />
* '''[[List Manipulation Functions#ListSort|ListSort(&hellip;)]]''': Sort a list of values<br />
<br />
==== [[Miscellaneous Functions]] ====<br />
* '''[[Miscellaneous Functions#AlbumArtist|AlbumArtist(&hellip;)]]''': Returns a file's calculated album artist<br />
* '''[[Miscellaneous Functions#AlbumKey|AlbumKey(&hellip;)]]''': Returns a unique album key for a file<br />
* '''[[Miscellaneous Functions#AlbumType|AlbumType(&hellip;)]]''': Returns the album type for a file<br />
* '''[[Miscellaneous Functions#AudioAnalysisState|AudioAnalysisState(&hellip;)]]''': Returns the state of audio analysis for a file<br />
* '''[[Miscellaneous Functions#Char|Char(&hellip;)]]''': Returns a character from the numeric code of that character<br />
* '''[[Miscellaneous Functions#CustomData|CustomData(&hellip;)]]''': Returns internal data to the expression language<br />
* '''[[Miscellaneous Functions#FileExtension|FileExtension(&hellip;)]]''': Returns the extension of the referenced file<br />
* '''[[Miscellaneous Functions#FilePlaylists()|FilePlaylists(&hellip;)]]''': Returns a list of playlists a file belongs to (Can also be used to search)<br />
* '''[[Miscellaneous Functions#Literal()|Literal(&hellip;)]]''': Returns a string as given without any formatting or processing<br />
* '''[[Miscellaneous Functions#Repeat|Repeat(&hellip;)]]''': Returns any given string repeated the specified number of times<br />
* '''[[Miscellaneous Functions#Row|Row(&hellip;)]]''': Returns the row number of a list entry<br />
* '''[[Miscellaneous Functions#Size|Size(&hellip;)]]''': Returns a file's size in a format specific to the media type<br />
* '''[[Miscellaneous Functions#Translate|Translate(&hellip;)]]''': Converts an English string found in the program to the current language selected in the language menu<br />
* '''[[Miscellaneous Functions#TreeNode|TreeNode(&hellip;)]]''': Returns the selected tree path<br />
* '''[[Miscellaneous Functions#TVInfo|TVInfo(&hellip;)]]''': Miscellaneous television and other pre-formatted information<br />
<br />
==== [[Number Functions]] ====<br />
* '''[[Number Functions#Avg|Avg(&hellip;)]]''': Returns the average from a set of numbers<br />
* '''[[Number Functions#Counter|Counter(&hellip;)]]''': Counts upwards in specified increments<br />
* '''[[Number Functions#Math|Math(&hellip;)]]''': Evaluates a given mathematical formula<br />
* '''[[Number Functions#Max|Max(&hellip;)]]''': Returns the largest value from a set of numbers<br />
* '''[[Number Functions#Min|Min(&hellip;)]]''': Returns the smallest value from a set of numbers<br />
* '''[[Number Functions#Number|Number(&hellip;)]]''': Returns the first number , including decimals, from a given string<br />
* '''[[Number Functions#Rand|Rand(&hellip;)]]''': Returns a random number anywhere between two given numbers<br />
* '''[[Number Functions#Range|Range(&hellip;)]]''': Creates a semi-colon delimited list of numbers in a field<br />
* '''[[Number Functions#Roman|Roman(&hellip;)]]''': Converts any given number to, or from, roman numerals<br />
* '''[[Number Functions#StackCount|StackCount(&hellip;)]]''': Returns the number of files in a stack<br />
* '''[[Number Functions#Sum|Sum(&hellip;)]]''': Returns the sum of a set of numbers<br />
* '''[[Number Functions#TrackNumber|TrackNumber(&hellip;)]]''': Returns a file's track # value<br />
<br />
==== [[String Manipulation Functions]] ====<br />
* '''[[String Manipulation Functions#Clean|Clean(&hellip;)]]''': Clean a string to be used for various operations<br />
* '''[[String Manipulation Functions#Extract|Extract(&hellip;)]]''': Returns a portion of a string bounded by another substring<br />
* '''[[String Manipulation Functions#Find|Find(&hellip;)]]''': Finds a string or character in another string, returning its zero-based position in that string<br />
* '''[[String Manipulation Functions#FixCase|FixCase(&hellip;)]]''': Changes the case of a given string<br />
* '''[[String Manipulation Functions#FixSpacing|FixSpacing(&hellip;)]]''': Intelligently splits adjacent camel-cased words<br />
* '''[[String Manipulation Functions#Hexify|Hexify(&hellip;)]]''': Hexifies a string to make it suitable for web usage<br />
* '''[[String Manipulation Functions#Left|Left(&hellip;)]]''': Retrieves a specified number of characters from the left of a string<br />
* '''[[String Manipulation Functions#Length|Length(&hellip;)]]''': Returns the number of characters in a string<br />
* '''[[String Manipulation Functions#Letter|Letter(&hellip;)]]''': Returns the starting letter or letters of a given string<br />
* '''[[String Manipulation Functions#Mid|Mid(&hellip;)]]''': Retrieves specified characters from a string<br />
* '''[[String Manipulation Functions#MoveArticles|MoveArticles(&hellip;)]]''': Takes "The Beatles" and reverses it to "Beatles, The"<br />
* '''[[String Manipulation Functions#NoArticles|NoArticles(&hellip;)]]''': Takes "The Beatles" and returns "Beatles"<br />
* '''[[String Manipulation Functions#PadLeft|PadLeft(&hellip;)]]''': Pad any string with any character, to the left<br />
* '''[[String Manipulation Functions#PadRight|PadRight(&hellip;)]]''': Pad any string with any character, to the right<br />
* '''[[String Manipulation Functions#Regex|Regex(&hellip;)]]''': Regular expression pattern matching and capture<br />
* '''[[String Manipulation Functions#RemoveCharacters|RemoveCharacters(&hellip;)]]''': Removes a list of characters from a string<br />
* '''[[String Manipulation Functions#RemoveLeft|RemoveLeft(&hellip;)]]''': Trims characters from the beginning of a string<br />
* '''[[String Manipulation Functions#RemoveRight|RemoveRight(&hellip;)]]''': Trims characters from the end of a string<br />
* '''[[String Manipulation Functions#Replace|Replace(&hellip;)]]''': Replace or remove a string segment<br />
* '''[[String Manipulation Functions#Right|Right(&hellip;)]]''': Retrieves a specified number of characters from the right of a string<br />
* '''[[String Manipulation Functions#Swap|Swap(&hellip;)]]''': Takes Firstname Lastname and swaps to Lastname, Firstname<br />
* '''[[String Manipulation Functions#Trim|Trim(&hellip;)]]''': Removes leading and trailing non-printable characters and new lines from a string<br />
* '''[[String Manipulation Functions#TrimLines|TrimLines(&hellip;)]]''': Removes leading and trailing non-printable characters and new lines from a string<br />
* '''[[String Manipulation Functions#UnMoveArticles|UnMoveArticles(&hellip;)]]''': Takes "Beatles, The" and reverses it to restore the normal word order, "The Beatles"<br />
* '''[[String Manipulation Functions#Unswap|Unswap(&hellip;)]]''': Takes Lastname, Firstname and reverses it to Firstname Lastname<br />
* '''[[String Manipulation Functions#Urlify|Urlify(&hellip;)]]''': Takes a string and applies html formatting for browser consumption<br />
<br />
==== [[Test and Comparison Functions]] ====<br />
* '''[[Test and Comparison Functions#Compare|Compare(&hellip;)]]''': Compares two numbers<br />
* '''[[Test and Comparison Functions#IsDigit|IsDigit(&hellip;)]]''': Determines whether or not a given value is digits<br />
* '''[[Test and Comparison Functions#IsDriveMissing|IsDriveMissing(&hellip;)]]''': Checks if a drive is missing<br />
* '''[[Test and Comparison Functions#IsEmpty|IsEmpty(&hellip;)]]''': Tests a value for emptiness<br />
* '''[[Test and Comparison Functions#IsEqual|IsEqual(&hellip;)]]''': Compares two values in one of seventeen specified modes<br />
* '''[[Test and Comparison Functions#IsInPlayingNow|IsInPlayingNow(&hellip;)]]''': Tests to see if a file is in the Playing Now playlist<br />
* '''[[Test and Comparison Functions#IsLowerCase|IsLowerCase(&hellip;)]]''': Tests to see if a value is lower case<br />
* '''[[Test and Comparison Functions#IsMissing|IsMissing(&hellip;)]]''': Tests to see if a file exists on the system<br />
* '''[[Test and Comparison Functions#IsOverridden|IsOveridden(&hellip;)]]''': Tests if an expression is overridden by a value<br />
* '''[[Test and Comparison Functions#IsPlaying|IsPlaying(&hellip;)]]''': Tests to see if a file is in currently being played<br />
* '''[[Test and Comparison Functions#IsRange|IsRange(&hellip;)]]''': Tests a value for inclusion within a given range<br />
* '''[[Test and Comparison Functions#IsRemovable|IsRemovable(&hellip;)]]''': Tests to see if a file is stored on removable media<br />
* '''[[Test and Comparison Functions#IsUpperCase|IsUpperCase(&hellip;)]]''': Tests to see if a value is upper case<br />
* '''[[Test and Comparison Functions#SearchTags|SearchTags(&hellip;)]]''': Finds all fields that contain a value<br />
<br />
== Data Types ==<br />
It was mentioned already that the Media Center expression language is primarily a textual language - it consumes and produces text.<br />
Nonetheless, certain areas of Media Center are influenced by the type of data used or presented,<br />
and sometimes it is useful or necessary to coerce expression output into one data type or another.<br />
Each Media Center field is defined to be of a certain data type,<br />
listed in the [[File_Properties_%28tags%29#Field_Specifications|Field Data Types]] table.<br />
These types influence how values are output, sorted, and interpreted on input.<br />
And expressions always output data of type String.<br />
By coercing the data type of an expression, output formatting and sorting can be controlled in various ways.<br />
<br />
Data types are forced by appending to an expression the string:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[<i>type</i>]</span></div><br />
<br />
where <i><span style="font-family: monospace,monospace; font-size:1em;">type</span></i> is one of the following values:<br />
<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse"><br />
<tr><td style="text-align:left; padding-right:20pt"><b>list</b></td><td>A list of strings, separated by semicolons</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>string</b></td><td>Sorts as strings (with smart number handling)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>number</b></td><td>Sorts values as numbers (decimal or integer)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>integer</b></td><td>Sorts values as integers</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>path</b></td><td>Sorts using a smart filename compare style</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>month</b></td><td>Sorts string month names (i.e. January, February, etc.)</td></tr><br />
</table></div><br />
<br />
=== Calculated Fields and Search ===<br />
<br />
Media Center's [[Search Language]] supports some simple numeric [[Search Language#Comparison_Operators|comparison operators]].<br />
Because expressions always evaluate as a String type, these operators would be unavailable for use in a search query to compare numeric values from a calculated expression field.<br />
In order to use the numeric comparison operators, a calculated expression field can be cast into one of the numeric types.<br />
In your numeric calculated fields, to allow the use Search's numeric comparison operators, add either of the casts:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[integer]</span></div><br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[number]</span></div><br />
<br />
to the end of the field's calculated expression.<br />
<br />
=== Lists and Trees ===<br />
<div><br />
[[File:Datatype_List.png|right]]<br />
The list of output in view categories and pane columns can be modified by forcing the data type to a List type.<br />
Two things happen when the data type is List:<br />
The values within a List type are split into their individual (semicolon-separated) list items<br />
The backslash character takes on a special meaning and becomes another form of separator that creates tree-like hierarchies,<br />
collapsible in panes columns and creates drill-down categories in any category view type (Standard View > Categories, Theater View, DLNA, Gizmo/WebGizmo).<br />
Forcing an expression's type to <span style="font-family: monospace,monospace; font-size:1em;">list</span> causes this list item separation and hierarchy generation.<br />
Alternatively, forcing a List type to <span style="font-family: monospace,monospace; font-size:1em;">string</span> defeats this.<br />
Add the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[list]</span></div><br />
<br />
to the end of an expression to force an expression's output to be considered as a List type.<br />
Conversely, a List type may be forced into a String type by adding the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[string]</span></div><br />
<br />
to the end of an expression.<br />
</div><br />
<br />
=== Sort Order ===<br />
<div><br />
[[File:Datatype_Month.png|right]]<br />
Normally strings are sorted ASCII-betically with some smart numeric sorting.<br />
But this form of sort may not always be desired.<br />
<br />
==== Sorting by Month ====<br />
Generally it is more useful to see month names sorting such that January sorts before April, instead of alphabetically where April would sort before January.<br />
Forcing an expression's type to Month forces string month values to be treated instead as their equivalent numerical month numbers.<br />
For example, the first month January and the third month March sort before the fourth month April.<br />
Add the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[month]</span></div><br />
<br />
to the end of an expression to force an expression's output to be sorted by numeric month values.<br />
<br />
==== Sorting by Path ====<br />
<br />
Path data types sort using smart filename comparisons.<br />
<br />
XXX: Note: This section is incomplete. I cannot distingish any difference between using a datatype of <span style="font-family: monospace,monospace; font-size:1em;">path</span> vs. <span style="font-family: monospace,monospace; font-size:1em;">string</span>. It seems <span style="font-family: monospace,monospace; font-size:1em;">path</span> sort order is always engaged.<br />
<br />
Add the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[path]</span></div><br />
<br />
to the end of an expression to force an expression's output to be smart-sorted by path components.<br />
<br />
</div><br />
<br />
== Expressions and Search ==<br />
The expression language is fully available to the search query engine (Search, Set rules for file display, etc.).<br />
This allows creation of more complex search queries than would otherwise be possible.<br />
An expression-based search query is any valid expression that produces a zero or non-zero numeric output.<br />
The syntax of the query is:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;"><b>[=</b><i>expression</i><b>]=</b><i>numval</i></span></div><br />
<br />
where expression is any valid expression, and numval is the expected numeric output produced by the expression.<br />
The expression is evaluated against the current list of available files and the expression output numerically compared against numval.<br />
All files for which the comparison is true are returned as part of the file list produced by the query and all files that fail the comparison are winnowed from the file list.<br />
<br />
The following example illustrates an expression-based search query:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">[=ismissing([filename (path)]\Folder.jpg)]=1</span></div><br />
<br />
The [[Test_and_Comparison_Functions#IsMissing|IsMissing()]] function is run using the file name argument <span style="font-family: monospace,monospace; font-size:1em;">[filename (path)]</span> appended by <span style="font-family: monospace,monospace; font-size:1em;">\Folder.jpg</span>,<br />
and returns a Boolean value <span style="font-family: monospace,monospace; font-size:1em;">1</span> for files that are missing, and this <span style="font-family: monospace,monospace; font-size:1em;">1</span> is compared against the value <i>numval</i>.<br />
All these files where there was a successful comparison are returned in the file list,<br />
and all those for which the expression produced <span style="font-family: monospace,monospace; font-size:1em;">0</span> are filtered from the file list.<br />
By inverting the comparison and using a <span style="font-family: monospace,monospace; font-size:1em;">0</span> numval, the set of files remaining in the file list would be those that did not match.<br />
<br />
== HTML Font Properties ==<br />
The expression language recognizes a limited set of HTML font properties and attributes. These can be used to set font styles in most text drawing areas, such as captions, thumbnail text and in the configuration of Theater View.<br />
HTML tags are used by surrounding the desired content with an opening and closing tag, in the form of:<br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><<i>tag</i>><i>desired content</i><//<i>tag</i>></span><br />
<br />
The supported HTML tags are:<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse"><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><b></nowiki></b></td><td>Bold</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><i></nowiki></b></td><td>Italics</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><u></nowiki></b></td><td>Underline</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><font></nowiki></b></td><td>Font properties (see attributes below)</td></tr><br />
</table></div><br />
<br />
The <b>font</b> tag supports the following attributes:<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse"><br />
<tr><td style="text-align:left; padding-right:20pt"><b>alpha</b></td><td>Sets alpha-blending percentage (0 - 100)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>color</b></td><td>Sets the foreground color (RGB hex values from 00 to ff in the form of rrggbb)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>bgcolor</b></td><td>Sets the background color (same values as color)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>face</b></td><td>Sets the font face (a font name)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>size</b></td><td>Sets the font size (a percentage scaling value)</td></tr><br />
</table></div><br />
<br />
Any combination of HTML tags and font attributes can be used.<br />
An HTML tag must have an opening and closing tag.<br />
Nesting is allowed, but be sure to properly balance like opening and closing tags.<br />
Attribute values must be double quoted. The closing tag's forward slash requires escapement with an extra forward slash.<br />
The following examples illustrate using HTML font properties:<br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><nowiki><i>This is in italics<//i></nowiki></span><br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><nowiki><i><b>And this is bold and italic<//b><//i></nowiki></span><br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><nowiki><b>The<font color=&quot;ff0000&quot; size=&quot;80&quot; alpha=&quot;50&quot;> Great <//font>Gatsby<//b></nowiki></span><br />
<br />
== Expression Editors ==<br />
There are a couple of variations of dialog or edit field used to enter expressions.<br />
Some allow multi-line expressions, while others are single line, but can be expanded to multi-line editors.<br />
Unfortunately, some single-line editors flatten multi-line expressions into a single line, replacing the newlines with spaces.<br />
<br />
== Acknowledgements ==<br />
A big tip of hat to [[User:Marko|marko]] who tackled the enormous challenge of documenting the MC Expression Language in detail. His work was instrumental and through which has brought clarity and great assistance to Media Center users worldwide.<br />
<br />
Also, a huge thanks to user [[User:MrC|MrC]] who built [[Expression_Language_Archive|the amazing and long-lived previous version of this page]], upon which this is still heavily based.<br />
<br />
The current caretaker of this documentation is forever in their debts.<br />
<br />
[[Category:Frequently Asked Questions]]<br />
[[Category:Developer]]<br />
[[Category:Expression Language]]</div>Markohttps://wiki.jriver.com/index.php?title=Miscellaneous_Functions&diff=17694Miscellaneous Functions2024-03-23T09:18:39Z<p>Marko: </p>
<hr />
<div>{{Function Type Page}}<br />
<br />
The functions in this section are varied and have specialized applicability.<br />
Some are primarily used internally by MC to generate values available in various Library fields.<br />
<br />
=== <span id="AlbumArtist">AlbumArtist(&hellip;)</span> ===<br />
: Returns a file's calculated album artist.<br />
<br />
{| style="width: 100%; border-spacing: 0; border: 0px solid black;" align="top" cellpadding="3" cellspacing="0"<br />
|- id="AlbumArtist" valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 2px 1px 0 2px; border-right: 1px solid #bbb;" width="100" | Description<br />
| style="background: #f9f9f9; color: #111; border-style: solid; border-width: 2px 2px 0 0" width="1200" | <span style="font-family: monospace,monospace; font-size:1em; color:#0f3f8d; font-size:110%"><b>albumartist(</b><b>)</b></span><br />
The [[#AlbumArtist|AlbumArtist()]] function calculates the album artist value used in various views and fields.<br />
It is used to populate the Library field <span style="font-family: monospace,monospace; font-size:1em;">album artist (auto)</span> with its value.<br />
Either the field or [[#AlbumArtist|AlbumArtist()]] can be used.<br />
|- valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 0px 1px 2px 2px; border-top: 1px solid #bbb; border-right: 1px solid #bbb;" | Examples<br />
|style="background: #f9f9f9; color: #111; border-style: solid; border-width: 0px 2px 2px 0; border-top: 1px solid #bbb;" | <span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>albumartist()</nowiki></b></span><br />
<p style="margin-left:20pt;">Returns the value present in the <span style="font-family: monospace,monospace; font-size:1em;">album artist (auto)</span> field.</p><br />
<br />
Additional Examples<br />
<br />
:[http://wiki.jriver.com/index.php/Album_Artist_and_Album_Artist_%28Auto%29 Describes the algorithm used by AlbumArtist() to calculate the "album artist (auto)" field's value.]<br />
|}<br />
<div style="text-align:right;">([[#top|Back to top)]]</div><br />
<br />
=== <span id="AlbumKey">AlbumKey(&hellip;)</span> ===<br />
: Returns a unique album key for a file.<br />
<br />
{| style="width: 100%; border-spacing: 0; border: 0px solid black;" align="top" cellpadding="3" cellspacing="0"<br />
|- id="AlbumKey" valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 2px 1px 0 2px; border-right: 1px solid #bbb;" width="100" | Description<br />
| style="background: #f9f9f9; color: #111; border-style: solid; border-width: 2px 2px 0 0" width="1200" | <span style="font-family: monospace,monospace; font-size:1em; color:#0f3f8d; font-size:110%"><b>albumkey(</b><b>)</b></span><br />
The [[#AlbumKey|AlbumKey()]] function returns "[album artist (auto)] - [album]".<br />
It is a convenience function, used to return the generally unique album / artist combination string used to distinguish<br />
between two like-named albums such as "Greatest Hits".<br />
|- valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 0px 1px 2px 2px; border-top: 1px solid #bbb; border-right: 1px solid #bbb;" | Examples<br />
|style="background: #f9f9f9; color: #111; border-style: solid; border-width: 0px 2px 2px 0; border-top: 1px solid #bbb;" | <span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>albumkey()</nowiki></b></span><br />
<p style="margin-left:20pt;">For an album named <span style="font-family: monospace,monospace; font-size:1em;">Greatest Hits</span> and an album artist (auto) of <span style="font-family: monospace,monospace; font-size:1em;">The Eagles</span>, returns <span style="font-family: monospace,monospace; font-size:1em;">The Eagles - Greatest Hits</span>.</p><br />
|}<br />
<div style="text-align:right;">([[#top|Back to top)]]</div><br />
<br />
=== <span id="AlbumType">AlbumType(&hellip;)</span> ===<br />
: Returns the album type for a file.<br />
<br />
{| style="width: 100%; border-spacing: 0; border: 0px solid black;" align="top" cellpadding="3" cellspacing="0"<br />
|- id="AlbumType" valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 2px 1px 0 2px; border-right: 1px solid #bbb;" width="100" | Description<br />
| style="background: #f9f9f9; color: #111; border-style: solid; border-width: 2px 2px 0 0" width="1200" | <span style="font-family: monospace,monospace; font-size:1em; color:#0f3f8d; font-size:110%"><b>albumtype(</b><b>)</b></span><br />
The [[#AlbumType|AlbumType()]] function returns a description regarding an album's completeness and its quantity of artists.<br />
It is used to populate the Library field <span style="font-family: monospace,monospace; font-size:1em;">album type</span> with its value.<br />
Either the field or [[#AlbumType|AlbumType()]] can be used.<br />
|- valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 0px 1px 2px 2px; border-top: 1px solid #bbb; border-right: 1px solid #bbb;" | Examples<br />
|style="background: #f9f9f9; color: #111; border-style: solid; border-width: 0px 2px 2px 0; border-top: 1px solid #bbb;" | <span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>albumtype()</nowiki></b></span><br />
<p style="margin-left:20pt;">Returns, for example, <span style="font-family: monospace,monospace; font-size:1em;">Single artist (complete)</span>, or <span style="font-family: monospace,monospace; font-size:1em;">Multiple artists (incomplete)</span>.</p><br />
|}<br />
<div style="text-align:right;">([[#top|Back to top)]]</div><br />
<br />
=== <span id="AudioAnalysisState">AudioAnalysisState(&hellip;)</span> ===<br />
: Returns the state of audio analysis for a file.<br />
<br />
{| style="width: 100%; border-spacing: 0; border: 0px solid black;" align="top" cellpadding="3" cellspacing="0"<br />
|- id="AudioAnalysisState" valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 2px 1px 0 2px; border-right: 1px solid #bbb;" width="100" | Description<br />
| style="background: #f9f9f9; color: #111; border-style: solid; border-width: 2px 2px 0 0" width="1200" | <span style="font-family: monospace,monospace; font-size:1em; color:#0f3f8d; font-size:110%"><b>audioanalysisstate(</b><b>)</b></span><br />
The [[#AudioAnalysisState|AudioAnalysisState()]] function returns a file's state of audio analysis.<br />
It can be used to determine if audio analysis (Library Tools > Analyze Audio...) should be performed on a media file.<br />
The [[#AudioAnalysisState|AudioAnalysisState()]] function will return a string indicating the state of analysis.<br />
Possible values are currently:<br />
<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse; background: #f9f9f9"><br />
<tr><td style="text-align:left; padding-right:20pt"><b>Needed</b></td><td>Audio analysis is needed</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>Done</b></td><td>Audio analysis is complete</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>N/A</b></td><td>The file type does not support audio analysis</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>Excluded (No Audio)</b></td><td>The file type supports analysis, but contains no audio</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>Failed on <date></b></td><td>Audio analysis failed on the <i><date></i> specified</td></tr><br />
</table></div><br />
|- valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 0px 1px 2px 2px; border-top: 1px solid #bbb; border-right: 1px solid #bbb;" | Examples<br />
|style="background: #f9f9f9; color: #111; border-style: solid; border-width: 0px 2px 2px 0; border-top: 1px solid #bbb;" | <span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>audioanalysisstate()</nowiki></b></span><br />
<p style="margin-left:20pt;">Returns, for example, <span style="font-family: monospace,monospace; font-size:1em;">Needed</span> for files that require audio analysis, or <span style="font-family: monospace,monospace; font-size:1em;">N/A</span> if the file type does not support audio analysis.</p><br />
<br />
Additional Examples<br />
<br />
:[http://yabb.jriver.com/interact/index.php?topic=82025.0 Describes the improved audio analysis and R128 volume leveling feature.]<br />
|}<br />
<div style="text-align:right;">([[#top|Back to top)]]</div><br />
<br />
=== <span id="Char">Char(&hellip;)</span> ===<br />
: Returns a character from the numeric code of that character<br />
<br />
{{function description box<br />
| name=Char<br />
| arguments=Numeric Number Code<br />
| description=<br />
[[#Char|Char()]] has unicode support, however, only decimal values are supported. If you require a Hex to Decimal convertor, try [https://unicode-search.net/ unicode-search.net], or search for an alternative online.<br />
<br />
| examples=<br />
'''{{monospace|Char(189)}}'''<br />
: Returns ½<br />
'''{{monospace|Char(9679)}}'''<br />
: Returns ●<br />
}}<br />
<br />
=== <span id="CustomData">CustomData(&hellip;)</span> ===<br />
: Returns internal data to the expression language.<br />
<br />
{| style="width: 100%; border-spacing: 0; border: 0px solid black;" align="top" cellpadding="3" cellspacing="0"<br />
|- id="CustomData" valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 2px 1px 0 2px; border-right: 1px solid #bbb;" width="100" | Description<br />
| style="background: #f9f9f9; color: #111; border-style: solid; border-width: 2px 2px 0 0" width="1200" | <span style="font-family: monospace,monospace; font-size:1em; color:#0f3f8d; font-size:110%"><b>customdata(</b><i>mode</i><b>)</b></span><br />
The [[#CustomData|CustomData()]] function supports returning Media Center internal data to the expression language.<br />
Currently the only supported <i>mode</i> provides a file's row number in a file list, which is useful in the Rename, Move & Copy tool to assist in numbering files.<br />
It can also be used in expressions in a playlist to obtain the file's sequence number.<br />
<br />
Available <i>mode</i> values:<br />
<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse; background: #f9f9f9"><br />
<tr><td style="text-align:left; padding-right:20pt"><b>#</b></td><td>Returns a file's row number in a file list</td></tr><br />
</table></div><br />
|- valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 0px 1px 2px 2px; border-top: 1px solid #bbb; border-right: 1px solid #bbb;" | Examples<br />
|style="background: #f9f9f9; color: #111; border-style: solid; border-width: 0px 2px 2px 0; border-top: 1px solid #bbb;" | <span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>Spring_Break_Bash_padnumber(customdata(#), 4)</nowiki></b></span><br />
<p style="margin-left:20pt;">In the Rename, Move & Copy tool, each consecutive file would be named <span style="font-family: monospace,monospace; font-size:1em;">Spring_Break_Bash_</span> followed by a four digit, zero-padded number starting at <span style="font-family: monospace,monospace; font-size:1em;">0001</span>.</p><br />
|}<br />
<div style="text-align:right;">([[#top|Back to top)]]</div><br />
<br />
=== <span id="FileExtension">FileExtension(&hellip;)</span> ===<br />
: Returns the extension of a given file<br />
<br />
{{function description box<br />
| name=FileExtension<br />
| arguments=Filename<br />
| description=<br />
{{argument optional|Filename|''this file''}}<br />
The [[#FileExtension|FileExtension()]] function returns the extension of the referenced file.<br />
<br />
<br />
| examples=<br />
'''{{monospace|<nowiki>FileExtension()</nowiki>}}'''<br />
: Returns: Returns the file extension of the current file<br />
<br />
}}<br />
<br />
=== <span id="FilePlaylists">FilePlaylists()</span> ===<br />
: Returns a list of playlists a file belongs to.<br />
<br />
{| style="width: 100%; border-spacing: 0; border: 0px solid black;" align="top" cellpadding="3" cellspacing="0"<br />
|- id="FilePlaylists" valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 2px 1px 0 2px; border-right: 1px solid #bbb;" width="100" | Description<br />
| style="background: #f9f9f9; color: #111; border-style: solid; border-width: 2px 2px 0 0" width="1200" | <span style="font-family: monospace,monospace; font-size:1em; color:#0f3f8d; font-size:110%"><b>FilePlaylists()</b></span><br />
This function returns the list of playlists a file is in separated by semi-colons.<br />
|- valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 0px 1px 2px 2px; border-top: 1px solid #bbb; border-right: 1px solid #bbb;" | Examples<br />
|style="background: #f9f9f9; color: #111; border-style: solid; border-width: 0px 2px 2px 0; border-top: 1px solid #bbb;" | <span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>FilePlaylists()</nowiki></b></span><br />
<p style="margin-left:20pt;">Using this will return a list of all the playlists a file is in, separated by semi-colons.</p><br />
<p style="margin-left:20pt;">In and of itself, you might think that this is not 'all that', however, remember that we can combine this with other functions, thus giving us the ability to create expressions with playlist rules. A simple example would be:</p><br />
<span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>[=IsEqual(fileplaylists(),genre,8)]=1</nowiki></b></span><br />
<p style="margin-left:20pt;">which when used in the search bar, will return all files that appear on any playlist containing 'Genre' in its name</p><br />
|}<br />
<div style="text-align:right;">([[#top|Back to top)]]</div><br />
<br />
=== <span id="Literal">Literal(&hellip;)</span> ===<br />
: Returns a string as given without any formatting or processing<br />
<br />
{{function description box<br />
| name=Literal<br />
| arguments=String<br />
| description=<br />
[[#Literal|Literal()]] returns a given string as-is without any formatting or processing<br />
<br />
| examples=<br />
'''{{monospace|If(IsEqual([Artist], Queen, 1), Literal(If all music was Queen, I would be 10/10ths happy!), Literal(This is not Queen, which makes me sad. :-/))}}'''<br />
: This does not work, with the sad face breaking the expression completely and generating an error. It should work, suggesting that the Literal() function is currently broken.<br />
: This reference will be updated once clarification has been received. In the meantime, as detailed under [[Expression Language#Expression Language Syntax|Expression Language Syntax]], using /* ... /* does work as Literal() is expected to. See next example...<br />
<br />
'''{{monospace|/*Left(Theater,3) returns/* Left(Theater,3)}}'''<br />
: Returns {{monospace|Left(Theater,3) returns The}}. Here, the first expression function is not evaluated and instead, presented as given, whilst the second function, which is not escaped, is evaluated. Escaping text in this way could be useful if working with a large block of text that might contain parenthesis, forward slashes or other characters that would otherwise require to be escaped individually.<br />
}}<br />
<br />
=== <span id="Repeat">Repeat(&hellip;)</span> ===<br />
: Repeats a given string a specified number of times<br />
<br />
{{function description box<br />
| name=Repeat<br />
| arguments=Value, Count<br />
| description=<br />
Repeats {{monospace|"Value", "Count"}} number of times.<br />
| examples=<br />
'''{{monospace|<nowiki>Repeat(*,10)</nowiki>}}'''<br />
: Returns **********<br />
<br />
'''{{monospace|<nowiki>Repeat(Ha,5)</nowiki>}}'''<br />
: Returns HaHaHaHaHa<br />
}}<br />
<br />
=== <span id="Row">Row(&hellip;)</span> ===<br />
: Returns the row number of a list entry<br />
<br />
{{function description box<br />
| name=Row<br />
| arguments=<br />
| description=<br />
Row() returns the row number for each item in a list.<br />
| examples=<br />
'''{{monospace|<nowiki>Row()</nowiki>}}'''<br />
: When used as an expression column in a file list, each row is numbered starting at 1, incrementing by 1.<br />
<br />
}}<br />
<br />
=== <span id="Size">Size(&hellip;)</span> ===<br />
: Returns a file's size in a format specific to the media type.<br />
<br />
{| style="width: 100%; border-spacing: 0; border: 0px solid black;" align="top" cellpadding="3" cellspacing="0"<br />
|- id="Size" valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 2px 1px 0 2px; border-right: 1px solid #bbb;" width="100" | Description<br />
| style="background: #f9f9f9; color: #111; border-style: solid; border-width: 2px 2px 0 0" width="1200" | <span style="font-family: monospace,monospace; font-size:1em; color:#0f3f8d; font-size:110%"><b>size(</b><b>)</b></span><br />
The [[#Size|Size()]] function returns media size information specific to the particular media type.<br />
It is used to populate the Library fields <span style="font-family: monospace,monospace; font-size:1em;">duration</span> and <span style="font-family: monospace,monospace; font-size:1em;">dimensions</span> with their values.<br />
Either the field or [[#Size|Size()]] can be used.<br />
<br />
Type of information reported by size for the file's media type:<br />
<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse; background: #f9f9f9"><br />
<tr><td style="text-align:left; padding-right:20pt">Audio</td><td>Duration</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt">Video</td><td>Duration</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt">Image</td><td>Dimensions</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt">Data</td><td>No information returned.</td></tr><br />
</table></div><br />
|- valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 0px 1px 2px 2px; border-top: 1px solid #bbb; border-right: 1px solid #bbb;" | Examples<br />
|style="background: #f9f9f9; color: #111; border-style: solid; border-width: 0px 2px 2px 0; border-top: 1px solid #bbb;" | <span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>size()</nowiki></b></span><br />
<p style="margin-left:20pt;">Returns values such as <span style="font-family: monospace,monospace; font-size:1em;">400x225</span> for images, or <span style="font-family: monospace,monospace; font-size:1em;">3:09</span> for audio files.</p><br />
|}<br />
<div style="text-align:right;">([[#top|Back to top)]]</div><br />
<br />
=== <span id="Translate">Translate(&hellip;)</span> ===<br />
: Converts an English string found in the program to the current language selected in the language menu<br />
<br />
{{function description box<br />
| name=Translate<br />
| arguments=String<br />
| description=<br />
When using Media Center with any language ''other than English'', the Translate() function can be used to translate an English string in the program to the current language.<br />
<br />
| examples=<br />
'''{{monospace|<nowiki>Translate(Keywords)</nowiki>}}'''<br />
: If using the French language setting, this will return Mots-clés<br />
}}<br />
<br />
=== <span id="TreeNode">TreeNode(&hellip;)</span> ===<br />
: Returns the selected tree path.<br />
<br />
{{function description box<br />
| name=TreeNode<br />
| arguments=Mode<br />
| description=<br />
{{argument optional}}<br />
{{argument table<br />
| name=mode<br />
| contents=<br />
{{argument table row|0|Returns the full tree path}}<br />
{{argument table row|1|Returns the currently selected tree node}}<br />
{{argument table row|2|Returns the parent of the currently selected tree node}}<br />
}}<br />
<br />
| examples=<br />
'''{{monospace|<nowiki>TreeNode()</nowiki>}}'''<br />
: Will return the full tree path of the currently selected tree item (Uses mode zero by default)<br />
<br />
What this function does is self-explanatory. '''[https://yabb.jriver.com/interact/index.php/topic,128134.msg888957.html#msg888957 This conversation]''' on the Interact forums demonstrates a practical use-case scenario.<br />
}}<br />
<br />
=== <span id="TVInfo">TVInfo(&hellip;)</span> ===<br />
: Miscellaneous television and other pre-formatted information.<br />
<br />
{| style="width: 100%; border-spacing: 0; border: 0px solid black;" align="top" cellpadding="3" cellspacing="0"<br />
|- id="TVInfo" valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 2px 1px 0 2px; border-right: 1px solid #bbb;" width="100" | Description<br />
| style="background: #f9f9f9; color: #111; border-style: solid; border-width: 2px 2px 0 0" width="1200" | <span style="font-family: monospace,monospace; font-size:1em; color:#0f3f8d; font-size:110%"><b>tvinfo(</b><i>type</i><b>)</b></span><br />
The [[#TVInfo|TVInfo()]] function is multi-purpose, and returns a specific <i>type</i> of information about television recordings, programs,<br />
and pre-formatted informational strings for use in captions, thumbnails, grouping, etc.<br />
<br />
Available <i>type</i> values:<br />
<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse; background: #f9f9f9"><br />
<tr><td style="text-align:left; padding-right:20pt"><b>IsProgram</b></td><td>Returns 1 if the file is a program, 0 otherwise</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>IsGuideProgram</b></td><td>Returns 1 if the file is a guide program, 0 otherwise</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>IsRecordedProgram</b></td><td>Returns 1 if the file is a recorded program, 0 otherwise</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>IsTVChannel</b></td><td>Returns 1 if the selection is a TV Channel program</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>Channel</b></td><td>Returns the channel name associated with a given program</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>ChannelKeywords</b></td><td>Returns channel keywords</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>ChannelProgramNow</b></td><td>Returns the name of a playing TV program on a given channel, empty otherwise</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>Date</b></td><td>Returns a program's date</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>DateNoTime</b></td><td>Same as Date, but without the time.</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>NameDisplay</b></td><td>Returns [name]: [series] or just [name]</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>NameDisplayWithDate</b></td><td>NameDisplay + ([year])</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>Record</b></td><td>Returns 1 if the program is scheduled to be recorded, 0 otherwise</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>RecordMark</b></td><td>Returns a red dot if the program is schedule to be recorded.</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>RecordStatus</b></td><td>Returns a string describing the record status, blank if not to be recorded.</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>SeriesDisplay</b></td><td>Returns [series] or [name]</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>SeasonDisplay</b></td><td>Returns [season]</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>SeasonEpisode</b></td><td>Returns [season].[episode]</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>TimeDisplay</b></td><td>Returns program start time (system time format), or "Showing" if program on now</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>TimeDisplayNoOnNow</b></td><td>TimeDisplay without on now handling</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>SizeDisplay</b></td><td>Returns [duration] ([file size]) or [dimensions] ([file size])</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>WatchedDisplay</b></td><td>Returns Watched() information, such as No, Yes, 80%, etc.</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>IsOnNonTopGroupedChannel</b></td><td>Returns 1 if an EPG program is on a channel that is grouped as a non-top member, 0 otherwise.</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>ProgramChannelNumber</b></td><td>Returns channel number of the television channel the program is on.</td></tr><br />
</table></div><br />
|- valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 0px 1px 2px 2px; border-top: 1px solid #bbb; border-right: 1px solid #bbb;" | Examples<br />
|style="background: #f9f9f9; color: #111; border-style: solid; border-width: 0px 2px 2px 0; border-top: 1px solid #bbb;" | <span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>tvinfo(namedisplay)</nowiki></b></span><br />
<p style="margin-left:20pt;">Returns formatted name and series output. If the file has no <span style="font-family: monospace,monospace; font-size:1em;">[series]</span> value, only <span style="font-family: monospace,monospace; font-size:1em;">[name]</span> is output.</p><br />
|}<br />
<div style="text-align:right;">([[#top|Back to top)]]</div></div>Markohttps://wiki.jriver.com/index.php?title=FileExtension()&diff=17693FileExtension()2024-03-23T08:43:28Z<p>Marko: Redirected page to Miscellaneous Functions#FileExtension</p>
<hr />
<div>#redirect [[Miscellaneous Functions#FileExtension]]<br />
<br />
[[Category:Expression Functions]]</div>Markohttps://wiki.jriver.com/index.php?title=Date_and_Time_Functions&diff=17692Date and Time Functions2024-03-23T08:17:39Z<p>Marko: /* FormatDate(&hellip;) */</p>
<hr />
<div>{{Function Type Page}}<br />
<br />
Media Center provides several functions for the conversion, formatting and generation of dates and times.<br />
Date and time for a Date-type field is stored internally as a single floating-point number,<br />
where the integer portion represents the number of days since the Epoch, and the decimal portion represents the fraction of a day in seconds.<br />
The Epoch is defined as December 30th, 1899 at 00:00:01.<br />
Certain fractional values and whole numbers are used to encode Time-only and Year-only values.<br />
For example, the internal Date value of "2" is considered as 1900, without a time when converted using the DateTime conversion format of [[#FormatDate|FormatDate()]], whereas adding a small fraction and using "2.001" instead produces a value of "1/1/1900 12:01 am".<br />
These details are only relevant if you are doing conversions.<br />
<br />
The Windows locale setting will affect the interpretation and formatting of date and time information.<br />
=== <span id="CompareDates">CompareDates(&hellip;)</span> ===<br />
: Compares two dates, returning a formatted elapsed period between them.<br />
<br />
{{function description box<br />
| name=CompareDates<br />
| arguments=Date 1, Date 2, Mode<br />
| description=<br />
{{argument optional|Mode|<i>a</i>}}<br />
The [[#CompareDates|CompareDates()]] function compares <i>Date 1</i> with <i>Date 2</i> returning the elapsed period between the two.<br><br />
<i>Date 1</i> or <i>Date 2</i> need to be presented in the raw format Media Center uses for all of its date related fields as detailed in the information at the top of this page. If presenting literal, human-readable dates, they must be converted using the [[ConvertDate()]] function, as shown in example #1 below. If existing Media Center date fields are to be used, then the raw date data of that field must be specified by including the <i>,0</i> instruction, like so: [Date,0]<br><br />
The <i>Modes</i> below can be used to format the value returned by the function.<br />
<br />
{{argument table<br />
| contents=<br />
{{argument table row|a|Automatic}}<br />
{{argument table row|c|Calendar Years}}<br />
{{argument table row|y|Decimal Years}}<br />
{{argument table row|d|Decimal Days}}<br />
{{argument table row|yd|Years and Days}}<br />
}}<br />
<br />
'''Notes:'''<br />
* Modes <i>a</i> and <i>c</i> return rounded results, so, for example, 37.95 years is returned as 38 years, <i>not</i> 37 years.<br />
* Leap years are factored in automatically, though there are currently (Media Center 30.0.61) still some rounding errors that may affect your expected result. See [https://yabb.jriver.com/interact/index.php/topic,134959.msg934760.html#msg934760 this Interact Forum post] for full details.<br />
<br />
| examples=<br />
* '''All examples shown below use the UK date system of dd/mm/yyyy hh:mm'''<br />
<br />
'''{{monospace|CompareDates(ConvertDate(10//03//2018 15:25),ConvertDate(11//02//2023))}}'''<br />
: No mode is specified, so defaults to <i>a (Automatic)</i>, returning decimal years to two decimal places, <i>4.93 years</i>. Note that the forward slash in the date values needs to be escaped, hence the 'double forward slash' shown.<br />
<br />
'''{{monospace|CompareDates([date imported<u>,0</u>],[last played<u>,0</u>])}}'''<br />
: Any 'Date' field can be used for comparison, but the raw field data must be specified by including the <i><b>,0</b></i> instruction.<br />
<br />
'''Maths and dates can be troublesome'''<br />
: See [https://yabb.jriver.com/interact/index.php/topic,134959.0.html this Interact forum thread] for more information.<br />
}}<br />
<br />
=== <span id="ConvertDate">ConvertDate(&hellip;)</span> ===<br />
: Converts a human-readable date to the internal format required for use in date fields.<br />
<br />
{| style="width: 100%; border-spacing: 0; border: 0px solid black;" align="top" cellpadding="3" cellspacing="0"<br />
|- id="ConvertDate" valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 2px 1px 0 2px; border-right: 1px solid #bbb;" width="100" | Description<br />
| style="background: #f9f9f9; color: #111; border-style: solid; border-width: 2px 2px 0 0" width="1200" | <span style="font-family: monospace,monospace; font-size:1em; color:#0f3f8d; font-size:110%"><b>convertdate(</b><i>date_time string</i><b>)</b></span><br />
Converts a human-readable <i>date_time string</i> into the internal floating-point representation used by Media Center to store a date and time.<br />
<br />
It is also possible to break the 'human-readable' <i>date_time string</i> into components and pass these to the function, like so:<br><br />
<b>convertdate(</b><i>year,month,day,hour,minute,second</i><b>)</b><br />
|- valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 0px 1px 2px 2px; border-top: 1px solid #bbb; border-right: 1px solid #bbb;" | Examples<br />
|style="background: #f9f9f9; color: #111; border-style: solid; border-width: 0px 2px 2px 0; border-top: 1px solid #bbb;" | <span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>convertdate(3//6//2012)</nowiki></b></span><br />
<p style="margin-left:20pt;">Returns the value <span style="font-family: monospace,monospace; font-size:1em;">40974</span>, which is the internal floating-point representation of the date string <span style="font-family: monospace,monospace; font-size:1em;">3/6/2012</span>.<br />
This value can used by any field of type Date, or in any function that requires as input a Date type value.</p><br />
<br />
<span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>formatdate(convertdate(May 17 1970), dddd dd MMM yyyy)</nowiki></b></span><br />
<p style="margin-left:20pt;">Returns the value <span style="font-family: monospace,monospace; font-size:1em;">Sunday 17 May 1970</span>, as the input does not need to be numeric, but can be in common human readable format, including "17 May 17", or "17-5-17", or "17 5 17", which all mean <span style="font-family: monospace,monospace; font-size:1em;">Wednesday 17 May 2017</span>. Or "17 5", where the year is left out and defaults to the current year. Or "17 17", where the month is left out and default to the current month.</p><br />
<br />
<span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>formatdate(convertdate(12//2//1985), decade))</nowiki></b></span><br />
<p style="margin-left:20pt;">Converts the date string <span style="font-family: monospace,monospace; font-size:1em;">12/2/1985</span> (note: December 2nd, not February 12th, though the function appears to follow system date formatting) into a Date type value,<br />
and then formats the result as a decades grouping, returning <span style="font-family: monospace,monospace; font-size:1em;">1980's</span>.<br />
This might be used for creating decade groupings.</p><br />
|}<br />
<div style="text-align:right;">([[#top|Back to top)]]</div><br />
<br />
=== <span id="DateInRange">DateInRange(&hellip;)</span> ===<br />
: Functions as a switch or select case statement.<br />
<br />
{{function description box<br />
| name=DateInRange<br />
| arguments=Date, Range Start, Range End<br />
| description=<br />
The [[#DateInRange|DateInRange()]] function compares a date against a range of dates, returning "1" if the date is within the given range, and "0" if it is not.<br />
<br />
'''Notes:'''<br />
* The range is ''not'' inclusive. A search using a range of 2010 to 2019 will return matches from 2010 to 2018.<br />
* The start and end dates can be formatted in more than one fashion, though must follow the ''dd-mm-yyyy hh:mm'' template used on the system the expression is to be run on.<br />
* Time can also be included in the range.<br />
<br />
''Related:'' See also [[IsRange()|IsRange(…)]]<br />
<br />
| examples=<br />
* '''All examples shown below use the UK date system of dd/mm/yyyy hh:mm'''<br />
<br />
'''{{monospace|DateInRange([Date],1980,1990)}}'''<br />
: Returns "1" for any date within the years from 1980 to 1989, and "0" for all other dates.<br />
<br />
'''{{monospace|DateInRange([Date],01//03//2012,31//03//2012)}}'''<br />
: Returns "1" for any date during March 2012, and "0" for all other dates. ''Note that here, the forward slashes need to be escaped''<br />
<br />
'''{{monospace|DateInRange([Date],01-03-2012,31-03-2012)}}'''<br />
: Returns "1" for any date during March 2012, and "0" for all other dates. ''Exactly as the example above, showing different range formatting allowed.''<br />
<br />
'''{{monospace|if(DateInRange([Date],17-03-2012 00:00,17-03-2012 12:00),The morning of March 17th 2012,Some other time)}}'''<br />
: Returns "The morning of March 17th 2012" for any date between 00:00 and 11:59 on March 17th 2012, and "Some other time" for all other dates.<br />
}}<br />
<br />
=== <span id="FormatDate">FormatDate(&hellip;)</span> ===<br />
: Formats a date value in a specified manner.<br />
<br />
{| style="width: 100%; border-spacing: 0; border: 0px solid black;" align="top" cellpadding="3" cellspacing="0"<br />
|- id="FormatDate" valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 2px 1px 0 2px; border-right: 1px solid #bbb;" width="100" | Description<br />
| style="background: #f9f9f9; color: #111; border-style: solid; border-width: 2px 2px 0 0" width="1200" | <span style="font-family: monospace,monospace; font-size:1em; color:#0f3f8d; font-size:110%"><b>formatdate(</b><i>date value</i><b>, </b><i>format specifier</i><b>, </b><i>empty label</i><b>)</b></span><br />
The [[#FormatDate|FormatDate()]] function provides custom formatting of date and time values through the use of a <i>format specifier</i>.<br />
Output will be formatted according to <i>format specifier</i>.<br />
<br />
The <i>date value</i> is a Media Center internal floating-point date/time representation, stored in Date fields,<br />
and output from various functions such as [[#Now|Now()]] and [[#ConvertDate|ConvertDate()]].<br />
To pass a field of type Date to [[#FormatDate|FormatDate()]], use the raw (unformatted) field specification, such as "[Date Imported,0]".<br />
<br />
The <i>format specifier</i> provides a recipe for converting the internal value into a human-readable string.<br />
Supported are a variety of Windows style, strftime() style, and Media Center-specific formats specifiers.<br />
Construct the <i>format specifier</i> from any number or combination of those defined in the following table.<br />
Additionally, any non-format characters will be output without interpretation.<br />
This allows creating rich date/time output strings.<br />
To output a word that is a reserved <i>format specifier</i>, surround the word with double-quotes.<br />
<br />
The <i>empty label</i> argument will be output if the <i>date value</i> is empty.<br />
<br />
<blockquote><br />
{| style="background: #f9f9f9;" border="1" cellpadding="1" cellspacing="0"<br />
| style="background: #ecedf3;" | || colspan="3" align="center" style="background: #ecedf3;" | '''Specifier''' || style="background: #ecedf3;" | '''Description'''<br />
|-<br />
| rowspan="7" width="100" | '''Day'''<br />
| align="center" width="65" | d || || Day || Day of the month as digits without leading zeros for single-digit days.<br />
|-<br />
| align="center" | dd || %d || || Day of the month as digits with leading zeros for single-digit days.<br />
|-<br />
| align="center" | ddd || %a || || Day of the week, abbreviated to three letters.<br />
|-<br />
| align="center" | dddd || %A || Dayname || Day of the week.<br />
|-<br />
| align="center" | || %w || || Day of the week as a decimal number, Sunday as 0 (0-6).<br />
|-<br />
| align="center" | || %j || || Day of the year (001-366)<br />
|-<br />
| align="center" | || %j ||Dayordinal|| Ordinal day of the month (e.g. 1st, 2nd, etc.).<br />
|-<br />
| rowspan="4" | '''Month'''<br />
| align="center" | M || || || Month as digits without leading zeros for single-digit months.<br />
|-<br />
| align="center" | MM || %m || || Month as digits with leading zeros for single-digit months.<br />
|-<br />
| align="center" | MMM || %b || || Abbreviated month name, three letters (e.g. Apr, Nov).<br />
|-<br />
| align="center" | MMMM || %B || Month || Full Month name (e.g. April, November).<br />
|-<br />
| rowspan="4" | '''Year'''<br />
| align="center" | y || || || Year represented only by the last digit.<br />
|-<br />
| align="center" | yy || %y || || Year represented only by the last two digits. A leading zero is added for single-digit years.<br />
|-<br />
| align="center" | yyyy || %Y || Year || Year represented by a full four or five digits.<br />
|-<br />
| align="center" | || || Decade || Year expressed as a decade (e.g. 1970's, 2010's)<br />
|-<br />
| rowspan="4" | '''Hour'''<br />
| align="center" | h || || Hour || Hours with no leading zero for single-digit hours; 12-hour clock.<br />
|-<br />
| align="center" | hh || %I || || Hours with leading zero for single-digit hours; 12-hour clock.<br />
|-<br />
| align="center" | H || || || Hours with no leading zero for single-digit hours; 24-hour clock.<br />
|-<br />
| align="center" | HH || %H || || Hours with leading zero for single-digit hours; 24-hour clock.<br />
|-<br />
| rowspan="2" | '''Minute'''<br />
| align="center" | m || || Minute || Minutes with no leading zero for single-digit minutes.<br />
|-<br />
| align="center" | mm || %M || || Minutes with leading zero for single-digit minutes.<br />
|-<br />
| rowspan="2" | '''Second'''<br />
| align="center" | s || || Second || Seconds with no leading zero for single-digit seconds.<br />
|-<br />
| align="center" | ss || %S || || Seconds with leading zero for single-digit seconds.<br />
|-<br />
| rowspan="2" | '''AM/PM'''<br />
| align="center" | t || || || One character time marker string, such as A or P.<br />
|-<br />
| align="center" | tt || %p || || Multi-character time marker string, such as AM or PM.<br />
|-<br />
| rowspan="6" | '''Combined'''<br />
| align="center" | || %x || Date || Date expressed in the system's format.<br />
|-<br />
| align="center" | || %X || Time || Time expressed in the system's format.<br />
|-<br />
| align="center" | || %c || DateTime|| Date and time expressed in the system's format.<br />
|-<br />
| align="center" | || || ShortDate|| Age-conditional date formatted as one of "Year", "MMM d", or "MMM d Year".<br />
|-<br />
| align="center" | || || ShortDateTime || Date in ShortDate format plus Time.<br />
|-<br />
| align="center" | || || ShortTime|| Time, without the seconds. No rounding up is performed.<br />
|-<br />
| rowspan="2" | '''Week Number'''<br />
| align="center" | || %U || || Week number with the first Sunday as the first day of week one (00-53).<br />
|-<br />
| align="center" | || %W || || Week number with the first Monday as the first day of week one (00-53).<br />
|-<br />
| rowspan="4" | '''Miscellaneous'''<br />
| align="center" | || || Elapsed || Time expressed as elapsed time (e.g. 2.5 hours).<br />
|-<br />
| align="center" | || ||ElapsedAgo|| Time expressed as elapsed time ago (e.g. 2.5 hours ago).<br />
|-<br />
| align="center" | || || Filename|| Date and time expressed in filename-friendly format, includes seconds to avoid filename collisions (e.g. 20040521-032221).<br />
|-<br />
| align="center" | || %% || || A percent (%) character.<br />
|-<br />
|}<br />
</blockquote><br />
<br />
Argument <i>date value</i> is optional (defaults to [date,0]).<br />
<br />
Argument <i>empty label</i> is optional (defaults to EMPTY).<br />
<br />
|- valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 0px 1px 2px 2px; border-top: 1px solid #bbb; border-right: 1px solid #bbb;" | Examples<br />
|style="background: #f9f9f9; color: #111; border-style: solid; border-width: 0px 2px 2px 0; border-top: 1px solid #bbb;" | <span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>formatdate(year-month)</nowiki></b></span><br />
<p style="margin-left:20pt;">Outputs the file's date formatted as Year-Month, such as <span style="font-family: monospace,monospace; font-size:1em;">2012-April</span>. The default <i>date value</i> of <span style="font-family: monospace,monospace; font-size:1em;">[Date,0]</span> is used.</p><br />
<span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>formatdate([last played,0], yyyy//MM//dd, Not Yet)</nowiki></b></span><br />
<p style="margin-left:20pt;">Returns the file's last played date as year/month/day without the time, ignoring the system locale setting.<br />
If a file has no last played value, the expression will output <span style="font-family: monospace,monospace; font-size:1em;">Not Yet</span> instead.</p><br />
<span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>formatdate([date modified,0], month %Y)</nowiki></b></span><br />
<p style="margin-left:20pt;">Returns the file's modification date/time in the form of a long month name and a four-digit year, such as <span style="font-family: monospace,monospace; font-size:1em;">December 2010</span>.</p><br />
<span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>formatdate([date imported,0], The "year" is year)</nowiki></b></span><br />
<p style="margin-left:20pt;">Outputs the <span style="font-family: monospace,monospace; font-size:1em;">The year is ####</span>, where #### is the year the file was imported into the Library.<br />
Note that the word <span style="font-family: monospace,monospace; font-size:1em;">year</span> must be surrounded in double-quotes to have it considered as literal text,<br />
and not the <span style="font-family: monospace,monospace; font-size:1em;"><b>Year</b></span> <i>format specifier</i>.</p><br />
<span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>formatdate([date imported,0], month)&amp;datatype=[month]</nowiki></b></span><br />
<p style="margin-left:20pt;">This examples is the same as the previous example, but includes a cast to the Month type <span style="font-family: monospace,monospace; font-size:1em;">&datatype=[month]</span>.<br />
This cast can be used to cause chronological month-sorting, rather than month name alphabetic-sorting, in a panes or category view.<br />
Data-type coercion is discussed [[#Specify_data_types_for_expression_based_fields|above]].</p><br />
<br />
Additional Examples<br />
<br />
:[http://yabb.jriver.com/interact/index.php?topic=71000.msg479314#msg479314 Date formatting development discussion, usage tips and examples.]<br />
|}<br />
<div style="text-align:right;">([[#top|Back to top)]]</div><br />
<br />
=== <span id="Now">Now(&hellip;)</span> ===<br />
: Retrieve and display the system date.<br />
<br />
{| style="width: 100%; border-spacing: 0; border: 0px solid black;" align="top" cellpadding="3" cellspacing="0"<br />
|- id="Now" valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 2px 1px 0 2px; border-right: 1px solid #bbb;" width="100" | Description<br />
| style="background: #f9f9f9; color: #111; border-style: solid; border-width: 2px 2px 0 0" width="1200" | <span style="font-family: monospace,monospace; font-size:1em; color:#0f3f8d; font-size:110%"><b>now(</b><b>)</b></span><br />
The [[#Now|Now()]] function returns a floating-point value representing the current system date and time.<br />
It is generally useful for performing date arithmatic in expressions that desire to figure out elapsed time.<br />
Any raw date field or value representing a date can be subtracted from [[#Now|Now()]] to realize an elapsed time delta.<br />
|- valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 0px 1px 2px 2px; border-top: 1px solid #bbb; border-right: 1px solid #bbb;" | Examples<br />
|style="background: #f9f9f9; color: #111; border-style: solid; border-width: 0px 2px 2px 0; border-top: 1px solid #bbb;" | <span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>now()</nowiki></b></span><br />
<p style="margin-left:20pt;">When run on Aug 17, 2013 at 19:28:00, returns approximately <span style="font-family: monospace,monospace; font-size:1em;">41503.811115995</span>.</p><br />
<span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>formatdate(now(), date)</nowiki></b></span><br />
<p style="margin-left:20pt;">Returns the current date, without a time component, formatted according to the system's locale settings.</p><br />
<span style="font-family: monospace,monospace; font-size:1em;"><b><nowiki>formatdate(math(now() - 3, dddd dd MMMM yyyy H:mm)</nowiki></b></span><br />
<p style="margin-left:20pt;">The date from three days ago is formatted as something like <span style="font-family: monospace,monospace; font-size:1em;">Wednesday 14 August 2013 19:35</span>.<br />
This is accomplished by subtracting the value <span style="font-family: monospace,monospace; font-size:1em;">3</span>, which would be days, from [[#Now|Now()]], and its output formatted by [[#FormatDate|FormatDate()]].</p><br />
|}<br />
<br />
<br />
=== <span id="PlaylistTime">PlaylistTime(&hellip;)</span> ===<br />
: Returns the time of a track in the current playlist (a sum of all previous durations)<br />
<br />
{| style="width: 100%; border-spacing: 0; border: 0px solid black;" align="top" cellpadding="3" cellspacing="0"<br />
|- id="PlaylistTime" valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 2px 1px 0 2px; border-right: 1px solid #bbb;" width="100" | Description<br />
| style="background: #f9f9f9; color: #111; border-style: solid; border-width: 2px 2px 0 0" width="1200" | <span style="font-family: monospace,monospace; font-size:1em; color:#0f3f8d; font-size:110%"><b>PlaylistTime(</b><i>Mode</i>, <i>Format</i><b>)</b></span><br />
The [[#PlaylistTime|PlaylistTime()]] function provides running totals of time in the current playlist. Totals returned are determined by the specified Mode value.<br />
<br />
Argument <i>Mode</i> is optional (defaults to 0).<br><br />
Available <i>Mode</i> values:<br />
<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse; background: #f9f9f9"><br />
<tr><td style="text-align:left; padding-right:20pt"><b>0</b></td><td>Returns a sum of all previous durations</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>1</b></td><td>Returns a sum of all previous durations, including the current item</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>2</b></td><td>Returns the remaing time of the list</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>3</b></td><td>Returns the remaing time of the list, including the current item</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>4</b></td><td>Returns the total playlist duration</td></tr><br />
</table></div><br />
<br />
Argument <i>Format</i> is optional (defaults to 1).<br><br />
Available <i>Format</i> values:<br />
<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse; background: #f9f9f9"><br />
<tr><td style="text-align:left; padding-right:20pt"><b>0</b></td><td>Returns unformatted, raw data (seconds)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>1</b></td><td>Returns formatted, human readable data (time)</td></tr><br />
</table></div><br />
<br />
'''<u>NOTE:</u>'''<br><br />
This function's primary use will be as an expression column in a file list. Be aware that if used in a list of tens of thousands of files, the view will struggle with the calculations and become sporadically unresponsive.<br />
<br />
|- valign="top"<br />
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 0px 1px 2px 2px; border-top: 1px solid #bbb; border-right: 1px solid #bbb;" | Examples<br />
|style="background: #f9f9f9; color: #111; border-style: solid; border-width: 0px 2px 2px 0; border-top: 1px solid #bbb;" | PlaylistTime()<br />
<br />
The table below shows list expression columns using modes 0 - 4:<br />
<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse; background: #f9f9f9" border="1"><br />
<tr><td style="text-align:left; padding-right:20pt">Name</td><td>Duration</td><td>Mode 0</td><td>Mode 1</td><td>Mode 2</td><td>Mode 3</td><td>Mode 4</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt">Tangled Up In Blue</td><td>6:54</td><td>0:00</td><td>6:55</td><td>17:41</td><td>24:36</td><td>24:36</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt">Simple Twist Of Fate</td><td>4:23</td><td>6:54</td><td>11:18</td><td>13:18</td><td>17:41</td><td>24:36</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt">You're A Big Girl Now</td><td>4:24</td><td>11:18</td><td>15:43</td><td>8:53</td><td>13:18</td><td>24:36</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt">Idiot Wind</td><td>8:53</td><td>15:43</td><td>24:36</td><td>0:00</td><td>8:53</td><td>24:36</td></tr><br />
</table></div><br />
<br />
Values in the table above have been lifted directly from a Media Center list, indicating that the function is performing some rounding up in certain stuations.<br />
|}<br />
<br />
<div style="text-align:right;">([[#top|Back to top)]]</div></div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17691Release Notes MC322024-03-23T08:05:44Z<p>Marko: </p>
<hr />
<div>'''32.0.29 (3/22/2024)'''<br />
<br><br />
1. '''NEW:''' Added ShortTime date formatting string.<br><br />
2. Changed: Tweaked Theater View file info templates (v2.5 of templates file).<br />
* For TV Shows: Add option variable to show/hide director. Display small episode thumbnail.<br><br />
* For Shows and Movies: Add Watched status display. Use new ShortTime formatting for end times. Add option variable for date formatting which defaults to ShortDate. Add option variable to show/hide Recommended title text.<br><br />
3. Changed: In Image Face-tagging, if a rectangle is created on the image (by user clicking in the image) while the list of regions is still empty, a new region is automatically created, and the user is prompted to enter more details.<br><br />
4. '''NEW:''' Added a "Test output" command to Options > Audio. It will save the current settings and try playing a sample file with the current settings.<br><br />
5. Changed: Removed the Help menu option to leave error free mode since it's now in the view menu.<br><br />
6. Changed: The view extras submenu no longer hits the filesystem when it's added to a menu (only when the menu is opened).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138498.0.html 32.0.28 (3/21/2024)]'''<br />
<br><br />
1. '''NEW:''' Added an error free toolbar button to show the status and allow toggling. Also added to the view menu.<br><br />
2. Fixed: Double-click on the play button was not stopping.<br><br />
3. '''NEW:''' The brightness of PGS subtitles on HDR movies is checked to determine if they are proper HDR subtitles, and are treated as SDR subtitles if not.<br><br />
4. Fixed: XMP image tagging did not work with some non-ASCII characters. <br><br />
<br><br />
<br><br />
'''32.0.27 (3/19/2024)'''<br />
<br><br />
1. Fixed: Some Sat>IP channels scanned since MC29 would not play because a tuner type matching failed.<br><br />
2. Changed: Running a command line argument or double-clicking files exits error free mode.<br><br />
3. Changed: "lr" is added to "words" that should be always all-capitalized during auto case correction.<br><br />
4. Changed: Updated Spanish translation (thanks Leandro Botella Penalva).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138447.0.html 32.0.26 (3/14/2024)]'''<br />
<br><br />
1. Fixed: Merging of image [People] and [Image Regions] did not work if the latter is empty.<br><br />
2. '''NEW:''' Added Theater View file info template for TV Shows using Spotlight data. (v2.4 of templates file)<br><br />
3. Changed: Particle creation from chapters works on blu-rays.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138420.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''32.0.24 (3/7/2024)'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recordig settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated. <br><br />
<br><br />
<br><br />
'''32.0.23 (3/5/2024)'''<br />
<br><br />
1. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
2. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
3. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
4. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
5. Fixed: While playing a live TV channel on a client using a server TV tuner, switching to a different media type (e.g. Audio or Video) without explicitly clicking the Stop button would cause the server tuner not to be released (for an hour).<br><br />
<br><br />
<br><br />
'''32.0.22 (2/29/2024)'''<br />
<br><br />
1. Changed: Updated the new / improved this version link to v32.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
4. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
5. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
<br><br />
<br><br />
'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17690Release Notes MC322024-03-22T19:32:02Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138498.0.html 32.0.28 (3/21/2024)]'''<br />
<br><br />
1. '''NEW:''' Added an error free toolbar button to show the status and allow toggling. Also added to the view menu.<br><br />
2. Fixed: Double-click on the play button was not stopping.<br><br />
3. '''NEW:''' The brightness of PGS subtitles on HDR movies is checked to determine if they are proper HDR subtitles, and are treated as SDR subtitles if not.<br><br />
4. Fixed: XMP image tagging did not work with some non-ASCII characters. <br><br />
<br><br />
<br><br />
'''32.0.27 (3/19/2024)'''<br />
<br><br />
1. Fixed: Some Sat>IP channels scanned since MC29 would not play because a tuner type matching failed.<br><br />
2. Changed: Running a command line argument or double-clicking files exits error free mode.<br><br />
3. Changed: "lr" is added to "words" that should be always all-capitalized during auto case correction.<br><br />
4. Changed: Updated Spanish translation (thanks Leandro Botella Penalva).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138447.0.html 32.0.26 (3/14/2024)]'''<br />
<br><br />
1. Fixed: Merging of image [People] and [Image Regions] did not work if the latter is empty.<br><br />
2. '''NEW:''' Added Theater View file info template for TV Shows using Spotlight data. (v2.4 of templates file)<br><br />
3. Changed: Particle creation from chapters works on blu-rays.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138420.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''32.0.24 (3/7/2024)'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recordig settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated. <br><br />
<br><br />
<br><br />
'''32.0.23 (3/5/2024)'''<br />
<br><br />
1. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
2. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
3. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
4. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
5. Fixed: While playing a live TV channel on a client using a server TV tuner, switching to a different media type (e.g. Audio or Video) without explicitly clicking the Stop button would cause the server tuner not to be released (for an hour).<br><br />
<br><br />
<br><br />
'''32.0.22 (2/29/2024)'''<br />
<br><br />
1. Changed: Updated the new / improved this version link to v32.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
4. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
5. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
<br><br />
<br><br />
'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17689Release Notes MC322024-03-21T18:51:49Z<p>Marko: </p>
<hr />
<div>'''32.0.28 (3/21/2024)'''<br />
<br><br />
1. '''NEW:''' Added an error free toolbar button to show the status and allow toggling. Also added to the view menu.<br><br />
2. Fixed: Double-click on the play button was not stopping.<br><br />
3. '''NEW:''' The brightness of PGS subtitles on HDR movies is checked to determine if they are proper HDR subtitles, and are treated as SDR subtitles if not.<br><br />
4. Fixed: XMP image tagging did not work with some non-ASCII characters. <br><br />
<br><br />
<br><br />
'''32.0.27 (3/19/2024)'''<br />
<br><br />
1. Fixed: Some Sat>IP channels scanned since MC29 would not play because a tuner type matching failed.<br><br />
2. Changed: Running a command line argument or double-clicking files exits error free mode.<br><br />
3. Changed: "lr" is added to "words" that should be always all-capitalized during auto case correction.<br><br />
4. Changed: Updated Spanish translation (thanks Leandro Botella Penalva).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138447.0.html 32.0.26 (3/14/2024)]'''<br />
<br><br />
1. Fixed: Merging of image [People] and [Image Regions] did not work if the latter is empty.<br><br />
2. '''NEW:''' Added Theater View file info template for TV Shows using Spotlight data. (v2.4 of templates file)<br><br />
3. Changed: Particle creation from chapters works on blu-rays.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138420.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''32.0.24 (3/7/2024)'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recordig settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated. <br><br />
<br><br />
<br><br />
'''32.0.23 (3/5/2024)'''<br />
<br><br />
1. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
2. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
3. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
4. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
5. Fixed: While playing a live TV channel on a client using a server TV tuner, switching to a different media type (e.g. Audio or Video) without explicitly clicking the Stop button would cause the server tuner not to be released (for an hour).<br><br />
<br><br />
<br><br />
'''32.0.22 (2/29/2024)'''<br />
<br><br />
1. Changed: Updated the new / improved this version link to v32.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
4. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
5. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
<br><br />
<br><br />
'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17688Release Notes MC322024-03-19T17:54:05Z<p>Marko: </p>
<hr />
<div>'''32.0.27 (3/19/2024)'''<br />
<br><br />
1. Fixed: Some Sat>IP channels scanned since MC29 would not play because a tuner type matching failed.<br><br />
2. Changed: Running a command line argument or double-clicking files exits error free mode.<br><br />
3. Changed: "lr" is added to "words" that should be always all-capitalized during auto case correction.<br><br />
4. Changed: Updated Spanish translation (thanks Leandro Botella Penalva).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138447.0.html 32.0.26 (3/14/2024)]'''<br />
<br><br />
1. Fixed: Merging of image [People] and [Image Regions] did not work if the latter is empty.<br><br />
2. '''NEW:''' Added Theater View file info template for TV Shows using Spotlight data. (v2.4 of templates file)<br><br />
3. Changed: Particle creation from chapters works on blu-rays.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138420.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''32.0.24 (3/7/2024)'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recordig settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated. <br><br />
<br><br />
<br><br />
'''32.0.23 (3/5/2024)'''<br />
<br><br />
1. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
2. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
3. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
4. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
5. Fixed: While playing a live TV channel on a client using a server TV tuner, switching to a different media type (e.g. Audio or Video) without explicitly clicking the Stop button would cause the server tuner not to be released (for an hour).<br><br />
<br><br />
<br><br />
'''32.0.22 (2/29/2024)'''<br />
<br><br />
1. Changed: Updated the new / improved this version link to v32.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
4. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
5. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
<br><br />
<br><br />
'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17687Release Notes MC322024-03-17T15:24:35Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138447.0.html 32.0.26 (3/14/2024)]'''<br />
<br><br />
1. Fixed: Merging of image [People] and [Image Regions] did not work if the latter is empty.<br><br />
2. '''NEW:''' Added Theater View file info template for TV Shows using Spotlight data. (v2.4 of templates file)<br><br />
3. Changed: Particle creation from chapters works on blu-rays.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138420.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''32.0.24 (3/7/2024)'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recordig settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated. <br><br />
<br><br />
<br><br />
'''32.0.23 (3/5/2024)'''<br />
<br><br />
1. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
2. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
3. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
4. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
5. Fixed: While playing a live TV channel on a client using a server TV tuner, switching to a different media type (e.g. Audio or Video) without explicitly clicking the Stop button would cause the server tuner not to be released (for an hour).<br><br />
<br><br />
<br><br />
'''32.0.22 (2/29/2024)'''<br />
<br><br />
1. Changed: Updated the new / improved this version link to v32.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
4. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
5. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
<br><br />
<br><br />
'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17682Release Notes MC322024-03-14T18:31:50Z<p>Marko: </p>
<hr />
<div>'''32.0.26 (3/14/2024)'''<br />
<br><br />
1. Fixed: Merging of image [People] and [Image Regions] did not work if the latter is empty.<br><br />
2. '''NEW:''' Added Theater View file info template for TV Shows using Spotlight data. (v2.4 of templates file)<br><br />
3. Changed: Particle creation from chapters works on blu-rays.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138420.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''32.0.24 (3/7/2024)'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recordig settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated. <br><br />
<br><br />
<br><br />
'''32.0.23 (3/5/2024)'''<br />
<br><br />
1. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
2. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
3. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
4. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
5. Fixed: While playing a live TV channel on a client using a server TV tuner, switching to a different media type (e.g. Audio or Video) without explicitly clicking the Stop button would cause the server tuner not to be released (for an hour).<br><br />
<br><br />
<br><br />
'''32.0.22 (2/29/2024)'''<br />
<br><br />
1. Changed: Updated the new / improved this version link to v32.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
4. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
5. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
<br><br />
<br><br />
'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17681Release Notes MC322024-03-13T19:25:39Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138420.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''32.0.24 (3/7/2024)'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recordig settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated. <br><br />
<br><br />
<br><br />
'''32.0.23 (3/5/2024)'''<br />
<br><br />
1. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
2. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
3. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
4. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
5. Fixed: While playing a live TV channel on a client using a server TV tuner, switching to a different media type (e.g. Audio or Video) without explicitly clicking the Stop button would cause the server tuner not to be released (for an hour).<br><br />
<br><br />
<br><br />
'''32.0.22 (2/29/2024)'''<br />
<br><br />
1. Changed: Updated the new / improved this version link to v32.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
4. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
5. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
<br><br />
<br><br />
'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17680Release Notes MC322024-03-12T18:29:15Z<p>Marko: </p>
<hr />
<div>'''32.0.25 (3/12/2024)'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''32.0.24 (3/7/2024)'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recordig settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated. <br><br />
<br><br />
<br><br />
'''32.0.23 (3/5/2024)'''<br />
<br><br />
1. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
2. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
3. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
4. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
5. Fixed: While playing a live TV channel on a client using a server TV tuner, switching to a different media type (e.g. Audio or Video) without explicitly clicking the Stop button would cause the server tuner not to be released (for an hour).<br><br />
<br><br />
<br><br />
'''32.0.22 (2/29/2024)'''<br />
<br><br />
1. Changed: Updated the new / improved this version link to v32.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
4. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
5. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
<br><br />
<br><br />
'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Mac&diff=17679Release Notes MC32 Mac2024-03-12T18:26:33Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138416.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
10. Fixed: Issues with the menu bar when entering and returning from fullscreen display view and theater view modes on MacOS 13 and above.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138372.msg959796.html#msg959796 32.0.23 (3/7/2024)]'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recording settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated.<br><br />
8. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
9. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
10. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
11. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
12. Changed: Updated the new / improved this version link to v32.<br><br />
13. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
14. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
15. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
16. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
17. Fixed: The EXIF parser could crash on malformed files.<br><br />
18. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
19. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
20. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
21. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
22. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138248.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
3. Changed: List drawing supports the alpha parameter on text.<br><br />
4. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
5. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
6. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
7. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
8. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
9. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
10. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
11. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
12. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
13. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
14. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
15. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
16. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
17. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
18. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
19. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
20: Fixed: CD ripping could only be initialed from Drives & Devices. Now it can also be initiated from Rip Disc.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138166.0.html 32.0.17 (2/13/2024)]'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138124.0.html 32.0.15 (2/9/2024)]'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
5. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
6. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
7. Changed: Moved the "convert to pre-composed UTF8" into a separate function and allowed it to fix filenames as well as stock string fields.<br><br />
8. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138104.0.html 32.0.13 (2/6/2024)]'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138056.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. Fixed: Crash on CD insertion.<br><br />
8. Fixed: Crash on tabbing views.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138038.0.html 32.0.11 (1/30/2024)]'''<br />
<br><br />
1. '''NEW:''' Implemented program links.<br><br />
2. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
3. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
4. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
5. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.10 (1/26/2024)]'''<br />
<br><br />
1. Fixed: Crash on exiting Options from the Tree and View page.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Possible fix for unusual event processing crashes. Needs feedback, especially from universal control users.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137895.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. Fixed: File Associations being set on first run of a new major version of MC wouldn't work and popup a black box with no information in it.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Linux&diff=17678Release Notes MC32 Linux2024-03-12T18:22:27Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138417.0.html 32.0.25 (3/12/2024)]'''<br />
<br><br />
1. Changed: Updated German translation file (thanks Bytestar).<br><br />
2. '''NEW:''' Added Spotlight item to context menu in Theater View which will show Spotlight for the first file.<br><br />
3. Fixed: Spotlight stopped retrieving albums for artists.<br><br />
4. '''NEW:''' Introduced a new Tonemapping Curve setting in JRVR Advanced Output selection to pick between different Spline curves for tonemapping.<br><br />
5. Changed: The default JRVR tonemapping spline curve has been changed to favor a more lively "popping" image in dark scenes.<br><br />
6. Fixed: Setting the media network client conversion for audio was not working.<br><br />
7. '''NEW:''' Added the ability to create particles from chapters in a video (requires a video that plays with chapters, does not work with DVDs currently).<br><br />
8. '''NEW:''' JPEG image [People] field is written to XMP "PersonInImage" tag.<br><br />
9. Changed: Image data in [People] field and the Regions data are always merged, so they will be as consistent with each other as possible. Users are encouraged to use Face-tagging tool to make changes and editing [People] field directly is discouraged.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138375.0.html 32.0.23 (3/7/2024)]'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recording settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated.<br><br />
8. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
9. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
10. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
11. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
12. Changed: Updated the new / improved this version link to v32.<br><br />
13. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
14. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
15. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
16. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
17. Fixed: The EXIF parser could crash on malformed files.<br><br />
18. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
19. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
20. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
21. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
22. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138249.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
3. Changed: List drawing supports the alpha parameter on text.<br><br />
4. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
5. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
6. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
7. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
8. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
9. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
10. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
11. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
12. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
13. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
14. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
15. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
16. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
17. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
18. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
19. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
20: Fixed: CD ripping could only be initialed from Drives & Devices. Now it can also be initiated from Rip Disc.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138168.0.html 32.0.17 (2/13/2024)]'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
14. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
15. Changed: Loading views starts in the saved views folder under the library.<br><br />
16. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
17. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
18. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
19. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
20. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
21. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
22. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
23. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
24. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
25. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
26. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
27. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
28. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
29. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
30. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
31. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138057.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
8. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
9. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
10. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Updated package dependencies.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137898.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. '''NEW:''' For MC32 the initial run will copy upgrade the library, data, skins and trackinfos from the most recent previous major version of MC.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. '''NEW:''' GTKWebKit added as an internal browser choice.<br><br />
8. Fixed: The background color for window creation was red/blue value swapped.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Mac&diff=17677Release Notes MC32 Mac2024-03-08T18:37:14Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138372.msg959796.html#msg959796 32.0.23 (3/7/2024)]'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recording settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated.<br><br />
8. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
9. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
10. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
11. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
12. Changed: Updated the new / improved this version link to v32.<br><br />
13. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
14. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
15. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
16. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
17. Fixed: The EXIF parser could crash on malformed files.<br><br />
18. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
19. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
20. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
21. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
22. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138248.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
3. Changed: List drawing supports the alpha parameter on text.<br><br />
4. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
5. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
6. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
7. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
8. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
9. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
10. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
11. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
12. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
13. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
14. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
15. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
16. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
17. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
18. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
19. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
20: Fixed: CD ripping could only be initialed from Drives & Devices. Now it can also be initiated from Rip Disc.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138166.0.html 32.0.17 (2/13/2024)]'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138124.0.html 32.0.15 (2/9/2024)]'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
5. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
6. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
7. Changed: Moved the "convert to pre-composed UTF8" into a separate function and allowed it to fix filenames as well as stock string fields.<br><br />
8. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138104.0.html 32.0.13 (2/6/2024)]'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138056.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. Fixed: Crash on CD insertion.<br><br />
8. Fixed: Crash on tabbing views.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138038.0.html 32.0.11 (1/30/2024)]'''<br />
<br><br />
1. '''NEW:''' Implemented program links.<br><br />
2. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
3. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
4. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
5. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.10 (1/26/2024)]'''<br />
<br><br />
1. Fixed: Crash on exiting Options from the Tree and View page.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Possible fix for unusual event processing crashes. Needs feedback, especially from universal control users.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137895.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. Fixed: File Associations being set on first run of a new major version of MC wouldn't work and popup a black box with no information in it.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Mac&diff=17676Release Notes MC32 Mac2024-03-08T18:36:57Z<p>Marko: </p>
<hr />
<div>'''[ 32.0.23 (3/7/2024)]'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recording settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated.<br><br />
8. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
9. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
10. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
11. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
12. Changed: Updated the new / improved this version link to v32.<br><br />
13. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
14. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
15. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
16. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
17. Fixed: The EXIF parser could crash on malformed files.<br><br />
18. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
19. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
20. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
21. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
22. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138248.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
3. Changed: List drawing supports the alpha parameter on text.<br><br />
4. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
5. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
6. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
7. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
8. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
9. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
10. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
11. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
12. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
13. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
14. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
15. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
16. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
17. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
18. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
19. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
20: Fixed: CD ripping could only be initialed from Drives & Devices. Now it can also be initiated from Rip Disc.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138166.0.html 32.0.17 (2/13/2024)]'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138124.0.html 32.0.15 (2/9/2024)]'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
5. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
6. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
7. Changed: Moved the "convert to pre-composed UTF8" into a separate function and allowed it to fix filenames as well as stock string fields.<br><br />
8. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138104.0.html 32.0.13 (2/6/2024)]'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138056.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. Fixed: Crash on CD insertion.<br><br />
8. Fixed: Crash on tabbing views.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138038.0.html 32.0.11 (1/30/2024)]'''<br />
<br><br />
1. '''NEW:''' Implemented program links.<br><br />
2. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
3. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
4. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
5. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.10 (1/26/2024)]'''<br />
<br><br />
1. Fixed: Crash on exiting Options from the Tree and View page.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Possible fix for unusual event processing crashes. Needs feedback, especially from universal control users.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137895.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. Fixed: File Associations being set on first run of a new major version of MC wouldn't work and popup a black box with no information in it.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Linux&diff=17675Release Notes MC32 Linux2024-03-08T18:34:40Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138375.0.html 32.0.23 (3/7/2024)]'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recording settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated.<br><br />
8. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
9. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
10. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
11. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
12. Changed: Updated the new / improved this version link to v32.<br><br />
13. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
14. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
15. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
16. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
17. Fixed: The EXIF parser could crash on malformed files.<br><br />
18. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
19. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
20. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
21. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
22. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138249.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
3. Changed: List drawing supports the alpha parameter on text.<br><br />
4. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
5. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
6. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
7. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
8. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
9. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
10. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
11. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
12. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
13. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
14. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
15. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
16. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
17. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
18. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
19. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
20: Fixed: CD ripping could only be initialed from Drives & Devices. Now it can also be initiated from Rip Disc.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138168.0.html 32.0.17 (2/13/2024)]'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
14. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
15. Changed: Loading views starts in the saved views folder under the library.<br><br />
16. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
17. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
18. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
19. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
20. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
21. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
22. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
23. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
24. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
25. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
26. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
27. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
28. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
29. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
30. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
31. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138057.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
8. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
9. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
10. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Updated package dependencies.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137898.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. '''NEW:''' For MC32 the initial run will copy upgrade the library, data, skins and trackinfos from the most recent previous major version of MC.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. '''NEW:''' GTKWebKit added as an internal browser choice.<br><br />
8. Fixed: The background color for window creation was red/blue value swapped.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17674Release Notes MC322024-03-07T17:22:31Z<p>Marko: </p>
<hr />
<div>'''32.0.24 (3/7/2024)'''<br />
<br><br />
1. Changed: When loading images for Theater View backdrop, images that do not have a language specification is considered a match, in addition to those that match the required language strictly.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Recordings made on Google Pixel phones are properly identified as Home Videos.<br><br />
4. Fixed: MC Television properties page (TV Options) tried to error check recordig settings (in particular, folders for TV recordings) even if recording option was off.<br><br />
5. Changed: Updated to WavPack 5.7.<br><br />
6. Changed: Tuned the JRVR Peak Detection parameters to be more conservative to reduce noticeable brightness changes from dynamic tone mapping.<br><br />
7. Changed: When image face-tagging is finished, the [People] field is automatically updated. <br><br />
<br><br />
<br><br />
'''32.0.23 (3/5/2024)'''<br />
<br><br />
1. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
2. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
3. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
4. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
5. Fixed: While playing a live TV channel on a client using a server TV tuner, switching to a different media type (e.g. Audio or Video) without explicitly clicking the Stop button would cause the server tuner not to be released (for an hour).<br><br />
<br><br />
<br><br />
'''32.0.22 (2/29/2024)'''<br />
<br><br />
1. Changed: Updated the new / improved this version link to v32.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
4. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
5. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
<br><br />
<br><br />
'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17673Release Notes MC322024-03-06T17:34:21Z<p>Marko: </p>
<hr />
<div>'''32.0.23 (3/5/2024)'''<br />
<br><br />
1. Changed: Updated Chinese (simplified) translation file (thanks YanJun Sun).<br><br />
2. Changed: The view header alphabet uses the text over color instead of the text selected color on mouse over.<br><br />
3. '''NEW:''' Support for FLAC files with 32-bit audio.<br><br />
4. Fixed: The setting "Allow custom data to override the expression" did not allow itself to be turned off.<br><br />
5. Fixed: While playing a live TV channel on a client using a server TV tuner, switching to a different media type (e.g. Audio or Video) without explicitly clicking the Stop button would cause the server tuner not to be released (for an hour).<br><br />
<br><br />
<br><br />
'''32.0.22 (2/29/2024)'''<br />
<br><br />
1. Changed: Updated the new / improved this version link to v32.<br><br />
2. Changed: Updated German translation file (thanks Bytestar).<br><br />
3. Fixed: Navigating a view could switch the focus to the tree instead of the file lists.<br><br />
4. Changed: Moved the numbers to the start of the navigation alphabet (since they come before letters in the sorting).<br><br />
5. '''NEW:''' Face-tagging for JPEG images (select an area in the image and tag who/what it is). The result is saved in an XMP regions tag.<br><br />
<br><br />
<br><br />
'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=IsOverridden()&diff=17672IsOverridden()2024-03-02T14:21:14Z<p>Marko: Redirected page to Test and Comparison Functions#IsOverridden</p>
<hr />
<div>#redirect [[Test and Comparison Functions#IsOverridden]]<br />
<br />
[[Category:Expression Functions]]</div>Markohttps://wiki.jriver.com/index.php?title=Test_and_Comparison_Functions&diff=17671Test and Comparison Functions2024-03-02T14:17:57Z<p>Marko: </p>
<hr />
<div>{{Function Type Page}}<br />
<br />
The majority of the functions in this section return a Boolean value of either 1 (true) or 0 (false).<br />
They are generally used to drive an action specified in one of the [[Conditional Functions|Conditional Functions]].<br />
<br />
=== <span id="Compare">Compare(&hellip;)</span> ===<br />
: Compares two numbers.<br />
<br />
{{function description box<br />
| name=Compare<br />
| arguments=value1, operator, value2<br />
| description=<br />
The [[#Compare|Compare()]] function compares two numeric values <i>value1</i> and <i>value2</i> using the specified <i>operator</i>.<br />
<br />
{{argument table<br />
| name=operator<br />
| contents=<br />
{{argument table row|<nowiki>=</nowiki>|Equivalence}}<br />
{{argument table row|<nowiki><</nowiki>|Less than}}<br />
{{argument table row|<nowiki><=</nowiki>|Less than or equal to}}<br />
{{argument table row|<nowiki>></nowiki>|Greater than}}<br />
{{argument table row|<nowiki>>=</nowiki>|Greater than or equal to}}<br />
}}<br />
Outputs 1 if the comparison is true, and 0 otherwise.<br />
| examples=<br />
'''{{monospace|compare([bitrate], &lt;, 320)}}'''<br />
: Returns 1 when the bit rate is less than 320 (Kbps), and 0 otherwise.<br />
'''{{monospace|if(compare(math(now() - [date modified, 0]), &gt;, 21), Expired, formatdate([date modified, 0], elapsed))}}'''<br />
: Outputs the age of files under 21 days old, or {{monospace|Expired}} for older files.<br />
}}<br />
<br />
=== <span id="IsDigit">IsDigit(&hellip;)</span> ===<br />
: Determines whether or not a given value is digits.<br />
<br />
{{function description box<br />
| name=IsDigit<br />
| arguments=value, characters<br />
| description=<br />
{{argument optional|Characters|<i>all</i>}}<br />
The [[#IsDigit|IsDigit()]] function tests the given <i>value</i> to determine whether or not it is digits, returning "1" for a positive result, and "0" for a negative (not digits) result.<br />
<br />
| examples=<br />
'''{{monospace|<nowiki>isdigit(1234)</nowiki>}}'''<br />
: Returns "1" as these are all digits.<br />
<br />
'''{{monospace|<nowiki>isdigit(Check1-2)</nowiki>}}'''<br />
: Returns "0" as these are not all digits.<br />
}}<br />
<br />
=== <span id="IsDriveMissing">IsDriveMissing(&hellip;)</span> ===<br />
: Tests for the prescence of a specified drive.<br />
<br />
{{function description box<br />
| name=IsDriveMissing<br />
| arguments=Drive<br />
| description=<br />
The [[#IsDriveMissing|IsDriveMissing()]] function tests for the prescence of a specified drive, returning "1" for a positive (missing) result, and "0" for a negative (drive exists) result. Note that this function cannot work with drive names at all, <i>only</i> drive letters.<br />
<br />
| examples=<br />
'''{{monospace|<nowiki>isdrivemissing(C:\)</nowiki>}}'''<br />
: Returns "0" as drive C: is available.<br />
<br />
'''{{monospace|<nowiki>isdrivemissing(C:)</nowiki>}}'''<br />
: Returns "0" as drive C: is available. Demonstrating the backslash is not essential for the function to operate correctly.<br />
<br />
'''{{monospace|<nowiki>if(IsDriveMissing(V:),Please Connect Drive [volume name],Files are availble)</nowiki>}}'''<br />
: Returns <nowiki>"Please Connect Drive V:"</nowiki> for all files residing on drive V: if it is missing, or, <nowiki>Files are availble</nowiki> if the drive is connected.<br />
}}<br />
<br />
=== <span id="IsEmpty">IsEmpty(&hellip;)</span> ===<br />
: Tests a value for emptiness.<br />
<br />
{{function description box<br />
| name=IsEmpty<br />
| arguments=value, mode<br />
| description=<br />
{{argument optional}}<br />
The [[#IsEmpty|IsEmpty()]] function tests the given <i>value</i> for emptiness. The <i>value</i> passed is typically an Media Center field, so that some action may be taken when the field is or is not empty. Returns 1 when the <i>value</i> is empty, otherwise 0.<br />
<br />
{{argument table<br />
| contents=<br />
{{argument table row|0|String test (field must be empty to get a positive result).}}<br />
{{argument table row|1|Numerical test (field must be empty, or contain 0 to get a positive result)}}<br />
}}<br />
<br />
Note that Media Center does not discriminate between a 0 <i>value</i> and an empty <i>value</i> for fields of type Integer and Decimal - both 0 and empty are considered equivalent for these field types. This is useful for fields such as the integer field Disc #, where an empty or 0 <i>value</i> implies that Disc # contains no useful data, and should be generally ignored or absent in display output.<br />
<br />
Pay particular attention to the third example offered below, as it covers a caveat that comes with this particular function.<br />
| examples=<br />
'''{{monospace|<nowiki>isempty([comment], 0)</nowiki>}}'''<br />
: If the comment field is empty, [[#IsEmpty|IsEmpty()]] returns 1, otherwise 0.<br />
'''{{monospace|<nowiki>isempty([track #], 1)</nowiki>}}'''<br />
: Performs a numerical test for data in the [track #] field. If the field is empty or 0, a 1 is returned, otherwise 0 is returned.<br />
'''{{monospace|<nowiki>ifelse(!isempty([disc #]), [disc #])</nowiki>}}'''<br />
: Outputs the <i>value</i> of the disc # field when it is not empty.<br />
}}<br />
<br />
=== <span id="IsEqual">IsEqual(&hellip;)</span> ===<br />
: Compares two values in one of seventeen specified modes.<br />
<br />
{{function description box<br />
| name=IsEqual<br />
| arguments=value1, value2, mode<br />
| description=<br />
{{argument optional}}<br />
The [[#IsEqual|IsEqual()]] function compares <i>value1</i> with <i>value2</i> using any <i>mode</i> from the list of modes below.<br />
Outputs 1 when the comparison succeeds according to the <i>mode</i>, and 0 otherwise.<br />
Although the <i>mode</i> is specified as the last argument, the comparison should be mentally read as: <i>value1</i> <i>mode</i> <i>value2</i>.<br />
<br />
{{argument table<br />
| contents=<br />
{{argument table row|0|Case-sensitive string compare for equality}}<br />
{{argument table row|1|Case-insensitive string compare for equality}}<br />
{{argument table row|2|Numeric compare for equality}}<br />
{{argument table row|3|Numeric less than}}<br />
{{argument table row|4|Numeric less than or equal to}}<br />
{{argument table row|5|Numeric greater than}}<br />
{{argument table row|6|Numeric greater than or equal to}}<br />
{{argument table row|7|Substring search (case sensitive)}}<br />
{{argument table row|8|Substring search (case insensitive)}}<br />
{{argument table row|9|List search ANY (case sensitive)}}<br />
{{argument table row|10|List search ANY (case insensitive)}}<br />
{{argument table row|11|List search ALL (case sensitive)}}<br />
{{argument table row|12|List search ALL (case insensitive)}}<br />
{{argument table row|13|List search ANY (case sensitive) (Full String Match)}}<br />
{{argument table row|14|List search ANY (case insensitive) (Full String Match)}}<br />
{{argument table row|15|List search ALL (case sensitive) (Full String Match)}}<br />
{{argument table row|16|List search ALL (case insensitive) (Full String Match)}}<br />
}}<br />
| examples=<br />
'''{{monospace|<nowiki>isequal([artist], [album], 1)</nowiki>}}'''<br />
: If the artist and album values are the same, the output will be 1, otherwise, the output will be 0.<br />
'''{{monospace|<nowiki>if(isequal([artist], [album], 1), Eponymous, [album])</nowiki>}}'''<br />
: The [[If()]] function bases its decision on the outcome of [[IsEqual()]], so if the artist and album values are the same, the output will be Eponymous, otherwise, the output will be the value of album.<br />
'''{{monospace|<nowiki>if(isequal([artist], [album], 1), Eponymous/,, [album]/))</nowiki>}}'''<br />
: This example demonstrates the character escaping mentioned in the overview earlier. Here, we want the output to be either {{monospace|Eponymous,}} (note the inclusion of the comma) or the album value with a closing parenthesis. In order to achieve this, the comma, and the closing parenthesis, are escaped using a forward-slash character. This informs the expression evaluator that these characters are not part of the expression syntax and are to be treated literally.<br />
'''{{monospace|<nowiki>if(isequal([filename (path)], classical, 8), Classical, Not Classical)</nowiki>}}'''<br />
: Because compare <i>mode</i> 8 has been specified, if the word {{monospace|classical}} appears anywhere in the case-insensitive file path, the expression will return {{monospace|Classical}}, and if not it will return {{monospace|Not Classical}}.<br />
<br />
'''{{monospace|<nowiki>if(isequal([Genre], Pop;Rock, 9), Pop or some sort of Rock, Not Pop or Rock)</nowiki>}}'''<br />
: Because compare <i>mode</i> 9 has been specified, if '''<i>either</i>''' of the case sensitive sub-strings {{monospace|Rock}} or {{monospace|Pop}} appear anywhere in the Genre List Type field, the expression will return {{monospace|Pop or some sort of Rock}}, and if not it will return {{monospace|Not Pop or Rock}}.<br />
: Genres that match include "{{monospace|Pop}}" "{{monospace|Rock}}" "{{monospace|Pop;Rock}}" "{{monospace|Pop Rock}}" "{{monospace|Rock;Pop}}" "{{monospace|Popular;Rock}}" "{{monospace|Popular;Rock & Roll}}" "{{monospace|Rock & Roll}}" "{{monospace|Funk Rock}}" and "{{monospace|Alt. Rock}}", among others.<br />
<br />
'''{{monospace|<nowiki>if(isequal([Genre], Pop;Rock, 11), Some sort of Pop Rock, Not Pop Rock)</nowiki>}}'''<br />
: Because compare <i>mode</i> 11 has been specified, if the case sensitive sub-strings {{monospace|Pop}} and {{monospace|Rock}} '''<i>both</i>''' appear anywhere in the Genre List Type field, the expression will return {{monospace|Some sort of Pop Rock}}, and if not it will return {{monospace|Not Pop Rock}}. <br />
: Genres that match include "{{monospace|Pop;Rock}}" "{{monospace|Pop Rock}}" "{{monospace|Rock;Pop}}" "{{monospace|Popular;Rock}}" and "{{monospace|Popular;Rock & Roll}}", among others. <br />
: Genres that do not match include "{{monospace|Pop}}" "{{monospace|Rock}}" "{{monospace|Rock & Roll}}" "{{monospace|Funk Rock}}" and "{{monospace|Alt. Rock}}", among others.<br />
<br />
'''{{monospace|<nowiki>if(isequal([Genre], Pop;Rock, 13), Pop or some sort of Rock, Not Pop or Rock)</nowiki>}}'''<br />
: Because compare <i>mode</i> 13 has been specified, if '''<i>either</i>''' of the case sensitive full strings {{monospace|Rock}} or {{monospace|Pop}} appear in the Genre List Type field, the expression will return {{monospace|Pop or some sort of Rock}}, and if not it will return {{monospace|Not Pop or Rock}}.<br />
: Genres that match include "{{monospace|Pop;Rock}}" "{{monospace|Pop;Rock & Roll}}" "{{monospace|Popular;Rock}}", among others.<br />
: Genres that do not match include "{{monospace|Pop Rock}}" "{{monospace|Rock & Roll}}" "{{monospace|Rock, Popular}}" "{{monospace|Popular;Rock & Roll}}" "{{monospace|Funk Rock}}" and "{{monospace|Alt. Rock}}", among others.<br />
<br />
'''{{monospace|<nowiki>if(isequal([Genre], Pop;Rock, 15), Some sort of Pop Rock, Not Pop Rock)</nowiki>}}'''<br />
: Because compare <i>mode</i> 15 has been specified, if the case sensitive full strings {{monospace|Pop}} and {{monospace|Rock}} '''<i>both</i>''' appear in the Genre List Type field, the expression will return {{monospace|Some sort of Pop Rock}}, and if not it will return {{monospace|Not Pop Rock}}. <br />
: Genres that match include "{{monospace|Pop;Rock}}" "{{monospace|Pop;Electronic;Rock}}" "{{monospace|Rock;Pop,Alt.Rock}}" "{{monospace|Rock;Pop}}" and "{{monospace|Rock;Punk;Pop}}", among others. <br />
: Genres that do not match include "{{monospace|Pop}}" "{{monospace|Rock}}" "{{monospace|Popular;Rock}}" and "{{monospace|Pop;Rockabilly}}", among others.<br />
<br />
}}<br />
<br />
=== <span id="IsInPlayingNow">IsInPlayingNow(&hellip;)</span> ===<br />
: Tests to see if a file is in the Playing Now playlist.<br />
<br />
{{function description box<br />
| name=IsInPlayingNow<br />
| arguments=filepath<br />
| description=<br />
{{argument optional|filepath|[filename]}}<br />
The [[#IsInPlayingNow|IsInPlayingNow()]] function tests if a file is in any zone's Playing Now list. Used as an expression category, pane or file list column allows distinguishing files that are in the Playing Now list.<br />
| examples=<br />
'''{{monospace|IsInPlayingNow()}}'''<br />
: If the file in the Playing Now list, returns 1, otherwise returns 0.<br />
'''{{monospace|<nowiki>if(isinplayingnow(), Queued, Not queued)</nowiki>}}'''<br />
: If the file in the Playing Now list, returns {{monospace|Queued}}, otherwise {{monospace|Not queued}}.<br />
}}<br />
<br />
=== <span id="IsLowerCase">IsLowerCase(&hellip;)</span> ===<br />
: Tests to see if a value is lower case.<br />
<br />
{{function description box<br />
| name=IsLowerCase<br />
| arguments=value, characters<br />
| description=<br />
{{argument optional|Characters|<i>all</i>}}<br />
The [[#IsLowerCase|IsLowerCase()]] function tests the given <i>value</i> to determine whether or not it is lower case, returning "1" for a positive result, and "0" for a negative result.<br />
<br />
| examples=<br />
'''{{monospace|<nowiki>IsLowerCase(tesT,1)</nowiki>}}'''<br />
: Returns "1" as only one character is specified for the check, and the first character, is lower case.<br />
<br />
'''{{monospace|<nowiki>IsLowerCase(tesT,3)</nowiki>}}'''<br />
: Returns "1" as the first three characters are lower case.<br />
<br />
'''{{monospace|<nowiki>IsLowerCase(tesT)</nowiki>}}'''<br />
: Returns "0" as here, all characters will be tested, and one of them is <i>not</i> lower case.<br />
}}<br />
<br />
=== <span id="IsMissing">IsMissing(&hellip;)</span> ===<br />
: Tests to see if a file exists on the system.<br />
<br />
{{function description box<br />
| name=IsMissing<br />
| arguments=filepath<br />
| description=<br />
{{argument optional|filepath|[filename]}}<br />
The [[#IsMissing|IsMissing()]] function tests for the existence of a file in the file system. If the file is missing, the function returns 1, otherwise 0 is returned if the file exists. This function is useful for checking for missing files in a Library. [[#IsMissing|IsMissing()]] treats special entries such as ripped Blu-ray or DVDs as single files, even though they physically exist in the file system as several files and directories.<br />
<br />
''Note'': Any view or list that uses [[#IsMissing|IsMissing()]] will be slow, as Media Center must interrogate each referenced file in the file system. The larger the number of files being queried, the longer it will take to produce results. Use [[#IsMissing|IsMissing()]] with care.<br />
| examples=<br />
'''{{monospace|<nowiki>ismissing()</nowiki>}}'''<br />
: If the referenced file was not found in the file system, 1 is returned; otherwise 0 is returned.<br />
'''{{monospace|<nowiki>ismissing(C:\Music\My Lost File.mp3)</nowiki>}}'''<br />
: Checks for {{monospace|My Lost File.mp3}} and returns 1 (positive) if the file does not exist, and 0 (negative) if the file does exist.<br />
'''{{monospace|if(ismissing(), File is missing, File exists)}}'''<br />
: Outputs {{monospace|File is missing}} or {{monospace|File Exists}} depending on the result returned by IsMissing().<br />
'''{{monospace|<nowiki>[=ismissing([filename])]=1</nowiki>}}'''<br />
: This example demonstrates how to construct an expression for use as a Media Center search query. If you place this in the search field in the top right corner of the program while viewing all of your library, it will filter the list, leaving only the missing files on view. If all files in library exist, this list will be empty. You could also create a view scheme and use this string in the {{monospace|Set rules for file display}} search to give you a view that you can visit periodically to check that your library is not missing any files.<br />
}}<br />
<br />
=== <span id="IsOverridden">IsOverridden(&hellip;)</span> ===<br />
: Tests if an expression is overridden by a value<br />
<br />
{{function description box<br />
| name=IsOverridden<br />
| arguments=Field<br />
| description=<br />
The [[#Expression_Language#Field_Values:_Override_the_expression.2C_and_.5BThis.5D|IsOverridden()]] funtion tests a given field for manual override with custom data. The option to override expression results with static data was added to MC28. This function, added in MC32 enables testing a given field for overriding data.<br />
<br />
The funtion returns 1 where the expression result is overridden and 0 (zero) where it is not.<br />
The ''Field'' argument is given <u>without</u> the familiar square brackets.<br />
<br />
Once you begin overriding expression data, this function is vital as it enables you to remain on top of what is and what is not, overridden.<br />
<br />
| examples=<br />
'''{{monospace|<nowiki>IsOverridden(Population)</nowiki>}}'''<br />
: Returns 1 if the example expression based field ''Population'' has been overridden with custom data, and zero if it has not, and is using the actual expression result.<br />
<br />
'''{{monospace|<nowiki>If(IsOverridden(Population),Yes,No)</nowiki>}}'''<br />
: This could be useful when used in an expression column, in a file list, beside the actual Population column. It will return "Yes where the expression has been overridden, and No where it has not.<br />
}}<br />
<br />
=== <span id="IsPlaying">IsPlaying(&hellip;)</span> ===<br />
: Tests to see if a file is in currently being played.<br />
<br />
{{function description box<br />
| name=IsPlaying<br />
| arguments=filepath<br />
| description=<br />
{{argument optional|filepath|[filename]}}<br />
The [[#IsPlaying|IsPlaying()]] function tests if a file is playing in any zone.<br />
Used as an expression category, pane or file list column allows distinguishing files that are playing now.<br />
| examples=<br />
'''{{monospace|<nowiki>ifelse(isplaying(), &lt;font color="ff0000"&gt;&#9834;&lt;//font&gt;, isinplayingnow(), &#9834;)</nowiki>}}'''<br />
: This expression in a file list expression column shows which files are in the Playing Now list and which are currently playing by outputting a musical note in the column. The musical note will be displayed in red for any currently playing file.<br />
'''Additional Examples'''<br />
: [http://yabb.jriver.com/interact/index.php?topic=57461.0 How to use IsPlaying() and IsInPlayingNow()]<br />
: [http://yabb.jriver.com/interact/index.php?topic=58137.msg393905#msg393905 How to play an artist's full work when a genre is shuffling?]<br />
}}<br />
<br />
=== <span id="IsRange">IsRange(&hellip;)</span> ===<br />
: Tests a value for inclusion within a given range.<br />
<br />
{{function description box<br />
| name=IsRange<br />
| arguments=value, range<br />
| description=<br />
The [[#IsRange|IsRange()]] function tests if a <i>value</i> falls within a given <i>range</i> of values. If the <i>value</i> falls within the given <i>range</i>, 1 is returned, otherwise 0 is returned.<br />
<br />
A <i>range</i> is specified in the form of low-high, where low and high are either letters or numbers.<br />
The lowest <i>value</i> comes first, the highest second. Both low and high must be the same kind (letters or numbers).<br />
The low and high values are inclusive.<br />
<br />
Some Example Ranges:<br />
<br />
<div style="font-family: monospace,monospace; font-size:1em;"><br />
<div style="margin-left: 20pt">1-100</div><br />
<div style="margin-left: 20pt">a-z</div><br />
<div style="margin-left: 20pt">c-d</div><br />
<div style="margin-left: 20pt">23-7542 </div><br />
</div><br />
<br />
''See also:'' [[DateInRange()|DateInRange(…)]]<br />
<br />
| examples=<br />
'''{{monospace|<nowiki>isrange([artist], a-c)</nowiki>}}'''<br />
: Artist values of Abba or Blondie will result in a 1, but ZZ Top will return a 0.<br />
'''{{monospace|<nowiki>if(isrange([bitrate], 96-191), Poor Quality, High Quality)</nowiki>}}'''<br />
: Returns {{monospace|Poor Quality}} for any file whose bit rate falls in the <i>range</i> of 96 to 191, and returns {{monospace|High Quality}} for all other bit rates.<br />
'''Additional Examples'''<br />
:[http://wiki.jriver.com/index.php/CD_Reference_Number#Answer_2 Using IsRange() in a Search List.]<br />
}}<br />
<br />
=== <span id="IsRemovable">IsRemovable(&hellip;)</span> ===<br />
: Tests to see if a file is stored on removable media.<br />
<br />
{{function description box<br />
| name=IsRemovable<br />
| arguments=filepath<br />
| description=<br />
{{argument optional|filepath|[filename]}}<br />
The [[#IsRemovable|IsRemovable()]] function tests if a file resides on removable media and if so, returns 1, and if not, returns 0. The Media Center field [Removable] also provides the same value for a given file.<br />
| examples=<br />
'''{{monospace|IsRemovable()}}'''<br />
: Checks if the current file is on removable storage, and if so, returns 1, otherwise returns 0.<br />
}}<br />
<br />
=== <span id="IsUpperCase">IsUpperCase(&hellip;)</span> ===<br />
: Tests to see if a value is upper case.<br />
<br />
{{function description box<br />
| name=IsUpperCase<br />
| arguments=value, characters<br />
| description=<br />
{{argument optional|Characters|<i>all</i>}}<br />
The [[#IsUpperCase|IsUpperCase()]] function tests the given <i>value</i> to determine whether or not it is upper case, returning "1" for a positive result, and "0" for a negative result.<br />
<br />
| examples=<br />
'''{{monospace|<nowiki>IsUpperCase(TESt,1)</nowiki>}}'''<br />
: Returns "1" as only one character is specified for the check, and the first character, is upper case.<br />
<br />
'''{{monospace|<nowiki>IsUpperCase(TESt,3)</nowiki>}}'''<br />
: Returns "1" as the first three characters are upper case.<br />
<br />
'''{{monospace|<nowiki>IsUpperCase(TESt)</nowiki>}}'''<br />
: Returns "0" as here, all characters will be tested, and one of them is <i>not</i> upper case.<br />
}}<br />
<br />
=== <span id="SearchTags">SearchTags(&hellip;)</span> ===<br />
: Finds all fields that contain a value<br />
<br />
{{function description box<br />
| name=SearchTags<br />
| arguments=value, mode<br />
| description=<br />
{{argument optional}}<br />
<br />
{{argument table<br />
| contents=<br />
{{argument table row|0|Returns a semi-colon delimited list of fields}}<br />
{{argument table row|1|Returns 1 for a positive result and 0 for a negative result}}<br />
}}<br />
<br />
The [[#SearchTags|SearchTags()]] function tests for a value in any field and returns the list of fields it is in, or a binary for further processing. Note that this function tests the raw value in the field, and not the formatted value, so matches against numerical values such as date fields may give unexpected results.<br />
<br />
Also, this function searches every field for all files in the current View or Playlist, so it will not be fast in some uses.<br />
| examples=<br />
'''{{monospace|<nowiki>SearchTags(Beatles, 0)</nowiki>}}'''<br />
: If the file includes any tag that contains "Beatles", then the function returns the list of fields, such as "Artist; Filename".<br />
'''{{monospace|<nowiki>SearchTags(Beatles, 1)</nowiki>}}'''<br />
: If the file includes any tag that contains "Beatles", then the function returns 1, otherwise 0.<br />
<br />
'''{{monospace|<nowiki>[=SearchTags(Beatles, 1)]=1</nowiki>}}'''<br />
: Used in a search, finds all files that contains "Beatles" in any field.<br />
}}</div>Markohttps://wiki.jriver.com/index.php?title=Expression_Language&diff=17670Expression Language2024-03-02T13:17:20Z<p>Marko: /* Field Values: Override the expression, and [This] */</p>
<hr />
<div>{{Tocright}}<br />
Media Center provides a simple programming language that enhances and enriches its overall user interface and usability.<br />
This language, commonly called the expression language, is simple to learn, simple to use, and can greatly enhance your experience using Media Center.<br />
<br />
Expressions are ubiquitous throughout Media Center, used in areas such as:<br />
:* The categories in a view<br />
:* File list expression columns<br />
:* Theater View<br />
:* Customized view headers, grouping and sort criteria<br />
:* The library field manager (fields with data type Calculated data)<br />
:* File and folder location definitions<br />
:* Auto-import rules<br />
:* Custom DLNA titles<br />
:* The player's display<br />
:* Captions and thumbnail text<br />
:* The link manager (expressions help format link URLs)<br />
:* Rename, Move, & Copy tool<br />
:* Tag assignment<br />
:* Complex search queries<br />
<br />
An expression is a mixture of ordinary text, pre-defined functions, and a few reserved characters and constructs that have special meaning. An expression is evaluated by Media Center's expression engine and textual output is produced. This output is then used by Media Center to customize the user interface and affect its method of operation.<br />
<br />
== The Anatomy of an Expression ==<br />
<br />
As mentioned above, an expression is a mixture of text and function calls (and some reserved stuff described shortly).<br />
The simplest expression would be some basic, literal text, such as <span style="font-family: monospace,monospace; font-size:1em;">A good movie</span>.<br />
The expression engine evaluates this expression, finds nothing special, and then outputs the result: <span style="font-family: monospace,monospace; font-size:1em;">A good movie</span>. Simple.<br />
<br />
But simple text only has so much utility.<br />
The ability to transform or generate content is much more interesting and useful.<br />
And this is when [[#Functions|functions]] are employed.<br />
Media Center [[#Function Index|provides many functions]], which when called, produce some output.<br />
Most functions require some form of input, called arguments, and most functions generate output.<br />
By supplying a function with various arguments, the function will return some output value which is just more text.<br />
And this output text can be the used by other functions, and so on.<br />
Each function has a unique name, and calling upon a function to do some work requires little more that using its name anywhere in the expression.<br />
<br />
A function call looks like this:<br />
<br />
:{{monospace|<i>functionname</i><b>(</b><i>argument 1</i>, <i>argument 2</i>, ...<b>)</b>}}<br />
<br />
The syntax of the function call is the function's case-insensitive name, immediately followed by an opening parenthesis character, one or more comma-separated arguments, and a closing parenthesis character.<br />
Whitespace after the commas is optional, but helps readability and formatting.<br />
And each argument itself is also just an expression. And some arguments are optional.<br />
If an argument is optional, it can be omitted and its default value will be used.<br />
If the argument is omitted, a comma-separator will still be required if additional arguments follow.<br />
The following example uses the [[String_Manipulation_Functions#FixCase|FixCase()]] function to change its input to Title Case:<br />
<br />
:{{monospace|fixcase(A good movie)}}<br />
<br />
The result is <span style="font-family: monospace,monospace; font-size:1em;">A Good Movie</span>.<br />
<br />
A slightly more complex expression example consists of both text and a nested function call:<br />
<br />
:{{monospace|Wow! fixcase(replace(A good movie, good, great))}}<br />
<br />
Inner functions are called before outer functions, so the [[String_Manipulation_Functions#Replace|Replace()]] function is call first:<br />
<br />
:{{monospace|replace(A good movie, good, great)}}<br />
<br />
and its output is then supplied as the input to the [[String_Manipulation_Functions#FixCase|FixCase()]] function.<br />
[[String_Manipulation_Functions#Replace|Replace()]] does its work substituting {{monospace|good}} with {{monospace|great}}, and returns {{monospace|A great movie}}.<br />
This output is then supplied as the argument to [[String_Manipulation_Functions#FixCase|FixCase()]] which sees only the text {{monospace|A great movie}} (it knows nothing about how it was produced). So the function call:<br />
<br />
:{{monospace|fixcase(A great movie)}}<br />
<br />
in turn outputs {{monospace|A Great Movie}}.<br />
Now that the functions have produced their output, the final output, including the literal {{monospace|Wow!}} leading text is<br />
<br />
:{{monospace|Wow! A Great Movie}}<br />
<br />
== Fields ==<br />
The expression examples thus far have been limited to static literal text.<br />
Expressions have much more utility when they use data from other sources, such as a file's metadata.<br />
Media Center maintains this metadata in its defined fields.<br />
This data is accessed using the [[Accessing_and_Storing_Functions#Field|Field()]] function, and its first argument is the case-insensitive name of the field to be accessed.<br />
For example, the function call <span style="font-family: monospace,monospace; font-size:1em;">field(album)</span> will return the current* file's value for the album field (* more will be said later about the current file).<br />
If the album field contained the value <span style="font-family: monospace,monospace; font-size:1em;">After Hours</span>, the expression:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">fixcase(field(album), 3)</span></div><br />
<br />
would produce <span style="font-family: monospace,monospace; font-size:1em;">AFTER HOURS</span>.<br />
First <span style="font-family: monospace,monospace; font-size:1em;">field(album)</span> is evaluated, returning <span style="font-family: monospace,monospace; font-size:1em;">After Hours</span>.<br />
The [[String_Manipulation_Functions#FixCase|FixCase()]] function is supplied with this output as its first argument, and its second argument is <span style="font-family: monospace,monospace; font-size:1em;">3</span>, which happens to specify that it should perform upper-casing.<br />
<br />
Because fields are so frequently used in expressions, an abbreviated form called [[square bracket notation]] exists for accessing their values. This makes it easier to both read and write expressions.<br />
Nonetheless, both forms are equivalent.<br />
The abbreviated form is simple: immediately surround the field's name with opening and closing square brackets, for example, <span style="font-family: monospace,monospace; font-size:1em;">[album]</span>.<br />
The previous example is now written more simply as:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">fixcase([album], 3)</span></div><br />
<br />
=== Field Values ===<br />
For the sake of simplicity and clarity, the section above glossed over an important detail regarding how<br />
Media Center outputs field values.<br />
Recall that [[Accessing_and_Storing_Functions#Field|Field()]] is the function used to return the value of a specified field.<br />
But [[Accessing_and_Storing_Functions#Field|Field()]] also has a second argument that indicates the format of the value that it returns.<br />
Because field values are used in a variety of situations, the [[Accessing_and_Storing_Functions#Field|Field()]] function can produce output suitably formatted for the requirements.<br />
There are two forms of output: one is a nice, friendly human-readable format suitable for use in views or other display locations; the other is a raw format which returns the representation stored internally by Media Center which is useful when uninterpreted values are necessary.<br />
<br />
By default, Media Center <i>always</i> outputs the friendly format, so expressions sometimes need to take this into account and chose the format accordingly.<br />
<br />
Not used earlier because it is optional, the second argument to the [[Accessing_and_Storing_Functions#Field|Field()]] function selects the mode of output:<br />
the value <span style="font-family: monospace,monospace; font-size:1em;">0</span> selects the raw mode, and the default value of <span style="font-family: monospace,monospace; font-size:1em;">1</span> selects the friendly mode.<br />
Here are two examples using the date field, the first one outputs the date value in raw format, the second in the friendly format:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">field(date, 0)</span></div><br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">field(date, 1)</span></div><br />
<br />
==== Field Values: Override the expression, and [This] ====<br />
[[File:ExpressionOverride.png|right]]<br />
When creating (or editing) an expression based field, there is an option, shown in the image on the right, to "Allow custom data to override the expression".<br />
When enabled, it becomes possible to open the tag for editing either inline or in the tag window, just as you would any other regular tag, and replace the expression derived data with any other static data. Complex expression based fields can very easily slow view loading times to a crawl, and in many cases, this option can help speed things up again. Imagine an expression based field that manipulates another, otherwise static field, such the [Date] field. The returned expression values will never change, so why waste time evaluating the same results over and over, when you can simply replace them with static data and so forego any future expression processing?<br />
<br />
Media Center 28 saw the introduction of a [https://yabb.jriver.com/interact/index.php/topic,124543.msg906895.html#msg906895 [This]] variable that can also be invoked, so, using the example, ''=removeleft([This], 4)'' would remove four characters from the left of "this field".<br />
<br />
The new [This] variable can be used to override expression data. Select one, or 1000s of files, then edit, either inline or in the tag window, using the simple expression ''=[this]'' and apply to have MC replace the expression result with, the expression result, which from that point forwards, will be static data and the expression will no longer run ''<u>for those files</u>''.<br />
<br />
To remove the static data and return to expression evaluated data instead, simply edit again, deleting the static data, which when applied, will cause the expression evaluated result to return.<br />
<br />
'''<u>Note:</u>''' Use this "override" option with care. It requires least maintenance when used in situations where ''all'' expression values for all files for that field will be replaced with static data. Currently (October 2022) there is no way to differentiate between static data and expression derived data meaning the potential for things to get very confusing, very quickly, is very high indeed.<br />
<br />
'''<u>Note 2:</u>''' MC32 comes with the addition of the [[IsOverridden()|IsOverridden(...)]] function that now allows us to filter any given expression based field based on its override status.<br />
<br />
==== Field Values: Empty, 0, and 1 ====<br />
The Media Center expression language does not strongly differentiate between the numeric value zero <span style="font-family: monospace,monospace; font-size:1em;">0</span> and emptiness<br />
for numeric field types Integer and Decimal.<br />
And in some cases, the numeric value of <span style="font-family: monospace,monospace; font-size:1em;">1</span> is treated similarly to the empty value.<br />
<br />
When a value of 0 is entered as a numeric field's value, the raw value will be shown as <span style="font-family: monospace,monospace; font-size:1em;">0</span>,<br />
but the display format (as in the file list) will be shown as empty.<br />
The empty display allows for less visual noise in the user interface, since a column full of <span style="font-family: monospace,monospace; font-size:1em;">0</span> values is not usually helpful.<br />
In fact, if you attempt to set a numeric field's value to <span style="font-family: monospace,monospace; font-size:1em;">0</span> in the file list, it will immediately be displayed as empty.<br />
<br />
Generally this difference is unimportant, except when testing numeric values with [[Test_and_Comparison_Functions#IsEmpty|IsEmpty()]] or [[Test_and_Comparison_Functions#IsEqual|IsEqual()]].<br />
It is easy to be fooled when testing such a value if the value shown in a file list is empty.<br />
The values shown in the Tag Action Window will reveal the actual raw value, as will an expression column using the field's raw format.<br />
<br />
Another consideration for integer fields is that when sorting, a <span style="font-family: monospace,monospace; font-size:1em;">1</span> value can sometimes sort indistinguishably from an empty value.<br />
The Integer type <span style="font-family: monospace,monospace; font-size:1em;">disc #</span> field is typically empty when an album consists of only one disc, and as such, Media Center will sort<br />
the <span style="font-family: monospace,monospace; font-size:1em;">disc #</span> values of empty (<span style="font-family: monospace,monospace; font-size:1em;">0</span>) and <span style="font-family: monospace,monospace; font-size:1em;">1</span> identically.<br />
<br />
The friendly output of a field can differ, depending on context.<br />
For example, in a file list, and empty field will be shown as blank, but in the Rename, Move & Copy tool,<br />
it will be output as <span style="font-family: monospace,monospace; font-size:1em;">Unknown Disc #</span> (this ensures no blank values are generated as path components).<br />
To test such a field, always use and test against the raw format, and then expressions will be context agnostic.<br />
<br />
===Field Assignment===<br />
<div><br />
The output of an expression can be used to assign a value to a tag.<br />
This is accomplished by preceding the expression with an <span style="font-family: monospace,monospace; font-size:1em;">=</span> character.<br />
The <span style="font-family: monospace,monospace; font-size:1em;">=</span> character causes the tagging engine to invoke the expression evaluator first,<br />
and then to use its output as the value to assign to the field.<br />
[[File:Field_Assignment_with_Expression.png|right]]<br />
Without the prepended <span style="font-family: monospace,monospace; font-size:1em;">=</span> character, the literal expression text itself and not its evaluated value would be stored in the tag.<br />
The expression can refer to the field's own value to modify itself, and this offers a convenient way to perform complex transformations on field values.<br />
For example, the assignment expression<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">=removeleft([name], 4)</span></div><br />
<br />
entered into an edit cell for the <span style="font-family: monospace,monospace; font-size:1em;">name</span> field would remove<br />
four characters from the left of the <span style="font-family: monospace,monospace; font-size:1em;">name</span> field's current value.<br />
An assignment expression can be entered into the Tag Action Window, or by using inline editing in the file list or a pane entry.<br />
The image on the right shows in-place field assignment.<br />
<br />
Note: Undo is supported, reverting each tag to its value prior to the assignment.<br />
Redo is also supported, reapplying the most recent Undo.<br />
</div><br />
<br />
== Expression Language Syntax ==<br />
Now that the basics have been covered, the more rigorous rules of the expression language syntax can be described.<br />
<br />
:* An expression is any sequence of literal text and any number of function calls.<br />
:* Expressions are read and evaluated left to right. Literal text is output unmodified, function calls are evaluated and their return values output.<br />
:* Fields designated using [[square bracket notation]] are expanded into the equivalent [[Accessing_and_Storing_Functions#Field|Field()]] function call.<br />
:* Nested function calls are evaluated from the innermost function to outermost function, and again, left to right when one function follows another.<br />
:* A function is evaluated and its returned value contextually replaces the function call in the expression<br />
:* Within a function's argument list, whitespace is ignored before and after commas, after an opening parenthesis, and before a closing parenthesis.<br />
:* The forward-slash escape character <span style="font-family: monospace,monospace; font-size:1em;">/</span> disables the special meaning of the character that follows it.<br />
:* The escape sequence <span style="font-family: monospace,monospace; font-size:1em;">/#</span> followed by <span style="font-family: monospace,monospace; font-size:1em;">#/</span> escapes everything inside.<br />
:* The escape sequence <nowiki>/* followed by /*</nowiki> will escape everything inside returning it as given without formatting or processing.<br />
:* To use a literal parenthesis, comma, or whitespace inside of function argument lists, escape them. Whitespace within an argument's value is literal and does not need to be escaped when it is surrounded by other non-whitespace text.<br />
:* An expression may be split into multiple lines, but when it does not satisfy the conditions above regarding whitespace around function parenthesis and commas, use a forward-slash escape as the last character before the newline. Extraneous newlines in the expression editor will produce a trailing ellipsis (...) in the output.<br />
<br />
=== How Expressions Are Evaluated ===<br />
Expressions are evaluated in the context where they are used.<br />
For example, an expression column in a file list is evaluated relative to those files in the file list.<br />
And the general flow is that for each file in the list, the expression is evaluated and produces output.<br />
The expression only has access to the fields available for the file currently being evaluated.<br />
This is important to remember, so it bears repeating.<br />
One file after another, an expression is evaluated against that single file, its output is produced and stored away for use later,<br />
and then the result of that evaluation is entirely forgotten before the next file is evaluated.<br />
This means, the expression evaluator cannot use the results from one file's evaluated expression with the results of another<br />
file's evaluation.<br />
<br />
=== Expressions and Locales ===<br />
Media Center will respect the Windows locale setting for output values produced by certain functions,<br />
and within the values of certain fields.<br />
This is important to consider when writing expressions that consume such values.<br />
Under most circumstances, such values cause no harm.<br />
However special care must be taken with functions that require the use of period as the decimal point.<br />
One such function is [[Miscellaneous_Functions#Math|Math()]], which always uses period as the decimal point.<br />
If your locale uses some other character such as comma, these characters will have to be converted into periods before the<br />
critical function is called.<br />
Handling this problem is not difficult. Before passing to [[Miscellaneous_Functions#Math|Math()]] any floating point number,<br />
use [[String_Manipulation_Functions#Replace|Replace()]] first when necessary to convert the locale's decimal character into a period.<br />
Fields that cause problems are any fields that produce floating-point values,<br />
such as any Date type field in raw format (e.g. <span style="font-family: monospace,monospace; font-size:1em;">[date,0]</span>, <span style="font-family: monospace,monospace; font-size:1em;">[last played,0]</span>, <span style="font-family: monospace,monospace; font-size:1em;">[date modified,0]</span>, and <span style="font-family: monospace,monospace; font-size:1em;">[date imported,0]</span>),<br />
or any textual field that contains floating-point values that will be used for various calculations<br />
(e.g. any of the Dynamic Range variants).<br />
Certain functions such as [[Date_and_Time_Functions#Now|Now()]] and [[Date_and_Time_Functions#ConvertTime|ConvertTime()]] also return localized floating-point values.<br />
Consider also that the expression parser uses comma as the argument separator.<br />
Any literal numeric values specified as a function argument must have any embedded commas escaped.<br />
<br />
=== A Complex Expression Example ===<br />
[[File:Expression_Editor.png|right]]<br />
Here is a more complex expression example that illustrates the various rules discussed above regarding expressions:<br />
<br />
<span style="font-family: monospace,monospace; font-size:1em;"><br />
<div style="margin-left: 20pt">if( IsEmpty( [Disc #] ),</div><br />
<div style="margin-left: 40pt">Disc number is empty,</div><br />
<div style="margin-left: 40pt">Delimit(</div><br />
<div style="margin-left: 60pt">field(disc #) , </div><br />
<div style="margin-left: 60pt">/) ,</div><br />
<div style="margin-left: 60pt">DISC /(</div><br />
<div style="margin-left: 40pt">)</div><br />
<div style="margin-left: 20pt">)</div><br />
</span><br />
<br />
The expression demonstrates that<br />
:* whitespace before and after commas or opening and closing parenthesis is ignored<br />
:* expressions can be safely split into multiple lines using the whitespace rules just mentioned<br />
:* function and field names are case insensitive<br />
:* forward slash is used and required to escape parenthesis (see inside the [[Formatting_Functions#Delimit|Delimit()]] function)<br />
:* whitespace does not require escapement when surrounded by other characters (see after the <span style="font-family: monospace,monospace; font-size:1em;">C</span> in <span style="font-family: monospace,monospace; font-size:1em;">DISC</span>)<br />
:* literal text is output unmodified (<span style="font-family: monospace,monospace; font-size:1em;">Disc number is empty</span>)<br />
:* functions can be nested (Both [[Test_and_Comparison_Functions#IsEmpty|IsEmpty()]] and [[Formatting_Functions#Delimit|Delimit()]] are nested within the [[Conditional_Functions#If|If()]] function, and the [[Accessing_and_Storing_Functions#Field|Field()]] function is nested within [[Formatting_Functions#Delimit|Delimit()]]<br />
<br />
When the expression is run, files that have no disc number will produce <span style="font-family: monospace,monospace; font-size:1em;">Disc number is empty</span>,<br />
and files that have, say, a disc number value of <span style="font-family: monospace,monospace; font-size:1em;">3</span> will produce <span style="font-family: monospace,monospace; font-size:1em;">DISC (3)</span>.<br />
<br />
== Functions ==<br />
<br />
Functions enable you to transform or generate content automatically. For background information on how functions are used in expressions, refer to [[#The Anatomy of an Expression|The Anatomy of an Expression]] section above.<br />
<br />
This section describes all the various functions provided by Media Center's Expression Language.<br />
<br />
=== Function Arguments ===<br />
<br />
As discussed [[#The_Anatomy_of_an_Expression|above]], a function call consists of the function's case-insensitive name, immediately followed by an opening parenthesis character, one or more comma-separated arguments, and a closing parenthesis character:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;"><i>functionname</i><b>(</b><i>argument 1</i>, <i>argument 2</i>, ...<b>)</b></span></div><br />
<br />
Functions may have one or more arguments. In some cases, these arguments are optional, and will automatically use a default value if omitted. For example, these two expressions are equivalent because the mode argument for [[Test_and_Comparison_Functions#IsEmpty|IsEmpty()]] is optional and defaults to 0:<br />
:<span style="font-family: monospace,monospace; font-size:1em;">isempty([comment], 0)</span><br />
:<span style="font-family: monospace,monospace; font-size:1em;">isempty([comment])</span><br />
<br />
In this case, a comma-separator will still be required if additional arguments follow the optional one. Whitespace after the commas is also optional, but helps readability and formatting. However, if any extra arguments are included in a function call which are not valid for that function, they are dropped and omitted from output. This is of particular importance when using string-manipulation functions on text. If the text you enter contains any commas, these must be escaped or the expression engine will consider text after the comma to be additional arguments.<br />
<br />
The arguments themselves are also just expressions, and you can nest multiple functions to achieve complex logic:<br />
:<span style="font-family: monospace,monospace; font-size:1em;">if(isequal([artist], [album], 1), Eponymous, [album])</span><br />
<br />
Nested function calls are always treated as a ''single'' argument when used as the input to another function (so that commas in the output of one function do not need to be escaped to be used as input in another function). This includes fields, since they are expanded to the equivalent [[Accessing_and_Storing_Functions#Field|Field()]] function call.<br />
<br />
:'''''Please Note:''''' In some cases below, such as with [[String_Manipulation_Functions#Unswap|Unswap()]], we have ignored this detail in order to simplify the examples. If you enter any text manually into a function, all commas ''must be'' escaped in order to achieve the correct result. This detail is unimportant in most real-world usages, however, because you will typically use either field values or the output of other functions as the arguments in your expressions. However, if you need to include commas in a string literal argument to a function, you need to escape every one, or block escape the entire argument.<br />
<br />
=== [[Function Index]] ===<br />
Unfortunately, ''when'' these were actually introduced has ''not'' been tracked. The only way to be certain you have access to all of the functions below is to make sure you have the most current build of Media Center installed.<br><br />
The available functions are grouped below based on the type of operation they might perform. If you prefer, a [[Complete Expression Language Alphabetical List|flat, alphabetically sorted function list is available here.]]<br><br />
Over time, as Media Center evolves, expression functions are added or changed. Those changes are typically not reflected here immediately. In the list available [https://yabb.jriver.com/interact/index.php/topic,125477.msg868288.html#msg868288 here, on interact], any entries in red text are currently missing from these wiki pages.<br />
<br />
==== [[Accessing and Storing Functions]] ====<br />
* '''[[Accessing_and_Storing_Functions#Field|Field(&hellip;)]]''': Returns a field's value.<br />
* '''[[Accessing_and_Storing_Functions#FieldQuery|FieldQuery(&hellip;)]]''': Return a list of matches based on a list of fields to search, from a selected scope of files.<br />
* '''[[Accessing_and_Storing_Functions#ItemCount|ItemCount(&hellip;)]]''': Counts the number of files that have the exact same value of the given expression as the file the expression runs in the context of.<br />
* '''[[Accessing_and_Storing_Functions#Load|Load(&hellip;)]]''': Outputs the value of a [[global variable]].<br />
* '''[[Accessing_and_Storing_Functions#Note|Note(&hellip;)]]''': Retrieve note fields.<br />
* '''[[Accessing_and_Storing_Functions#Save|Save(&hellip;)]]''': Saves a value to a [[global variable]].<br />
* '''[[Accessing_and_Storing_Functions#SaveAdd|SaveAdd(&hellip;)]]''': Adds to a [[global variable]].<br />
* '''[[Accessing_and_Storing_Functions#SetField|SetField(&hellip;)]]''': Sets a field's value.<br />
* '''[[Accessing_and_Storing_Functions#Tag|Tag(&hellip;)]]''': Returns a file's physical tag.<br />
<br />
==== [[Conditional Functions]] ====<br />
* '''[[Conditional Functions#And|And(&hellip;)]]''': Tests a set of values and returns 1 if all are true.<br />
* '''[[Conditional Functions#FirstNotEmpty|FirstNotEmpty(&hellip;)]]''': Returns the first non-empty argument.<br />
* '''[[Conditional Functions#If|If(&hellip;)]]''': Conditional ifelse evaluator.<br />
* '''[[Conditional Functions#IfCase|IfCase(&hellip;)]]''': Functions as a switch or select case statement.<br />
* '''[[Conditional Functions#IfElse|IfElse(&hellip;)]]''': Conditional if-elseif evaluator.<br />
* '''[[Conditional Functions#Not|Not(&hellip;)]]''': Negates the results of funtions.<br />
* '''[[Conditional Functions#Or|Or(&hellip;)]]''': Tests a set of values and returns 1 if any are true.<br />
<br />
==== [[Date and Time Functions]] ====<br />
* '''[[Date and Time Functions#CompareDates|CompareDates(&hellip;)]]''': Compares two dates, returning a formatted elapsed period between them<br />
* '''[[Date and Time Functions#ConvertDate|ConvertDate(&hellip;)]]''': Converts a human-readable date to the internal format required for use in date fields<br />
* '''[[Date and Time Functions#DateInRange|DateInRange(&hellip;)]]''': Compares a date with a range of dates<br />
* '''[[Date and Time Functions#FormatDate|FormatDate(&hellip;)]]''': Formats a date value in a specified manner<br />
* '''[[Date and Time Functions#Now|Now(&hellip;)]]''': Retrieve and display the system date<br />
* '''[[Date and Time Functions#PlaylistTime|PlaylistTime(&hellip;)]]''': Returns the time of a track in the current playlist (a sum of all previous durations)<br />
<br />
==== [[File Path and Identifier Functions]] ====<br />
* '''[[File Path and Identifier Functions#DBLocation|DBLocation(&hellip;)]]''': Identifies a file's databases<br />
* '''[[File Path and Identifier Functions#Enviro|Enviro(&hellip;)]]''': Returns the full path to a host system variable<br />
* '''[[File Path and Identifier Functions#FileDBLocation|FileDBLocation(&hellip;)]]''': Identifies a file's databases<br />
* '''[[File Path and Identifier Functions#FileFolder|FileFolder(&hellip;)]]''': Returns the name of a file's parent<br />
* '''[[File Path and Identifier Functions#FileKey|FileKey(&hellip;)]]''': Returns a file's unique internal identifier<br />
* '''[[Miscellaneous Functions#FileLookup()|FileLookup()]]''': Looks up a file based on its filename<br />
* '''[[File Path and Identifier Functions#FileName|FileName(&hellip;)]]''': Returns a file's name component<br />
* '''[[File Path and Identifier Functions#FilePath|FilePath(&hellip;)]]''': Returns a file's path component<br />
* '''[[File Path and Identifier Functions#FileVolume|FileVolume(&hellip;)]]''': Returns a file's volume name component<br />
<br />
==== [[Formatting Functions]] ====<br />
* '''[[Formatting Functions#Delimit|Delimit(&hellip;)]]''': Outputs a value with head/tail strings when value is non-empty<br />
* '''[[Formatting Functions#FormatBoolean|FormatBoolean(&hellip;)]]''': Formats a boolean (true / false) value in a specified manner<br />
* '''[[Formatting Functions#FormatDuration|FormatDuration(&hellip;)]]''': Presents a duration of seconds in a reader friendly format<br />
* '''[[Formatting Functions#FormatFileSize|FormatFileSize(&hellip;)]]''': Presents a number of bytes in a reader friendly format<br />
* '''[[Formatting Functions#FormatNumber|FormatNumber(&hellip;)]]''': Formats and rounds a number to a specified number of decimal places<br />
* '''[[Formatting Functions#FormatRange|FormatRange(&hellip;)]]''': Formats a value as a range<br />
* '''[[Formatting Functions#Orientation|Orientation(&hellip;)]]''': Outputs the orientation of an image<br />
* '''[[Formatting Functions#PadNumber|PadNumber(&hellip;)]]''': Adds leading zeros to any given number<br />
* '''[[Formatting Functions#RatingStars|RatingStars(&hellip;)]]''': Outputs the value of Rating as a number of star characters<br />
* '''[[Formatting Functions#RatingStars10|RatingStars10(&hellip;)]]''': Outputs the value of a 10 star rating field as a number of star characters<br />
* '''[[Formatting Functions#Watched|Watched(&hellip;)]]''': Outputs a formatted video bookmark<br />
<br />
==== [[Grouping Functions]] ====<br />
* '''[[Grouping Functions#GroupCount|GroupCount(&hellip;)]]''': Counts the members of a specified group (in a category or field).<br />
* '''[[Grouping Functions#GroupCountQuery|GroupCountQuery(&hellip;)]]''': Globally counts the number of items in a specified group.<br />
* '''[[Grouping Functions#GroupSummary|GroupSummary(&hellip;)]]''': Smartly summarizes the members of a specified group (mode, mean, min, max, etc as is most logical for that grouping).<br />
* '''[[Grouping Functions#GroupSummaryQuery|GroupSummaryQuery(&hellip;)]]''': Get a summary for the current group of files based on another matching field.<br />
<br />
==== [[List Manipulation Functions]] ====<br />
* '''[[List Manipulation Functions#ListBuild|ListBuild(&hellip;)]]''': Constructs a list from a series of items<br />
* '''[[List Manipulation Functions#ListClean|ListClean(&hellip;)]]''': Various list operations<br />
* '''[[List Manipulation Functions#ListCombine|ListCombine(&hellip;)]]''': Combines two delimited lists into a single delimited list<br />
* '''[[List Manipulation Functions#ListContains|ListContains(&hellip;)]]''': Checks for a value being in a list<br />
* '''[[List Manipulation Functions#ListCount|ListCount(&hellip;)]]''': Returns the number of items in a list<br />
* '''[[List Manipulation Functions#ListEqual|ListEqual(&hellip;)]]''': Checks for equality between two lists<br />
* '''[[List Manipulation Functions#ListFilter|ListFilter(&hellip;)]]''': Filter any list, returning only values within a given range<br />
* '''[[List Manipulation Functions#ListFind|ListFind(&hellip;)]]''': Search a list for a value and return that value, or its index # in the list<br />
* '''[[List Manipulation Functions#ListFormat|ListFormat(&hellip;)]]''': Outputs a given list in a reader friendly format.<br />
* '''[[List Manipulation Functions#ListGrep|ListGrep(&hellip;)]]''': Returns list items containing specified text<br />
* '''[[List Manipulation Functions#ListItem|ListItem(&hellip;)]]''': Returns an item from a location in a list<br />
* '''[[List Manipulation Functions#ListLimit|ListLimit(&hellip;)]]''': Limits the length of a list<br />
* '''[[List Manipulation Functions#ListMath|ListMath(&hellip;)]]''': Perform one of 4 specific math functions on a list containing numbers<br />
* '''[[List Manipulation Functions#ListMix|ListMix(&hellip;)]]''': Combine corresponding values from multiple lists into a new list, using a template to process each item<br />
* '''[[List Manipulation Functions#ListRemove|ListRemove(&hellip;)]]''': Removes a string from a list<br />
* '''[[List Manipulation Functions#ListShuffle|ListShuffle(&hellip;)]]''': Shuffles a list<br />
* '''[[List Manipulation Functions#ListSort|ListSort(&hellip;)]]''': Sort a list of values<br />
<br />
==== [[Miscellaneous Functions]] ====<br />
* '''[[Miscellaneous Functions#AlbumArtist|AlbumArtist(&hellip;)]]''': Returns a file's calculated album artist<br />
* '''[[Miscellaneous Functions#AlbumKey|AlbumKey(&hellip;)]]''': Returns a unique album key for a file<br />
* '''[[Miscellaneous Functions#AlbumType|AlbumType(&hellip;)]]''': Returns the album type for a file<br />
* '''[[Miscellaneous Functions#AudioAnalysisState|AudioAnalysisState(&hellip;)]]''': Returns the state of audio analysis for a file<br />
* '''[[Miscellaneous Functions#Char|Char(&hellip;)]]''': Returns a character from the numeric code of that character<br />
* '''[[Miscellaneous Functions#CustomData|CustomData(&hellip;)]]''': Returns internal data to the expression language<br />
* '''[[Miscellaneous Functions#FilePlaylists()|FilePlaylists(&hellip;)]]''': Returns a list of playlists a file belongs to (Can also be used to search)<br />
* '''[[Miscellaneous Functions#Literal()|Literal(&hellip;)]]''': Returns a string as given without any formatting or processing<br />
* '''[[Miscellaneous Functions#Repeat|Repeat(&hellip;)]]''': Returns any given string repeated the specified number of times<br />
* '''[[Miscellaneous Functions#Row|Row(&hellip;)]]''': Returns the row number of a list entry<br />
* '''[[Miscellaneous Functions#Size|Size(&hellip;)]]''': Returns a file's size in a format specific to the media type<br />
* '''[[Miscellaneous Functions#Translate|Translate(&hellip;)]]''': Converts an English string found in the program to the current language selected in the language menu<br />
* '''[[Miscellaneous Functions#TreeNode|TreeNode(&hellip;)]]''': Returns the selected tree path<br />
* '''[[Miscellaneous Functions#TVInfo|TVInfo(&hellip;)]]''': Miscellaneous television and other pre-formatted information<br />
<br />
==== [[Number Functions]] ====<br />
* '''[[Number Functions#Avg|Avg(&hellip;)]]''': Returns the average from a set of numbers<br />
* '''[[Number Functions#Counter|Counter(&hellip;)]]''': Counts upwards in specified increments<br />
* '''[[Number Functions#Math|Math(&hellip;)]]''': Evaluates a given mathematical formula<br />
* '''[[Number Functions#Max|Max(&hellip;)]]''': Returns the largest value from a set of numbers<br />
* '''[[Number Functions#Min|Min(&hellip;)]]''': Returns the smallest value from a set of numbers<br />
* '''[[Number Functions#Number|Number(&hellip;)]]''': Returns the first number , including decimals, from a given string<br />
* '''[[Number Functions#Rand|Rand(&hellip;)]]''': Returns a random number anywhere between two given numbers<br />
* '''[[Number Functions#Range|Range(&hellip;)]]''': Creates a semi-colon delimited list of numbers in a field<br />
* '''[[Number Functions#Roman|Roman(&hellip;)]]''': Converts any given number to, or from, roman numerals<br />
* '''[[Number Functions#StackCount|StackCount(&hellip;)]]''': Returns the number of files in a stack<br />
* '''[[Number Functions#Sum|Sum(&hellip;)]]''': Returns the sum of a set of numbers<br />
* '''[[Number Functions#TrackNumber|TrackNumber(&hellip;)]]''': Returns a file's track # value<br />
<br />
==== [[String Manipulation Functions]] ====<br />
* '''[[String Manipulation Functions#Clean|Clean(&hellip;)]]''': Clean a string to be used for various operations<br />
* '''[[String Manipulation Functions#Extract|Extract(&hellip;)]]''': Returns a portion of a string bounded by another substring<br />
* '''[[String Manipulation Functions#Find|Find(&hellip;)]]''': Finds a string or character in another string, returning its zero-based position in that string<br />
* '''[[String Manipulation Functions#FixCase|FixCase(&hellip;)]]''': Changes the case of a given string<br />
* '''[[String Manipulation Functions#FixSpacing|FixSpacing(&hellip;)]]''': Intelligently splits adjacent camel-cased words<br />
* '''[[String Manipulation Functions#Hexify|Hexify(&hellip;)]]''': Hexifies a string to make it suitable for web usage<br />
* '''[[String Manipulation Functions#Left|Left(&hellip;)]]''': Retrieves a specified number of characters from the left of a string<br />
* '''[[String Manipulation Functions#Length|Length(&hellip;)]]''': Returns the number of characters in a string<br />
* '''[[String Manipulation Functions#Letter|Letter(&hellip;)]]''': Returns the starting letter or letters of a given string<br />
* '''[[String Manipulation Functions#Mid|Mid(&hellip;)]]''': Retrieves specified characters from a string<br />
* '''[[String Manipulation Functions#MoveArticles|MoveArticles(&hellip;)]]''': Takes "The Beatles" and reverses it to "Beatles, The"<br />
* '''[[String Manipulation Functions#NoArticles|NoArticles(&hellip;)]]''': Takes "The Beatles" and returns "Beatles"<br />
* '''[[String Manipulation Functions#PadLeft|PadLeft(&hellip;)]]''': Pad any string with any character, to the left<br />
* '''[[String Manipulation Functions#PadRight|PadRight(&hellip;)]]''': Pad any string with any character, to the right<br />
* '''[[String Manipulation Functions#Regex|Regex(&hellip;)]]''': Regular expression pattern matching and capture<br />
* '''[[String Manipulation Functions#RemoveCharacters|RemoveCharacters(&hellip;)]]''': Removes a list of characters from a string<br />
* '''[[String Manipulation Functions#RemoveLeft|RemoveLeft(&hellip;)]]''': Trims characters from the beginning of a string<br />
* '''[[String Manipulation Functions#RemoveRight|RemoveRight(&hellip;)]]''': Trims characters from the end of a string<br />
* '''[[String Manipulation Functions#Replace|Replace(&hellip;)]]''': Replace or remove a string segment<br />
* '''[[String Manipulation Functions#Right|Right(&hellip;)]]''': Retrieves a specified number of characters from the right of a string<br />
* '''[[String Manipulation Functions#Swap|Swap(&hellip;)]]''': Takes Firstname Lastname and swaps to Lastname, Firstname<br />
* '''[[String Manipulation Functions#Trim|Trim(&hellip;)]]''': Removes leading and trailing non-printable characters and new lines from a string<br />
* '''[[String Manipulation Functions#TrimLines|TrimLines(&hellip;)]]''': Removes leading and trailing non-printable characters and new lines from a string<br />
* '''[[String Manipulation Functions#UnMoveArticles|UnMoveArticles(&hellip;)]]''': Takes "Beatles, The" and reverses it to restore the normal word order, "The Beatles"<br />
* '''[[String Manipulation Functions#Unswap|Unswap(&hellip;)]]''': Takes Lastname, Firstname and reverses it to Firstname Lastname<br />
* '''[[String Manipulation Functions#Urlify|Urlify(&hellip;)]]''': Takes a string and applies html formatting for browser consumption<br />
<br />
==== [[Test and Comparison Functions]] ====<br />
* '''[[Test and Comparison Functions#Compare|Compare(&hellip;)]]''': Compares two numbers<br />
* '''[[Test and Comparison Functions#IsDigit|IsDigit(&hellip;)]]''': Determines whether or not a given value is digits<br />
* '''[[Test and Comparison Functions#IsDriveMissing|IsDriveMissing(&hellip;)]]''': Checks if a drive is missing<br />
* '''[[Test and Comparison Functions#IsEmpty|IsEmpty(&hellip;)]]''': Tests a value for emptiness<br />
* '''[[Test and Comparison Functions#IsEqual|IsEqual(&hellip;)]]''': Compares two values in one of seventeen specified modes<br />
* '''[[Test and Comparison Functions#IsInPlayingNow|IsInPlayingNow(&hellip;)]]''': Tests to see if a file is in the Playing Now playlist<br />
* '''[[Test and Comparison Functions#IsLowerCase|IsLowerCase(&hellip;)]]''': Tests to see if a value is lower case<br />
* '''[[Test and Comparison Functions#IsMissing|IsMissing(&hellip;)]]''': Tests to see if a file exists on the system<br />
* '''[[Test and Comparison Functions#IsOverridden|IsOveridden(&hellip;)]]''': Tests if an expression is overridden by a value<br />
* '''[[Test and Comparison Functions#IsPlaying|IsPlaying(&hellip;)]]''': Tests to see if a file is in currently being played<br />
* '''[[Test and Comparison Functions#IsRange|IsRange(&hellip;)]]''': Tests a value for inclusion within a given range<br />
* '''[[Test and Comparison Functions#IsRemovable|IsRemovable(&hellip;)]]''': Tests to see if a file is stored on removable media<br />
* '''[[Test and Comparison Functions#IsUpperCase|IsUpperCase(&hellip;)]]''': Tests to see if a value is upper case<br />
* '''[[Test and Comparison Functions#SearchTags|SearchTags(&hellip;)]]''': Finds all fields that contain a value<br />
<br />
== Data Types ==<br />
It was mentioned already that the Media Center expression language is primarily a textual language - it consumes and produces text.<br />
Nonetheless, certain areas of Media Center are influenced by the type of data used or presented,<br />
and sometimes it is useful or necessary to coerce expression output into one data type or another.<br />
Each Media Center field is defined to be of a certain data type,<br />
listed in the [[File_Properties_%28tags%29#Field_Specifications|Field Data Types]] table.<br />
These types influence how values are output, sorted, and interpreted on input.<br />
And expressions always output data of type String.<br />
By coercing the data type of an expression, output formatting and sorting can be controlled in various ways.<br />
<br />
Data types are forced by appending to an expression the string:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[<i>type</i>]</span></div><br />
<br />
where <i><span style="font-family: monospace,monospace; font-size:1em;">type</span></i> is one of the following values:<br />
<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse"><br />
<tr><td style="text-align:left; padding-right:20pt"><b>list</b></td><td>A list of strings, separated by semicolons</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>string</b></td><td>Sorts as strings (with smart number handling)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>number</b></td><td>Sorts values as numbers (decimal or integer)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>integer</b></td><td>Sorts values as integers</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>path</b></td><td>Sorts using a smart filename compare style</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>month</b></td><td>Sorts string month names (i.e. January, February, etc.)</td></tr><br />
</table></div><br />
<br />
=== Calculated Fields and Search ===<br />
<br />
Media Center's [[Search Language]] supports some simple numeric [[Search Language#Comparison_Operators|comparison operators]].<br />
Because expressions always evaluate as a String type, these operators would be unavailable for use in a search query to compare numeric values from a calculated expression field.<br />
In order to use the numeric comparison operators, a calculated expression field can be cast into one of the numeric types.<br />
In your numeric calculated fields, to allow the use Search's numeric comparison operators, add either of the casts:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[integer]</span></div><br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[number]</span></div><br />
<br />
to the end of the field's calculated expression.<br />
<br />
=== Lists and Trees ===<br />
<div><br />
[[File:Datatype_List.png|right]]<br />
The list of output in view categories and pane columns can be modified by forcing the data type to a List type.<br />
Two things happen when the data type is List:<br />
The values within a List type are split into their individual (semicolon-separated) list items<br />
The backslash character takes on a special meaning and becomes another form of separator that creates tree-like hierarchies,<br />
collapsible in panes columns and creates drill-down categories in any category view type (Standard View > Categories, Theater View, DLNA, Gizmo/WebGizmo).<br />
Forcing an expression's type to <span style="font-family: monospace,monospace; font-size:1em;">list</span> causes this list item separation and hierarchy generation.<br />
Alternatively, forcing a List type to <span style="font-family: monospace,monospace; font-size:1em;">string</span> defeats this.<br />
Add the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[list]</span></div><br />
<br />
to the end of an expression to force an expression's output to be considered as a List type.<br />
Conversely, a List type may be forced into a String type by adding the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[string]</span></div><br />
<br />
to the end of an expression.<br />
</div><br />
<br />
=== Sort Order ===<br />
<div><br />
[[File:Datatype_Month.png|right]]<br />
Normally strings are sorted ASCII-betically with some smart numeric sorting.<br />
But this form of sort may not always be desired.<br />
<br />
==== Sorting by Month ====<br />
Generally it is more useful to see month names sorting such that January sorts before April, instead of alphabetically where April would sort before January.<br />
Forcing an expression's type to Month forces string month values to be treated instead as their equivalent numerical month numbers.<br />
For example, the first month January and the third month March sort before the fourth month April.<br />
Add the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[month]</span></div><br />
<br />
to the end of an expression to force an expression's output to be sorted by numeric month values.<br />
<br />
==== Sorting by Path ====<br />
<br />
Path data types sort using smart filename comparisons.<br />
<br />
XXX: Note: This section is incomplete. I cannot distingish any difference between using a datatype of <span style="font-family: monospace,monospace; font-size:1em;">path</span> vs. <span style="font-family: monospace,monospace; font-size:1em;">string</span>. It seems <span style="font-family: monospace,monospace; font-size:1em;">path</span> sort order is always engaged.<br />
<br />
Add the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[path]</span></div><br />
<br />
to the end of an expression to force an expression's output to be smart-sorted by path components.<br />
<br />
</div><br />
<br />
== Expressions and Search ==<br />
The expression language is fully available to the search query engine (Search, Set rules for file display, etc.).<br />
This allows creation of more complex search queries than would otherwise be possible.<br />
An expression-based search query is any valid expression that produces a zero or non-zero numeric output.<br />
The syntax of the query is:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;"><b>[=</b><i>expression</i><b>]=</b><i>numval</i></span></div><br />
<br />
where expression is any valid expression, and numval is the expected numeric output produced by the expression.<br />
The expression is evaluated against the current list of available files and the expression output numerically compared against numval.<br />
All files for which the comparison is true are returned as part of the file list produced by the query and all files that fail the comparison are winnowed from the file list.<br />
<br />
The following example illustrates an expression-based search query:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">[=ismissing([filename (path)]\Folder.jpg)]=1</span></div><br />
<br />
The [[Test_and_Comparison_Functions#IsMissing|IsMissing()]] function is run using the file name argument <span style="font-family: monospace,monospace; font-size:1em;">[filename (path)]</span> appended by <span style="font-family: monospace,monospace; font-size:1em;">\Folder.jpg</span>,<br />
and returns a Boolean value <span style="font-family: monospace,monospace; font-size:1em;">1</span> for files that are missing, and this <span style="font-family: monospace,monospace; font-size:1em;">1</span> is compared against the value <i>numval</i>.<br />
All these files where there was a successful comparison are returned in the file list,<br />
and all those for which the expression produced <span style="font-family: monospace,monospace; font-size:1em;">0</span> are filtered from the file list.<br />
By inverting the comparison and using a <span style="font-family: monospace,monospace; font-size:1em;">0</span> numval, the set of files remaining in the file list would be those that did not match.<br />
<br />
== HTML Font Properties ==<br />
The expression language recognizes a limited set of HTML font properties and attributes. These can be used to set font styles in most text drawing areas, such as captions, thumbnail text and in the configuration of Theater View.<br />
HTML tags are used by surrounding the desired content with an opening and closing tag, in the form of:<br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><<i>tag</i>><i>desired content</i><//<i>tag</i>></span><br />
<br />
The supported HTML tags are:<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse"><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><b></nowiki></b></td><td>Bold</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><i></nowiki></b></td><td>Italics</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><u></nowiki></b></td><td>Underline</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><font></nowiki></b></td><td>Font properties (see attributes below)</td></tr><br />
</table></div><br />
<br />
The <b>font</b> tag supports the following attributes:<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse"><br />
<tr><td style="text-align:left; padding-right:20pt"><b>alpha</b></td><td>Sets alpha-blending percentage (0 - 100)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>color</b></td><td>Sets the foreground color (RGB hex values from 00 to ff in the form of rrggbb)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>bgcolor</b></td><td>Sets the background color (same values as color)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>face</b></td><td>Sets the font face (a font name)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>size</b></td><td>Sets the font size (a percentage scaling value)</td></tr><br />
</table></div><br />
<br />
Any combination of HTML tags and font attributes can be used.<br />
An HTML tag must have an opening and closing tag.<br />
Nesting is allowed, but be sure to properly balance like opening and closing tags.<br />
Attribute values must be double quoted. The closing tag's forward slash requires escapement with an extra forward slash.<br />
The following examples illustrate using HTML font properties:<br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><nowiki><i>This is in italics<//i></nowiki></span><br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><nowiki><i><b>And this is bold and italic<//b><//i></nowiki></span><br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><nowiki><b>The<font color=&quot;ff0000&quot; size=&quot;80&quot; alpha=&quot;50&quot;> Great <//font>Gatsby<//b></nowiki></span><br />
<br />
== Expression Editors ==<br />
There are a couple of variations of dialog or edit field used to enter expressions.<br />
Some allow multi-line expressions, while others are single line, but can be expanded to multi-line editors.<br />
Unfortunately, some single-line editors flatten multi-line expressions into a single line, replacing the newlines with spaces.<br />
<br />
== Acknowledgements ==<br />
A big tip of hat to [[User:Marko|marko]] who tackled the enormous challenge of documenting the MC Expression Language in detail. His work was instrumental and through which has brought clarity and great assistance to Media Center users worldwide.<br />
<br />
Also, a huge thanks to user [[User:MrC|MrC]] who built [[Expression_Language_Archive|the amazing and long-lived previous version of this page]], upon which this is still heavily based.<br />
<br />
The current caretaker of this documentation is forever in their debts.<br />
<br />
[[Category:Frequently Asked Questions]]<br />
[[Category:Developer]]<br />
[[Category:Expression Language]]</div>Markohttps://wiki.jriver.com/index.php?title=Expression_Language&diff=17669Expression Language2024-03-02T13:11:24Z<p>Marko: /* Test and Comparison Functions */</p>
<hr />
<div>{{Tocright}}<br />
Media Center provides a simple programming language that enhances and enriches its overall user interface and usability.<br />
This language, commonly called the expression language, is simple to learn, simple to use, and can greatly enhance your experience using Media Center.<br />
<br />
Expressions are ubiquitous throughout Media Center, used in areas such as:<br />
:* The categories in a view<br />
:* File list expression columns<br />
:* Theater View<br />
:* Customized view headers, grouping and sort criteria<br />
:* The library field manager (fields with data type Calculated data)<br />
:* File and folder location definitions<br />
:* Auto-import rules<br />
:* Custom DLNA titles<br />
:* The player's display<br />
:* Captions and thumbnail text<br />
:* The link manager (expressions help format link URLs)<br />
:* Rename, Move, & Copy tool<br />
:* Tag assignment<br />
:* Complex search queries<br />
<br />
An expression is a mixture of ordinary text, pre-defined functions, and a few reserved characters and constructs that have special meaning. An expression is evaluated by Media Center's expression engine and textual output is produced. This output is then used by Media Center to customize the user interface and affect its method of operation.<br />
<br />
== The Anatomy of an Expression ==<br />
<br />
As mentioned above, an expression is a mixture of text and function calls (and some reserved stuff described shortly).<br />
The simplest expression would be some basic, literal text, such as <span style="font-family: monospace,monospace; font-size:1em;">A good movie</span>.<br />
The expression engine evaluates this expression, finds nothing special, and then outputs the result: <span style="font-family: monospace,monospace; font-size:1em;">A good movie</span>. Simple.<br />
<br />
But simple text only has so much utility.<br />
The ability to transform or generate content is much more interesting and useful.<br />
And this is when [[#Functions|functions]] are employed.<br />
Media Center [[#Function Index|provides many functions]], which when called, produce some output.<br />
Most functions require some form of input, called arguments, and most functions generate output.<br />
By supplying a function with various arguments, the function will return some output value which is just more text.<br />
And this output text can be the used by other functions, and so on.<br />
Each function has a unique name, and calling upon a function to do some work requires little more that using its name anywhere in the expression.<br />
<br />
A function call looks like this:<br />
<br />
:{{monospace|<i>functionname</i><b>(</b><i>argument 1</i>, <i>argument 2</i>, ...<b>)</b>}}<br />
<br />
The syntax of the function call is the function's case-insensitive name, immediately followed by an opening parenthesis character, one or more comma-separated arguments, and a closing parenthesis character.<br />
Whitespace after the commas is optional, but helps readability and formatting.<br />
And each argument itself is also just an expression. And some arguments are optional.<br />
If an argument is optional, it can be omitted and its default value will be used.<br />
If the argument is omitted, a comma-separator will still be required if additional arguments follow.<br />
The following example uses the [[String_Manipulation_Functions#FixCase|FixCase()]] function to change its input to Title Case:<br />
<br />
:{{monospace|fixcase(A good movie)}}<br />
<br />
The result is <span style="font-family: monospace,monospace; font-size:1em;">A Good Movie</span>.<br />
<br />
A slightly more complex expression example consists of both text and a nested function call:<br />
<br />
:{{monospace|Wow! fixcase(replace(A good movie, good, great))}}<br />
<br />
Inner functions are called before outer functions, so the [[String_Manipulation_Functions#Replace|Replace()]] function is call first:<br />
<br />
:{{monospace|replace(A good movie, good, great)}}<br />
<br />
and its output is then supplied as the input to the [[String_Manipulation_Functions#FixCase|FixCase()]] function.<br />
[[String_Manipulation_Functions#Replace|Replace()]] does its work substituting {{monospace|good}} with {{monospace|great}}, and returns {{monospace|A great movie}}.<br />
This output is then supplied as the argument to [[String_Manipulation_Functions#FixCase|FixCase()]] which sees only the text {{monospace|A great movie}} (it knows nothing about how it was produced). So the function call:<br />
<br />
:{{monospace|fixcase(A great movie)}}<br />
<br />
in turn outputs {{monospace|A Great Movie}}.<br />
Now that the functions have produced their output, the final output, including the literal {{monospace|Wow!}} leading text is<br />
<br />
:{{monospace|Wow! A Great Movie}}<br />
<br />
== Fields ==<br />
The expression examples thus far have been limited to static literal text.<br />
Expressions have much more utility when they use data from other sources, such as a file's metadata.<br />
Media Center maintains this metadata in its defined fields.<br />
This data is accessed using the [[Accessing_and_Storing_Functions#Field|Field()]] function, and its first argument is the case-insensitive name of the field to be accessed.<br />
For example, the function call <span style="font-family: monospace,monospace; font-size:1em;">field(album)</span> will return the current* file's value for the album field (* more will be said later about the current file).<br />
If the album field contained the value <span style="font-family: monospace,monospace; font-size:1em;">After Hours</span>, the expression:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">fixcase(field(album), 3)</span></div><br />
<br />
would produce <span style="font-family: monospace,monospace; font-size:1em;">AFTER HOURS</span>.<br />
First <span style="font-family: monospace,monospace; font-size:1em;">field(album)</span> is evaluated, returning <span style="font-family: monospace,monospace; font-size:1em;">After Hours</span>.<br />
The [[String_Manipulation_Functions#FixCase|FixCase()]] function is supplied with this output as its first argument, and its second argument is <span style="font-family: monospace,monospace; font-size:1em;">3</span>, which happens to specify that it should perform upper-casing.<br />
<br />
Because fields are so frequently used in expressions, an abbreviated form called [[square bracket notation]] exists for accessing their values. This makes it easier to both read and write expressions.<br />
Nonetheless, both forms are equivalent.<br />
The abbreviated form is simple: immediately surround the field's name with opening and closing square brackets, for example, <span style="font-family: monospace,monospace; font-size:1em;">[album]</span>.<br />
The previous example is now written more simply as:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">fixcase([album], 3)</span></div><br />
<br />
=== Field Values ===<br />
For the sake of simplicity and clarity, the section above glossed over an important detail regarding how<br />
Media Center outputs field values.<br />
Recall that [[Accessing_and_Storing_Functions#Field|Field()]] is the function used to return the value of a specified field.<br />
But [[Accessing_and_Storing_Functions#Field|Field()]] also has a second argument that indicates the format of the value that it returns.<br />
Because field values are used in a variety of situations, the [[Accessing_and_Storing_Functions#Field|Field()]] function can produce output suitably formatted for the requirements.<br />
There are two forms of output: one is a nice, friendly human-readable format suitable for use in views or other display locations; the other is a raw format which returns the representation stored internally by Media Center which is useful when uninterpreted values are necessary.<br />
<br />
By default, Media Center <i>always</i> outputs the friendly format, so expressions sometimes need to take this into account and chose the format accordingly.<br />
<br />
Not used earlier because it is optional, the second argument to the [[Accessing_and_Storing_Functions#Field|Field()]] function selects the mode of output:<br />
the value <span style="font-family: monospace,monospace; font-size:1em;">0</span> selects the raw mode, and the default value of <span style="font-family: monospace,monospace; font-size:1em;">1</span> selects the friendly mode.<br />
Here are two examples using the date field, the first one outputs the date value in raw format, the second in the friendly format:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">field(date, 0)</span></div><br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">field(date, 1)</span></div><br />
<br />
==== Field Values: Override the expression, and [This] ====<br />
[[File:ExpressionOverride.png|right]]<br />
When creating (or editing) an expression based field, there is an option, shown in the image on the right, to "Allow custom data to override the expression".<br />
When enabled, it becomes possible to open the tag for editing either inline or in the tag window, just as you would any other regular tag, and replace the expression derived data with any other static data. Complex expression based fields can very easily slow view loading times to a crawl, and in many cases, this option can help speed things up again. Imagine an expression based field that manipulates another, otherwise static field, such the [Date] field. The returned expression values will never change, so why waste time evaluating the same results over and over, when you can simply replace them with static data and so forego any future expression processing?<br />
<br />
Media Center 28 saw the introduction of a [https://yabb.jriver.com/interact/index.php/topic,124543.msg906895.html#msg906895 [This]] variable that can also be invoked, so, using the example, ''=removeleft([This], 4)'' would remove four characters from the left of "this field".<br />
<br />
The new [This] variable can be used to override expression data. Select one, or 1000s of files, then edit, either inline or in the tag window, using the simple expression ''=[this]'' and apply to have MC replace the expression result with, the expression result, which from that point forwards, will be static data and the expression will no longer run ''<u>for those files</u>''.<br />
<br />
To remove the static data and return to expression evaluated data instead, simply edit again, deleting the static data, which when applied, will cause the expression evaluated result to return.<br />
<br />
'''<u>Note:</u>''' Use this "override" option with care. It requires least maintenance when used in situations where ''all'' expression values for all files for that field will be replaced with static data. Currently (October 2022) there is no way to differentiate between static data and expression derived data meaning the potential for things to get very confusing, very quickly, is very high indeed.<br />
<br />
==== Field Values: Empty, 0, and 1 ====<br />
The Media Center expression language does not strongly differentiate between the numeric value zero <span style="font-family: monospace,monospace; font-size:1em;">0</span> and emptiness<br />
for numeric field types Integer and Decimal.<br />
And in some cases, the numeric value of <span style="font-family: monospace,monospace; font-size:1em;">1</span> is treated similarly to the empty value.<br />
<br />
When a value of 0 is entered as a numeric field's value, the raw value will be shown as <span style="font-family: monospace,monospace; font-size:1em;">0</span>,<br />
but the display format (as in the file list) will be shown as empty.<br />
The empty display allows for less visual noise in the user interface, since a column full of <span style="font-family: monospace,monospace; font-size:1em;">0</span> values is not usually helpful.<br />
In fact, if you attempt to set a numeric field's value to <span style="font-family: monospace,monospace; font-size:1em;">0</span> in the file list, it will immediately be displayed as empty.<br />
<br />
Generally this difference is unimportant, except when testing numeric values with [[Test_and_Comparison_Functions#IsEmpty|IsEmpty()]] or [[Test_and_Comparison_Functions#IsEqual|IsEqual()]].<br />
It is easy to be fooled when testing such a value if the value shown in a file list is empty.<br />
The values shown in the Tag Action Window will reveal the actual raw value, as will an expression column using the field's raw format.<br />
<br />
Another consideration for integer fields is that when sorting, a <span style="font-family: monospace,monospace; font-size:1em;">1</span> value can sometimes sort indistinguishably from an empty value.<br />
The Integer type <span style="font-family: monospace,monospace; font-size:1em;">disc #</span> field is typically empty when an album consists of only one disc, and as such, Media Center will sort<br />
the <span style="font-family: monospace,monospace; font-size:1em;">disc #</span> values of empty (<span style="font-family: monospace,monospace; font-size:1em;">0</span>) and <span style="font-family: monospace,monospace; font-size:1em;">1</span> identically.<br />
<br />
The friendly output of a field can differ, depending on context.<br />
For example, in a file list, and empty field will be shown as blank, but in the Rename, Move & Copy tool,<br />
it will be output as <span style="font-family: monospace,monospace; font-size:1em;">Unknown Disc #</span> (this ensures no blank values are generated as path components).<br />
To test such a field, always use and test against the raw format, and then expressions will be context agnostic.<br />
<br />
===Field Assignment===<br />
<div><br />
The output of an expression can be used to assign a value to a tag.<br />
This is accomplished by preceding the expression with an <span style="font-family: monospace,monospace; font-size:1em;">=</span> character.<br />
The <span style="font-family: monospace,monospace; font-size:1em;">=</span> character causes the tagging engine to invoke the expression evaluator first,<br />
and then to use its output as the value to assign to the field.<br />
[[File:Field_Assignment_with_Expression.png|right]]<br />
Without the prepended <span style="font-family: monospace,monospace; font-size:1em;">=</span> character, the literal expression text itself and not its evaluated value would be stored in the tag.<br />
The expression can refer to the field's own value to modify itself, and this offers a convenient way to perform complex transformations on field values.<br />
For example, the assignment expression<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">=removeleft([name], 4)</span></div><br />
<br />
entered into an edit cell for the <span style="font-family: monospace,monospace; font-size:1em;">name</span> field would remove<br />
four characters from the left of the <span style="font-family: monospace,monospace; font-size:1em;">name</span> field's current value.<br />
An assignment expression can be entered into the Tag Action Window, or by using inline editing in the file list or a pane entry.<br />
The image on the right shows in-place field assignment.<br />
<br />
Note: Undo is supported, reverting each tag to its value prior to the assignment.<br />
Redo is also supported, reapplying the most recent Undo.<br />
</div><br />
<br />
== Expression Language Syntax ==<br />
Now that the basics have been covered, the more rigorous rules of the expression language syntax can be described.<br />
<br />
:* An expression is any sequence of literal text and any number of function calls.<br />
:* Expressions are read and evaluated left to right. Literal text is output unmodified, function calls are evaluated and their return values output.<br />
:* Fields designated using [[square bracket notation]] are expanded into the equivalent [[Accessing_and_Storing_Functions#Field|Field()]] function call.<br />
:* Nested function calls are evaluated from the innermost function to outermost function, and again, left to right when one function follows another.<br />
:* A function is evaluated and its returned value contextually replaces the function call in the expression<br />
:* Within a function's argument list, whitespace is ignored before and after commas, after an opening parenthesis, and before a closing parenthesis.<br />
:* The forward-slash escape character <span style="font-family: monospace,monospace; font-size:1em;">/</span> disables the special meaning of the character that follows it.<br />
:* The escape sequence <span style="font-family: monospace,monospace; font-size:1em;">/#</span> followed by <span style="font-family: monospace,monospace; font-size:1em;">#/</span> escapes everything inside.<br />
:* The escape sequence <nowiki>/* followed by /*</nowiki> will escape everything inside returning it as given without formatting or processing.<br />
:* To use a literal parenthesis, comma, or whitespace inside of function argument lists, escape them. Whitespace within an argument's value is literal and does not need to be escaped when it is surrounded by other non-whitespace text.<br />
:* An expression may be split into multiple lines, but when it does not satisfy the conditions above regarding whitespace around function parenthesis and commas, use a forward-slash escape as the last character before the newline. Extraneous newlines in the expression editor will produce a trailing ellipsis (...) in the output.<br />
<br />
=== How Expressions Are Evaluated ===<br />
Expressions are evaluated in the context where they are used.<br />
For example, an expression column in a file list is evaluated relative to those files in the file list.<br />
And the general flow is that for each file in the list, the expression is evaluated and produces output.<br />
The expression only has access to the fields available for the file currently being evaluated.<br />
This is important to remember, so it bears repeating.<br />
One file after another, an expression is evaluated against that single file, its output is produced and stored away for use later,<br />
and then the result of that evaluation is entirely forgotten before the next file is evaluated.<br />
This means, the expression evaluator cannot use the results from one file's evaluated expression with the results of another<br />
file's evaluation.<br />
<br />
=== Expressions and Locales ===<br />
Media Center will respect the Windows locale setting for output values produced by certain functions,<br />
and within the values of certain fields.<br />
This is important to consider when writing expressions that consume such values.<br />
Under most circumstances, such values cause no harm.<br />
However special care must be taken with functions that require the use of period as the decimal point.<br />
One such function is [[Miscellaneous_Functions#Math|Math()]], which always uses period as the decimal point.<br />
If your locale uses some other character such as comma, these characters will have to be converted into periods before the<br />
critical function is called.<br />
Handling this problem is not difficult. Before passing to [[Miscellaneous_Functions#Math|Math()]] any floating point number,<br />
use [[String_Manipulation_Functions#Replace|Replace()]] first when necessary to convert the locale's decimal character into a period.<br />
Fields that cause problems are any fields that produce floating-point values,<br />
such as any Date type field in raw format (e.g. <span style="font-family: monospace,monospace; font-size:1em;">[date,0]</span>, <span style="font-family: monospace,monospace; font-size:1em;">[last played,0]</span>, <span style="font-family: monospace,monospace; font-size:1em;">[date modified,0]</span>, and <span style="font-family: monospace,monospace; font-size:1em;">[date imported,0]</span>),<br />
or any textual field that contains floating-point values that will be used for various calculations<br />
(e.g. any of the Dynamic Range variants).<br />
Certain functions such as [[Date_and_Time_Functions#Now|Now()]] and [[Date_and_Time_Functions#ConvertTime|ConvertTime()]] also return localized floating-point values.<br />
Consider also that the expression parser uses comma as the argument separator.<br />
Any literal numeric values specified as a function argument must have any embedded commas escaped.<br />
<br />
=== A Complex Expression Example ===<br />
[[File:Expression_Editor.png|right]]<br />
Here is a more complex expression example that illustrates the various rules discussed above regarding expressions:<br />
<br />
<span style="font-family: monospace,monospace; font-size:1em;"><br />
<div style="margin-left: 20pt">if( IsEmpty( [Disc #] ),</div><br />
<div style="margin-left: 40pt">Disc number is empty,</div><br />
<div style="margin-left: 40pt">Delimit(</div><br />
<div style="margin-left: 60pt">field(disc #) , </div><br />
<div style="margin-left: 60pt">/) ,</div><br />
<div style="margin-left: 60pt">DISC /(</div><br />
<div style="margin-left: 40pt">)</div><br />
<div style="margin-left: 20pt">)</div><br />
</span><br />
<br />
The expression demonstrates that<br />
:* whitespace before and after commas or opening and closing parenthesis is ignored<br />
:* expressions can be safely split into multiple lines using the whitespace rules just mentioned<br />
:* function and field names are case insensitive<br />
:* forward slash is used and required to escape parenthesis (see inside the [[Formatting_Functions#Delimit|Delimit()]] function)<br />
:* whitespace does not require escapement when surrounded by other characters (see after the <span style="font-family: monospace,monospace; font-size:1em;">C</span> in <span style="font-family: monospace,monospace; font-size:1em;">DISC</span>)<br />
:* literal text is output unmodified (<span style="font-family: monospace,monospace; font-size:1em;">Disc number is empty</span>)<br />
:* functions can be nested (Both [[Test_and_Comparison_Functions#IsEmpty|IsEmpty()]] and [[Formatting_Functions#Delimit|Delimit()]] are nested within the [[Conditional_Functions#If|If()]] function, and the [[Accessing_and_Storing_Functions#Field|Field()]] function is nested within [[Formatting_Functions#Delimit|Delimit()]]<br />
<br />
When the expression is run, files that have no disc number will produce <span style="font-family: monospace,monospace; font-size:1em;">Disc number is empty</span>,<br />
and files that have, say, a disc number value of <span style="font-family: monospace,monospace; font-size:1em;">3</span> will produce <span style="font-family: monospace,monospace; font-size:1em;">DISC (3)</span>.<br />
<br />
== Functions ==<br />
<br />
Functions enable you to transform or generate content automatically. For background information on how functions are used in expressions, refer to [[#The Anatomy of an Expression|The Anatomy of an Expression]] section above.<br />
<br />
This section describes all the various functions provided by Media Center's Expression Language.<br />
<br />
=== Function Arguments ===<br />
<br />
As discussed [[#The_Anatomy_of_an_Expression|above]], a function call consists of the function's case-insensitive name, immediately followed by an opening parenthesis character, one or more comma-separated arguments, and a closing parenthesis character:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;"><i>functionname</i><b>(</b><i>argument 1</i>, <i>argument 2</i>, ...<b>)</b></span></div><br />
<br />
Functions may have one or more arguments. In some cases, these arguments are optional, and will automatically use a default value if omitted. For example, these two expressions are equivalent because the mode argument for [[Test_and_Comparison_Functions#IsEmpty|IsEmpty()]] is optional and defaults to 0:<br />
:<span style="font-family: monospace,monospace; font-size:1em;">isempty([comment], 0)</span><br />
:<span style="font-family: monospace,monospace; font-size:1em;">isempty([comment])</span><br />
<br />
In this case, a comma-separator will still be required if additional arguments follow the optional one. Whitespace after the commas is also optional, but helps readability and formatting. However, if any extra arguments are included in a function call which are not valid for that function, they are dropped and omitted from output. This is of particular importance when using string-manipulation functions on text. If the text you enter contains any commas, these must be escaped or the expression engine will consider text after the comma to be additional arguments.<br />
<br />
The arguments themselves are also just expressions, and you can nest multiple functions to achieve complex logic:<br />
:<span style="font-family: monospace,monospace; font-size:1em;">if(isequal([artist], [album], 1), Eponymous, [album])</span><br />
<br />
Nested function calls are always treated as a ''single'' argument when used as the input to another function (so that commas in the output of one function do not need to be escaped to be used as input in another function). This includes fields, since they are expanded to the equivalent [[Accessing_and_Storing_Functions#Field|Field()]] function call.<br />
<br />
:'''''Please Note:''''' In some cases below, such as with [[String_Manipulation_Functions#Unswap|Unswap()]], we have ignored this detail in order to simplify the examples. If you enter any text manually into a function, all commas ''must be'' escaped in order to achieve the correct result. This detail is unimportant in most real-world usages, however, because you will typically use either field values or the output of other functions as the arguments in your expressions. However, if you need to include commas in a string literal argument to a function, you need to escape every one, or block escape the entire argument.<br />
<br />
=== [[Function Index]] ===<br />
Unfortunately, ''when'' these were actually introduced has ''not'' been tracked. The only way to be certain you have access to all of the functions below is to make sure you have the most current build of Media Center installed.<br><br />
The available functions are grouped below based on the type of operation they might perform. If you prefer, a [[Complete Expression Language Alphabetical List|flat, alphabetically sorted function list is available here.]]<br><br />
Over time, as Media Center evolves, expression functions are added or changed. Those changes are typically not reflected here immediately. In the list available [https://yabb.jriver.com/interact/index.php/topic,125477.msg868288.html#msg868288 here, on interact], any entries in red text are currently missing from these wiki pages.<br />
<br />
==== [[Accessing and Storing Functions]] ====<br />
* '''[[Accessing_and_Storing_Functions#Field|Field(&hellip;)]]''': Returns a field's value.<br />
* '''[[Accessing_and_Storing_Functions#FieldQuery|FieldQuery(&hellip;)]]''': Return a list of matches based on a list of fields to search, from a selected scope of files.<br />
* '''[[Accessing_and_Storing_Functions#ItemCount|ItemCount(&hellip;)]]''': Counts the number of files that have the exact same value of the given expression as the file the expression runs in the context of.<br />
* '''[[Accessing_and_Storing_Functions#Load|Load(&hellip;)]]''': Outputs the value of a [[global variable]].<br />
* '''[[Accessing_and_Storing_Functions#Note|Note(&hellip;)]]''': Retrieve note fields.<br />
* '''[[Accessing_and_Storing_Functions#Save|Save(&hellip;)]]''': Saves a value to a [[global variable]].<br />
* '''[[Accessing_and_Storing_Functions#SaveAdd|SaveAdd(&hellip;)]]''': Adds to a [[global variable]].<br />
* '''[[Accessing_and_Storing_Functions#SetField|SetField(&hellip;)]]''': Sets a field's value.<br />
* '''[[Accessing_and_Storing_Functions#Tag|Tag(&hellip;)]]''': Returns a file's physical tag.<br />
<br />
==== [[Conditional Functions]] ====<br />
* '''[[Conditional Functions#And|And(&hellip;)]]''': Tests a set of values and returns 1 if all are true.<br />
* '''[[Conditional Functions#FirstNotEmpty|FirstNotEmpty(&hellip;)]]''': Returns the first non-empty argument.<br />
* '''[[Conditional Functions#If|If(&hellip;)]]''': Conditional ifelse evaluator.<br />
* '''[[Conditional Functions#IfCase|IfCase(&hellip;)]]''': Functions as a switch or select case statement.<br />
* '''[[Conditional Functions#IfElse|IfElse(&hellip;)]]''': Conditional if-elseif evaluator.<br />
* '''[[Conditional Functions#Not|Not(&hellip;)]]''': Negates the results of funtions.<br />
* '''[[Conditional Functions#Or|Or(&hellip;)]]''': Tests a set of values and returns 1 if any are true.<br />
<br />
==== [[Date and Time Functions]] ====<br />
* '''[[Date and Time Functions#CompareDates|CompareDates(&hellip;)]]''': Compares two dates, returning a formatted elapsed period between them<br />
* '''[[Date and Time Functions#ConvertDate|ConvertDate(&hellip;)]]''': Converts a human-readable date to the internal format required for use in date fields<br />
* '''[[Date and Time Functions#DateInRange|DateInRange(&hellip;)]]''': Compares a date with a range of dates<br />
* '''[[Date and Time Functions#FormatDate|FormatDate(&hellip;)]]''': Formats a date value in a specified manner<br />
* '''[[Date and Time Functions#Now|Now(&hellip;)]]''': Retrieve and display the system date<br />
* '''[[Date and Time Functions#PlaylistTime|PlaylistTime(&hellip;)]]''': Returns the time of a track in the current playlist (a sum of all previous durations)<br />
<br />
==== [[File Path and Identifier Functions]] ====<br />
* '''[[File Path and Identifier Functions#DBLocation|DBLocation(&hellip;)]]''': Identifies a file's databases<br />
* '''[[File Path and Identifier Functions#Enviro|Enviro(&hellip;)]]''': Returns the full path to a host system variable<br />
* '''[[File Path and Identifier Functions#FileDBLocation|FileDBLocation(&hellip;)]]''': Identifies a file's databases<br />
* '''[[File Path and Identifier Functions#FileFolder|FileFolder(&hellip;)]]''': Returns the name of a file's parent<br />
* '''[[File Path and Identifier Functions#FileKey|FileKey(&hellip;)]]''': Returns a file's unique internal identifier<br />
* '''[[Miscellaneous Functions#FileLookup()|FileLookup()]]''': Looks up a file based on its filename<br />
* '''[[File Path and Identifier Functions#FileName|FileName(&hellip;)]]''': Returns a file's name component<br />
* '''[[File Path and Identifier Functions#FilePath|FilePath(&hellip;)]]''': Returns a file's path component<br />
* '''[[File Path and Identifier Functions#FileVolume|FileVolume(&hellip;)]]''': Returns a file's volume name component<br />
<br />
==== [[Formatting Functions]] ====<br />
* '''[[Formatting Functions#Delimit|Delimit(&hellip;)]]''': Outputs a value with head/tail strings when value is non-empty<br />
* '''[[Formatting Functions#FormatBoolean|FormatBoolean(&hellip;)]]''': Formats a boolean (true / false) value in a specified manner<br />
* '''[[Formatting Functions#FormatDuration|FormatDuration(&hellip;)]]''': Presents a duration of seconds in a reader friendly format<br />
* '''[[Formatting Functions#FormatFileSize|FormatFileSize(&hellip;)]]''': Presents a number of bytes in a reader friendly format<br />
* '''[[Formatting Functions#FormatNumber|FormatNumber(&hellip;)]]''': Formats and rounds a number to a specified number of decimal places<br />
* '''[[Formatting Functions#FormatRange|FormatRange(&hellip;)]]''': Formats a value as a range<br />
* '''[[Formatting Functions#Orientation|Orientation(&hellip;)]]''': Outputs the orientation of an image<br />
* '''[[Formatting Functions#PadNumber|PadNumber(&hellip;)]]''': Adds leading zeros to any given number<br />
* '''[[Formatting Functions#RatingStars|RatingStars(&hellip;)]]''': Outputs the value of Rating as a number of star characters<br />
* '''[[Formatting Functions#RatingStars10|RatingStars10(&hellip;)]]''': Outputs the value of a 10 star rating field as a number of star characters<br />
* '''[[Formatting Functions#Watched|Watched(&hellip;)]]''': Outputs a formatted video bookmark<br />
<br />
==== [[Grouping Functions]] ====<br />
* '''[[Grouping Functions#GroupCount|GroupCount(&hellip;)]]''': Counts the members of a specified group (in a category or field).<br />
* '''[[Grouping Functions#GroupCountQuery|GroupCountQuery(&hellip;)]]''': Globally counts the number of items in a specified group.<br />
* '''[[Grouping Functions#GroupSummary|GroupSummary(&hellip;)]]''': Smartly summarizes the members of a specified group (mode, mean, min, max, etc as is most logical for that grouping).<br />
* '''[[Grouping Functions#GroupSummaryQuery|GroupSummaryQuery(&hellip;)]]''': Get a summary for the current group of files based on another matching field.<br />
<br />
==== [[List Manipulation Functions]] ====<br />
* '''[[List Manipulation Functions#ListBuild|ListBuild(&hellip;)]]''': Constructs a list from a series of items<br />
* '''[[List Manipulation Functions#ListClean|ListClean(&hellip;)]]''': Various list operations<br />
* '''[[List Manipulation Functions#ListCombine|ListCombine(&hellip;)]]''': Combines two delimited lists into a single delimited list<br />
* '''[[List Manipulation Functions#ListContains|ListContains(&hellip;)]]''': Checks for a value being in a list<br />
* '''[[List Manipulation Functions#ListCount|ListCount(&hellip;)]]''': Returns the number of items in a list<br />
* '''[[List Manipulation Functions#ListEqual|ListEqual(&hellip;)]]''': Checks for equality between two lists<br />
* '''[[List Manipulation Functions#ListFilter|ListFilter(&hellip;)]]''': Filter any list, returning only values within a given range<br />
* '''[[List Manipulation Functions#ListFind|ListFind(&hellip;)]]''': Search a list for a value and return that value, or its index # in the list<br />
* '''[[List Manipulation Functions#ListFormat|ListFormat(&hellip;)]]''': Outputs a given list in a reader friendly format.<br />
* '''[[List Manipulation Functions#ListGrep|ListGrep(&hellip;)]]''': Returns list items containing specified text<br />
* '''[[List Manipulation Functions#ListItem|ListItem(&hellip;)]]''': Returns an item from a location in a list<br />
* '''[[List Manipulation Functions#ListLimit|ListLimit(&hellip;)]]''': Limits the length of a list<br />
* '''[[List Manipulation Functions#ListMath|ListMath(&hellip;)]]''': Perform one of 4 specific math functions on a list containing numbers<br />
* '''[[List Manipulation Functions#ListMix|ListMix(&hellip;)]]''': Combine corresponding values from multiple lists into a new list, using a template to process each item<br />
* '''[[List Manipulation Functions#ListRemove|ListRemove(&hellip;)]]''': Removes a string from a list<br />
* '''[[List Manipulation Functions#ListShuffle|ListShuffle(&hellip;)]]''': Shuffles a list<br />
* '''[[List Manipulation Functions#ListSort|ListSort(&hellip;)]]''': Sort a list of values<br />
<br />
==== [[Miscellaneous Functions]] ====<br />
* '''[[Miscellaneous Functions#AlbumArtist|AlbumArtist(&hellip;)]]''': Returns a file's calculated album artist<br />
* '''[[Miscellaneous Functions#AlbumKey|AlbumKey(&hellip;)]]''': Returns a unique album key for a file<br />
* '''[[Miscellaneous Functions#AlbumType|AlbumType(&hellip;)]]''': Returns the album type for a file<br />
* '''[[Miscellaneous Functions#AudioAnalysisState|AudioAnalysisState(&hellip;)]]''': Returns the state of audio analysis for a file<br />
* '''[[Miscellaneous Functions#Char|Char(&hellip;)]]''': Returns a character from the numeric code of that character<br />
* '''[[Miscellaneous Functions#CustomData|CustomData(&hellip;)]]''': Returns internal data to the expression language<br />
* '''[[Miscellaneous Functions#FilePlaylists()|FilePlaylists(&hellip;)]]''': Returns a list of playlists a file belongs to (Can also be used to search)<br />
* '''[[Miscellaneous Functions#Literal()|Literal(&hellip;)]]''': Returns a string as given without any formatting or processing<br />
* '''[[Miscellaneous Functions#Repeat|Repeat(&hellip;)]]''': Returns any given string repeated the specified number of times<br />
* '''[[Miscellaneous Functions#Row|Row(&hellip;)]]''': Returns the row number of a list entry<br />
* '''[[Miscellaneous Functions#Size|Size(&hellip;)]]''': Returns a file's size in a format specific to the media type<br />
* '''[[Miscellaneous Functions#Translate|Translate(&hellip;)]]''': Converts an English string found in the program to the current language selected in the language menu<br />
* '''[[Miscellaneous Functions#TreeNode|TreeNode(&hellip;)]]''': Returns the selected tree path<br />
* '''[[Miscellaneous Functions#TVInfo|TVInfo(&hellip;)]]''': Miscellaneous television and other pre-formatted information<br />
<br />
==== [[Number Functions]] ====<br />
* '''[[Number Functions#Avg|Avg(&hellip;)]]''': Returns the average from a set of numbers<br />
* '''[[Number Functions#Counter|Counter(&hellip;)]]''': Counts upwards in specified increments<br />
* '''[[Number Functions#Math|Math(&hellip;)]]''': Evaluates a given mathematical formula<br />
* '''[[Number Functions#Max|Max(&hellip;)]]''': Returns the largest value from a set of numbers<br />
* '''[[Number Functions#Min|Min(&hellip;)]]''': Returns the smallest value from a set of numbers<br />
* '''[[Number Functions#Number|Number(&hellip;)]]''': Returns the first number , including decimals, from a given string<br />
* '''[[Number Functions#Rand|Rand(&hellip;)]]''': Returns a random number anywhere between two given numbers<br />
* '''[[Number Functions#Range|Range(&hellip;)]]''': Creates a semi-colon delimited list of numbers in a field<br />
* '''[[Number Functions#Roman|Roman(&hellip;)]]''': Converts any given number to, or from, roman numerals<br />
* '''[[Number Functions#StackCount|StackCount(&hellip;)]]''': Returns the number of files in a stack<br />
* '''[[Number Functions#Sum|Sum(&hellip;)]]''': Returns the sum of a set of numbers<br />
* '''[[Number Functions#TrackNumber|TrackNumber(&hellip;)]]''': Returns a file's track # value<br />
<br />
==== [[String Manipulation Functions]] ====<br />
* '''[[String Manipulation Functions#Clean|Clean(&hellip;)]]''': Clean a string to be used for various operations<br />
* '''[[String Manipulation Functions#Extract|Extract(&hellip;)]]''': Returns a portion of a string bounded by another substring<br />
* '''[[String Manipulation Functions#Find|Find(&hellip;)]]''': Finds a string or character in another string, returning its zero-based position in that string<br />
* '''[[String Manipulation Functions#FixCase|FixCase(&hellip;)]]''': Changes the case of a given string<br />
* '''[[String Manipulation Functions#FixSpacing|FixSpacing(&hellip;)]]''': Intelligently splits adjacent camel-cased words<br />
* '''[[String Manipulation Functions#Hexify|Hexify(&hellip;)]]''': Hexifies a string to make it suitable for web usage<br />
* '''[[String Manipulation Functions#Left|Left(&hellip;)]]''': Retrieves a specified number of characters from the left of a string<br />
* '''[[String Manipulation Functions#Length|Length(&hellip;)]]''': Returns the number of characters in a string<br />
* '''[[String Manipulation Functions#Letter|Letter(&hellip;)]]''': Returns the starting letter or letters of a given string<br />
* '''[[String Manipulation Functions#Mid|Mid(&hellip;)]]''': Retrieves specified characters from a string<br />
* '''[[String Manipulation Functions#MoveArticles|MoveArticles(&hellip;)]]''': Takes "The Beatles" and reverses it to "Beatles, The"<br />
* '''[[String Manipulation Functions#NoArticles|NoArticles(&hellip;)]]''': Takes "The Beatles" and returns "Beatles"<br />
* '''[[String Manipulation Functions#PadLeft|PadLeft(&hellip;)]]''': Pad any string with any character, to the left<br />
* '''[[String Manipulation Functions#PadRight|PadRight(&hellip;)]]''': Pad any string with any character, to the right<br />
* '''[[String Manipulation Functions#Regex|Regex(&hellip;)]]''': Regular expression pattern matching and capture<br />
* '''[[String Manipulation Functions#RemoveCharacters|RemoveCharacters(&hellip;)]]''': Removes a list of characters from a string<br />
* '''[[String Manipulation Functions#RemoveLeft|RemoveLeft(&hellip;)]]''': Trims characters from the beginning of a string<br />
* '''[[String Manipulation Functions#RemoveRight|RemoveRight(&hellip;)]]''': Trims characters from the end of a string<br />
* '''[[String Manipulation Functions#Replace|Replace(&hellip;)]]''': Replace or remove a string segment<br />
* '''[[String Manipulation Functions#Right|Right(&hellip;)]]''': Retrieves a specified number of characters from the right of a string<br />
* '''[[String Manipulation Functions#Swap|Swap(&hellip;)]]''': Takes Firstname Lastname and swaps to Lastname, Firstname<br />
* '''[[String Manipulation Functions#Trim|Trim(&hellip;)]]''': Removes leading and trailing non-printable characters and new lines from a string<br />
* '''[[String Manipulation Functions#TrimLines|TrimLines(&hellip;)]]''': Removes leading and trailing non-printable characters and new lines from a string<br />
* '''[[String Manipulation Functions#UnMoveArticles|UnMoveArticles(&hellip;)]]''': Takes "Beatles, The" and reverses it to restore the normal word order, "The Beatles"<br />
* '''[[String Manipulation Functions#Unswap|Unswap(&hellip;)]]''': Takes Lastname, Firstname and reverses it to Firstname Lastname<br />
* '''[[String Manipulation Functions#Urlify|Urlify(&hellip;)]]''': Takes a string and applies html formatting for browser consumption<br />
<br />
==== [[Test and Comparison Functions]] ====<br />
* '''[[Test and Comparison Functions#Compare|Compare(&hellip;)]]''': Compares two numbers<br />
* '''[[Test and Comparison Functions#IsDigit|IsDigit(&hellip;)]]''': Determines whether or not a given value is digits<br />
* '''[[Test and Comparison Functions#IsDriveMissing|IsDriveMissing(&hellip;)]]''': Checks if a drive is missing<br />
* '''[[Test and Comparison Functions#IsEmpty|IsEmpty(&hellip;)]]''': Tests a value for emptiness<br />
* '''[[Test and Comparison Functions#IsEqual|IsEqual(&hellip;)]]''': Compares two values in one of seventeen specified modes<br />
* '''[[Test and Comparison Functions#IsInPlayingNow|IsInPlayingNow(&hellip;)]]''': Tests to see if a file is in the Playing Now playlist<br />
* '''[[Test and Comparison Functions#IsLowerCase|IsLowerCase(&hellip;)]]''': Tests to see if a value is lower case<br />
* '''[[Test and Comparison Functions#IsMissing|IsMissing(&hellip;)]]''': Tests to see if a file exists on the system<br />
* '''[[Test and Comparison Functions#IsOverridden|IsOveridden(&hellip;)]]''': Tests if an expression is overridden by a value<br />
* '''[[Test and Comparison Functions#IsPlaying|IsPlaying(&hellip;)]]''': Tests to see if a file is in currently being played<br />
* '''[[Test and Comparison Functions#IsRange|IsRange(&hellip;)]]''': Tests a value for inclusion within a given range<br />
* '''[[Test and Comparison Functions#IsRemovable|IsRemovable(&hellip;)]]''': Tests to see if a file is stored on removable media<br />
* '''[[Test and Comparison Functions#IsUpperCase|IsUpperCase(&hellip;)]]''': Tests to see if a value is upper case<br />
* '''[[Test and Comparison Functions#SearchTags|SearchTags(&hellip;)]]''': Finds all fields that contain a value<br />
<br />
== Data Types ==<br />
It was mentioned already that the Media Center expression language is primarily a textual language - it consumes and produces text.<br />
Nonetheless, certain areas of Media Center are influenced by the type of data used or presented,<br />
and sometimes it is useful or necessary to coerce expression output into one data type or another.<br />
Each Media Center field is defined to be of a certain data type,<br />
listed in the [[File_Properties_%28tags%29#Field_Specifications|Field Data Types]] table.<br />
These types influence how values are output, sorted, and interpreted on input.<br />
And expressions always output data of type String.<br />
By coercing the data type of an expression, output formatting and sorting can be controlled in various ways.<br />
<br />
Data types are forced by appending to an expression the string:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[<i>type</i>]</span></div><br />
<br />
where <i><span style="font-family: monospace,monospace; font-size:1em;">type</span></i> is one of the following values:<br />
<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse"><br />
<tr><td style="text-align:left; padding-right:20pt"><b>list</b></td><td>A list of strings, separated by semicolons</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>string</b></td><td>Sorts as strings (with smart number handling)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>number</b></td><td>Sorts values as numbers (decimal or integer)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>integer</b></td><td>Sorts values as integers</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>path</b></td><td>Sorts using a smart filename compare style</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>month</b></td><td>Sorts string month names (i.e. January, February, etc.)</td></tr><br />
</table></div><br />
<br />
=== Calculated Fields and Search ===<br />
<br />
Media Center's [[Search Language]] supports some simple numeric [[Search Language#Comparison_Operators|comparison operators]].<br />
Because expressions always evaluate as a String type, these operators would be unavailable for use in a search query to compare numeric values from a calculated expression field.<br />
In order to use the numeric comparison operators, a calculated expression field can be cast into one of the numeric types.<br />
In your numeric calculated fields, to allow the use Search's numeric comparison operators, add either of the casts:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[integer]</span></div><br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[number]</span></div><br />
<br />
to the end of the field's calculated expression.<br />
<br />
=== Lists and Trees ===<br />
<div><br />
[[File:Datatype_List.png|right]]<br />
The list of output in view categories and pane columns can be modified by forcing the data type to a List type.<br />
Two things happen when the data type is List:<br />
The values within a List type are split into their individual (semicolon-separated) list items<br />
The backslash character takes on a special meaning and becomes another form of separator that creates tree-like hierarchies,<br />
collapsible in panes columns and creates drill-down categories in any category view type (Standard View > Categories, Theater View, DLNA, Gizmo/WebGizmo).<br />
Forcing an expression's type to <span style="font-family: monospace,monospace; font-size:1em;">list</span> causes this list item separation and hierarchy generation.<br />
Alternatively, forcing a List type to <span style="font-family: monospace,monospace; font-size:1em;">string</span> defeats this.<br />
Add the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[list]</span></div><br />
<br />
to the end of an expression to force an expression's output to be considered as a List type.<br />
Conversely, a List type may be forced into a String type by adding the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[string]</span></div><br />
<br />
to the end of an expression.<br />
</div><br />
<br />
=== Sort Order ===<br />
<div><br />
[[File:Datatype_Month.png|right]]<br />
Normally strings are sorted ASCII-betically with some smart numeric sorting.<br />
But this form of sort may not always be desired.<br />
<br />
==== Sorting by Month ====<br />
Generally it is more useful to see month names sorting such that January sorts before April, instead of alphabetically where April would sort before January.<br />
Forcing an expression's type to Month forces string month values to be treated instead as their equivalent numerical month numbers.<br />
For example, the first month January and the third month March sort before the fourth month April.<br />
Add the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[month]</span></div><br />
<br />
to the end of an expression to force an expression's output to be sorted by numeric month values.<br />
<br />
==== Sorting by Path ====<br />
<br />
Path data types sort using smart filename comparisons.<br />
<br />
XXX: Note: This section is incomplete. I cannot distingish any difference between using a datatype of <span style="font-family: monospace,monospace; font-size:1em;">path</span> vs. <span style="font-family: monospace,monospace; font-size:1em;">string</span>. It seems <span style="font-family: monospace,monospace; font-size:1em;">path</span> sort order is always engaged.<br />
<br />
Add the cast:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">&datatype=[path]</span></div><br />
<br />
to the end of an expression to force an expression's output to be smart-sorted by path components.<br />
<br />
</div><br />
<br />
== Expressions and Search ==<br />
The expression language is fully available to the search query engine (Search, Set rules for file display, etc.).<br />
This allows creation of more complex search queries than would otherwise be possible.<br />
An expression-based search query is any valid expression that produces a zero or non-zero numeric output.<br />
The syntax of the query is:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;"><b>[=</b><i>expression</i><b>]=</b><i>numval</i></span></div><br />
<br />
where expression is any valid expression, and numval is the expected numeric output produced by the expression.<br />
The expression is evaluated against the current list of available files and the expression output numerically compared against numval.<br />
All files for which the comparison is true are returned as part of the file list produced by the query and all files that fail the comparison are winnowed from the file list.<br />
<br />
The following example illustrates an expression-based search query:<br />
<br />
<div style="margin-left: 20pt"><span style="font-family: monospace,monospace; font-size:1em;">[=ismissing([filename (path)]\Folder.jpg)]=1</span></div><br />
<br />
The [[Test_and_Comparison_Functions#IsMissing|IsMissing()]] function is run using the file name argument <span style="font-family: monospace,monospace; font-size:1em;">[filename (path)]</span> appended by <span style="font-family: monospace,monospace; font-size:1em;">\Folder.jpg</span>,<br />
and returns a Boolean value <span style="font-family: monospace,monospace; font-size:1em;">1</span> for files that are missing, and this <span style="font-family: monospace,monospace; font-size:1em;">1</span> is compared against the value <i>numval</i>.<br />
All these files where there was a successful comparison are returned in the file list,<br />
and all those for which the expression produced <span style="font-family: monospace,monospace; font-size:1em;">0</span> are filtered from the file list.<br />
By inverting the comparison and using a <span style="font-family: monospace,monospace; font-size:1em;">0</span> numval, the set of files remaining in the file list would be those that did not match.<br />
<br />
== HTML Font Properties ==<br />
The expression language recognizes a limited set of HTML font properties and attributes. These can be used to set font styles in most text drawing areas, such as captions, thumbnail text and in the configuration of Theater View.<br />
HTML tags are used by surrounding the desired content with an opening and closing tag, in the form of:<br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><<i>tag</i>><i>desired content</i><//<i>tag</i>></span><br />
<br />
The supported HTML tags are:<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse"><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><b></nowiki></b></td><td>Bold</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><i></nowiki></b></td><td>Italics</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><u></nowiki></b></td><td>Underline</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b><nowiki><font></nowiki></b></td><td>Font properties (see attributes below)</td></tr><br />
</table></div><br />
<br />
The <b>font</b> tag supports the following attributes:<br />
<div style="margin-left: 20pt;"><table style="border-spacing:0px; border-collapse:collapse"><br />
<tr><td style="text-align:left; padding-right:20pt"><b>alpha</b></td><td>Sets alpha-blending percentage (0 - 100)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>color</b></td><td>Sets the foreground color (RGB hex values from 00 to ff in the form of rrggbb)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>bgcolor</b></td><td>Sets the background color (same values as color)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>face</b></td><td>Sets the font face (a font name)</td></tr><br />
<tr><td style="text-align:left; padding-right:20pt"><b>size</b></td><td>Sets the font size (a percentage scaling value)</td></tr><br />
</table></div><br />
<br />
Any combination of HTML tags and font attributes can be used.<br />
An HTML tag must have an opening and closing tag.<br />
Nesting is allowed, but be sure to properly balance like opening and closing tags.<br />
Attribute values must be double quoted. The closing tag's forward slash requires escapement with an extra forward slash.<br />
The following examples illustrate using HTML font properties:<br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><nowiki><i>This is in italics<//i></nowiki></span><br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><nowiki><i><b>And this is bold and italic<//b><//i></nowiki></span><br />
<br />
: <span style="font-family: monospace,monospace; font-size:1em;"><nowiki><b>The<font color=&quot;ff0000&quot; size=&quot;80&quot; alpha=&quot;50&quot;> Great <//font>Gatsby<//b></nowiki></span><br />
<br />
== Expression Editors ==<br />
There are a couple of variations of dialog or edit field used to enter expressions.<br />
Some allow multi-line expressions, while others are single line, but can be expanded to multi-line editors.<br />
Unfortunately, some single-line editors flatten multi-line expressions into a single line, replacing the newlines with spaces.<br />
<br />
== Acknowledgements ==<br />
A big tip of hat to [[User:Marko|marko]] who tackled the enormous challenge of documenting the MC Expression Language in detail. His work was instrumental and through which has brought clarity and great assistance to Media Center users worldwide.<br />
<br />
Also, a huge thanks to user [[User:MrC|MrC]] who built [[Expression_Language_Archive|the amazing and long-lived previous version of this page]], upon which this is still heavily based.<br />
<br />
The current caretaker of this documentation is forever in their debts.<br />
<br />
[[Category:Frequently Asked Questions]]<br />
[[Category:Developer]]<br />
[[Category:Expression Language]]</div>Markohttps://wiki.jriver.com/index.php?title=Complete_Expression_Language_Alphabetical_List&diff=17668Complete Expression Language Alphabetical List2024-03-02T13:08:05Z<p>Marko: </p>
<hr />
<div>{{Function Type Page}}<br />
<br />
#[[And()|And(…)]]<br><br />
#[[AlbumArtist()|AlbumArtist(…)]]<br><br />
#[[AlbumKey()|AlbumKey(…)]]<br><br />
#[[AlbumType()|AlbumType(…)]]<br><br />
#[[AudioAnalysisState()|AudioAnalysisState(…)]]<br><br />
#[[Avg()|Avg(…)]]<br><br />
#[[Char()|Char(…)]]<br><br />
#[[Clean()|Clean(…)]]<br><br />
#[[Compare()|Compare(…)]]<br><br />
#[[CompareDates()|CompareDates(…)]]<br><br />
#[[ConvertDate()|ConvertDate(…)]]<br><br />
#[[Counter()|Counter(…)]]<br><br />
#[[CustomData()|CustomData(…)]]<br><br />
#[[DateInRange()|DateInRange(…)]]<br><br />
#[[DBLocation()|DBLocation(…)]]<br><br />
#[[Delimit()|Delimit(…)]]<br><br />
#[[Enviro()|Enviro(…)]]<br><br />
#[[Extract()|Extract(…)]]<br><br />
#[[Field()|Field(…)]]<br><br />
#[[FieldQuery()|FieldQuery(…)]]<br><br />
#[[FileDBLocation()|FileDBLocation(…)]]<br><br />
#[[FileFolder()|FileFolder(…)]]<br><br />
#[[FileKey()|FileKey(…)]]<br><br />
#[[FileLookup()|FileLookup(…)]]<br><br />
#[[FileName()|FileName(…)]]<br><br />
#[[FilePath()|FilePath(…)]]<br><br />
#[[FilePlaylists()|FilePlaylists()]]<br><br />
#[[FileVolume()|FileVolume(…)]]<br><br />
#[[Find()|Find(…)]]<br><br />
#[[FirstNotEmpty()|FirstNotEmpty(…)]]<br><br />
#[[FixCase()|FixCase(…)]]<br><br />
#[[FixSpacing()|FixSpacing(…)]]<br><br />
#[[FormatBoolean()|FormatBoolean(…)]]<br><br />
#[[FormatDate()|FormatDate(…)]]<br><br />
#[[FormatDuration()|FormatDuration(…)]]<br><br />
#[[FormatFileSize()|FormatFileSize(…)]]<br><br />
#[[FormatNumber()|FormatNumber(…)]]<br><br />
#[[FormatRange()|FormatRange(…)]]<br><br />
#[[GroupCount()|GroupCount(…)]]<br><br />
#[[GroupCountQuery()|GroupCountQuery(…)]]<br><br />
#[[GroupSummary()|GroupSummary(…)]]<br><br />
#[[GroupSummaryQuery()|GroupSummaryQuery(…)]]<br><br />
#[[Hexify()|Hexify(…)]]<br><br />
#[[If()|If(…)]]<br><br />
#[[IfCase()|IfCase(…)]]<br><br />
#[[IfElse()|IfElse(…)]]<br><br />
#[[IsDigit()|IsDigit(…)]]<br><br />
#[[IsDriveMissing()|IsDriveMissing(…)]]<br><br />
#[[IsEmpty()|IsEmpty(…)]]<br><br />
#[[IsEqual()|IsEqual(…)]]<br><br />
#[[IsInPlayingNow()|IsInPlayingNow(…)]]<br><br />
#[[IsLowerCase()|IsLowerCase(…)]]<br><br />
#[[IsMissing()|IsMissing(…)]]<br><br />
#[[IsOverridden()|IsOverridden(…)]]<br><br />
#[[IsPlaying()|IsPlaying(…)]]<br><br />
#[[IsRange()|IsRange(…)]]<br><br />
#[[IsRemovable()|IsRemovable(…)]]<br><br />
#[[IsUpperCase()|IsUpperCase(…)]]<br><br />
#[[ItemCount()|ItemCount(…)]]<br><br />
#[[Left()|Left(…)]]<br><br />
#[[Length()|Length(…)]]<br><br />
#[[Letter()|Letter(…)]]<br><br />
#[[ListBuild()|ListBuild(…)]]<br><br />
#[[ListClean()|ListClean(…)]]<br><br />
#[[ListCombine()|ListCombine(…)]]<br><br />
#[[ListContains()|ListContains(…)]]<br><br />
#[[ListCount()|ListCount(…)]]<br><br />
#[[ListEqual()|ListEqual(…)]]<br><br />
#[[ListFilter()|ListFilter(…)]]<br><br />
#[[ListFind()|ListFind(…)]]<br><br />
#[[ListFormat()|ListFormat(…)]]<br><br />
#[[ListGrep()|ListGrep(…)]]<br><br />
#[[ListItem()|ListItem(…)]]<br><br />
#[[ListLimit()|ListLimit(…)]]<br><br />
#[[ListMath()|ListMath(…)]]<br><br />
#[[ListMix()|ListMix(…)]]<br><br />
#[[ListRemove()|ListRemove(…)]]<br><br />
#[[ListShuffle()|ListShuffle(…)]]<br><br />
#[[ListSort()|ListSort(…)]]<br><br />
#[[Literal()|Literal(…)]]<br><br />
#[[Load()|Load(…)]]<br><br />
#[[Math()|Math(…)]]<br><br />
#[[Max()|Max(…)]]<br><br />
#[[Mid()|Mid(…)]]<br><br />
#[[Min()|Min(…)]]<br><br />
#[[MoveArticles()|MoveArticles(…)]]<br><br />
#[[NoArticles()|NoArticles(…)]]<br><br />
#[[Not()|Not(…)]]<br><br />
#[[Note()|Note(…)]]<br><br />
#[[Now()|Now(…)]]<br><br />
#[[Number()|Number(…)]]<br><br />
#[[Orientation()|Orientation(…)]]<br><br />
#[[Or()|Or(…)]]<br><br />
#[[PadLeft()|PadLeft(…)]]<br><br />
#[[PadNumber()|PadNumber(…)]]<br><br />
#[[PadRight()|PadRight(…)]]<br><br />
#[[PlaylistTime()|PlaylistTime(…)]]<br><br />
#[[Rand()|Rand(…)]]<br><br />
#[[Range()|Range(…)]]<br><br />
#[[RatingStars()|RatingStars(…)]]<br><br />
#[[RatingStars10()|RatingStars10(…)]]<br><br />
#[[Regex()|Regex(…)]]<br><br />
#[[RemoveCharacters()|RemoveCharacters(…)]]<br><br />
#[[RemoveLeft()|RemoveLeft(…)]]<br><br />
#[[RemoveRight()|RemoveRight(…)]]<br><br />
#[[Repeat()|Repeat(…)]]<br><br />
#[[Replace()|Replace(…)]]<br><br />
#[[Right()|Right(…)]]<br><br />
#[[Roman()|Roman(…)]]<br><br />
#[[Row()|Row(…)]]<br><br />
#[[Save()|Save(…)]]<br><br />
#[[SaveAdd()|SaveAdd(…)]]<br><br />
#[[SearchTags()|SearchTags(…)]]<br><br />
#[[SetField()|SetField(…)]]<br><br />
#[[Size()|Size(…)]]<br><br />
#[[StackCount()|StackCount(…)]]<br><br />
#[[Sum()|Sum(…)]]<br><br />
#[[Swap()|Swap(…)]]<br><br />
#[[Tag()|Tag(…)]]<br><br />
#[[TrackNumber()|TrackNumber(…)]]<br><br />
#[[Translate()|Translate(…)]]<br><br />
#[[TreeNode()|TreeNode(…)]]<br><br />
#[[Trim()|Trim(…)]]<br><br />
#[[TrimLines()|TrimLines(…)]]<br><br />
#[[TVInfo()|TVInfo(…)]]<br><br />
#[[UnMoveArticles()|UnMoveArticles(…)]]<br><br />
#[[Unswap()|Unswap(…)]]<br><br />
#[[Urlify()|Urlify(…)]]<br><br />
#[[Watched()|Watched(…)]]<br />
<br />
{{Function Type Page}}<br />
<br />
[[Category:Expression Functions]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17664Release Notes MC322024-02-27T17:55:45Z<p>Marko: </p>
<hr />
<div>'''32.0.21 (2/27/2024)'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Fixed: The EXIF parser could crash on malformed files.<br><br />
3. '''NEW:''' Added IsOverridden expression function to test if an expression field has a stored value.<br><br />
4. Changed: The links tracks command disables when only one track is selected (when it's in the MRU menu).<br><br />
5. Changed: More MCWS functions have the parameter NoUI to put the player in error free mode (and all default to true) (playback from JRemote is less likely to show an error, etc.).<br><br />
6. Fixed: Commas in Aspect Ratio were not being handled in Theater View movie file template.<br><br />
7. Fixed: Missing director images were messing up Theater View movie file template cast display.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Mac&diff=17661Release Notes MC32 Mac2024-02-23T04:37:25Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138248.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
3. Changed: List drawing supports the alpha parameter on text.<br><br />
4. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
5. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
6. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
7. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
8. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
9. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
10. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
11. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
12. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
13. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
14. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
15. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
16. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
17. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
18. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
19. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
20: Fixed: CD ripping could only be initialed from Drives & Devices. Now it can also be initiated from Rip Disc.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138166.0.html 32.0.17 (2/13/2024)]'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138124.0.html 32.0.15 (2/9/2024)]'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
5. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
6. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
7. Changed: Moved the "convert to pre-composed UTF8" into a separate function and allowed it to fix filenames as well as stock string fields.<br><br />
8. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138104.0.html 32.0.13 (2/6/2024)]'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138056.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. Fixed: Crash on CD insertion.<br><br />
8. Fixed: Crash on tabbing views.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138038.0.html 32.0.11 (1/30/2024)]'''<br />
<br><br />
1. '''NEW:''' Implemented program links.<br><br />
2. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
3. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
4. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
5. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.10 (1/26/2024)]'''<br />
<br><br />
1. Fixed: Crash on exiting Options from the Tree and View page.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Possible fix for unusual event processing crashes. Needs feedback, especially from universal control users.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137895.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. Fixed: File Associations being set on first run of a new major version of MC wouldn't work and popup a black box with no information in it.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Linux&diff=17660Release Notes MC32 Linux2024-02-23T04:33:39Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138249.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
3. Changed: List drawing supports the alpha parameter on text.<br><br />
4. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
5. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
6. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
7. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
8. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
9. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
10. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
11. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
12. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
13. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
14. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
15. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
16. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
17. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
18. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
19. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
20: Fixed: CD ripping could only be initialed from Drives & Devices. Now it can also be initiated from Rip Disc.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138168.0.html 32.0.17 (2/13/2024)]'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
14. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
15. Changed: Loading views starts in the saved views folder under the library.<br><br />
16. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
17. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
18. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
19. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
20. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
21. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
22. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
23. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
24. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
25. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
26. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
27. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
28. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
29. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
30. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
31. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138057.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
8. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
9. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
10. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Updated package dependencies.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137898.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. '''NEW:''' For MC32 the initial run will copy upgrade the library, data, skins and trackinfos from the most recent previous major version of MC.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. '''NEW:''' GTKWebKit added as an internal browser choice.<br><br />
8. Fixed: The background color for window creation was red/blue value swapped.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Linux&diff=17659Release Notes MC32 Linux2024-02-23T04:33:20Z<p>Marko: </p>
<hr />
<div>'''[ 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: Theater View movie file info uses full description in large view (v2.3 of templates file).<br><br />
2. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
3. Changed: List drawing supports the alpha parameter on text.<br><br />
4. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
5. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
6. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
7. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
8. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
9. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
10. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
11. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
12. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
13. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
14. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
15. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
16. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
17. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
18. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
19. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
20: Fixed: CD ripping could only be initialed from Drives & Devices. Now it can also be initiated from Rip Disc.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138168.0.html 32.0.17 (2/13/2024)]'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
14. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
15. Changed: Loading views starts in the saved views folder under the library.<br><br />
16. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
17. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
18. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
19. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
20. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
21. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
22. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
23. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
24. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
25. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
26. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
27. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
28. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
29. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
30. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
31. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138057.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
8. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
9. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
10. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Updated package dependencies.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137898.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. '''NEW:''' For MC32 the initial run will copy upgrade the library, data, skins and trackinfos from the most recent previous major version of MC.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. '''NEW:''' GTKWebKit added as an internal browser choice.<br><br />
8. Fixed: The background color for window creation was red/blue value swapped.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17658Release Notes MC322024-02-22T18:47:50Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138245.0.html 32.0.20 (2/22/2024)]'''<br />
<br><br />
1. Changed: If middle click closes a tab, it will no longer also fire a mode change.<br><br />
2. Changed: List drawing supports the alpha parameter on text.<br><br />
3. Changed: The view header alphabet allows clicks in the space around letters instead of only on the letters.<br><br />
4. Changed: Removed the keyboard shortcut to flip Playing Now and added a menu choice instead.<br><br />
5. Changed: The "Name" field is no longer being filled from video file metadata, as its values are largely not desirable and prevent AutoTag (Carnac) from running.<br><br />
6. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
<br><br />
<br><br />
'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17656Release Notes MC322024-02-19T18:22:26Z<p>Marko: </p>
<hr />
<div>'''32.0.19 (2/19/2024)'''<br />
<br><br />
1. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
2. Changed: Minor tweak to volume protection so that it works more evenly.<br><br />
3. Fixed: The handheld filename rule wasn't saving since our change a couple builds back.<br><br />
4. Changed: Equalizer sliders move 0.5 dB to the arrows and mouse wheel.<br><br />
5. Changed: Made the alphabet above a file list stretch to the full width instead of being all left aligned.<br><br />
6. Changed: The alphabet uses the text selected color instead of the text hot color on mouse over.<br><br />
7. Fixed: Resolved a build issue that caused Media Center to crash on older processors.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17655Release Notes MC322024-02-17T13:25:40Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138193.0.html 32.0.18 (2/15/2024)]'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17654Release Notes MC322024-02-15T17:21:04Z<p>Marko: </p>
<hr />
<div>'''32.0.18 (2/15/2024)'''<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. '''NEW:''' Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17653Release Notes MC322024-02-15T17:20:38Z<p>Marko: </p>
<hr />
<div>32.0.18 (2/15/2024)<br />
<br><br />
1. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
2. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
3. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
4. Changed: Renamed "Migrate Library" to "Change Media Location" and reworded the instructions accordingly.<br><br />
5. NEW: Added a Library/DeleteField MCWS function.<br><br />
6. Fixed: Tab controls didn't stretch to the right since we removed dead space to expand middle click. Reverted the sizing but handle middle click another way.<br><br />
7. Changed: IPTC/XMP "Category" and "Supplemental Categories" tags are mapped to "Image Category" and "Image Subcategory" custom fields (instead of "LR Category", and "Subcateories").<br><br />
8. Changed: Multiple changes to Theater View movie file info template based on feedback (v2.2 of templates file).<br><br />
<br><br />
<br><br />
'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Mac&diff=17652Release Notes MC32 Mac2024-02-14T17:13:36Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138166.0.html 32.0.17 (2/13/2024)]'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138124.0.html 32.0.15 (2/9/2024)]'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
5. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
6. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
7. Changed: Moved the "convert to pre-composed UTF8" into a separate function and allowed it to fix filenames as well as stock string fields.<br><br />
8. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138104.0.html 32.0.13 (2/6/2024)]'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138056.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. Fixed: Crash on CD insertion.<br><br />
8. Fixed: Crash on tabbing views.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138038.0.html 32.0.11 (1/30/2024)]'''<br />
<br><br />
1. '''NEW:''' Implemented program links.<br><br />
2. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
3. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
4. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
5. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.10 (1/26/2024)]'''<br />
<br><br />
1. Fixed: Crash on exiting Options from the Tree and View page.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Possible fix for unusual event processing crashes. Needs feedback, especially from universal control users.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137895.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. Fixed: File Associations being set on first run of a new major version of MC wouldn't work and popup a black box with no information in it.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Mac&diff=17651Release Notes MC32 Mac2024-02-14T17:13:20Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138166.0.html 32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138124.0.html 32.0.15 (2/9/2024)]'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
5. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
6. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
7. Changed: Moved the "convert to pre-composed UTF8" into a separate function and allowed it to fix filenames as well as stock string fields.<br><br />
8. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138104.0.html 32.0.13 (2/6/2024)]'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138056.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. Fixed: Crash on CD insertion.<br><br />
8. Fixed: Crash on tabbing views.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138038.0.html 32.0.11 (1/30/2024)]'''<br />
<br><br />
1. '''NEW:''' Implemented program links.<br><br />
2. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
3. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
4. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
5. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.10 (1/26/2024)]'''<br />
<br><br />
1. Fixed: Crash on exiting Options from the Tree and View page.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Possible fix for unusual event processing crashes. Needs feedback, especially from universal control users.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137895.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. Fixed: File Associations being set on first run of a new major version of MC wouldn't work and popup a black box with no information in it.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Linux&diff=17650Release Notes MC32 Linux2024-02-14T17:11:15Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138168.0.html 32.0.17 (2/13/2024)]'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
7. Changed: Command+T will toggle the zone but not toggle the layout of Playing Now (even though Command is down).<br><br />
8. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
9. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
10. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
11. Changed: Added a help button to the Acquire Images Action Window that links to the wiki.<br><br />
12. Changed: When acquiring images, the destination path is checked to make sure it can be written to.<br><br />
13. Fixed: Library/CreateField better updates when expressions are changed.<br><br />
14. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
15. Changed: Loading views starts in the saved views folder under the library.<br><br />
16. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
17. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
18. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
19. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
20. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
21. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
22. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
23. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
24. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
25. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
26. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
27. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
28. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
29. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
30. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
31. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138057.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
8. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
9. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
10. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137967.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Updated package dependencies.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137898.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. '''NEW:''' For MC32 the initial run will copy upgrade the library, data, skins and trackinfos from the most recent previous major version of MC.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. '''NEW:''' GTKWebKit added as an internal browser choice.<br><br />
8. Fixed: The background color for window creation was red/blue value swapped.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17649Release Notes MC322024-02-13T17:32:52Z<p>Marko: </p>
<hr />
<div>'''32.0.17 (2/13/2024)'''<br />
<br><br />
1. Fixed: HTML encoded characters (eg. "&quot;") in plain text subtitles are properly replaced by their respective characters.<br><br />
2. Fixed: Removed some dead space to the right of the tabs so middle click works for a bigger area.<br><br />
3. Changed: Showing the playing file always centers the playing file in Playing Now instead of showing a few files above and below.<br><br />
4. Changed: Library/CreateField can update a field if it already exists.<br><br />
5. Fixed: Importing Theater View file info templates with an older version would fail.<br><br />
6. Fixed: Language choices made in DVD menus would get overriden by the default language selected in the MC settings.<br><br />
7. '''NEW:''' Added a "Plain (no border)" cover art drawing mode.<br><br />
8. Changed: Ctrl+T will toggle the zone but not toggle the layout of Playing Now (even though Ctrl is down).<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32_Mac&diff=17648Release Notes MC32 Mac2024-02-11T08:49:33Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138124.0.html 32.0.15 (2/9/2024)]'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
5. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
6. Changed: Spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
7. Changed: Moved the "convert to pre-composed UTF8" into a separate function and allowed it to fix filenames as well as stock string fields.<br><br />
8. Changed: Updated ULTRA trackinfo plugins by ET.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138104.0.html 32.0.13 (2/6/2024)]'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138056.0.html 32.0.12 (2/1/2024)]'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
2. '''NEW:''' Holding the Command key while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
6. Changes: Multiple args for newly implemented program links. If an app is selected use MacOS to call otherwise vfork for command line executables.<br><br />
7. Fixed: Crash on CD insertion.<br><br />
8. Fixed: Crash on tabbing views.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,138038.0.html 32.0.11 (1/30/2024)]'''<br />
<br><br />
1. '''NEW:''' Implemented program links.<br><br />
2. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
3. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
4. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
5. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correctly.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.10 (1/26/2024)]'''<br />
<br><br />
1. Fixed: Crash on exiting Options from the Tree and View page.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.9 (1/26/2024)]'''<br />
<br><br />
1. Fixed: On first install with no library, when auto copying from an older library, the Data/Custom Resources inadvertently contained a trailing \ making it unusable.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137970.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
6 Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
7. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
8. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
9. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
10. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
11. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
12. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
13. Changed: Updated German translation file (thanks Bytestar).<br><br />
14. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
15. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
16. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
17. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
18. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
19. Fixed: Possible fix for unusual event processing crashes. Needs feedback, especially from universal control users.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137895.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
7. Fixed: File Associations being set on first run of a new major version of MC wouldn't work and popup a black box with no information in it.<br><br />
<br><br />
<br><br />
'''32.0.5 (1/17/2024)'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/11/2024)'''<br />
<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed: bda TV might crash on stop when using Transport Stream time-shifting mode.<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
55. '''NEW:''' On initial run, if a previous major version library (like MC31) is found MC32 will automatically find and copy it, the cover art and thumbnails if they exist.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Markohttps://wiki.jriver.com/index.php?title=Release_Notes_MC32&diff=17647Release Notes MC322024-02-10T19:39:33Z<p>Marko: </p>
<hr />
<div>'''[https://yabb.jriver.com/interact/index.php/topic,138129.0.html 32.0.16 (2/9/2024)]'''<br />
<br><br />
1. Changed: The flip state of Playing Now is saved between program restarts.<br><br />
2. Changed: Updated our TIFF library to the latest (makes a crashing TIF somebody sent load).<br><br />
<br><br />
<br><br />
'''32.0.15 (2/8/2024)'''<br />
<br><br />
1. Changed: Made the new confirmation before installing an update an option (Options > General > Advanced > Confirm before installing an update on launch).<br><br />
<br><br />
<br><br />
'''32.0.14 (2/8/2024)'''<br />
<br><br />
1. Fixed: Spotlight images in Theater View file info panel were sometimes not drawing properly.<br><br />
2. Changed: Loading views starts in the saved views folder under the library.<br><br />
3. Changed: The import and export all templates Theater View tools start in the backup folder under the library (or just the library folder if the backup folder doesn't exist).<br><br />
4. Changed: When you launch the program and an updated is pending, it will ask if you want to install the update instead of just doing it (times out and cancels in 30 seconds for headless servers).<br><br />
5. Changed: Added video definition icon to Theater View movie file info template (v2.1 of templates file).<br><br />
6. '''NEW:''' "Migrate Library" wizard to help update the library after swapping Operating System or otherwise moving media files into a different location.<br><br />
7. Changed: spotlight_list() values in file info templates are "hexified" to handle special characters.<br><br />
<br><br />
<br><br />
'''32.0.13 (2/6/2024)'''<br />
<br><br />
1. Changed: When a field is deleted, that column will no longer be loaded.<br><br />
2. Changed: Allow user to specify high version number in Theater View file info template file so that it is never overwritten with defaults.<br><br />
3. Changed: The after playback expression in Options opens an expression editor instead of just being an edit box.<br><br />
4. Changed: An expression editor is shown for the Theater View option for playing now expression.<br><br />
5. Fixed: Closing an empty tab could fail to work in some cases.<br><br />
6. '''NEW:''' Middle-click on the close button will relaunch Media Center.<br><br />
7. Changed: When toggling the list style of Playing Now, the playing file is shown.<br><br />
8. Changed: Track Info uses the list background skin color instead of white when drawing cover art.<br><br />
9. '''NEW:''' Double-click on the player text area goes in and out of mini view.<br><br />
10. Changed: Audio Filename Rule is now simply Filename Rule for handhelds since the rule is used for other media types.<br><br />
11. '''NEW:''' Added a FileExtension expression function.<br><br />
<br><br />
<br><br />
'''32.0.12 (2/1/2024)'''<br />
<br><br />
1. Changed: Use .xml extension for the Theater View file info template backups and put them in "Backup" folder. Remove old Movie file info template.<br><br />
<br><br />
<br><br />
'''32.0.11 (2/1/2024)'''<br />
<br><br />
1. '''NEW:''' Added Options > General > Advanced > Split Playing Now vertically.<br><br />
2. '''NEW:''' Holding CTRL while picking Playing Now opens the view split in the other direction than the setting.<br><br />
3. '''NEW:''' Added a new field "Digital Source Type" for image media type and mapped it to the XMP DigitalSourceType tag. Users can select from a controlled vocabulary list.<br><br />
4. '''NEW:''' Added a new field editing type - PRESET_LIST, which only allows changing field value by selecting from a pre-set list of values. Currently it is used only for "Digital Source Type" field.<br><br />
5. '''NEW:''' Added new default Theater View file info panel template for movies that shows Spotlight data. The current user templates are backed up and overwritten.<br><br />
<br><br />
<br><br />
'''32.0.10 (1/30/2024)'''<br />
<br><br />
1. Fixed: When reading GPS tags from image EXIF segment, Longitude and Latitude were displayed incorrectly, with the degree symbol mangled.<br><br />
2. Changed: When importing settings from another OS, various settings will be migrated or adjusted to ensure MediaCenter functions properly.<br><br />
3. Changed: When writing [Comment] field to EXIF "User Comment" tag, MC will determine the encoding method (Unicode or ASCII) according to the actual text, instead of using Unicode for all, to improve compatibility with other Apps that may not handle Unicode correcctly.<br><br />
<br><br />
<br><br />
'''32.0.9 (1/29/2024)'''<br />
<br><br />
1. Fixed: MC loaded XMP "Source" and "Label" tags into custom "Source" and "Label"fields after it already loaded them into stock "Source (Supply Chain)" and "Image Label" fields. It should now only read these tags into the two stock fields.<br><br />
2. Fixed: When loading a DSP preset, it was not restoring numeric fields properly so they became strings and sometimes didn't work.<br><br />
3. Changed: Updated the Catalan language (thanks Josep).<br><br />
4. Changed: MCWS Playback/PlayByKey honors zone switch.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137984.0.html 32.0.8 (1/25/2024)]'''<br />
<br><br />
1. Fixed: MCWS Browse/Rules wasn't parsing the type properly.<br><br />
2. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
3. Changed: Switched from DLNA to Remote for MCWS Browse/Rules.<br><br />
4. Fixed: The manage library fields dialog could be very small when showing for the first time.<br><br />
5. Fixed: MC could not load EXIF "User Comment" tag written by other apps (e.g. Lightroom) if the image was previously tagged by MC.<br><br />
<br><br />
<br><br />
'''32.0.7 (1/23/2024)'''<br />
<br><br />
1. Changed: The MCWS function Browse/Rules takes an optional type parameter and you can specify "tree" or "DLNA".<br><br />
2. Fixed: View extras playback would always start on file zero instead of the selected file.<br><br />
3. Changed: The MCWS function to show the user interface returns that it's not able to run if a library is currently loading.<br><br />
4. Changed: XMP "Event" tag is mapped to MC's "Album" field. Removed support for custom field "Event".<br><br />
5. Changed: MCC_TREE_SET_EXPANDED with -1 saves and restores again (but Ctrl;G still uses 0 to collapse all).<br><br />
6. Changed: MCC_TREE_SET_EXPANDED with 1 expands the tree roots but not everything (because that was overly slow).<br><br />
7. Changed: Updated German translation file (thanks Bytestar).<br><br />
8. Changed: Added Type to the MCWS Library/Fields so it can report if the field is a user field, saved in the tag, etc.<br><br />
9. Fixed: The "List (loose)" data type did not show in the Manage Library Fields dialog (list fields that don't check acceptable values).<br><br />
10. Changed: MC "Genre" field is mapped to IPTC:ObjectAttributeReference array tags, and to XMP:IntellectualGenre tag.<br><br />
11. Changed: Reversed the change on "Camera" field made in build 5. Now "Camera" will be editable. MC will split the fields into Make and Model when saving to tags.<br><br />
12. Changed: MC will simplify camera make and model strings by removing duplicates and wordy phrases. For example,"NIKON CORPORATION" will become "Nikon" for Make tag, and "NIKON D310" will become "D310" for Model.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137893.0.html 32.0.6 (1/18/2024)]'''<br />
<br><br />
1. Fixed: Theater View playback of "Play All" did not start on the selected file.<br><br />
2. Changed: MC will not only remove XMP, IPTC, MJMD image segments, but also remove the entire EXIF segment when executing "Remove Tags".<br><br />
3. Changed: Removed the Media Library node at the root of Browse/Rules in MCWS.<br><br />
4. Fixed: The new version of the upgrade installer didn't handle remote libraries and libraries in non-standard paths.<br><br />
5. '''NEW:''' Skins and Trackinfos courtesy of English Tiger.<br><br />
6. '''NEW:''' TrackInfo_InsertURL(fieldname) used to load a Hexified version of the named field into a TrackInfo Plugin.<br><br />
<br><br />
<br><br />
'''[https://yabb.jriver.com/interact/index.php/topic,137872.0.html 32.0.5 (1/17/2024)]'''<br />
<br><br />
1. '''NEW:''' Holding shift while pressing right arrow in the tree expands all (like the recently added menu item).<br><br />
2. Fixed: The combobox height could be too tall when editing list fields.<br><br />
3. Changed: Some tuning to the new Browse/Rules function (use full path, named categories, etc.).<br><br />
4. Changed: "Camera" field is made "Clear-only", so users will not be able to change camera Make and Model in EXIF image tags. Also user-defined custom fields "Make" and "Model" will not be supported in EXIF handling.<br><br />
<br><br />
<br><br />
'''32.0.4 (1/16/2024)'''<br />
<br><br />
1. Changed: Removed the Back to Exit function from Theater View introduced in 32.0.1.<br><br />
2. '''NEW:''' Added Browse/Rules to MCWS to return the rules used building the browse tree.<br><br />
3. Changed: MC's "Genre" field is no longer mapped to ITPC/XMP Category tag.<br><br />
4. Fixed: Some navigation issues for Prime Video in Theater View.<br><br />
<br><br />
<br><br />
'''32.0.3 (1/15/2024)'''<br />
<br><br />
1. Fixed: Analyzer could show extreme numbers when playing noise files (for not a number values) but now it simply shows a question mark.<br><br />
2. Changed: In the tag window, list data type fields show the values as a list (instead of list edit type fields) which makes genre, artist, etc. show lists.<br><br />
3. Changed: The MCWS UserInterface/Show now returns success if it doesn't need to change the selection.<br><br />
4. Changed: Back to exit Theater View only exits if a half second has passed since the last back click.<br><br />
5. Fixed: The new track info colors had the red and blue channels reversed.<br><br />
6. Changed: When saving to XMP and ITPC image tags, "Artist" field that contains semi-colon separated list in MC will be saved in multiple "creator" (XMP) and "by-line" (IPTC) tags, instead of a single one.<br><br />
7. Fixed: MC did not read XMP tags "xmp:Label" and "xmp:Rating" from the XMP segment.<br><br />
<br><br />
<br><br />
'''32.0.2 (1/12/2024)'''<br />
<br><br />
1. Changed: Updated the copyrights to 2024.<br><br />
2. Changed: Made a few improvements to the new download library and files tool.<br><br />
3. Fixed: TRACKINFO_INSERT_BACK_COLOR / TRACKINFO_INSERT_TEXT_COLOR were not working.<br><br />
4. '''NEW:''' Added the right-click tree option to expand all the items under a selection (instead of just the selection).<br><br />
5. Fixed: Some XMP image tags that involve alternate language arrays were not saved properly.<br><br />
<br><br />
<br><br />
'''32.0.1 (1/9/2024)'''<br />
<br><br />
1. Fixed: When playing an ATSC channel, the context menu item "Audio Programs -> Use current audio stream as default" did not work for some channels.<br><br />
2. Changed: Improved how ATSC channels' audio streams are saved, to make sure maximum amount of valid data are saved.<br><br />
3. '''NEW:''' Improved the upgrade process to be faster when there are several previous versions.<br><br />
4. Changed: Improved data completeness when showing ATSC television audio streams in the "Audio Programs" context menu.<br><br />
5. Changed: Updated all translations to the latest strings from the code.<br><br />
6. '''NEW:''' Added an advanced option to sort incoming playback files because the order coming from shell extensions could be shuffled (on by default).<br><br />
7. Changed: Added media sub types: Business; Blog; Concert.<br><br />
8. Changed: Made collapsing all the tree items simply always collapse (was saving and loading the expanded items).<br><br />
9. Changed: Updated Greek translation (thanks Panagiotis).<br><br />
10. Changed: Updated the Catalan language (thanks Josep).<br><br />
11. '''NEW:''' Added an Enable ZoneSwitch toolbar button.<br><br />
12. Changed: [TV Channel Number] field is now available for Media Type "Video", in addition to Media Type "TV" (for TV Channels).<br><br />
13. '''NEW:''' If the remote control button "Recorded TV" can not find "Video\Shows" in Theater View, a few additional locations are tried to locate it, including root level "Shows" and "Recorded TV" and "Video\Recorded TV", etc.<br><br />
14. '''NEW:''' Full screen video window will have a Minimize button in addition to the Window Size button and Close button.<br><br />
15. Changed: When adding cover art to a file, if no art is found next to the file it will search known subfolders as well (https://wiki.jriver.com/index.php/View_Extras).<br><br />
16. '''NEW:''' Added "Minimize" to the list of MC commands in remote control setup.<br><br />
17. Changed: Theater View uses 20% larger fonts.<br><br />
18. Changed: Added standard view to the loop of modes shown on F11 / Green Button.<br><br />
19. Changed: Pressing back or escape in Theater View when there's no place farther to go back closes Theater View by simulating F11.<br><br />
20. Fixed: If Theater View was configured to switch to a zone on load, sometimes the load could not finish properly.<br><br />
21. '''NEW:''' Added the ability to download the library and all the media files when connected to a library server.<br><br />
22. '''NEW:''' When recording TV shows, "TV Channel Number" field is filled with appropriate data for all channel types that carry such data (<major channel>-<minor channel> for ATSC, <logical channel number> for other types). For ATSC and DVB, if recording is in WTV format the file is tagged with this data too.<br><br />
23. '''NEW:''' Added a Display View toolbar button.<br><br />
24. '''NEW:''' TV recording in WTV format will save "time recording ended" into the tag "WM/WMRVEndTime".<br><br />
25. Changed: Updated Dutch translation (thanks Maarten).<br><br />
26. Fixed: Genius lyrics lookup was failing on songs with parenthesis in the name.<br><br />
27. '''NEW:''' Added a Reset Search Cache menu item to links to cause the search to be run again after editing a media type, etc.<br><br />
28. Fixed: The image preview icon could not show in mixed lists.<br><br />
29. Changed: The default value of the first parameter of MCWS function Television/GetRecordingScheduleXML will be "168", instead of "-1".<br><br />
30. '''NEW:''' Added "Sorting" roller to Theater View library views to allow sorting using any of the default rules.<br><br />
31. '''NEW:''' Added optional AlternatingColors property for Flush visualization component. It is of the form "N;HexColor1;HexColor2..." where N is the number of seconds between color changes. For example, "10;0x0000FF;0xFF0000;0x00FF00" would alternate between red, green, and blue every 10 seconds.<br><br />
32. Changed: Removed some old code that no longer has any effect for playing a live TV channel on a Library Server client (using a tuner on the server).<br><br />
33. '''NEW:''' Added "Duplicate" to the right-click menu on library views to make a new copy of the view.<br><br />
34. '''NEW:''' Added TRACKINFO_INSERT_BACK_COLOR and TRACKINFO_INSERT_TEXT_COLOR to track info pages so the hex of each color can be loaded.<br><br />
35. Fixed: Improved support for JPEG images with uncommon color encoding.<br><br />
36. Fixed: Starting playback of a grouping of tracks with shuffle on would always start at the same track.<br><br />
37. Fixed (possibly): bda TV might crash on stop (if stopping happened shortly after start up).<br><br />
38. Changed: An empty password is no longer accepted to enter party mode.<br><br />
39. Changed: A 400 error is returned from MCWS when the function name is not found.<br><br />
40. Changed: Slovak translation updated (thanks Peter Lukáč).<br><br />
41. Fixed: Calling MCWS Playback/PlayByFilename with invalid filenames now returns an error.<br><br />
42. Fixed: TV tuner event code was being repeatedly executed unnecessarily when playing DVB TV with Transport Stream Time-shifting.<br><br />
43. '''NEW:''' Implement the DLNA AVTransport command GetCurrentTransportActions dynamically according to play state.<br><br />
44. Fixed: For the DLNA transport state, Always return 1 for the playspeed. Was 0 (when stopped) which appears to be incorrect.<br><br />
45. Fixed: Make precision zone sync feature option determine whether or not it's exposed in the AVTransport XML play command. Fixes non-compliance with the spec.<br><br />
46. Changed: Updated XMP library.<br><br />
47. Changed: Updated GnuTLS and supporting libraries.<br><br />
48. Changed: Updated WebP library.<br><br />
49. Changed: Re-enabled writing of custom field "Event" to XMP metadata in images.<br><br />
50. Fixed: MC wrote an new entry "State/Province" into a jpg image file's MJMD segment each time tags are saved to the image, resulting in multiple entries in the image.<br><br />
51. Changed: Updated libplacebo in JRVR to the latest version.<br><br />
52. Fixed: SRT subtitles with size parameters would render generally too small.<br><br />
53. '''NEW:''' Added support for "pt" and "px" size definitions in inline string <font> parameters.<br><br />
54. Changed: Empty text tokens no longer contribute vertical height when rendering text, resulting in a more consistent vertical spacing.<br><br />
<br><br />
<br><br />
[[Release_Notes|<---Back to version table]]</div>Marko