1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Merge pull request #1945 from OancaAndrei/syncplay-enhanced

SyncPlay for TV series (and Music)
This commit is contained in:
Joshua M. Boniface 2020-12-04 20:22:38 -05:00 committed by GitHub
commit bad0a23650
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 3840 additions and 1122 deletions

View file

@ -30,6 +30,12 @@ import { pageClassOn, serverAddress } from './clientUtils';
import '../libraries/screensavermanager';
import './serverNotifications';
import '../components/playback/playerSelectionMenu';
import SyncPlay from '../components/syncPlay/core';
import { playbackManager } from '../components/playback/playbackmanager';
import SyncPlayToasts from '../components/syncPlay/ui/syncPlayToasts';
import SyncPlayNoActivePlayer from '../components/syncPlay/ui/players/NoActivePlayer';
import SyncPlayHtmlVideoPlayer from '../components/syncPlay/ui/players/HtmlVideoPlayer';
import SyncPlayHtmlAudioPlayer from '../components/syncPlay/ui/players/HtmlAudioPlayer';
// TODO: Move this elsewhere
window.getWindowLocationSearch = function(win) {
@ -114,6 +120,7 @@ function onGlobalizeInit() {
import('../assets/css/librarybrowser.css');
loadPlugins().then(function () {
initSyncPlay();
onAppReady();
});
}
@ -151,6 +158,23 @@ function loadPlugins() {
});
}
function initSyncPlay() {
// Register player wrappers.
SyncPlay.PlayerFactory.setDefaultWrapper(SyncPlayNoActivePlayer);
SyncPlay.PlayerFactory.registerWrapper(SyncPlayHtmlVideoPlayer);
SyncPlay.PlayerFactory.registerWrapper(SyncPlayHtmlAudioPlayer);
// Listen for player changes.
Events.on(playbackManager, 'playerchange', (event, newPlayer, newTarget, oldPlayer) => {
SyncPlay.Manager.onPlayerChange(newPlayer, newTarget, oldPlayer);
});
// Start SyncPlay.
const apiClient = ServerConnections.currentApiClient();
SyncPlay.Manager.init(apiClient);
SyncPlayToasts.init();
}
function onAppReady() {
console.debug('begin onAppReady');