Initial jf commit.

This commit is contained in:
Ian Walton 2021-04-04 02:48:27 -04:00
parent ae73e074b1
commit 678368bdfe
202 changed files with 359 additions and 5424 deletions

View File

@ -1,32 +0,0 @@
<!--
PLEASE REMOVE THIS SECTION
This repository is only for Plex Media Player (PMP). Please do not open issues related to other Plex clients (Roku, Apple TV, etc) or Plex Media Server.
Each filed issue must please:
- include a concise description of the issue and steps to reproduce.
- include a sample media file or media file information when applicable.
- Generating samples: https://support.plex.tv/articles/201035968-generating-sample-files-from-media/.
- Retrieving XML media information: https://support.plex.tv/articles/201998867-investigate-media-information-and-formats/. Please attach within zip.
- be accompanied by _clean_ logs.
- PMP logs can be found here: https://support.plex.tv/articles/207338748-plex-media-player-logs/
- Clean log instructions: Clear your logs; reproduce the issue; attach logs in a .zip file.
PLEASE REMOVE THIS SECTION
-->
### Test environment
**PMS Version:**
**PMP Version:**
**Platform (Windows/macOS/Embedded RPi/Embedded Intel):**
### Steps to reproduce
1.
### Current behavior
1.
### Expected behavior
1.

6
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"files.associations": {
"optional": "cpp",
"system_error": "cpp"
}
}

View File

@ -5,7 +5,7 @@ if (EXISTS "${CMAKE_SOURCE_DIR}/toolchain.cmake")
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/toolchain.cmake")
endif()
project(PlexMediaPlayer CXX C)
project(JellyfinMediaPlayer CXX C)
# we want this to be able to run clang-tidy
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL "" FORCE)
@ -28,11 +28,6 @@ if(BUILD_TARGET STREQUAL "RPI")
Message(STATUS "Build for Raspberry PI target")
endif(BUILD_TARGET STREQUAL "RPI")
option(ENABLE_HELPER "Enable PMP Helper" ON)
if (ENABLE_HELPER)
add_definitions(-DENABLE_HELPER=1)
endif(ENABLE_HELPER)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMakeModules/")
set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME Core)
@ -80,4 +75,4 @@ add_subdirectory(src)
include(CPackConfiguration)
add_custom_target(install_app_bundle COMMAND ${CMAKE_COMMAND} -P cmake_install.cmake DEPENDS PlexMediaPlayer PMPHelper)
add_custom_target(install_app_bundle COMMAND ${CMAKE_COMMAND} -P cmake_install.cmake DEPENDS JellyfinMediaPlayer)

View File

