app
Adom Video Player
Public Made by Adomby adom
Show any video in a real player: seek, scrub, frame step, chapters. One command, no hand-rolled servers.
← Commit history
package.json+1−1@@ -1,7 +1,7 @@ { "slug": "adom-video-player", "type": "app",- "version": "0.4.0",+ "version": "0.4.1", "title": "Adom Video Player", "brief": "Show any video in a real player: seek, scrub, frame step, chapters. One command, no hand-rolled servers.", "summary": "When an AI shows you a video or audio file, it plays here: a shared server that answers HTTP Range requests, so the timeline seeks, in the same YouTube-style player as the wiki's ::adom-video widget, with YouTube's shortcuts, chapters, captions, frame stepping and auto-reload when the file is re-rendered.",
page.json+1−1@@ -1,7 +1,7 @@ { "slug": "adom-video-player", "type": "app",- "version": "0.4.0",+ "version": "0.4.1", "title": "Adom Video Player", "brief": "Show any video in a real player: seek, scrub, frame step, chapters. One command, no hand-rolled servers.", "summary": "When an AI shows you a video or audio file, it plays here: a shared server that answers HTTP Range requests, so the timeline seeks, in the same YouTube-style player as the wiki's ::adom-video widget, with YouTube's shortcuts, chapters, captions, frame stepping and auto-reload when the file is re-rendered.",
public/player.js+4@@ -170,6 +170,10 @@ if (!player || document.querySelector('dialog[open]')) return; if (/INPUT|TEXTAREA|SELECT/.test(e.target.tagName) || e.target.isContentEditable || e.metaKey || e.altKey) return; const sr = player.shadowRoot;+ // a browser leaves fullscreen on Esc by itself; Hydrogen's webview hands the key to the page instead+ if (e.key === 'Escape' && document.fullscreenElement && !sr.querySelector('.menu.on, .help.on')) {+ document.exitFullscreen().catch(() => {}); e.preventDefault(); e.stopPropagation(); return;+ } if (e.key === 'Escape' && document.body.classList.contains('theater') && !sr.querySelector('.menu.on, .help.on')) { theater(false); e.preventDefault(); e.stopPropagation(); return; }