# This version of the GUI uses this large dictionary to drive 100% of the creation of the
# layout that collections the parameters for the command line call. It's really simplistic
# at the moment with a tuple containing information about each entry.
# The definition of the GUI. Defines:
# PSG Input Key
# Tuple of items needed to build a line in the layout
# 0 - The command line's parameter
# 1 - The text to display next to input
# 2 - The default value for the input
# 3 - Size of input field (None for default)
# 4 - Tooltip string
# 5 - List of additional elements to include on the same row
input_defintion={
'-FILE-':('--input_file','Input File','',(40,1),'the video file you want modified',[sg.FileBrowse()]),
'-URL-':('--url','URL (not yet working)','',(40,1),'A youtube url to download and process',[]),
'-OUT FILE-':('--output_file','Output File','',(40,1),"the output file. (optional. if not included, it'll just modify the input file name)",[sg.FileSaveAs()]),
'-SILENT THRESHOLD-':('--silent_threshold','Silent Threshold',0.03,None,"the volume amount that frames' audio needs to surpass to be consider \"sounded\". It ranges from 0 (silence) to 1 (max volume)",[]),
'-SOUNDED SPEED-':('--sounded_speed','Sounded Speed',1.00,None,"the speed that sounded (spoken) frames should be played at. Typically 1.",[]),
'-SILENT SPEED-':('--silent_speed','Silent Speed',5.00,None,"the speed that silent frames should be played at. 999999 for jumpcutting.",[]),
'-FRAME MARGIN-':('--frame_margin','Frame Margin',1,None,"some silent frames adjacent to sounded frames are included to provide context. How many frames on either the side of speech should be included? That's this variable.",[]),
'-SAMPLE RATE-':('--sample_rate','Sample Rate',44100,None,"sample rate of the input and output videos",[]),
'-FRAME RATE-':('--frame_rate','Frame Rate',30,None,"frame rate of the input and output videos. optional... I try to find it out myself, but it doesn't always work.",[]),
'-FRAME QUALITY-':('--frame_quality','Frame Quality',3,None,"quality of frames to be extracted from input video. 1 is highest, 31 is lowest, 3 is the default.",[])
}
# the command that will be invoked with the parameters