{"id":23288554,"url":"https://github.com/kernferm/countdown-timer-obs","last_synced_at":"2025-07-06T05:34:07.649Z","repository":{"id":251829845,"uuid":"838572852","full_name":"KernFerm/countdown-timer-obs","owner":"KernFerm","description":"A Python-based countdown timer built using Pygame and Tkinter. This application allows users to adjust the timer, import sound files (.mp3 or .wav), and play a sound when the timer reaches a specific time. The user-friendly interface includes buttons to start, stop, increase, decrease, and clear the timer.","archived":false,"fork":false,"pushed_at":"2025-02-12T12:46:16.000Z","size":4015,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T13:56:22.585Z","etag":null,"topics":["application","cooking-recipes","countdown-timer","exe","obs","pygame-library","python","timeout-control","timer","window-capture"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KernFerm.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-05T23:36:05.000Z","updated_at":"2025-02-12T12:46:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"09a84583-9613-4350-8fe4-182bb9640ada","html_url":"https://github.com/KernFerm/countdown-timer-obs","commit_stats":null,"previous_names":["kernferm/countdown-timer-obs"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernFerm%2Fcountdown-timer-obs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernFerm%2Fcountdown-timer-obs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernFerm%2Fcountdown-timer-obs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernFerm%2Fcountdown-timer-obs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KernFerm","download_url":"https://codeload.github.com/KernFerm/countdown-timer-obs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247512728,"owners_count":20950910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["application","cooking-recipes","countdown-timer","exe","obs","pygame-library","python","timeout-control","timer","window-capture"],"created_at":"2024-12-20T03:20:41.716Z","updated_at":"2025-07-06T05:34:07.642Z","avatar_url":"https://github.com/KernFerm.png","language":"Python","readme":"# Bubbles The Dev - Countdown Timer with Sound\r\n\r\nA Python-based countdown timer built using Pygame and Tkinter. This application allows users to adjust the timer, import sound files (`.mp3` or `.wav`), and play a sound when the timer reaches 30 seconds. The interface is user-friendly and includes buttons to start, stop, increase, decrease, and reset the timer.\r\n\r\n## 📥 How to Download the Repo for First-Time Users\r\n\r\n- Click the link to read [**Instructions**](https://www.gitprojects.fnbubbles420.org/how-to-download-repos).\r\n\r\n### **[Download_Bubbles_The_Dev-Countdown-Timer.zip](https://github.com/KernFerm/countdown-timer-obs/releases/tag/countdown-timer-exe)**\r\n\r\n## Features\r\n\r\n- Adjustable countdown timer with a default duration of 60 seconds.\r\n- Import sound files (`.mp3` or `.wav`) to play when the timer reaches 30 seconds.\r\n- Simple, user-friendly interface built with Pygame.\r\n- Buttons to start, stop, increase, decrease, and reset the timer.\r\n\r\n## Requirements\r\n\r\n- Python 3.11+\r\n- Pygame\r\n- Tkinter (usually comes pre-installed with Python on most systems)\r\n\r\n### If you don't have Python installed, here are some options:\r\n\r\n- **YOU ONLY NEED ONE VERSION OF PYTHON TO RUN THIS!!**\r\n  - [Python 3.11.6](https://github.com/KernFerm/Py3.11.6installer)\r\n  - [Python 3.11.9](https://github.com/KernFerm/Py3.11.9installer)\r\n  - [Python 3.12.1](https://github.com/KernFerm/Py3.12.1-installer-batch)\r\n\r\n```\r\n.\r\n├── .github/                 # GitHub issue templates\r\n├── OpenSource-Sounds-For-Countdown-Timer/  # Directory for countdown sounds\r\n├── image/                   # Directory for images\r\n├── CODE_OF_CONDUCT.md       # Code of Conduct for the project\r\n├── CONTRIBUTING.md          # Guidelines for contributing\r\n├── LICENSE                  # License information\r\n├── SECURITY.md              # Security policy\r\n├── Sounds.txt               # List or details about sound files\r\n├── install_dep.bat          # Batch script to install dependencies\r\n├── main-launcher.bat        # Main batch script to launch the program\r\n├── main.py                  # Main Python file for your program\r\n├── config.py                # Configuration settings\r\n├── readme.md                # Main project documentation (README)\r\n├── requirements.txt         # Python dependencies\r\n└── timer-list.md            # Information about available timers\r\n```\r\n\r\n## Installation\r\n\r\n1. **Clone the repository**:\r\n```\r\ngit clone https://github.com/KernFerm/countdown-timer-obs.git\r\ncd countdown-timer-obs\r\n```\r\n\r\n2. **Install dependencies**: Install the required dependencies using pip:\r\n\r\n```\r\npip install pygame\r\n```\r\n```\r\npip install tk\r\n```\r\n\r\n3. **Run the script**: Once dependencies are installed, run the script using Python:\r\n\r\n```\r\npython main.py\r\n```\r\n\r\n## Usage\r\n- **Adjust Timer**: Use the `+10 sec` and `-10 sec` buttons to increase or decrease the countdown time.\r\n- **Start/Stop Timer**: Use the `Start` button to start the countdown, and the `Stop` button to pause it.\r\n- **Import Sound**: Use the `Import Sound` button to select a `.mp3` or `.wav` file that will play when the timer reaches 30 seconds.\r\n- **Clear Timer**: Use the `Clear Timer` button to reset the timer to 60 seconds.\r\n\r\n## Example\r\nWhen running the script, the interface will display:\r\n\r\n- A countdown timer.\r\n- Buttons to adjust the timer, start/stop it, import a sound, and reset the timer.\r\n- Information about the selected sound file.\r\n\r\n## Timer Controls\r\n-------------------------\r\n| Button        | Description                              |\r\n|---------------|------------------------------------------|\r\n| +10 sec       | Increases the countdown timer by 10 sec  |\r\n| -10 sec       | Decreases the countdown timer by 10 sec  |\r\n| Start         | Starts the countdown timer               |\r\n| Stop          | Pauses the countdown timer               |\r\n| Import Sound  | Imports a .mp3 or .wav sound file        |\r\n| Clear Timer   | Resets the timer to 60 seconds           |\r\n----------------\r\n\r\n## Code Overview\r\n\r\n### Timer Functionality\r\n\r\n- The countdown timer updates every second. You can increase or decrease the time using the buttons:\r\n```\r\n# Increase the timer by 10 seconds\r\nduration += 10\r\n\r\n# Decrease the timer by 10 seconds, ensuring it doesn't go below 0\r\nduration = max(0, duration - 10)\r\n```\r\n\r\n## Sound Import\r\nYou can import `.mp3` or `.wav` files. The sound will play when the timer reaches 30 seconds:\r\n\r\n```\r\nselected_file = filedialog.askopenfilename(\r\n    title=\"Select Sound File\",\r\n    filetypes=AUDIO_FILE_TYPES\r\n)\r\n```\r\n\r\n- If the selected sound file's duration is longer than 2 minutes, an error message will appear:\r\n\r\n```\r\nif duration \u003e 120:\r\n    messagebox.showerror(\"Invalid File\", \"The file exceeds 2 minutes.\")\r\n```\r\n\r\n## Configuration (`config.py`)\r\n\r\n- Here are the configuration settings used in the program:\r\n\r\n```\r\n# Configurations for Countdown Timer Application\r\n\r\n# Timer settings\r\nALERT_DURATION = 30  # When to play sound (in seconds)\r\n\r\n# Sound settings\r\nSOUND_VOLUME = 0.26\r\n\r\n# File dialog settings\r\nAUDIO_FILE_TYPES = [(\"Audio Files\", \"*.mp3 *.wav\")]\r\n\r\n# Frame settings\r\nFPS = 30  # Frames per second for the Pygame clock\r\n```\r\n\r\n## Contributing\r\n\r\n- We welcome contributions! \r\n- Please read our `Contributing Guidelines` and `Code of Conduct` before making a pull request.\r\n\r\n\r\n- [https://discord.gg/FxJd3PxXbc](https://discord.gg/FxJd3PxXbc)\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkernferm%2Fcountdown-timer-obs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkernferm%2Fcountdown-timer-obs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkernferm%2Fcountdown-timer-obs/lists"}