diff --git a/src/cutselectionController.py b/src/cutselectionController.py index 3671cb4..abf579c 100644 --- a/src/cutselectionController.py +++ b/src/cutselectionController.py @@ -572,7 +572,7 @@ def sceneChangeCallback(self,filename,timestamp,timestampEnd=None,kind='Mark'): elif kind == 'Cut': self.videoManager.registerNewSubclip(filename,timestamp,max(timestamp+0.01,timestampEnd-0.01)) self.updateProgressStatistics() - self.ui.setUiDirtyFlag() + self.ui.setUiDirtyFlag(withLock=True) def askToUseRangeIfSet(self): useRange=False diff --git a/src/cutselectionUi.py b/src/cutselectionUi.py index 0e78b22..e43e5df 100644 --- a/src/cutselectionUi.py +++ b/src/cutselectionUi.py @@ -913,12 +913,12 @@ def getIsPlaybackStarted(self): return self.controller.getIsPlaybackStarted() def update(self,withLock=True): - self.frameTimeLineFrame.updateCanvas(withLock=True) + self.frameTimeLineFrame.updateCanvas(withLock=False) - def setUiDirtyFlag(self): + def setUiDirtyFlag(self,withLock=False): self.frameTimeLineFrame.setUiDirtyFlag() try: - self.frameTimeLineFrame.updateCanvas() + self.frameTimeLineFrame.updateCanvas(withLock=withLock) except Exception as e: print(e) diff --git a/src/timeLineSelectionFrameUI.py b/src/timeLineSelectionFrameUI.py index 04bc1eb..0a71f58 100644 --- a/src/timeLineSelectionFrameUI.py +++ b/src/timeLineSelectionFrameUI.py @@ -14,7 +14,17 @@ import math from contextlib import contextmanager -from contextlib import AbstractContextManager + +class AbstractContextManager: + + def __init__(self): + pass + + def __enter__(self): + pass + + def __exit__(self ,type, value, traceback): + pass @contextmanager @@ -785,7 +795,7 @@ def requestFrames(self,filename,startTime,Endtime,timelineWidth,frameWidth): self.framesRequested=self.controller.requestTimelinePreviewFrames(filename,startTime,Endtime,frameWidth,timelineWidth,self.frameResponseCallback) def updateCanvas(self,withLock=False): - + if withLock: updateLock = acquire_timeout(self.uiUpdateLock,0.1) else: