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"""
|