1
1
"""
2
- DATAMOSHER PRO Py version 2.2
2
+ DATAMOSHER PRO Py version 2.3
3
3
Author: Akash Bora (Akascape)
4
4
License: MIT | Copyright (c) 2024 Akash Bora
5
5
"""
6
6
7
- currentversion = 2.2
7
+ currentversion = 2.3
8
8
9
9
#Import installed modules
10
10
import tkinter
26
26
27
27
#Import the local datamosh library
28
28
from DatamoshLib .Tomato import tomato
29
- from DatamoshLib .Original import classic , repeat , pymodes
29
+ from DatamoshLib .Original import classic , repeat , pymodes , classic_new
30
30
from DatamoshLib .FFG_effects import basic_modes , external_script
31
31
32
32
# get full base path
@@ -63,7 +63,7 @@ def resource(relative_path):
63
63
64
64
#Effect List
65
65
modelist = sorted (["Bloom" , "Invert" , "Jiggle" , "Overlap" , "Pulse" , "Reverse" ,
66
- "Random" , "Classic" , "Glide" , "Sort" , "Echo" , "Void" ,
66
+ "Random" , "Classic" , "Classic2" , " Glide" , "Sort" , "Echo" , "Void" ,
67
67
"Fluid" , "Stretch" , "Motion Transfer" , "Repeat" , "Shear" , "Delay" , "Sink" ,
68
68
"Mirror" , "Vibrate" , "Slam Zoom" , "Zoom" ,"Invert-Reverse" , "Shift" ,
69
69
"Noise" , "Stop" , "Buffer" , "Slice" , "Shuffle" , "Rise" , "Custom Script" ,
@@ -666,6 +666,11 @@ def dynamic():
666
666
showwidgets = [rangeslider , pdelta ]
667
667
u = 1
668
668
mode_type .configure (text = "Mode Type: FFmpeg" )
669
+
670
+ elif (current == "Classic2" ):
671
+ showwidgets = [rangeslider2 ]
672
+ u = 1
673
+ mode_type .configure (text = "Mode Type: FFmpeg" )
669
674
670
675
elif (current == "Glide" ):
671
676
showwidgets = [pdelta ]
@@ -799,7 +804,7 @@ def do_the_mosh():
799
804
ProcessLabel .configure (text = 'STEP 3/3 FIXING THE CORRUPTED FILE...' )
800
805
ffmpeg_convert (mfile ,param ,sfile )
801
806
os .remove (mfile )
802
- elif ((current == "Classic" ) or (current == "Repeat" ) or (current == "Glide" ) or (current == "Sort" ) or (current == "Echo" )):
807
+ elif ((current == "Classic" ) or (current == "Classic2" ) or ( current == " Repeat" ) or (current == "Glide" ) or (current == "Sort" ) or (current == "Echo" )):
803
808
if not changed :
804
809
param = "-bf 0 -b 10000k" # Default ffmpeg parameter for the above modes
805
810
ifile = sfile [:- 4 ]+ ".avi"
@@ -808,6 +813,8 @@ def do_the_mosh():
808
813
mfile = sfile [:- 4 ]+ "_corrupted.avi"
809
814
if current == "Classic" :
810
815
classic .Datamosh (ifile , mfile ,s = int (start_mosh .get ()),e = int (end_mosh .get ()),p = int (varp .get ()), fps = vid .get_meta_data ()['fps' ])
816
+ elif current == "Classic2" :
817
+ classic_new .Datamosh (ifile , mfile , s = int (start_frame_mosh .get ()), e = int (end_frame_mosh .get ()), fps = vid .get_meta_data ()['fps' ])
811
818
elif current == "Repeat" :
812
819
repeat .Datamosh (ifile , mfile , s = int (start_frame_mosh .get ()), e = int (end_frame_mosh .get ()),
813
820
p = int (varp .get ()), fps = vid .get_meta_data ()['fps' ])
@@ -876,7 +883,7 @@ def do_the_mosh():
876
883
877
884
#Check the result and complete the task
878
885
if os .path .exists (sfile ):
879
- messagebox .showinfo ("Exported!" , "File exported successfully, \n File Location: " + str (sfile ))
886
+ res = messagebox .showinfo ("Exported!" , "File exported successfully, \n File Location: " + str (sfile ))
880
887
ProcessLabel .configure (text = "Last used: " + last_used )
881
888
try : os .startfile (sfile )
882
889
except : pass
0 commit comments