summaryrefslogtreecommitdiff
path: root/lazycachelist.py
diff options
context:
space:
mode:
Diffstat (limited to 'lazycachelist.py')
-rw-r--r--lazycachelist.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/lazycachelist.py b/lazycachelist.py
index 99212ab..b4d003a 100644
--- a/lazycachelist.py
+++ b/lazycachelist.py
@@ -39,13 +39,12 @@ class CallbackStateData:
class LazyCachingTextureList():
def __init__(self, album_ids, max_cache_items=100, change_callback=None):
self.immich_connector = PixMan().immich_connector
+ self.void = False
assert max_cache_items >= 20, "Minimum cache items is 20" # Double small radius
# Ring buffer
- self.cache_length = max_cache_items
- self.cache = [None] * max_cache_items
+ self.max_cache_items = max_cache_items
self.radius_small = 10
- self.radius_large = int(max_cache_items / 2)
self.cache_items_behind = 0
self.cache_items_ahead = 0
self.cache_index = 0
@@ -62,6 +61,19 @@ class LazyCachingTextureList():
self.change_callback = change_callback
+ @property
+ def max_cache_items(self):
+ return self.cache_length
+
+ @max_cache_items.setter
+ def max_cache_items(self, max_cache_items):
+ self.cache_length = max_cache_items
+ self.cache = [None] * max_cache_items
+ self.radius_large = int(max_cache_items / 2)
+
+ def free(self):
+ self.void = True
+
def index_in_cache_range(self, index):
index_range_low = (self.asset_index - self.cache_items_behind) % self.asset_count
index_range_high = (self.asset_index + self.cache_items_ahead ) % self.asset_count