The TLDR....
Adding tags support to both Web and Desktop UIs.
Adding smart tags. Tags in this category will search the media path and script path for the tag and automatically apply this tag. I use some directories as tags so they will show in the tag filter.
Adding viewed and unviewed tags that automatically apply after a specified percentage has been reached. Skipping the video past this percentage will trigger this. You can undo this in the media item metadata edit screen if you like.
Adding support for stand alone MFS scripts such as videos that only have a vib script. Before the main .funscript was required. This is not the case any more. As long as there is at least one script with the track name setup in the user channels exists with the same name, the script will load it. This will also work via external media player streaming.
Significantly sped up the library loading by moving the metadata processing to a background async process. IMPORTANT: The first time you launch this version this process will run in full. Afterwards, the results will be saved to the metadata. If you change the media's scripts like add an MFS script, you will NEED TO RUN THIS PROCESS AGAIN. As it searches for MFS scripts. This process will also process smart tags and built in tags and other future metadata systems.
Adding specified auto add tag "viewed" percentage setting to the Desktop UI settings. I just remembered I forgot about the Web UI...
Refactored metadata. Ir is now stored by media name without the extension instead of the absolute path. This allows you to move media items while retaining the connected metadata. If you rename the media, file the metadata will be lost. I am still brain storming ideas on how to prevent this. I will probably add an option to store the metadata in the media directory with the media with the same name. This will make it so you can put it any where you want as long as they are the same name. I don't want to force this because I don't want to write to your media directory no pollute it with a bunch of files so it will be opt in.
Adding support for external media in external player mode. If a media item comes in that is not in the selected library the item will be added to the internal media item tracker temporarily and metadata will be saved to the settings. This will allow certain metadata to be processed like funscript offset.
Adding UDP heart beat to close the UDP connection if no device responds to a ping for more persistent servers that stay up all the time.
Adding option to disable the UDP heart beat in cause it causes issues for you.
Fix issue where heresphere change caused the script to be not found and the system resorted to searching the entire media library recursively for a funscript. This made loading funscripts slow causing all sorts of issues.
Refactored the funscript search from external player to be async, allot faster and more maintainable.
Add subtitle support to web player. Only vtt subtitle foirmat is supported for html video streaming. Your vtt file must be the same name as the media and in the same directory. files in the srt format is still downloadable. The desktop UI does not use these files. That will be allot of work sorry. Hopefully Qt6 will support them natively.
Add option to download the subtitle file for external players. IMPORTANT: I could not get any browser on my quest 3 to down load this file. I do not know why. It works on my desktop/mobile browsers.
Add a clean metadata process. This process will go through and chop off orphaned metadata and remove any tags that do not exist in the system anymore. DO NOT RUN THIS UNLESS YOU HAVE ALL OF YOUR MEDIA ITEMS LOADED. If you have media items that are not in the current loaded list the metadata will be deleted. This includes the temp external media noted above.
Adding processing status progress bars to show the current state of certain background process to Web and Desktop UIs.
Fix Web tcode range sliders layout on mobile and other browsers.
Remove the buffer timeout that would skip the media automatically in Web. If the video hands forever you will need to skip manually now.
Fix issue where tcode would be sent when new media is loading in web
Adding version info to Web settings system info tab
Updating build to C++17
Tweaked the random motion a bit. If the last random value is greater than the next random range will be >50 and vice versa. This seems to depend on the speed modifier and the main script speed on how effective this is.
Added thumb cleanup button to web ui
Source: https://github.com/jcfain/XTPlayer and https://github.com/jcfain/XTEngine