Commit
·
c188e5c
1
Parent(s):
f04acc3
reseed cmon
Browse files- jam_worker.py +10 -6
jam_worker.py
CHANGED
@@ -38,22 +38,26 @@ class JamWorker(threading.Thread):
|
|
38 |
self.mrt = mrt
|
39 |
self.params = params
|
40 |
self.state = mrt.init_state()
|
41 |
-
|
|
|
|
|
|
|
|
|
42 |
if params.combined_loop is not None:
|
43 |
self._setup_context_from_combined_loop()
|
44 |
-
|
45 |
self.idx = 0
|
46 |
self.outbox: list[JamChunk] = []
|
47 |
self._stop_event = threading.Event()
|
48 |
-
|
49 |
# NEW: Track delivery state
|
50 |
self._last_delivered_index = 0
|
51 |
-
self._max_buffer_ahead = 5
|
52 |
-
|
53 |
# Timing info
|
54 |
self.last_chunk_started_at = None
|
55 |
self.last_chunk_completed_at = None
|
56 |
-
|
57 |
|
58 |
def _setup_context_from_combined_loop(self):
|
59 |
"""Set up MRT context tokens from the combined loop audio"""
|
|
|
38 |
self.mrt = mrt
|
39 |
self.params = params
|
40 |
self.state = mrt.init_state()
|
41 |
+
|
42 |
+
# ✅ init synchronization + placeholders FIRST
|
43 |
+
self._lock = threading.Lock()
|
44 |
+
self._original_context_tokens = None # so hasattr checks are cheap/clear
|
45 |
+
|
46 |
if params.combined_loop is not None:
|
47 |
self._setup_context_from_combined_loop()
|
48 |
+
|
49 |
self.idx = 0
|
50 |
self.outbox: list[JamChunk] = []
|
51 |
self._stop_event = threading.Event()
|
52 |
+
|
53 |
# NEW: Track delivery state
|
54 |
self._last_delivered_index = 0
|
55 |
+
self._max_buffer_ahead = 5
|
56 |
+
|
57 |
# Timing info
|
58 |
self.last_chunk_started_at = None
|
59 |
self.last_chunk_completed_at = None
|
60 |
+
|
61 |
|
62 |
def _setup_context_from_combined_loop(self):
|
63 |
"""Set up MRT context tokens from the combined loop audio"""
|