Video Editor Clean up I am making a video editor with tkinter, and seriously need to clean it up and make it nicer to read / more efficient. Can anybody help me clean up my code (I was sent here from stackoverflow)
Here it is: https://github.com/MiniMinnoww/moviepy-video-editor
The parts I kinda need to figure out are:

Buttons and popup windows. I need 2 functions to run 1 video editor function. For example, if I want to add text, I have to call a function to make a popup window for the details of the text, then call another function when the button is pressed to actually edit the video clip.

Here is what I tried to do (in simple terms):
def addText(self, x=0):
    if x == 0:
        button = Button(root, command=functools.partial(self.addText, 1))
    else:
        # run other stuff for function

Here you can see I am re-executing the function using an argument. Although this is effective, it is messy and I was wondering whether there's a better way to do this?
Deferring command execution with a simple lambda
It is very similar to what you did, but no need to bring in heavier artillery like functools.partial, especially because you have no idea who is going to read your code and they may not understand it :(
I'd go with
def addText(self, x=0):
    if x == 0:
        button = Button(root, command=lambda: self.addText(1))
    else:
        # run other stuff for function


If this still annoys you because of the recursive call, then consider:
def auxiliaryStuff(self, x):
    # run other stuff for function

def addText(self, x=0):
    if x == 0:
        button = Button(root, command=lambda: self.auxiliaryStuff(1))
    else:
        self.auxiliaryStuff(x)

I'm assuming x can take values other than 1 or 0 from other places in your code. If they are always either 1 or 0 and they just represent a flag, consider using True and False instead.