update this code with this section: def process_captions(video_path: str, iteration: int, total_iterations: int) -> bool:
    try:
        base_dir = r"C:\Users\buggy\Desktop\FullyAutomatedRedditVideoMakerBot-main"
        current_dir = os.getcwd()  # Get current working directory
        
        print_substep(f"Current directory: {current_dir}")
        print_substep(f"Processing video: {video_path}")
        
        font_path = os.path.join(base_dir, "fonts", "Rubik-Black.ttf")
        print_substep(f"Using font: {font_path}")
        
        # Create full command with explicit paths
        caption_script = os.path.join(base_dir, "captionGen.py")
        python_exe = sys.executable
        
        cmd = [
            python_exe,
            caption_script,
            video_path,
            "--font",
            font_path
        ]
        
        print_substep(f"Running command: {' '.join(cmd)}")
        
        # Run command with real-time output
        process = subprocess.Popen(
            cmd,
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            universal_newlines=True,
            bufsize=1
        )
        
        # Print output in real-time
        while True:
            line = process.stdout.readline()
            if not line and process.poll() is not None:
                break
            print_substep(line.strip())
            
        # Check for any errors
        stderr = process.stderr.read()
        if stderr:
            print_substep(f"Errors: {stderr}")
            
        if process.returncode == 0:
            print_substep("Caption generation completed successfully")
            return True
        else:
            print_substep(f"Caption generation failed with return code: {process.returncode}")
            return False

    except Exception as e:
        print_substep(f"Error in caption generation: {str(e)}")
        return False, heres the code to update, #!/usr/bin/env python
import math
import sys
import re
import os
import subprocess
from os import name
from pathlib import Path
from subprocess import Popen
from typing import NoReturn
from prawcore import ResponseException
from reddit.subreddit import get_subreddit_threads
from utils import settings
from utils.cleanup import cleanup
from utils.console import print_markdown, print_step, print_substep
from utils.ffmpeg_install import ffmpeg_install
from utils.id import id
from utils.version import checkversion
from video_creation.background import (
    chop_background,
    download_background_audio,
    download_background_video,
    get_background_config,
)
from video_creation.final_video import make_final_video
from video_creation.screenshot_downloader import get_screenshots_of_reddit_posts
from video_creation.voices import save_text_to_mp3

__VERSION__ = "3.3.0"

print("""
██████╗ ███████╗██████╗ ██████╗ ██╗████████╗ ██╗ ██╗██╗██████╗ ███████╗ ██████╗ ███╗   ███╗ █████╗ ██╗  ██╗███████╗██████╗
██╔══██╗██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██║ ██║██║██╔══██╗██╔════╝██╔═══██╗████╗ ████║██╔══██╗██║ ██╔╝██╔════╝██╔══██╗
██████╔╝█████╗  ██║  ██║██║  ██║██║   ██║   ██║ ██║██║██║  ██║█████╗  ██║   ██║██╔████╔██║███████║█████╔╝ █████╗  ██████╔╝
██╔══██╗██╔══╝  ██║  ██║██║  ██║██║   ██║   ╚██╗██╔╝██║██║  ██║██╔══╝  ██║   ██║██║╚██╔╝██║██╔══██║██╔═██╗ ██╔══╝  ██╔══██╗
██║  ██║███████╗██████╔╝██████╔╝██║   ██║    ╚████╔╝ ██║██████╔╝███████╗╚██████╔╝██║ ╚═╝ ██║██║  ██║██║  ██╗███████╗██║  ██║
╚═╝  ╚═╝╚══════╝╚═════╝ ╚═════╝ ╚═╝   ╚═╝     ╚═══╝  ╚═╝╚═════╝ ╚══════╝ ╚═════╝ ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝
""")

print_markdown(
    "### Thanks for using this tool! Feel free to contribute to this project on GitHub! If you have any questions, feel free to join my Discord server or submit a GitHub issue. You can find solutions to many common problems in the documentation: https://reddit-video-maker-bot.netlify.app/"
)

checkversion(__VERSION__)

def process_captions(video_path: str, iteration: int, total_iterations: int) -> bool:
    """Process captions for a video file"""
    try:
        base_dir = r"C:\Users\buggy\Desktop\FullyAutomatedRedditVideoMakerBot-main"
        subreddit = settings.config["reddit"]["thread"]["subreddit"]
        results_dir = os.path.join(base_dir, "results", subreddit)
        
        print_substep("Starting caption process...")
        
        if not os.path.exists(video_path):
            print_substep(f"Video not found at: {video_path}")
            mp4_files = [f for f in os.listdir(results_dir) if f.endswith('.mp4')]
            if mp4_files:
                video_path = os.path.join(results_dir, mp4_files[-1])
                print_substep(f"Found video: {video_path}")
        
        font_path = os.path.join(base_dir, "fonts", "Rubik-Black.ttf")
        print_substep(f"Using font: {font_path}")
        
        caption_cmd = f'python captionGen.py "{video_path}" --font "{font_path}"'
        print_substep(f"Executing command: {caption_cmd}")
        
        process = subprocess.Popen(
            caption_cmd,
            shell=True,
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            text=True,
            bufsize=1,
            universal_newlines=True
        )
        
        # Real-time output
        while True:
            output = process.stdout.readline()
            if output == '' and process.poll() is not None:
                break
            if output:
                print_substep(f"Caption progress: {output.strip()}")
                
        # Check for errors
        if process.returncode != 0:
            error = process.stderr.read()
            print_substep(f"Caption generation failed: {error}")
            return False
            
        print_substep("Caption generation completed")
        return True

    except Exception as e:
        print_substep(f"Error in caption generation: {str(e)}")
        return False

def main(POST_ID=None) -> None:
    global redditid, reddit_object
    reddit_object = get_subreddit_threads(POST_ID)
    redditid = id(reddit_object)
    length, number_of_comments = save_text_to_mp3(reddit_object)
    length = math.ceil(length)
    get_screenshots_of_reddit_posts(reddit_object, number_of_comments)
    
    bg_config = {
        "video": get_background_config("video"),
        "audio": get_background_config("audio"),
    }
    
    download_background_video(bg_config["video"])
    download_background_audio(bg_config["audio"])
    chop_background(bg_config, length, reddit_object)
    make_final_video(number_of_comments, length, reddit_object, bg_config)

    # Process captions - Updated path handling
    subreddit = settings.config["reddit"]["thread"]["subreddit"]
    results_dir = os.path.join("results", subreddit)
    video_path = os.path.join(results_dir, f"{redditid}.mp4")
    
    if not os.path.exists(video_path):
        # Try finding the most recent video
        if os.path.exists(results_dir):
            mp4_files = [f for f in os.listdir(results_dir) if f.endswith('.mp4')]
            if mp4_files:
                latest_file = max([os.path.join(results_dir, f) for f in mp4_files],
                                  key=os.path.getctime)
                video_path = latest_file

    if os.path.exists(video_path):
        process_captions(video_path, 1, 1)

def run_many(times) -> None:
    for x in range(1, times + 1):
        print_step(
            f'on the {x}{("th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th")[x % 10]} iteration of {times}'
        )
        main()
        Popen("cls" if name == "nt" else "clear", shell=True).wait()

def shutdown() -> NoReturn:
    if "redditid" in globals():
        print_markdown("## Clearing temp files")
        cleanup(redditid)
    print("Exiting...")
    sys.exit()

if __name__ == "__main__":
    if sys.version_info.major != 3 or sys.version_info.minor not in [10, 11, 12]:
        print(
            "Hey! Congratulations, you've made it so far (which is pretty rare with no Python 3.10). Unfortunately, this program only works on Python 3.10. Please install Python 3.10 and try again."
        )
        sys.exit()

    ffmpeg_install()
    directory = Path().absolute()
    config = settings.check_toml(
        f"{directory}/utils/.config.template.toml",
        f"{directory}/config.toml"
    )
    config is False and sys.exit()

    if (
        not settings.config["settings"]["tts"]["tiktok_sessionid"]
        or settings.config["settings"]["tts"]["tiktok_sessionid"] == ""
    ) and config["settings"]["tts"]["voice_choice"] == "tiktok":
        print_substep(
            "TikTok voice requires a sessionid! Check our documentation on how to obtain one.",
            "bold red",
        )
        sys.exit()

    try:
        if config["reddit"]["thread"]["post_id"]:
            for index, post_id in enumerate(config["reddit"]["thread"]["post_id"].split("+")):
                index += 1
                print_step(
                    f'on the {index}{("st" if index % 10 == 1 else ("nd" if index % 10 == 2 else ("rd" if index % 10 == 3 else "th")))} post of {len(config["reddit"]["thread"]["post_id"].split("+"))}'
                )
                main(post_id)
                Popen("cls" if name == "nt" else "clear", shell=True).wait()
        elif config["settings"]["times_to_run"]:
            run_many(config["settings"]["times_to_run"])
        else:
            main()
    except KeyboardInterrupt:
        shutdown()
    except ResponseException:
        print_markdown("## Invalid credentials")
        print_markdown("Please check your credentials in the config.toml file")
        shutdown()
    except Exception as err:
        config["settings"]["tts"]["tiktok_sessionid"] = "REDACTED"
        config["settings"]["tts"]["elevenlabs_api_key"] = "REDACTED"
        print_step(
            f"Sorry, something went wrong with this version! Try again, and feel free to report this issue at GitHub or the Discord community.\n"
            f"Version: {__VERSION__} \n"
            f"Error: {err} \n"
            f'Config: {config["settings"]}'
        )
        raise err