webatem 2.3.1__tar.gz → 2.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {webatem-2.3.1 → webatem-2.3.2}/PKG-INFO +1 -1
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control.html +34 -14
- {webatem-2.3.1 → webatem-2.3.2}/pyproject.toml +1 -1
- {webatem-2.3.1 → webatem-2.3.2}/webatem.egg-info/PKG-INFO +1 -1
- {webatem-2.3.1 → webatem-2.3.2}/LICENSE +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/README.md +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/__init__.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/activity.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/apps.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/control/__init__.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/control/activity.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/control/commands.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/control/consumer.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/control/device_api.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/control/logging.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/control/views.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/discovery.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/hooks.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/hyperdeck/__init__.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/hyperdeck/connection.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/hyperdeck/views.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/ip_upload_lock.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/media_pool/__init__.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/media_pool/broadcast.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/media_pool/still_cache.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/media_pool/views.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/media_pool/watcher.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/migrations/0001_initial.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/migrations/0002_legacy_log.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/migrations/__init__.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/models.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/netutil.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/profile/__init__.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/profile/dialog.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/profile/export.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/profile/views.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/routing.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/sightings.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/apple-touch-icon.png +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/brand.css +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/favicon-32.png +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/favicon.ico +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/Archivo-400-latin-ext.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/Archivo-400-latin.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/Archivo-500-latin-ext.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/Archivo-500-latin.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/Archivo-600-latin-ext.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/Archivo-600-latin.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/Archivo-800-latin-ext.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/Archivo-800-latin.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/IBMPlexMono-500-latin-ext.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/IBMPlexMono-500-latin.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/IBMPlexMono-600-latin-ext.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/IBMPlexMono-600-latin.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/OFL-Archivo.txt +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/OFL-IBMPlexMono.txt +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/icon-192.png +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/icon-512.png +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/icon-maskable-512.png +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/manifest.webmanifest +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/mark.svg +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/tray/linux-24.png +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/tray/mac-22.png +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/tray/mac-44.png +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/tray/win-16.png +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/tray/win-32.png +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/css/atem_connect.css +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/css/atem_control.css +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/icon.png +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/js/atem_connect.js +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/js/atem_control.js +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/js/atem_control_page.js +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/js/atem_discovery.js +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/js/atem_hyperdeck.js +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/js/atem_profile.js +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/js/atem_realtime_slider.js +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/js/custom-scrollbar.js +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/js/recent_label.js +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/js/wa-select.js +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/vendor/README.md +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/vendor/alpine.min.js +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/vendor/alpinejs-collapse-3.14.3.min.js +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/vendor/bootstrap-icons/bootstrap-icons.min.css +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/vendor/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/static/vendor/webatem.css +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/storage.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/tally.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/connect.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_atem_info.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_fade_to_black.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_fairlight.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_header.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_hyperdeck_panel.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_macros.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_media_pool.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_profile_modal.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_settings_dsk.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_settings_transition.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_settings_usk.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_slider.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_transition_controls.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_transition_style.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_usk_fly.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_usk_keyframe.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_usk_mask.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templates/control/_usk_slider.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templatetags/__init__.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/templatetags/static_v.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/uploader.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/atem_control/urls.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/setup.cfg +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/__init__.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/__main__.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/applog.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/asgi.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/context.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/launcher.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/server.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/settings.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/templates/base.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/templates/brand/_mark.svg +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/templates/launcher.html +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/uninstall.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/updates.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/urls.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/views.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem/websocket.py +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem.egg-info/SOURCES.txt +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem.egg-info/dependency_links.txt +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem.egg-info/entry_points.txt +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem.egg-info/requires.txt +0 -0
- {webatem-2.3.1 → webatem-2.3.2}/webatem.egg-info/top_level.txt +0 -0
|
@@ -10,25 +10,45 @@
|
|
|
10
10
|
|
|
11
11
|
{% block content %}
|
|
12
12
|
{% comment %} The switcher went quiet mid-session (#38): the page keeps its last
|
|
13
|
-
state under this scrim and
|
|
14
|
-
is back.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
state under this scrim and notice, inert, until the server says the switcher
|
|
14
|
+
is back. The scrim covers the page's own scroller (the <main> this page sits
|
|
15
|
+
in), not the window: whatever the host puts above it, its navigation, stays
|
|
16
|
+
usable, so the operator can just go to another page. The box is measured, not
|
|
17
|
+
assumed, since hosts differ in what sits above <main>; with no <main> it is the
|
|
18
|
+
window. The notice is centred in it. Both sit outside the wrapper, which goes
|
|
19
|
+
inert, and above every overlay of this page; the scrim dims the page without
|
|
20
|
+
filtering it. :style is an object, never a string: a string would rewrite the
|
|
21
|
+
style attribute and undo x-show. {% endcomment %}
|
|
22
|
+
<div x-data="{
|
|
23
|
+
box: {},
|
|
24
|
+
fit() {
|
|
25
|
+
const m = this.$el.closest('main');
|
|
26
|
+
const r = m ? m.getBoundingClientRect() : { top: 0, left: 0, width: innerWidth, height: innerHeight };
|
|
27
|
+
this.box = { top: r.top + 'px', left: r.left + 'px', width: r.width + 'px', height: r.height + 'px' };
|
|
28
|
+
},
|
|
29
|
+
init() {
|
|
30
|
+
const m = this.$el.closest('main');
|
|
31
|
+
if (m && window.ResizeObserver) new ResizeObserver(() => this.fit()).observe(m);
|
|
32
|
+
this.fit();
|
|
33
|
+
},
|
|
34
|
+
}"
|
|
35
|
+
x-show="$store.atem.switcherAway" x-cloak
|
|
36
|
+
x-effect="$store.atem.switcherAway && fit()"
|
|
37
|
+
@resize.window="fit()"
|
|
38
|
+
:style="box"
|
|
39
|
+
class="fixed z-[400] pointer-events-none flex items-center justify-center px-4"
|
|
18
40
|
role="status" aria-live="polite">
|
|
19
41
|
<div class="absolute inset-0 bg-base-100/50"></div>
|
|
20
42
|
{% comment %} Solid raised surface, strong border: a notice, not a state. No
|
|
21
43
|
alert colour: --in is the link coral, which reads as PROGRAM here. {% endcomment %}
|
|
22
|
-
<div class="relative flex
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
<div class="
|
|
26
|
-
|
|
27
|
-
<div class="text-base-content/60">Controls are paused until it's back.</div>
|
|
28
|
-
</div>
|
|
29
|
-
{% comment %} Its own row on a phone, where it ran off the banner. {% endcomment %}
|
|
30
|
-
<button class="btn btn-sm w-full sm:w-auto shrink-0" @click="$store.atem.disconnect()">Back to connect page</button>
|
|
44
|
+
<div class="relative flex flex-wrap sm:flex-nowrap items-center gap-x-4 gap-y-3 px-5 py-3 w-full sm:w-auto max-w-2xl bg-base-300 text-base-content border border-[color:var(--border-strong)] rounded-[14px] shadow-2xl pointer-events-auto">
|
|
45
|
+
<span class="loading loading-spinner loading-sm text-base-content/60 shrink-0"></span>
|
|
46
|
+
<div class="text-sm leading-snug flex-1 min-w-0">
|
|
47
|
+
<div class="font-semibold">The switcher isn't responding. Reconnecting…</div>
|
|
48
|
+
<div class="text-base-content/60">Controls are paused until it's back.</div>
|
|
31
49
|
</div>
|
|
50
|
+
{% comment %} Its own row on a phone, where it ran off the banner. {% endcomment %}
|
|
51
|
+
<button class="btn btn-sm w-full sm:w-auto shrink-0" @click="$store.atem.disconnect()">Back to connect page</button>
|
|
32
52
|
</div>
|
|
33
53
|
</div>
|
|
34
54
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "webatem"
|
|
7
|
-
version = "2.3.
|
|
7
|
+
version = "2.3.2"
|
|
8
8
|
description = "Browser-based control for Blackmagic ATEM switchers: run it, open the browser, your switchers are there"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/IBMPlexMono-400-latin-ext.woff2
RENAMED
|
File without changes
|
|
File without changes
|
{webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/IBMPlexMono-500-latin-ext.woff2
RENAMED
|
File without changes
|
|
File without changes
|
{webatem-2.3.1 → webatem-2.3.2}/atem_control/static/brand/fonts/IBMPlexMono-600-latin-ext.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{webatem-2.3.1 → webatem-2.3.2}/atem_control/static/vendor/bootstrap-icons/bootstrap-icons.min.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|