Skip to content

Commit 0479f6a

Browse files
committed
The precision (digits after decimal point) is now adjusted automatically
1 parent 5ca39bd commit 0479f6a

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

src/windows/export.py

+14-5
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import os
3030
import time
3131
import tempfile
32+
import math
3233

3334
import openshot
3435

@@ -906,19 +907,27 @@ def accept(self):
906907
start_frame_export = video_settings.get("start_frame")
907908
end_frame_export = video_settings.get("end_frame")
908909
last_exported_time = time.time()
910+
old_part = 0.0
911+
new_part = 0.0
912+
afterpoint = 1
909913
# Precision of the progress bar
910914
progress_format = "%4.1f%% "
911915
# Write each frame in the selected range
912916
for frame in range(video_settings.get("start_frame"), video_settings.get("end_frame") + 1):
913917
# Update progress bar (emit signal to main window)
914918
end_time_export = time.time()
915919
if ((frame % progressstep) == 0) or ((end_time_export - last_exported_time) > 1):
916-
if (end_time_export - last_exported_time) > 5:
917-
progress_format = "%4.4f%% "
918-
elif (end_time_export - last_exported_time) > 1:
919-
progress_format = "%4.2f%% "
920+
new_part = (frame - start_frame_export) * 1.0 / (end_frame_export - start_frame_export)
921+
if ((new_part - old_part) > 0.0):
922+
afterpoint = math.ceil( -2.0 - math.log10( new_part - old_part ))
920923
else:
921-
progress_format = "%4.1f%% "
924+
afterpoint = 1
925+
if afterpoint < 1:
926+
afterpoint = 1
927+
if afterpoint > 5:
928+
afterpoint = 5
929+
old_part = new_part
930+
progress_format = "%4." + str(afterpoint) + "f%% "
922931
last_exported_time = time.time()
923932
if ((( frame - start_frame_export ) != 0) & (( end_time_export - start_time_export ) != 0)):
924933
seconds_left = round(( start_time_export - end_time_export )*( frame - end_frame_export )/( frame - start_frame_export ))

src/windows/main_window.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ class MainWindow(QMainWindow, updates.UpdateWatcher):
9595
WaveformReady = pyqtSignal(str, list)
9696
TransformSignal = pyqtSignal(str)
9797
ExportStarted = pyqtSignal(str, int, int)
98-
ExportFrame = pyqtSignal(str, int, int, int,str)
98+
ExportFrame = pyqtSignal(str, int, int, int, str)
9999
ExportEnded = pyqtSignal(str)
100100
MaxSizeChanged = pyqtSignal(object)
101101
InsertKeyframe = pyqtSignal(object)

0 commit comments

Comments
 (0)