json copying
debugging overlay
This commit is contained in:
parent
abad55788d
commit
4b3b64bd7e
@ -37,5 +37,6 @@ public class TruthActor
|
||||
/// Gets the list of [start_sec, end_sec] windows during which the actor is on screen.
|
||||
/// </summary>
|
||||
[JsonPropertyName("scenes")]
|
||||
[JsonObjectCreationHandling(JsonObjectCreationHandling.Populate)]
|
||||
public Collection<double[]> Scenes { get; } = new();
|
||||
}
|
||||
|
||||
@ -37,5 +37,6 @@ public class TruthFile
|
||||
/// Gets the list of actors detected in the film, each with their on-screen scene windows.
|
||||
/// </summary>
|
||||
[JsonPropertyName("actors")]
|
||||
[JsonObjectCreationHandling(JsonObjectCreationHandling.Populate)]
|
||||
public Collection<TruthActor> Actors { get; } = new();
|
||||
}
|
||||
|
||||
@ -4,9 +4,23 @@
|
||||
var POLL_INTERVAL_MS = 1000;
|
||||
var overlayEl = null;
|
||||
|
||||
function getItemIdFromHash() {
|
||||
var match = window.location.hash.match(/[?&]id=([0-9a-fA-F-]+)/);
|
||||
return match ? match[1] : null;
|
||||
function getNowPlaying() {
|
||||
if (!window.ApiClient) {
|
||||
return Promise.reject(new Error('no ApiClient'));
|
||||
}
|
||||
|
||||
var url = window.ApiClient.getUrl('Sessions', { DeviceId: window.ApiClient.deviceId() });
|
||||
return window.ApiClient.ajax({ url: url, type: 'GET', dataType: 'json' }).then(function (sessions) {
|
||||
var session = sessions && sessions[0];
|
||||
if (!session || !session.NowPlayingItem || !session.PlayState) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
itemId: session.NowPlayingItem.Id,
|
||||
positionSeconds: (session.PlayState.PositionTicks || 0) / 10000000
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
function removeOverlay() {
|
||||
@ -72,14 +86,14 @@
|
||||
});
|
||||
}
|
||||
|
||||
function onPause(event) {
|
||||
var video = event.target;
|
||||
var itemId = getItemIdFromHash();
|
||||
if (!itemId) {
|
||||
return;
|
||||
}
|
||||
|
||||
fetchContext(itemId, video.currentTime);
|
||||
function onPause() {
|
||||
getNowPlaying().then(function (info) {
|
||||
if (info) {
|
||||
fetchContext(info.itemId, info.positionSeconds);
|
||||
}
|
||||
}, function () {
|
||||
// ApiClient unavailable or request error - fail silently, never break playback.
|
||||
});
|
||||
}
|
||||
|
||||
function onPlay() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user