diff --git a/croppa/main.py b/croppa/main.py index f6e7ecd..a791366 100644 --- a/croppa/main.py +++ b/croppa/main.py @@ -1831,7 +1831,8 @@ class VideoEditor: if len(self.video_files) > 1: print(" N: Next file") print(" n: Previous file") - print(" Enter: Save image") + print(" Enter: Save image (overwrites if '_edited_' in name)") + print(" Shift+Enter: Save image as _edited_edited") print(" Q/ESC: Quit") print() else: @@ -1862,7 +1863,8 @@ class VideoEditor: if len(self.video_files) > 1: print(" N: Next video") print(" n: Previous video") - print(" Enter: Render video") + print(" Enter: Render video (overwrites if '_edited_' in name)") + print(" Shift+Enter: Render video as _edited_edited") print(" X: Cancel render") print(" Q/ESC: Quit") print() @@ -2007,11 +2009,11 @@ class VideoEditor: if len(self.video_files) > 1: self.next_video() elif key == 13: # Enter - output_name = self._get_next_edited_filename(self.video_path) - output_path = str(self.video_path.parent / output_name) - - # If we're overwriting the same file, use a temporary file first - if output_name == self.video_path.name: + # Only overwrite if file already contains "_edited_" in name + if "_edited_" in self.video_path.stem: + output_path = str(self.video_path) + + # If we're overwriting the same file, use a temporary file first import tempfile temp_dir = self.video_path.parent temp_fd, temp_path = tempfile.mkstemp(suffix=self.video_path.suffix, dir=temp_dir) @@ -2045,8 +2047,23 @@ class VideoEditor: if os.path.exists(temp_path): os.remove(temp_path) else: - # Normal case - render to new file - success = self.render_video(output_path) + print("Enter key only overwrites files with '_edited_' in the name. Use Shift+Enter to create new files.") + elif key == ord("\r"): # Shift+Enter (carriage return) + # Create _edited_edited file + directory = self.video_path.parent + base_name = self.video_path.stem + extension = self.video_path.suffix + + # Create _edited_edited filename + if "_edited_" in base_name: + # If already edited, create _edited_edited + new_name = f"{base_name}_edited{extension}" + else: + # If not edited, create _edited_edited + new_name = f"{base_name}_edited_edited{extension}" + + output_path = str(directory / new_name) + success = self.render_video(output_path) elif key == ord("t"): # Marker looping only for videos if not self.is_image_mode: