Update app.py
Browse files
app.py
CHANGED
@@ -100,6 +100,7 @@ warmup_state: Dict[str, Any] = {
|
|
100 |
"running": False,
|
101 |
"percent": 0,
|
102 |
"logs": [],
|
|
|
103 |
"done": False,
|
104 |
"current": None,
|
105 |
"total": 0,
|
@@ -910,6 +911,46 @@ HTML_TEMPLATE = r"""
|
|
910 |
<button id="launchSelectedBtn" class="btn">Lancer la préparation</button>
|
911 |
</div>
|
912 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
913 |
|
914 |
|
915 |
// >>> A2B2_BEGIN warmup_dom
|
|
|
100 |
"running": False,
|
101 |
"percent": 0,
|
102 |
"logs": [],
|
103 |
+
"ok_count": 0,
|
104 |
"done": False,
|
105 |
"current": None,
|
106 |
"total": 0,
|
|
|
911 |
<button id="launchSelectedBtn" class="btn">Lancer la préparation</button>
|
912 |
</div>
|
913 |
</div>
|
914 |
+
<!-- >>> A2B2_END warmup_popup -->
|
915 |
+
<div id="toast"></div>
|
916 |
+
<script>
|
917 |
+
const serverVid = "__VID__";
|
918 |
+
const serverMsg = "__MSG__";
|
919 |
+
document.getElementById('msg').textContent = serverMsg;
|
920 |
+
|
921 |
+
// Références DOM globales pour l’éditeur (nécessaires à tout le code en dessous)
|
922 |
+
const statusEl = document.getElementById('status');
|
923 |
+
const player = document.getElementById('player');
|
924 |
+
const srcEl = document.getElementById('vidsrc');
|
925 |
+
const canvas = document.getElementById('editCanvas');
|
926 |
+
const ctx = canvas.getContext('2d');
|
927 |
+
const modeLabel = document.getElementById('modeLabel');
|
928 |
+
const btnEdit = document.getElementById('btnEdit');
|
929 |
+
const btnBack = document.getElementById('btnBack');
|
930 |
+
const btnSave = document.getElementById('btnSave');
|
931 |
+
const btnClear = document.getElementById('btnClear');
|
932 |
+
const posInfo = document.getElementById('posInfo');
|
933 |
+
const goFrame = document.getElementById('goFrame');
|
934 |
+
const palette = document.getElementById('palette');
|
935 |
+
const fileList = document.getElementById('fileList');
|
936 |
+
const tlBox = document.getElementById('timeline');
|
937 |
+
const tlNote = document.getElementById('tlNote');
|
938 |
+
const playerWrap = document.getElementById('playerWrap');
|
939 |
+
const loadingInd = document.getElementById('loading-indicator');
|
940 |
+
const isolerBoucle = document.getElementById('isolerBoucle');
|
941 |
+
const resetFull = document.getElementById('resetFull');
|
942 |
+
const endPortion = document.getElementById('endPortion');
|
943 |
+
const popup = document.getElementById('popup');
|
944 |
+
const popupLogs = document.getElementById('popup-logs');
|
945 |
+
const tlProgressFill = document.getElementById('tl-progress-fill');
|
946 |
+
const popupProgressFill = document.getElementById('popup-progress-fill');
|
947 |
+
const btnFollow = document.getElementById('btnFollow');
|
948 |
+
const btnFilterMasked = document.getElementById('btnFilterMasked');
|
949 |
+
const zoomSlider = document.getElementById('zoomSlider');
|
950 |
+
const maskedCount = document.getElementById('maskedCount');
|
951 |
+
const hud = document.getElementById('hud');
|
952 |
+
const toastWrap = document.getElementById('toast');
|
953 |
+
const gotoInput = document.getElementById('gotoInput');
|
954 |
|
955 |
|
956 |
// >>> A2B2_BEGIN warmup_dom
|