@ -1,6 +1,6 @@
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Plex Media Player")
set(CPACK_PACKAGE_VENDOR "Plex")
set(CPACK_PACKAGE_NAME "Plex Media Player")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Jellyfin Media Player")
set(CPACK_PACKAGE_VENDOR "Jellyfin")
set(CPACK_PACKAGE_NAME "Jellyfin Media Player")
set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_NANO})
@ -13,10 +13,10 @@ elseif(WIN32)
else()
set(CPACK_SYSTEM_NAME linux-${CMAKE_HOST_SYSTEM_PROCESSOR})
endif()
set(CPACK_PACKAGE_FILE_NAME "PlexMediaPlayer-${VERSION_STRING}-${CPACK_SYSTEM_NAME}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "PlexMediaPlayer-${VERSION_STRING}-src")
set(CPACK_PACKAGE_FILE_NAME "JellyfinMediaPlayer-${VERSION_STRING}-${CPACK_SYSTEM_NAME}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "JellyfinMediaPlayer-${VERSION_STRING}-src")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "PlexMediaPlayer")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "JellyfinMediaPlayer")
set(CPACK_STRIP_FILES 1)
@ -32,5 +32,5 @@ else(WIN32)
set(CPACK_PROJECT_CONFIG_FILE ${CMAKE_BINARY_DIR}/CPackGeneratedConfig.cmake)
include(CPack)
cpack_add_component(Core DISPLAY_NAME "Plex Media Player" DESCRIPTION "Plex Media Player (Core Application)" REQUIRED)
cpack_add_component(Core DISPLAY_NAME "Jellyfin Media Player" DESCRIPTION "Jellyfin Media Player (Core Application)" REQUIRED)
endif(WIN32)

View File

@ -21,7 +21,7 @@ execute_process(
)
#set(ENTITLEMENTS --entitlements @SOURCE_ROOT@/bundle/osx/Konvergo.entitlements)
set(CODESIGN codesign ${ENTITLEMENTS} --force --sign "Developer ID Application: Plex Inc.")
#set(CODESIGN codesign ${ENTITLEMENTS} --force --sign "Developer ID Application: Plex Inc.")
macro(sign_binary BIN)
message(STATUS "Signing: ${BIN}")

View File

@ -1,6 +1,6 @@
set(PROJECT_SOURCE_DIR @PROJECT_SOURCE_DIR@)
execute_process(COMMAND @QTROOT@/bin/windeployqt.exe --verbose 9 --qmldir @SOURCE_ROOT@/src/ui ${CMAKE_INSTALL_PREFIX}/PlexMediaPlayer.exe)
execute_process(COMMAND @QTROOT@/bin/windeployqt.exe --verbose 9 --qmldir @SOURCE_ROOT@/src/ui ${CMAKE_INSTALL_PREFIX}/JellyfinMediaPlayer.exe)
# on windows windeployqt doesnt install non qt libraries, let cmake do that
include(BundleUtilities)
@ -13,7 +13,7 @@ endforeach()
get_filename_component(CEC_DIR @CEC_LIBRARY@ DIRECTORY)
list(APPEND SEARCHDIRS ${CEC_DIR})
fixup_bundle("${CMAKE_INSTALL_PREFIX}/PlexMediaPlayer.exe" "" "${SEARCHDIRS}")
fixup_bundle("${CMAKE_INSTALL_PREFIX}/JellyfinMediaPlayer.exe" "" "${SEARCHDIRS}")
#install(PROGRAMS ${VCREDIST_DIR}/vc_redist_2015_x64.exe DESTINATION .)
if(@DO_ENABLE_ANGLE_DEP@)

View File

@ -19,7 +19,7 @@ elseif(OPENELEC)
set(ARCHSTR "linux-openelec-armv7")
endif()
elseif(UNIX)
set(ARCHSTR ${PLEX_BUILD_TARGET})
set(ARCHSTR ${JELLYFIN_BUILD_TARGET})
endif(APPLE)
option(ENABLE_CODECS "Enable downloading for Codecs on Demand" OFF)
@ -97,11 +97,11 @@ function(download_deps DD_NAME)
endif()
if(NOT DEFINED DD_TOKEN)
set(DD_TOKEN plex-dependencies)
set(DD_TOKEN jellyfin-dependencies)
endif()
if(NOT DEFINED DD_BASE_URL)
set(DD_BASE_URL "https://nightlies.plex.tv/directdl/${DD_TOKEN}/${DD_NAME}/${DD_BUILD_NUMBER}")
set(DD_BASE_URL "")
endif()
set(DEP_DIR ${DEPENDENCY_UNTAR_DIR}/${DD_ARCHSTR}-${DD_NAME}/${DD_BUILD_NUMBER})
@ -232,10 +232,10 @@ function(download_dep_file DD_NAME)
endif()
if(NOT DEFINED DD_TOKEN)
set(DD_TOKEN plex-dependencies)
set(DD_TOKEN jellyfin-dependencies)
endif()
set(BASE_URL "https://nightlies.plex.tv/directdl/${DD_TOKEN}/${DD_NAME}/${DD_BUILD_NUMBER}")
set(BASE_URL "")
set(DEP_URL "${BASE_URL}/${DD_FILENAME}")

View File

@ -1,2 +1,2 @@
install (FILES ${CMAKE_SOURCE_DIR}/resources/desktop/plexmediaplayer.desktop DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications)
install (FILES ${CMAKE_SOURCE_DIR}/resources/desktop/jellyfinmediaplayer.desktop DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications)
install (FILES ${CMAKE_SOURCE_DIR}/resources/images/icon.svg DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/icons/hicolor/scalable/apps RENAME plexmediaplayer.svg)

View File

@ -19,7 +19,7 @@ else()
endif()
set(INSTALL_BIN_DIR ${CMAKE_INSTALL_BINDIR})
set(INSTALL_RESOURCE_DIR ${CMAKE_INSTALL_DATADIR}/plexmediaplayer)
set(INSTALL_RESOURCE_DIR ${CMAKE_INSTALL_DATADIR}/jellyfinmediaplayer)
if(NOT OPENELEC)
include(InstallLinuxDesktopFile)

View File

@ -1,16 +1,12 @@
set(HELPER_TARGET PMPHelper)
set(MAIN_TARGET PlexMediaPlayer)
set(MAIN_TARGET JellyfinMediaPlayer)
# Name of the output binary, defaults are only used on Linux
set(HELPER_NAME pmphelper)
set(MAIN_NAME plexmediaplayer)
set(MAIN_NAME jellyfinmediaplayer)
if(APPLE)
set(HELPER_NAME "PMP Helper")
set(MAIN_NAME "Plex Media Player")
set(MAIN_NAME "Jellyfin Media Player")
elseif(WIN32)
set(HELPER_NAME "PMPHelper")
set(MAIN_NAME "PlexMediaPlayer")
set(MAIN_NAME "JellyfinMediaPlayer")
endif(APPLE)
configure_file(src/shared/Names.cpp.in src/shared/Names.cpp @ONLY)

View File

@ -6,16 +6,6 @@ if(WIN32)
endif(WIN32)
if(NOT IS_DIRECTORY ${QTROOT})
download_deps(
"plexmediaplayer-qt"
DIRECTORY dir
DEPHASH_VAR QT_DEPS_HASH
BUILD_NUMBER 206
ARTIFACTNAME konvergo-qt
DYLIB_SCRIPT_PATH ${PROJECT_SOURCE_DIR}/scripts/fix-install-names.py
)
set(QTROOT ${dir})
# Write qt.conf in the Qt depends directory so that the Qt tools can find QML files
set(QTCONFCONTENT "[Paths]
Prefix=${QTROOT}

View File

@ -1,41 +1,11 @@
include(FetchDependencies)
option(WEB_CLIENT_TV_OLD "" OFF)
option(WEB_CLIENT_DISABLE_DESKTOP "" OFF)
# This is the line to edit when you bump the web-client.
set(WEB_CLIENT_BUILD_ID 183-045db5be50e175)
get_content_of_url(
URL "https://artifacts.plex.tv/web-client-pmp/${WEB_CLIENT_BUILD_ID}/buildid.cmake"
CONTENT_VAR BUILDIDS
FILENAME "buildid-${WEB_CLIENT_BUILD_ID}.cmake"
)
if(WEB_CLIENT_TV_OLD)
set(TV_VERSION ${TVOLD_VERSION})
endif()
set(WEB_CLIENT_BUILD_ID jwc-1.7.0)
message(STATUS ${BUILDIDS})
include("${DEPENDENCY_CACHE_DIR}/buildid-${WEB_CLIENT_BUILD_ID}.cmake")
# TODO make this actually work
if(NOT WEB_CLIENT_DISABLE_DESKTOP)
download_deps("web-client-desktop"
BUILD_NUMBER ${WEB_CLIENT_BUILD_ID}
VARIANT ${DESKTOP_VERSION}
NO_HASH_FILE
ARCHSTR "universal"
BASE_URL "https://artifacts.plex.tv/web-client-pmp/${WEB_CLIENT_BUILD_ID}"
DIRECTORY WEB_DESKTOP_DIR
)
endif()
download_deps("web-client-tv"
BUILD_NUMBER ${WEB_CLIENT_BUILD_ID}
VARIANT ${TV_VERSION}
NO_HASH_FILE
ARCHSTR "universal"
BASE_URL "https://artifacts.plex.tv/web-client-pmp/${WEB_CLIENT_BUILD_ID}"
DIRECTORY WEB_TV_DIR
)

View File

@ -133,7 +133,7 @@ endfunction()
add_custom_target(wix_install
COMMAND ${CMAKE_COMMAND} -P cmake_install.cmake
COMMENT "Copying files..."
DEPENDS PMPHelper PlexMediaPlayer)
DEPENDS JellyfinMediaPlayer)
wix_harvest_directory("${CMAKE_INSTALL_PREFIX}" files.wxs CGROUP ProgramFilesComponentGroup DEPENDS wix_install)
@ -149,12 +149,12 @@ else()
set(INSTALLER_ARCH_STR windows-x86)
endif()
wix_create_installer(PlexMediaPlayer-${VERSION_STRING}-${INSTALLER_ARCH_STR}.exe
TARGET PlexMediaPlayerInstaller
wix_create_installer(JellyfinMediaPlayer-${VERSION_STRING}-${INSTALLER_ARCH_STR}.exe
TARGET JellyfinMediaPlayerInstaller
WXS_FILES "${PROJECT_SOURCE_DIR}/bundle/win/Bundle.wxs"
EXTENSIONS WixUtilExtension WixBalExtension
DEPENDS wix_PMP.msi
BASEDIR "${PROJECT_SOURCE_DIR}/bundle/win"
)
add_custom_target(windows_package DEPENDS PlexMediaPlayerInstaller)
add_custom_target(windows_package DEPENDS JellyfinMediaPlayerInstaller)

View File

@ -1,27 +0,0 @@
# Contributing to Plex Media Player
:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
The following is a set of guidelines for contributing to Plex Media Player.
#### 1 - Read the Plex CLA
Before commiting, you will need to read the CLA which can be found in our [wiki](https://github.com/plexinc/plex-media-player/wiki/Contributor-License-Agreement#individual-agreement)
Your commit message should include a sign off to confirm you've accepted the CLA by ending the commit with:
> Plex-CLA-1.0-signed-off-by: Your Name <your.name@email.com>
#### 2 - General Guidelines
There are a few things you should verify before submitting a PR to Plex Media Player.
- Commit messages should be clear and start with the topic being addressed. An example would be: *topic : description*. ie *player : what it fixes* ...
- Take time to write a clear and understandable commit message description. Most of the time the commit title is not enough to describe the patch and why it's required. Think of the fact that Plex Media Player is running on multiple platforms and that there are other context than your.
- Ensure that the patch you're submitting does not break other platforms. For instance if you are making a patch that is specific to MacOS, it shouldn't impact Windows or Linux builds.
- Respect the coding convention currently used, whilst we have no detailed documentation to cover the coding style you can make sure your patch matches the existing conventions.
#### 3 - Merge process
- Once you've submitted the Pull Request to the repo, please be patient. It will be reviewed by multiple members of Plex who will reply with comments.
- Once the change has been verified, it will be merged once all PR comments have been addressed.

View File

@ -1,3 +1,41 @@
# Jellyfin Media Player
Based on (but not affiliated with) [Plex Media Player](https://github.com/plexinc/plex-media-player).
Please see:
- Corresponding web client: [Repo](https://github.com/iwalton3/jellyfin-web-jmp/) [Release](https://github.com/iwalton3/jellyfin-web-jmp/releases/)
- API Docs in client-api.md
This build strips a lot of un-needed things from the player.
## Building at a glance (Linux)
```bash
sudo apt install autoconf automake libtool libharfbuzz-dev libfreetype6-dev libfontconfig1-dev libx11-dev libxrandr-dev libvdpau-dev libva-dev mesa-common-dev libegl1-mesa-dev yasm libasound2-dev libpulse-dev libuchardet-dev zlib1g-dev libfribidi-dev git libgnutls28-dev libgl1-mesa-dev libsdl2-dev cmake wget python g++
mkdir jmp; cd jmp
wget http://download.qt.io/official_releases/qt/5.9/5.9.7/qt-opensource-linux-x64-5.9.7.run
chmod +x qt-opensource-linux-x64-5.9.7.run
sudo ./qt-opensource-linux-x64-5.9.7.run
git clone https://github.com/mpv-player/mpv-build.git
cd mpv-build
echo --enable-libmpv-shared > mpv_options
echo --disable-cplayer >> mpv_options
./rebuild -j4
sudo ./install
sudo ldconfig
cd ~/jmp/
git clone git://github.com/plexinc/plex-media-player
cd plex-media-player
mkdir build
cd build
wget https://github.com/iwalton3/jellyfin-web-jmp/releases/download/jwc-1.7.0/dist.zip
unzip dist.zip
cmake -DCMAKE_BUILD_TYPE=Debug -DQTROOT=/opt/Qt5.9.7/5.9.7/gcc_64/ -DCMAKE_INSTALL_PREFIX=/usr/local/ ..
make -j4
sudo make install
rm -rf ~/jmp/
```
## Building
You need:
@ -9,6 +47,8 @@ You need:
## Building on Mac OS X
I probably broke this...
Configure
If you're happy just building from the command line then run CMake for the ninja build tool:
@ -35,7 +75,7 @@ Or if you prefer working in Xcode, run CMake for the xcode build):
## Building on Linux
Plex Media Player officially requires Qt 5.9.5. Our users have indicated that Qt 5.10 and Qt 5.11 also builds correctly. However, Qt 5.11.0 and 5.11.1 versions are _incompatible_ and should be avoided. Qt 5.12 may work for you. Please consider building PMP within a dedicated VM or Docker container if your system has a Qt version installed newer than 5.9.5. Downgrading a system Qt will cause issues in other applications depending on a newer Qt version.
Jellyfin Media Player officially requires Qt 5.9.5. Our users have indicated that Qt 5.10 and Qt 5.11 also builds correctly. However, Qt 5.11.0 and 5.11.1 versions are _incompatible_ and should be avoided. Qt 5.12 may work for you. Please consider building PMP within a dedicated VM or Docker container if your system has a Qt version installed newer than 5.9.5. Downgrading a system Qt will cause issues in other applications depending on a newer Qt version.
These instructions are for Ubuntu 16.04 LTS and up. They were tested on a fresh install without extra options and with auto-updates applied.
@ -45,8 +85,8 @@ First, some preparations:
libx11-dev libxrandr-dev libvdpau-dev libva-dev mesa-common-dev libegl1-mesa-dev
yasm libasound2-dev libpulse-dev libuchardet-dev zlib1g-dev libfribidi-dev git
libgnutls28-dev libgl1-mesa-dev libsdl2-dev cmake``
* ``mkdir pmp``
* ``cd pmp``
* ``mkdir jmp``
* ``cd jmp``
Systems not based on Debian/Ubuntu will have similar packages, but you'll need to figure out their names yourself.
@ -54,8 +94,6 @@ Systems not based on Debian/Ubuntu will have similar packages, but you'll need t
If your distro provides a Qt 5.9.5 package, try to use it. Otherwise, download a supported Qt version from qt.io.
On Windows and OSX, you can omit the ``-DQTROOT`` argument to use the Qt built by Plex. (Untested whether this works reliably.)
### Building mpv and ffmpeg
While most distros have FFmpeg and mpv packages, they're often outdated. It's recommended to build a current version, or to get them from 3rd party sources (some are listed on https://mpv.io/installation/).
@ -74,26 +112,28 @@ With this, libmpv should have been installed to ``/usr/local/``. It does not con
You can also attempt to skip the installation step, and change the paths in the PMP build step to the build directory, but this is more complicated.
### Building plex-media-player
### Building jellyfin-media-player
Assuming that everything else has installed correctly, building Plex Media Player should now be fairly straightforward:
Assuming that everything else has installed correctly, building Jellyfin Media Player should now be fairly straightforward:
* ``cd ~/pmp/``
* ``git clone git://github.com/plexinc/plex-media-player``
* ``cd plex-media-player``
* ``cd ~/jmp/``
* ``git clone git://github.com/iwalton3/jellyfin-media-player``
* ``cd jellyfin-media-player``
* ``mkdir build``
* ``cd build``
* ``cmake -DCMAKE_BUILD_TYPE=Debug -DQTROOT=/opt/Qt5.9.5/5.9/gcc_64/ -DCMAKE_INSTALL_PREFIX=/usr/local/ ..``
* ``make -j4``
* ``wget https://github.com/iwalton3/jellyfin-web-jmp/releases/download/jwc-1.7.0/dist.zip``
* ``unzip dist.zip``
* ``sudo make install``
You should now be able to start PMP as ``plexmediaplayer`` from the terminal.
You should now be able to start PMP as ``jellyfinmediaplayer`` from the terminal.
If you use your distro's Qt, use `-DQTROOT=/usr` or similar.
Normally, the Ninja generator (via ``-GNinja``) is preferred, but cmake + ninja support appears to be broken on Ubuntu 16.04.
If you want, you can wipe the ``~/pmp/`` directory, as the PMP installation does not depend on it. Only Qt and libmpv are needed.
If you want, you can wipe the ``~/jmp/`` directory, as the PMP installation does not depend on it. Only Qt and libmpv are needed.
Sometimes, PMP's cmake run mysteriously fails. It's possible that https://bugreports.qt.io/browse/QTBUG-54666 is causing this. Try the following:
@ -104,6 +144,6 @@ Sometimes, PMP will pick up SDL 1.x libraries. This is not supported and will le
## License
Plex Media Player is licensed under GPL v2. See the ``LICENSE`` file.
Jellyfin Media Player is licensed under GPL v2. See the ``LICENSE`` file.
Licenses of dependencies are summarized under ``resources/misc/licenses.txt``.
This file can also be printed at runtime when using the ``--licenses`` option.

Binary file not shown.

BIN
bundle/osx/jellyfin.icns Normal file

Binary file not shown.

View File

@ -7,13 +7,13 @@
<Bundle Name="$(var.ProductName)"
Version="$(var.Version)"
Manufacturer="Plex"
Manufacturer="Jellyfin"
UpgradeCode="$(var.ProductUUID)"
HelpUrl="https://www.plex.tv/"
Copyright="Plex"
AboutUrl="https://www.plex.tv/"
HelpUrl="https://jellyfin.org/"
Copyright="Jellyfin"
AboutUrl="https://jellyfin.org/"
Tag="$(var.FullVersion)"
IconSourceFile="Plex.ico"
IconSourceFile="jellyfin.ico"
>
<!-- VersionNT and VersionNT64 will always report 10.0.0.0 on windows 10 no matter what version/build it is -->
<!-- ServicePackLevel means nothing on any windows after windows 7 -->
@ -38,16 +38,16 @@
Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~x86~~6.3.1.14"
Value="CurrentState"
/>
<bal:Condition Message="Plex Media Player can only be installed on Windows 7 or newer.">
<bal:Condition Message="Jellyfin Media Player can only be installed on Windows 7 or newer.">
<![CDATA[VersionNT >= v6.1]]>
</bal:Condition>
<!-- Checking for prerequisites for windows versions where they are required -->
<!-- We need to check for when ServicePackLevel is not defined as well, with (NOT ServicePackLevel) -->
<bal:Condition Message="Plex Media Player on Windows 7 or Windows Server 2008 R2 requires Service Pack 1.">
<bal:Condition Message="Jellyfin Media Player on Windows 7 or Windows Server 2008 R2 requires Service Pack 1.">
<![CDATA[NOT ((VersionNT = v6.1) AND ((NOT ServicePackLevel) OR (ServicePackLevel < 1)))]]>
</bal:Condition>
<!-- Windows 8 and 2012 have no prerequisites -->
<bal:Condition Message="Plex Media Player on Windows 8.1 or Windows Server 2012 R2 requires KB2919355 installed.">
<bal:Condition Message="Jellyfin Media Player on Windows 8.1 or Windows Server 2012 R2 requires KB2919355 installed.">
<![CDATA[NOT ((VersionNT = v6.3) AND (KB2919355_x86 <> 112 AND KB2919355_amd64 <> 112))]]>
</bal:Condition>
@ -68,21 +68,21 @@
ThemeFile="pmstheme.xml"
LocalizationFile="HyperlinkTheme.wxl"
/>
<Payload SourceFile="plex-chevron-85.png" />
<Payload SourceFile="jellyfin-chevron-85.png" />
<Payload SourceFile="progress-bar.png" />
</BootstrapperApplicationRef>
<Variable Name="autolaunch" bal:Overridable="yes" Type="numeric" Value="0" />
<Variable Name="InstallFolder" Type="string" Value="[ProgramFiles64Folder]Plex\Plex Media Player" />
<Variable Name="InstallFolder" Type="string" Value="[ProgramFiles64Folder]Jellyfin\Jellyfin Media Player" />
<!-- Search for InstallFolder in registry and set it to the PreviousInstallFolder -->
<util:RegistrySearch
Id="PreviousInstallFolderSearch" Root='HKCU' Key='Software\Plex, Inc.\Plex Media Player' Value='InstallFolder' Variable='PreviousInstallFolder' />
Id="PreviousInstallFolderSearch" Root='HKCU' Key='Software\Jellyfin\Jellyfin Media Player' Value='InstallFolder' Variable='PreviousInstallFolder' />
<!-- Checks if PreviousInstallFolder exists event if it is defined in the Registry, sets it to InstallFolder if so -->
<util:DirectorySearch
Path='[PreviousInstallFolder]' Variable='InstallFolder' After='PreviousInstallFolderSearch' Condition='PreviousInstallFolder' />
<Variable Name="LaunchTarget" Value="[InstallFolder]\PlexMediaPlayer.exe"/>
<Variable Name="LaunchTarget" Value="[InstallFolder]\JellyfinMediaPlayer.exe"/>
<!-- Is Media Feature Pack present? (This should be enough for detecting if we are running on Windows N or not) -->
<util:FileSearch Variable="FoundMfPlatDll" Path="[SystemFolder]mfplat.dll" Result="exists" />

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Include>
<Property Id="ARPCOMMENTS" Value="Plex Media Player for Windows" />
<Property Id="ARPCONTACT" Value="Plex" />
<Property Id="ARPPRODUCTICON" Value="PlexMediaPlayerIcon" />
<Property Id="ARPURLINFOABOUT" Value="$(var.PlexWebsiteUrl)" />
<Property Id="ARPURLUPDATEINFO" Value="$(var.PlexWebsiteUrl)" />
<Property Id="ARPHELPLINK" Value="$(var.PlexWebsiteUrl)" />
<Property Id="ARPCOMMENTS" Value="Jellyfin Media Player for Windows" />
<Property Id="ARPCONTACT" Value="Jellyfin" />
<Property Id="ARPPRODUCTICON" Value="JellyfinMediaPlayerIcon" />
<Property Id="ARPURLINFOABOUT" Value="$(var.JellyfinWebsiteUrl)" />
<Property Id="ARPURLUPDATEINFO" Value="$(var.JellyfinWebsiteUrl)" />
<Property Id="ARPHELPLINK" Value="$(var.JellyfinWebsiteUrl)" />
<CustomAction Id="SetARPINSTALLLOCATION" Property="ARPINSTALLLOCATION" Value="[INSTALLDIR]" />
<InstallExecuteSequence>
<Custom Action="SetARPINSTALLLOCATION" After="InstallValidate"></Custom>

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Include>
<?define ProductName=Plex Media Player ?>
<?define ProductDesc=Plex Media Player for Windows ?>
<?define ProductUUID=5ff03b00-d0b7-11e5-92e1-8c89a580aa18 ?>
<?define PlexWebsiteUrl=https://plex.tv ?>
<?define ProductName=Jellyfin Media Player ?>
<?define ProductDesc=Jellyfin Media Player for Windows ?>
<?define ProductUUID=abea6faf-13ea-465f-b2bd-a24b5524e98b ?>
<?define JellyfinWebsiteUrl=https://jellyfin.org ?>
<?define LanguageCode=1033 ?>
<?define LaunchCondition_PerUser=Plex Media Player does not allow per-user installations. Setup will now exit ?>
<?define OldWindowsError=Plex Media Player requires at least Windows 7 ?>
<?define NewerVersionError=A newer version of Plex Media Server is already installed ?>
<?define LaunchCondition_PerUser=Jellyfin Media Player does not allow per-user installations. Setup will now exit ?>
<?define OldWindowsError=Jellyfin Media Player requires at least Windows 7 ?>
<?define NewerVersionError=A newer version of Jellyfin Media Server is already installed ?>
</Include>

View File

@ -8,14 +8,14 @@
<?define FirstProductVersion=1.0.0 ?>
<?define PlexMediaPlayerRegistryKey=Software\Plex, Inc.\Plex Media Player?>
<?define JellyfinMediaPlayerRegistryKey=Software\Jellyfin\Jellyfin Media Player?>
<!-- To keep things simple, the installer considers each new release
a major upgrade, in which everything is uninstalled, then reinstalled
To accomplish this, we change the Product Id on every build.
However, the upgrade code remains the same on every build, to ensure
that newer installers recognize older installations -->
<Product Id="*" Name="$(var.ProductName)" Language="1033" Version="$(var.Version)" Manufacturer="Plex" UpgradeCode="$(var.ProductUUID)">
<Product Id="*" Name="$(var.ProductName)" Language="1033" Version="$(var.Version)" Manufacturer="Jellyfin" UpgradeCode="$(var.ProductUUID)">
<!-- Package Ids change on every build, by definition -->
<Package Id="*" Platform="x64" InstallerVersion="405" Compressed="yes" Description="$(var.ProductDesc)" InstallScope="perMachine" />
@ -32,7 +32,7 @@
</Condition>
<!-- Icon used in the control panel -->
<Icon Id="PlexMediaPlayerIcon" SourceFile="Plex.ico" />
<Icon Id="JellyfinMediaPlayerIcon" SourceFile="jellyfin.ico" />
<!-- Useful control panel fields -->
<?include ControlPanel.wxi ?>
@ -53,8 +53,7 @@
</Upgrade>
<!-- Running program termination -->
<util:CloseApplication Id="PlexMediaPlayer" CloseMessage="yes" Target="PlexMediaPlayer.exe" ElevatedCloseMessage="yes" RebootPrompt="yes" />
<util:CloseApplication Id="PMPHelper" CloseMessage="yes" Target="PMPHelper.exe" ElevatedCloseMessage="yes" RebootPrompt="yes" />
<util:CloseApplication Id="JellyfinMediaPlayer" CloseMessage="yes" Target="JellyfinMediaPlayer.exe" ElevatedCloseMessage="yes" RebootPrompt="yes" />
<!-- Custom action to Install MediaFoundation on Windows Server -->
<Property Id="WINDOWSTYPE" Value="Client"/>
@ -62,7 +61,7 @@
<CustomAction Id="EnableMediaFoundation" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="immediate" Return="ignore" Impersonate="no"/>
<Property Id="AUTOLAUNCH" Value="0"/>
<Property Id="WixShellExecTarget" Value="[INSTALLLOCATION]PlexMediaPlayer.exe" />
<Property Id="WixShellExecTarget" Value="[INSTALLLOCATION]JellyfinMediaPlayer.exe" />
<CustomAction Id="LaunchPMP" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" Return="ignore"/>
<InstallExecuteSequence>
@ -86,38 +85,37 @@
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="PlexStartMenuFolder" Name="Plex Media Player"/>
<Directory Id="JellyfinStartMenuFolder" Name="Jellyfin Media Player"/>
</Directory>
</Directory>
<!-- Start Menu shortcut -->
<DirectoryRef Id="PlexStartMenuFolder">
<Component Id="PlexMediaPlayerShortcuts" Guid="*">
<DirectoryRef Id="JellyfinStartMenuFolder">
<Component Id="JellyfinMediaPlayerShortcuts" Guid="*">
<Shortcut Id="PlexMediaPlayerExeShortcut"
Name="Plex Media Player"
Description="Plex Media Player for Windows"
Target="[INSTALLLOCATION]PlexMediaPlayer.exe"
<Shortcut Id="JellyfinMediaPlayerExeShortcut"
Name="Jellyfin Media Player"
Description="Jellyfin Media Player for Windows"
Target="[INSTALLLOCATION]JellyfinMediaPlayer.exe"
WorkingDirectory="INSTALLLOCATION" />
<RegistryKey Root="HKCU" Key="Software\Plex, Inc.\Plex Media Player">
<RegistryKey Root="HKCU" Key="Software\Jellyfin\Jellyfin Media Player">
<RegistryValue Name="InstallFolder" Type="string" Value="[INSTALLLOCATION]" Action="write" KeyPath="no" />
</RegistryKey>
<!-- Firewall Exceptions -->
<!-- These should probably go in their own component, but it's easier just to put them here -->
<fire:FirewallException Id="FWX1" Name="Plex Media Player" Program="[INSTALLLOCATION]PlexMediaPlayer.exe" Scope="any" IgnoreFailure="yes" />
<fire:FirewallException Id="FWX2" Name="Plex Media Player Helper" Program="[INSTALLLOCATION]PMPHelper.exe" Scope="any" IgnoreFailure="yes" />
<fire:FirewallException Id="FWX1" Name="Jellyfin Media Player" Program="[INSTALLLOCATION]JellyfinMediaPlayer.exe" Scope="any" IgnoreFailure="yes" />
<RemoveFolder Id="PlexStartMenuFolder" On="uninstall" />
<RemoveFolder Id="JellyfinStartMenuFolder" On="uninstall" />
</Component>
</DirectoryRef>
<!-- Product Feature -->
<Feature Id="ProductFeature" Title="Plex" Level="1">
<Feature Id="ProductFeature" Title="Jellyfin" Level="1">
<ComponentGroupRef Id="ProgramFilesComponentGroup" />
<ComponentRef Id="PlexMediaPlayerShortcuts" />
<ComponentRef Id="JellyfinMediaPlayerShortcuts" />
</Feature>
</Product>

View File

@ -13,7 +13,7 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI>
<Dialog Id="PlexExitDialog" Width="370" Height="270" Title="!(loc.ExitDialog_Title)">
<Dialog Id="JellyfinExitDialog" Width="370" Height="270" Title="!(loc.ExitDialog_Title)">
<Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="!(loc.WixUIFinish)" />
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUICancel)" />
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.ExitDialogBitmap)" />
@ -33,11 +33,11 @@
</Dialog>
<InstallUISequence>
<Show Dialog="PlexExitDialog" OnExit="success" Overridable="yes" />
<Show Dialog="JellyfinExitDialog" OnExit="success" Overridable="yes" />
</InstallUISequence>
<AdminUISequence>
<Show Dialog="PlexExitDialog" OnExit="success" Overridable="yes" />
<Show Dialog="JellyfinExitDialog" OnExit="success" Overridable="yes" />
</AdminUISequence>
</UI>
</Fragment>

View File

@ -0,0 +1 @@
start "" "JellyfinMediaPlayer.exe" "--disable-gpu"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

View File

@ -1 +0,0 @@
start "" "PlexMediaPlayer.exe" "--disable-gpu"

View File

@ -1 +1 @@
IDI_ICON ICON Plex.ico
IDI_ICON ICON jellyfin.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

BIN
bundle/win/jellyfin.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -9,7 +9,7 @@
<Font Id="5" Height="-24" Weight="500" Foreground="197BCC">Segoe UI</Font>
<Text X="11" Y="26" Width="-11" Height="30" FontId="5" Visible="yes" DisablePrefix="yes" Center="yes">#(loc.Title)</Text>
<Image X="200" Y="75" Width="85" Height="85" ImageFile="plex-chevron-85.png" Visible="yes" />
<Image X="200" Y="75" Width="85" Height="85" ImageFile="jellyfin-chevron-85.png" Visible="yes" />
<Page Name="Help">
<Text X="65" Y="180" Width="-65" Center="yes" Height="30" FontId="2" DisablePrefix="yes">#(loc.HelpHeader)</Text>

176
client-api.md Normal file
View File

@ -0,0 +1,176 @@
To connect to the API:
```html
<script src="qrc:///qtwebchannel/qwebchannel.js"></script>
<script>
new QWebChannel(window.qt.webChannelTransport, function(channel) {
// Called when API is ready
window.channel = channel;
});
</script>
```
The API endpoints will be present on `window.channel.objects`. To call them, include a function in the call to recieve the callback data. (The calls are async.)
To connect to an event, call the `.connect` method on the event and pass a callback. To disconnect the callback, call the `.disconnect` method and pass the same callback.
An example call to play a video URL:
```js
window.channel.objects.player.load("your_video_file", {}, {type: "video", headers: {"User-Agent": "TestPlayer"}, startMilliseconds: 0, frameRate: 0, media: {}}, "", "", function(){window.channel.objects.player.play()});
```
# display
display/DisplayComponent - [header](https://github.com/plexinc/plex-media-player/blob/master/src/display/DisplayComponent.h), [implementation](https://github.com/plexinc/plex-media-player/blob/master/src/display/DisplayComponent.cpp)
## funcs:
- void monitorChange()
- bool initializeDisplayManager()
- bool restorePreviousVideoMode()
- void switchCommand(str command) - uses string command to set display modes
## events:
- refreshRateChanged(float rate)
# input
input/InputComponent - [header](https://github.com/plexinc/plex-media-player/blob/master/src/input/InputComponent.h), [implementation](https://github.com/plexinc/plex-media-player/blob/master/src/input/InputComponent.cpp)
## funcs:
- void executeActions(list[str] actions)
## events:
- receivedInput(str source, str keycode, keystate keystate)
- hostInput(list[str] actions)
## types:
- keystate: enum { KeyDown, KeyUp, KeyPressed }
# player
player/PlayerComponent - [header](https://github.com/plexinc/plex-media-player/blob/master/src/player/PlayerComponent.h), [implementation](https://github.com/plexinc/plex-media-player/blob/master/src/player/PlayerComponent.cpp)
## funcs:
- void setAudioConfiguration()
- void updateAudioDeviceList()
- void updateSubtitleSettings()
- void updateVideoSettings()
- bool load(str url, dict options, dict metadata, str audioStream="", str subtitleStream="")
- options: dict { int startMilliseconds, bool autoplay }
- metadata: dict { bool interlaced, float frameRate, str type }
- type can be "video" or "audio"
- audioStream: "#" + index from mkv, or pass external url
- subtitleStream: "#" + index from mkv, or pass external url
- void queueMedia(str url, dict options, dict metadata, str audioStream, str subtitleStream)
- void clearQueue()
- void seekTo(int ms)
- void stop()
- void streamSwitch()
- void pause()
- void play()
- void setVolume(int volume) - 0-100
- int volume()
- void setMuted(bool muted)
- bool muted()
- list[dict{str name, str description}] getAudioDeviceList()
- void setAudioDevice(str name)
- void setAudioStream(str audioStream)
- void setSubtitleStream(str subtitleStream)
- subtitleStream: "#" + index from mkv, or pass external url
- void setAudioDelay(int ms)
- void setSubtitleDelay(int ms)
- void setVideoOnlyMode(bool enable) - hides webview
- bool checkCodecSupport(str codec) - can check for vc1 and mpeg2video
- list[codecdriver] installedCodecDrivers()
- list[str] installedDecoderCodecs() - returns names of supported codecs (eg h264)
- void userCommand(str command)
- void setVideoRectangle(int x, int y, int w, int h) - use all -1 to revert to default
## events:
- playing()
- buffering(float percent)
- paused()
- finished()
- canceled()
- error(str msg)
- stopped() - deprecated, listen for finished and canceled
- stateChanged(state newState, state oldState)
- videoPlaybackActive(bool active) - true if the video (or music) is actually playing
- windowVisible(bool visible)
- updateDuration(int ms) - duration of the file
- positionUpdate(int ms) - emitted twice a second
- onVideoRecangleChanged()
- onMpvEvents()
## types:
- codecdriver: see src/player/CodecsComponent.h > struct CodecDriver
- state: enum { finished, canceled, error, paused, playing, buffering }
# power
power/PowerComponent - [header](https://github.com/plexinc/plex-media-player/blob/master/src/power/PowerComponent.h), [implementation](https://github.com/plexinc/plex-media-player/blob/master/src/power/PowerComponent.cpp)
## funcs:
- bool checkCap(powercapabilities capability)
- bool canPowerOff()
- bool canReboot()
- bool canSuspend()
- bool canRelaunch() - true for OPENELEC only...
- int getPowerCapabilities() - always returns 0...
- bool PowerOff()
- bool Reboot()
- bool Suspend()
- void setScreensaverEnabled(bool enabled)
## events:
- screenSaverEnabled()
- screenSaverDisabled()
## types:
- powercapabilities - enum { PowerOff = 1, Reboot = 2, Suspend = 4, Relaunch = 8 }
# remote
Plex specific HTTP remote control
remote/RemoteComponent.h - [header](https://github.com/plexinc/plex-media-player/blob/master/src/remote/RemoteComponent.h), [implementation](https://github.com/plexinc/plex-media-player/blob/master/src/remote/RemoteComponent.cpp)
## funcs:
- void commandResponse(dict responseArguments)
- dict resourceInfo()
- void timelineUpdate(int commandID, str timeline) - Plex specific. Used to respond to remote controls.
## events:
- commandReceived(dict info) - Plex specific. Used to get commands from remote controls.
# settings
settings/SettingsComponent - [header](https://github.com/plexinc/plex-media-player/blob/master/src/settings/SettingsComponent.h), [implementation](https://github.com/plexinc/plex-media-player/blob/master/src/settings/SettingsComponent.cpp)
## funcs:
- void cycleSettingCommand(str args)
- void setSettingCommand(str args)
- void setValue(str section, str key, str value)
- void setValues(dict options)
- any value(str section, str key)
- any allValues(str section)
- void removeValue(str sectionOrKey)
- void resetToDefaultAll()
- coid resetToDefault(str sectionId)
- list settingDescriptions()
- str getWebClientUrl(bool desktop)
## events:
- groupUpdate(str section, any description) - Fired when a section's description is updated.
- sectionValueUpdate(str section, dict values) - Sends dictionary of updated mpv key:value pairs.
# system
system/SystemComponent - [header](https://github.com/plexinc/plex-media-player/blob/master/src/system/SystemComponent.h), [implementation](https://github.com/plexinc/plex-media-player/blob/master/src/system/SystemComponent.cpp)
## funcs:
- dict systemInformation()
- void exit()
- void restart()
- void info(str text)
- void setCursorVisibility(bool visible)
- str getUserAgent()
- str debugInformation()
- list[str] networkAddresses()
- int networkPort()
- void userInformation(dict userModel)
- void openExternalUrl(str url) - Opens in external browser.
- void runUserScript(str script) - Starts processes in the datadir + scripts/
- void hello(str version) - called by web client when loading done
- str getCapabilitiesString()
- void crashApp() - Dereferences a null pointer.......
## events:
- capabilitiesChanged(str capabilities)
- userInfoChanged()
- hostMessage(str message)
- settingsMessage(str setting, str value)
- scaleChanged(float scale)
# updater
Plex-specific Update Logic
system/UpdaterComponent - [header](https://github.com/plexinc/plex-media-player/blob/master/src/system/UpdaterComponent.h), [implementation](https://github.com/plexinc/plex-media-player/blob/master/src/system/UpdaterComponent.cpp)
## funcs:
- void disable() - disable the component
- void downloadUpdate(dict info)
- void checkForUpdate()
- void startUpdateDownload(dict info)
- void doUpdate()
## events:
- downloadError(str error)
- downloadComplete(str version)
- downloadProgress(int bytesRecieved, int total)

View File

@ -1,2 +0,0 @@
NEW:
- Inital release of Plex Media Player

View File

@ -1,25 +0,0 @@
NEW:
- New setting to completely disable mouse input
- PageUp / PageDown is now bound to actions that let you advance to the next epsiode in the pre-play screen
- Linux build instructions thanks to Chris Lee
- New Library icons and style
- Xbox Controller support on Windows thanks to Cory Parsons
- InputSDL (controllers) now react on button down instead of button up,
which makes them more responsive thanks to Cory Parsons
FIXES:
- Windows binary rename to x86_64 to reflect reality
- Windows installer now installs to C:\Program Files by default
- Windows installer will warn when trying to install on Windows versions older than windows 7.
- Debug overlay now have safe overscan margins
- Failed to start web server is no longer treated as a fatal error
- Remove misleading channel count from passthrough audio on debug overlay
- Remove channel selection from "Optical" device type (it's limited to stereo or AC3/DTS passthrough)
- Fix freeze with optical audio out
- Disable hardware decoding by default (creates problems on some GPUs)
- Use exclusive audio setting on OSX by default (related to the USB audio problem, if you want multichannel
PCM on any device on OSX, you need to reset settings or enable exclusive mode under advanced).
- Experimental better alt+tab handling on windows.
- Fixed issue where the remote controllers might not find PMP
- Fixed issue with playback on some channels
- Raspberry fixes for 10bit and high h264 level video content

View File

@ -1,27 +0,0 @@
NEW:
- Allow window sizes smaller than 720p
- Audio drop/duplicate display sync mode.
- Support for manual IP addresses of Plex Media Servers
- Adding setting to disable minimize-on-defocus on Windows.
- Added additions to keyboard mapping to better suite MCE remotes.
- Updated web-client to version 2.4.36
- Windows installer is now 64-bit
- Embedded image support for Legacy NVIDIA systems
FIXES:
- Fix redrawing errors on high resolution displays
- Fix crash in DisplayManager when connected to multiple displays on multiple GPUs
- Fix 7.1 audio output on Linux
- Windows installer should now work even if you have OpenSSL installed on your
system
- Refresh rate switching fixes on Windows
- Wrap long lines on the left part of the debug overlay.
- Fix infinite loop in InputSDL [Cory Parsons]
- Properly remove AC3 transcoding filter when it is to be disabled.
- Improve InputCEC to not block the main thread.
- Make CEC handle properly longpress
- Improve CEC ability to recover to connection loss.
KNOWN BUGS:
- Refresh rate auto switching is disabled on the RPI for now due to reliability
problems

View File

@ -1,23 +0,0 @@
NEW:
- Updated Qt to version 5.6.0 beta. This replaces the Alpha version we had before. Many stability and preformance improvements.
- Windows - Added setting to disable native OpenGL. If you are having display problems or crashes on windows, please try our DirectX mode.
- Added a lot of information to the debug overlay vsync-ratio, audio passthrough, OpenGL version, display status etc.
- List IPv6 host addresses on debug overlay.
- Windows - PMP doesn't minimize when it loses focus anymore. We have reverted back to the old behaviour, that means that if you are
in native OpenGL mode you can't alt-tab out of the window. We are going to try to improve this in the future.
- Added support for host command script that can execute a script. Put a script in the scripts datadir and call
host script script.py from the inputmap.
- Updated seek and step keyboard mapping.
- Added a command to switch display modes.
- Added host commands for suspend, reboot and power off.
- Added setting to disable logging.
FIXES:
- DisplayManager don't consider 24 and 25 FPS "close"
- DisplayManager better logging and many small fixes on Windows.
- Make sure that directory LaunchAgents is created before writing to it. Prevents stutters on certain OSX setups.
- Exit Helper after 3 minutes if nothing has reconnected.
- Move local sockets to default path. This fixes a startup error on OSX.
- Remove escaped access tokens from logs too.
- Always enable AC3 transcoding if AC3 and stereo channels are selected.
- Crash fixes

View File

@ -1,22 +0,0 @@
NEW:
- Updated web client to 2.5.1
- Request Multimedia Class Schedule Service on Windows
- Windows installer now calls the vcredist installer automatically.
For 1.0.4 this means that you need to re-run the installer and can not
auto-update on windows.
- Windows version is now built with Visual Studio 2015
- We now default to DirectX/ANGLE on Windows, this will hopefully reduce
the number of issues we see with bad / buggy OpenGL drivers.
FIXES:
- mpv's internal OSD is now switched off, we are replacing this with something
native to PMP in an upcoming version.
- Fixed refresh rate switching on RPI2
- Correctly signal NTSC (23.976hz) refresh rates on RPI2
- Fixed refresh rate switching bugs on Windows (Thanks niko34!)
- Stability fixes to refresh rate switching on OSX
- Always force transcoding if "Optical" device type is selected
- Fix the host:switch command
- Don't switch refresh rate when seeking in transcoding video
- Fix inputs via SDL on OSX
- Fix 7.1 audio setups on OSX

View File

@ -1,18 +0,0 @@
NEW:
- Updated web-client to 2.5.5.
See https://forums.plex.tv/discussion/132141/plex-for-smart-tvs-tivo#latest for details
- Volume control: +/- is now mapped to volume control.
Change your mapping to do increase/decrease_volume
- New Windows installer. We struggled to get the old installer to work fine with
auto-updates. We have now switched to a new framework for generating the installer
and it should work much better with auto-updates. You will need to manually
uninstall and install the latest version to get auto-updates in the future.
FIXES:
- Filter out the use of Num+ in the keymaps.
- Remove old update packages lying around on disk
- Fix crash if we could not init Direct3D
- Playback fixes on RPI2
- The 7.1 OSX fixes described in 1.0.4 was not actually shipped. Now they are.
- Workaround for a crash related to hardware acceleration on OSX.
- Much improved transcoding decisions on RPI2.

View File

@ -1,12 +0,0 @@
NEW:
- Search! There is now global search in PMP. It's early days and doesn't work well with keyboards yet.
- Manual check for new version in Main settings (no need to restart to check for new version).
- Embedded version now based on OpenELEC 6.0.3 which supports newer NUC's and the Raspberry PI3
FIXED:
- The "three dots" indicating buffering could stick around for a very long time. We fixed that.
- MPEG-2 video direct playback is now working correctly
- Switching servers from the dashboard is no longer slow
- A variety of smaller fixes in the web-client
- PMP will now open on the same physcial screen it was on last
- Various resizing issues has been fixed where PMP could be stuck at very small size

View File

@ -1,22 +0,0 @@
NEW:
- Search window now handle keyboard input
- Emulated Roku 3 HTTP Input
- All inputs now handle accelerated auto-repeat
- Support for Plex Home Theater harmony mode
- Clock in both navigation and Player UI
- Cycle zoom options with the Z key
- Support for Power actions on OSX and Windows
- Support for hiding power options by editing the configuration file
- Some keymappings changed, fullscreen is now Ctrl/Cmd+Shift+F since we
we mapped Cmd/Ctrl+F to search
- Toggle for hardware acceleration mode on OS X. If you have older mac mini
hardware you need to select that in the hardware acceleration settings. In
addition the hardware acceleration setting was reset for platforms, so you
will need to re-enable it.
- [Source] PMP now requires a C++14 compatible compiler to build
FIXED:
- Fixed a issue where the video rendering could be held up by activity on the
main thread. Should remove some of the stuttering under certain cirumstances
- Re-center the UI in the window on non 16:9 aspects
- Fixed an issue where the playback could start paused

View File

@ -1,25 +0,0 @@
NEW:
- (Embedded) The embedded distribution is now based on LibreELEC instead of OpenELEC.
Embedded users will have to do a clean install because of this change. AutoUpdate is
disabled.
- (Embedded) Moved to a EFI bootloader - Some BIOS's may need enabling of EFI to find the install media
- (Embedded) Skylake support
- (Embedded) NVIDIA legacy build is deprecated and incorporated into the Generic build
- Improved hardware decoding on Windows and x86 Embedded.
- Qt bumped to version 5.6.1
- There has been some changes how PMP is built on Windows and OSX. We no longer bundle
ffmpeg and mpv with the build system and you need to download and install them yourself.
This only applies to people that build PMP by themself
FIXED:
- There was an issue where the web-client and the playback engine could get out of state
and cause screensaver to show up during movies or not let you press play/pause. This is
now fixed.
- Non US locales could create problems with playback on Linux
- CEC keyhandling is now back to the default (no auto-repeat) beacuse of many incompatiblities.
If you have a CEC device that gives you press and release events you can enable autorepeat
by editing the configuration file.
- PMP should now install correctly on Windows 10N
- PMP can now be built with Qt 5.7
- PMP should no longer prevent sleeping on OSX / Windows
- Screensaver should be smooth again

View File

@ -1,11 +0,0 @@
NEW:
- Qt bumped to version 5.7.0
- Minor graphics performance improvements on Windows.
- (Embedded) core OS upgraded to LE 7.0.2.
- Change how web-client is bundled.
FIXED:
- Fix playback failures with 7.1 AAC audio tracks on Windows.
- (Embedded) fix installation on nVidia legacy hardware.
Affected users should do a clean reinstall.
- (Embedded) screen saver was broken after first playback

View File

@ -1,8 +0,0 @@
FIXED:
- changing aspect ratio during playback could halt playback
- fix volume up with "+" on some keyboards (fix as suggested by wayned42 on the forums)
- playback sometimes did not end (for example playing mp3 music on OSX)
- issues with msmpeg and wmv1 codecs on some platforms
- (OSX) Restore app icon
- (Embedded) Fix multichannel PCM output on RPI
- (Embedded) Update to LibreELEC 7.0.2

View File

@ -1,22 +0,0 @@
NEW:
- Updated web-client to 2.10.0 which includes fixes for Streaming Brain
- Updated LibreELEC to version 7.90.006
- Added always on top setting (thanks to Lukas Pitschl)
- Enabled power options on Embedded x86 (thanks to Jonathan Leroy)
- PMP now selects multi-channel audio over stereo if your system is
configured for more channels than 2 in settings.
- Add audio_delay.25hz setting for tweaking audio delay for 25hz mode
- Add new mode to force 16:9 aspect ratio for 4:3 video
- Audio now does not always force upmixing, e.g. playing stereo even if 7.1 is configured.
To enable this you need to go and reselect the number of channels in audio configuration.
FIXED:
- (Embedded) Linux kernel updated to 4.7.5 for RPi and x86_64
- (Embedded) Samba fixes
- (Embedded) NVIDIA driver update (legacy to 340.98 and regular to 367.44)
- (Embedded) Update to audio drivers
- Fixed respawning helper process
- Fixed a bug where going into fullscreen could end up in a bad loop
- Subtitle selection for vobsubs should now work
- Crash fixes

View File

@ -1,3 +0,0 @@
FIXED:
- (Embedded) Fix video playback crashing on Raspberry PI
- Fix that PMP did not remember the fullscreen state on Windows

View File

@ -1,21 +0,0 @@
NEW:
- Some audio setting defaults were changed for OSX. Exclusive audio mode is disabled by
default, and the "Channels" option is now set to "auto" by default.
This does not affect existing installations, unless you delete or reset your
PMP config file.
- Removed the "Advanced" checkbox in the audio settings. PMP now behaves the same as if
"Advanced" was always enabled in previous versions.
- Added a new "copy-back" hardware decoding setting. Useful only in specific situations.
FIXED:
- Fix screensaver behavior. In particular, the screensaver should now also start before
any videos were played.
- (Embedded) Fix performance regression on RPI
- Subtitle selection for vobsubs with multiple stream should now finally work
- Fix rate display mode auto switching with imprecise media FPS values values like 24.999
(and the same for imprecise display refresh rates)
- Fix subtitle/audio stream selection failure under certain circumstances. Requires at least server
version 1.2.1.
- Fixed remote control compatibility with latest version of Plex for iOS
- Progress when playing back mp3's didn't always update
- (Embedded) Remove the version string in the top left corner

View File

@ -1,8 +0,0 @@
NEW:
- Add a desktop UI mode.
FIXED:
- Fix mp2-in-mkv decoding on Windows
- Fix enabling audio passthrough on new installations
- Fix music playback failures in some corner cases
- Allow automatic GPU switching on OSX

View File

@ -1,22 +0,0 @@
NEW:
- Desktop web-client updated to 2.12.5
- TV web-client updated to 2.10.8-9a2e1fb
- Multimedia keys (play, next, prev) now work in desktop mode
- Changes to mode switching. There is now a new setting called "layout"
which can be set to "tv" or "auto". Auto will behave as 1.2.0 and
switch to TV mode when in fullscreen. Set this to TV to "lock" the
tv layout and not automatically switch to desktop mode. This can
also be set by adding --tv to the command line.
- Added new command line switch to control the scale factor of the UI --scale-factor=X
- New subtitle color added
- Automatic subtitle encoding detection on MacOS and Linux
FIXES:
- (Desktop) Prevent screensaver during video/photo playback
- (Desktop) Respect video quality setting
- Support for HiDPI mode on Linux and Windows. Note that windows
currently only work on integer values. I.e. 1/2/3 not 1.25 or 1.5.
If you want something more granular use the --scale-factor=1.25 command
line switch.
- Various playback related fixes

View File

@ -1,8 +0,0 @@
NEW:
- Desktop web-client updated to 2.12.6
- TV web-client updated to 2.10.8-fd540f9
FIXES:
- (Desktop) Fixed the player fullscreen button in Windows
- (Desktop/TV) Added better companion support for certain devices
- Fixed respect automatically update setting

View File

@ -1,15 +0,0 @@
NEW:
- Desktop web-client updated to 3.0.1
- TV web-client updated to 2.13.1
- Add an experimental setting to force what screen PMP should be shown on in fullscreen
- Add experimental refreshrate.avoid_25hz_30hz and audio_delay.50hz hidden settings
- (Desktop) Media key support
FIXES:
- (Desktop) Mark as watched/unwatched on recently played items
- (Desktop) Added exit fullscreen button for Windows users
- (Desktop) Fixed translations
- (OSX) Improvements to cursor hiding
- (OSX) Fix display mode switching and display mode determination not working (by FrostedMint)
- (Windows) Disable HIDPI scaling to avoid certain problems
- Fixes to autorepeat handling (includes fixing accidental pausing when starting playback)

View File

@ -1,6 +0,0 @@
NEW:
- Updated dependencies
FIXES:
- HLS issue
- Fullscreen in OpenGL mode on Windows 7

View File

@ -1,2 +0,0 @@
FIXES:
- (TV) Interface not using full window size

View File

@ -1,8 +0,0 @@
NEW:
- Desktop web-client updated to 3.5.0
- TV web-client updated to 3.3.0
- Updated QT to 5.8
- Updated Dependencies
FIXES:
- LIRC keyup detection

View File

@ -1,7 +0,0 @@
NEW:
- Desktop web-client updated to 3.6.0
FIXES:
- Reverted QT to 5.7
- Crashing on macOS
- AC3/DTS on RPi

View File

@ -1,6 +0,0 @@
NEW:
- Desktop web-client updated to 3.21.2
- Bumped deps
FIXES:
- Ghosting effect with some files
- (Desktop) Library scanning alerts appearing over video

View File

@ -1,6 +0,0 @@
NEW:
- Desktop web-client updated to 3.26.2
- Bumped deps
FIXES:
- (Desktop) Seeking while transcoding
- (macOS) Fullscreen UI corruption

View File

@ -1,2 +0,0 @@
NEW:
- Desktop web-client updated to 3.29.7

View File

@ -1,5 +0,0 @@
NEW:
- Desktop web-client updated to 3.7.0
FIXES:
- Casting to PMP (Desktop)

View File

@ -1,3 +0,0 @@
FIXES:
- Fix plaxback with optical device type and AC3 enabled
- Fix direct play with some DVR recordings (LATM)

View File

@ -1,2 +0,0 @@
NEW:
- Desktop web-client updated to 3.9.1

View File

@ -1,7 +0,0 @@
NEW:
- Desktop web-client updated to 3.14.1
- Updated dependencies (Windows/macOS)
FIXES:
- Update ANGLE on Windows. This should improve video performance in some cases.
- Errors when opening the player (Desktop)

View File

@ -1,2 +0,0 @@
NEW:
- Desktop web-client updated to 3.20.6

View File

@ -1,2 +0,0 @@
NEW:
- TV web-client updated to 3.13.1

View File

@ -1,2 +0,0 @@
NEW:
- TV web-client updated to 3.13.3

View File

@ -1,2 +0,0 @@
NEW:
- First alpha build of the PMP v2 media type first UI.

View File

@ -1,21 +0,0 @@
NEW:
- UI: Page, modal, and actions metrics events.
FIXES:
- UI: Pressing UP from a hub in the dashboard focuses matching dashboard type button.
- UI: Hide Go To Show action for shows with hidden seasons.
- UI: Show episode stream information on season/episode preplays.
- UI: Episode posters in On Deck and Continue Watching include S# E# title.
- UI: Avoid phantom mouse clicks on dashboard type page header buttons when the buttons are hidden.
- UI: PrePlay pages should scroll back to the top more dependably.
- UI: Pressing Play All or Shuffle from an Artist PrePlay now plays tracks instead of music videos.
- UI: PrePlay pages correctly show trail action button to play the primary extra.
- UI: Libraries in the dashboard header are sorted. Most recently used are first, followed by own servers, followed by shared.
- UI: Focusing page header dashboard type buttons no longer waits before changing the icon color.
- UI: Navigating UP to the dashboard libraries now causes the header and content to slide down faster.
- UI: Navigating UP into the page header no longer focuses Search by default on interior pages.
- UI: Dashboard library list in the page header now shows all libraries to the left of the selected library.
- UI: Dashboard library list always positions the selected library above the dashboard type button.
- UI: Action icons in PrePlay and browse screens were updated.
- UI: Navigation sound feedback restored for v2 screens.
- UI: Filter, sort and type selections correctly restored in browse screens.

View File

@ -1,18 +0,0 @@
NEW:
- UI: Home Video libraries are now listed in a Videos list in the header.
- UI: List and grid browsing improvements:
- Fetch metadata ahead of the currently rendered region.
- Images display immediately, no more waiting until scrolling stops.
FIXED:
- UI: The Play button is consistently focused when initially rendering preplay pages.
- UI: Navigating down to the descendant list (albums, seasons, episodes) in preplay pages no longer centers the list.
- UI: Playing video in mixed photo and video libraries works correctly.
- UI: Screensaver doesn't display during photo playback.
- UI: Display all of an artist's albums.
- UI: Fixed incorrect ordering of items in the header in our legacy pages.
- UI: Extras display above cast list in preplay pages.
- UI: The header fades out when navigating vertically through a library grid view. You can re-enter the header by going up from the first letter jump bar.
- UI: Many small functionality and UX fixes.

View File

@ -1,22 +0,0 @@
NEW:
- UI: Increased minimum supported PMS version to 1.5.1.
- UI: Add keyboard shortcut support for: 'h' for home, 'p' for play, and 'w' to mark an item watched an unwatched.
- UI: Add support for Plex Companion mirroring and media playback.
- UI: Some tweaks to the timing of automatically loading the hubs for the selected library or dashboard type.
- UI: The video player OSD will show momentarily when episodes play back-to-back.
FIXED:
- Correct QT 5.9 signing issue leading to installations and upgrades leading to operating system warnings.
- Restore synthetic key repeat support and adjust repeat interval.
- UI: Users in a Plex Home no longer run into application behavior preventing user switching.
- UI: Include show/season/episode, artist/album information to episode and music track list items in the correct order.
- UI: Reselecting a dashboard type only requests transient hubs when possible. This will improve dashboard loading performance.
- UI: The first letter jump bar in the grid view is correctly positioned.
- UI: Fixed an issue preventing playlist pages from rendering correctly.
- UI: Display better error message when user has no servers. Previously the application would show an unsightly error screen.
- UI: Fix library sorts not being correctly applied in certain situations.
- UI: Overall dashboard refactor to improve error handling and stability.
- UI: Use episode thumbs in list views.
- UI: Avoid truncation of titles in list views.

View File

@ -1,17 +0,0 @@
NEW:
- Re-enabled hidpi support on Windows.
- Removed all host scaling responsibilities. The UI handles scaling now.
- UI: Prioritize selection of non-Personal Cloud servers over Personal Cloud server at startup.
- UI: Add `Media Servers` user header menu item. Opens an overlay displaying status for each server and debugging messages when applicable. Allows manually retrying all server connections.
- UI: Avoid continuous play when playing a single episode.
- UI: Initially focus the header when rendering the Home dashboard.
- UI: Removed season count title for show posters in the library.
- UI: Show only two titles for all items in mixed type hub lists.
FIXED:
- UI: Avoid an application error encountered when navigating between discovery hubs and prePlay screens in certain patterns. This resulted in infinite loading feedback.
- UI: Fixes `play_pause` key not triggering playback. This improves support for keyboard users pressing `p` or Apple TV remote users.
- UI: Focus on the page header when entering an empty library.
- UI: Several minor UX improvements.

View File

@ -1,10 +0,0 @@
NEW:
- UI: Adds a first run experience introducing type first navigation.
FIXED:
- UI: Add small gear icon badge to smart playlist posters.
- UI: Scrolling settings and Plex Home users works again.
- UI: Better scroll positioning of Channel and Search lists.
- UI: Music player in the header shows a progress bar again.

View File

@ -1,3 +0,0 @@
FIXED:
- UI: First run experience should display only on the first run.

View File

@ -1,3 +0,0 @@
FIXED:
- UI: Navigation within the Settings view, at all aspect ratios, correctly navigates to each setting group and option.

View File

@ -1,14 +0,0 @@
NEW:
- UI: Navigating back to library list and grid view restores the last focused position.
- UI: Return to the Home dashboard when using the Home icon or navigate home keyboard shortcut.
- UI: Pressing the play key on playback resume modals will now immediately resume playback
FIXED:
- The application should display without visual artifacts on high DPI screens.
- Videos should no longer render with a red shift.
- UI: The equalizer icon shown when music is playing is back to animating during playback.
- UI: Correct trouble saving settings introduced in the first PMP preview release.
- UI: Fix the background sometimes not being restored after exiting the photo player.
- UI: Change screensaver behavior to reduce load on underlying system.

View File

@ -1,4 +0,0 @@
FIXED:
- The update channel labels have been renamed to align with product lifecycle.
- UI: Sound feedback during navigation has been restored.

View File

@ -1,5 +0,0 @@
FIXED:
- Avoid partially resolving secure PMS host names. An upcoming release will reintroduce secure PMS host name resolution to improve PMS connectivity when offline or on networks which prevents DNS rebinding.
- UI: Pressing on the Home button in the header no longer reloads the application.
- UI: Selecting Go To Artist from a track in the music player no longer navigates to the version 1 view.

View File

@ -1,2 +0,0 @@
NEW:
- Desktop web-client updated to 3.20.6

View File

@ -1,17 +0,0 @@
2018-05-01
NEW:
- Desktop web-client updated to 3.47.1
- Added Privacy Policy and Terms of Service viewing in settings
- Added quick links action buttons for type discovery pages
- Updated translations
FIXED:
- Fixed an issue that would cause back button presses on certain remotes to be registered twice
- Fixed the app not loading if plex.tv is unavailable
- Fixed the version badge not updating after deleting a version
- Fixed missing videos in a photo library failing silently
- Fixed the OSD not hiding when resuming playback after the screensaver was shown
- Fixed high CPU usage during music playback

View File

@ -1,21 +0,0 @@
2018-05-29
NEW:
- Desktop web-client updated to 3.52.2
- Qt updated to 5.9.5
- Updated "(Un)Watched" text to "(Un)Played"
FIXED:
- Restored ability to Watch Later/Recommended items
- Fixed several possible situations where focus could disappear
- Fixed the shuffle for a TV season selecting episodes from outside of that season
- Fixed the focus order on a show preplay page (with extras only) being incorrect
- Make sure quality setting is respected for autoplaying next episode
- Fixed HLS videos in Watch Later not playing in some cases
- Fixed some occurrences of "Repeat All" not repeating single video play queues
- Fixed Live TV type buttons cutoff in list view
- Fixed inconsistent queue behavior when playing season with no unwatched episodes
- Fixed music play queues not correctly restoring on app start
- Fixed an issue that prevented playing content from a Controller while the app is in the PIN entry screen

View File

@ -1,9 +0,0 @@
2018-06-05
NEW:
- TV web-client updated to 3.54.2
FIXED:
- Removed non-functional Channel provider

View File

@ -1,15 +0,0 @@
2018-06-12
NEW:
- Desktop web-client updated to 3.53.6
FIXED:
- Restored ability to delete Watch Later/Recommended items
- Fixed Browse by Folder showing unwatched flags on folders
- Fixed cursor getting lost when navigating up to menu on Live TV Watch Now
- Fixed metadata being displayed behind episode thumbnail in some cases
- Fixed smooth scroll behaviour on some dashboard pages
- Fixed audio & subtitle preference changes not being reflected immediately on the preplay page
- Removed Discover and Watch Now buttons from Live TV Browse All

View File

@ -1,5 +0,0 @@
2018-06-15
NEW:
- Desktop web-client updated to 3.55.3

View File

@ -1,12 +0,0 @@
2018-06-26
NEW:
- Desktop web-client updated to 3.57.1
FIXED:
- Fixed focus disappearing after selecting a different news clip from the play queue
- Fixed missing jump bars when viewing Artists and Albums from Quick Links
- Don't show 'Browse by Folder' option when not applicable
- Fixed missing shuffle button from Collections PrePlay

View File

@ -1,9 +0,0 @@
2018-07-10
FIXED:
- Fixed error showing when recording is post processing
- Fixed troubles selecting embedded subtitle streams in videos without audio streams
- Fixed grid view programs getting duplicated when refreshing EPG with grid view open

View File

@ -1,14 +0,0 @@
2018-07-24
NEW:
- Desktop web-client updated to 3.61.1
- Added soft subtitles with direct play (requires PMS 1.13.4 or above)
FIXED:
- Added missing unwatched triangles to Watch Later/Recommended
- Fixed sometimes only the background showing when going back to the pre-play page
- Fixed items in On Right Now starting playback immediately after going to Watch Now
- Fixed icon for server and source lists
- Fixed an issue where pressing left or right while video is paused causes you to go to previous/next video instead of seeking

View File

@ -1,19 +0,0 @@
2018-08-07
NEW:
- Desktop web-client updated to 3.63.1
- Add Chapter Selection to video playback
- Updated app settings to match new UI
FIXED:
- Fixed subtitles being burned unnecessarily when transcoding
- Fixed skipping instead of seeking with remote
- Fixed cut off text on preplay pages with long synopses
- Fixed photo thumbnails not showing a background when scrolling
- Fixed an issue that could cause selected settings sections to reset when changing selected options
- Fixed formatting of no recordings page on some devices
- Fixed long translations getting cut off in the user menu
- Fixed source list order changes not saving in some rare circumstances
- Improved Audio Passthrough settings labels

View File

@ -1,20 +0,0 @@
2018-08-21
NEW:
- Desktop web-client updated to 3.65.1
- Added menu in settings to reorder and show/hide media types
- Added AdChoices link to Privacy settings
- Automatically sort dashboard buttons based on which types the user has access to
FIXED:
- Fixed an issue that could cause the UI to become unresponsive when browsing News settings
- Fixed album preplay sometimes wrapping titles off screen
- Fixed video direct play setting incorrectly affecting music playback
- Fixed Cloud Sync server library names not showing up in source modal
- Fixed lost focus when opening User Menu while offline
- Fixed inconsistency with Mark as Played string naming
- Removed errant app settings section
- Fixed an issue that could cause dashboard pages to fail to load while the app is offline
- Fixed update check in settings

View File

@ -1,16 +0,0 @@
2018-09-04
NEW:
- Desktop web-client updated to 3.67.1
- Automatically refresh the dashboard when playback ends
FIXED:
- Fixed pressing play on post play next item leaving OSD open
- Fixed indirect connection being chosen prematurely in some cases
- Fixed inability to change audio stream when being controlled as companion player
- Fixed being unable to remove manual server settings
- Fixed alignment of checkboxes for Live TV advanced recording settings
- Fixed timed lyrics not scrolling as track progresses
- Fixed pathological resume behavior in edge cases, #736

View File

@ -1,21 +0,0 @@
2018-09-18
NEW:
- Added chapter titles to the chapter selection
- Added the ability to focus the progress bar and move the playhead to seek more accurately
- Added preview thumbnails while seeking (when available)
- Adjusted rewind and fast-foward behavior to move the playhead automatically at 1x, 2x or 3x speed
- Added new music mini player
- Added new user button design in the application header
- Added split fullscreen and layout switching controls
FIXED:
- Fixed shuffle commands received from companion apps not being recognized
- Fixed dashboard hubs sometimes failing to load when switching between Home users
- Fixed advancing to the same item as the one currently playing putting the player in a broken state
- Fixed focus not being restored when returning to playlists list page
- Fixed missing placeholder for chapter selection preview thumbnails
- Fixed broken focus behaviour when pressing right twice quickly on settings
- Fixed missing 'Collections' and 'Albums' links from dashboards

View File

@ -1,5 +0,0 @@
2018-09-20
FIXED:
- Fixed an issue connecting to Plex Cloud servers

View File

@ -1,46 +0,0 @@
2017-12-14
NEW:
- Desktop web-client updated to 3.29.7
- Resolve plex.direct domains internally. Enabled playback from secure servers when PMP is not connected to the Internet.
- Initial support for Bluetooth and Touch Bar controls on macOS.
- Enable refreshrate.avoid_25hz_30hz by default.
- UI: Entirely new video, music, and photo player user interfaces!
- UI: Audio and subtitle stream selection on preplay screens.
- UI: Add support for TV show theme music (`Settings > Main > Play Theme Music`).
- UI: Summary text boxes show the entire summary text when selected.
- UI: Lyrics are manually scrollable.
- UI: Respect account privacy settings instead of using client-specific opt-out.
- UI: Poster and list items titles will automatically scroll when they are too long to display in their entirety.
- UI: Pressing play, enter or clicking either poster in post play modal will start playback of the associated item.
- UI: Add companion support for shuffle and repeat during audio playback.
- UI: Add support for native audio track switching.
- UI: Show insecure connection fallback options when primary server is unreachable but insecure connections are a possibility.
- UI: Better error handling on media errors.
- UI: Updated exit confirmation modal UX.
FIXED:
- Ignore OS notifications when files are dropped onto the PMP window during drag and drop actions.
- Work around Windows' media-key handling which sends multiple input notifications for Play/Pause and Next key presses.
- Speculative fix for user reported trouble pressing Up and Down on silver Apple IR remotes when using a Mac Mini running High Sierra.
- Avoid corruption issues when GL context sharing between Qt and WebEngine fails. 5K macs (the previous corruption issue) still work, thanks to our Qt patches.
- UI: Improved first-run experience to highlight the necessary actions to complete the required steps. Make it harder for users to become trapped in a partially complete state.
- UI: Mark partially watched items as watched when toggling watched status.
- UI: Improved Plex Companion controller remote control integration.
- UI: Display album art in music playlists.
- UI: Fixed an issue with the app crashing when attempting to exit via shortcut.
- UI: Fixed rare issue with some clients not showing up as Companion players on certain devices.
- UI: 'Go to Show|Artist' buttons navigate to the proper screen now.
- UI: Fixed issue that could have prevented the app from starting when offline.
- UI: Fixed error when selecting item version for deletion.
- UI: Fixed missing version title in deletion confirmation modal.
- UI: Video direct play/stream options no longer affect audio playback.
- UI: Show videos in mixed video/photo playback and resize when panel/info open.
- UI: App no longer occasionally gets stuck in loading state after switching users.
- UI: Page background does not change when browsing photo albums.
- UI: Fixed the background of the items in the user switcher screen so they're no longer tiled.
- UI: Fixed tracks count on Album Preplay pages.
- UI: Fixed volume resetting when PMP is restarted and volume was muted.
- UI: Fixed preplay/library item details getting stuck in a loading state after switching users.

View File

@ -1,5 +0,0 @@
2017-12-15
FIXED:
- (macOS, pre-10.12) Fixed crash on launch

View File

@ -1,27 +0,0 @@
2018-10-02
NEW:
- Desktop web-client updated to 3.71.1
- Improved stream titles (requires PMS 1.13.8 or higher)
FIXED:
- Block app key shortcuts when entering subtitles search title
- Sped up initial loading dashboard
- Fixed blinking thumbnails when moving between items in photo player
- Fixed missing empty dashboard message for managed/shared users with restrictions
- Fixed background being lost when navigating away from news player
- Fixed some edge cases around deleting media that could cause the app to become unresponsive
- Fixed Chapter Selection focus box not showing sometimes
- Fixed occasional unexpected focused element in app settings modal after closing via pointer click
- Fixed some navigation bugs in home screen media types settings
- Fixed settings changes not being immediately visible in the UI
- Fixed pressing seek buttons during music playback making it impossible to bring up player controls afterwards
- Fixed subtitles search modal title button width changing when focused
- Fixed news ads playback putting the app in a broken state
- Fixed progress bar being focusable during ads playback
- Fixed news tags and news feed being visible during ads playback
- Fixed news feed being slightly cut off at the bottom
- Fixed issue preventing companion commands
- Fixed display issues with long stream titles on preplay pages

View File

@ -1,5 +0,0 @@
2018-10-10
FIXED:
- Fixed settings failing to open in some circumstances

View File

@ -1,15 +0,0 @@
2018-10-30
NEW:
- Improvements to subtitles search results titles
- Added new music player UI for podcasts
- Added Related Episodes hub underneath the Podcasts player
- Watch Later and Recommended support has been removed. Please see: https://www.plex.tv/blog/subtitles-and-sunsets-big-improvements-little-housekeeping/
FIXED:
- Fixed occasional loss of focus on library page when applying "unplayed" filter
- Fixed settings failing to open in some circumstances
- Fixed zip code not disappearing in News settings after selecting a country that doesn't have zip codes
- Fixed selecting a play queue item occasionally not starting playback

View File

@ -1,16 +0,0 @@
2018-11-06
NEW:
- Desktop web-client updated to 3.73.2
- Added recording progress to recording schedule
- Subtitles search modal UI changes
FIXED:
- Fixed player control state when playback starts or pauses without application control
- Fixed case where focus was lost when navigating back after changing list styles
- Fixed play queue starting playback automatically when app is reopened
- Fixed non-functional action buttons on preplay pages in some circumstances
- Fixed case where focus could be lost when navigating into the dashboard types header
- Fixed unavailable indicator on preplay pages when media item file is unavailable

View File

@ -1,9 +0,0 @@
2018-11-14
NEW:
- Reverted Desktop web-client updated to 3.73.2
FIXED:
- Fixed play queue starting playback automatically when app is unlocked

View File

@ -1,12 +0,0 @@
2018-11-29
NEW:
- Desktop web-client updated to 3.77.2
- Updated look of playlist/collection posters
FIXED:
- Managed users can no longer change the `Automatically Sign In` setting
- Improved image upscale quality for episode posters
- Fixed sorting/filtering being reset when deleting item

View File

@ -1,10 +0,0 @@
2018-12-11
FIXED:
- Fixed an issue where signing out or switching users could cause the app to freeze
- Fixed an issue where the app could crash when loading a type view
- Fixed an issue where focus would be lost after removing the last item from a list
- Fixed as issue where enabling recording all episodes for certain shows could return in nothing getting added to the priority list
- Fixed an issue that could cause a blank screen to appear after playback
- Fixed loss of focus on episode preplay in some cases

View File

@ -1,13 +0,0 @@
2019-01-02
NEW:
- Desktop web-client updated to 3.77.4
- Added extended artist biography on artist preplay
FIXED:
- Fixed podcast/web show episodes being marked as played as soon as playback is initiated
- Fixed app settings sometimes wrongly showing an item as selected
- Fixed media provider hubs occasionaly not loading
- Fixed an issue where the application could show a blank screen when all servers are unavailable

View File

@ -1,14 +0,0 @@
2019-01-15
NEW:
- Added actions menu to Web Shows and Podcasts show preplay pages
- Added Chapter Selection title to chapter selection menu
- Don't show 'More...' botton when there is only one more item
FIXED:
- Fixed possible error on user switcher screen
- Fixed chapter selection sometimes losing focus at the end of the list
- Fixed Live TV restarting from another position when enabling or disabling Closed Captioning
- Fixed some issues with video transcoding when it can direct stream

Some files were not shown because too many files have changed in this diff Show More