{"id":27624409,"url":"https://github.com/ivan-ayub97/radar-whisper","last_synced_at":"2026-06-28T16:31:45.769Z","repository":{"id":288860718,"uuid":"969381065","full_name":"Ivan-Ayub97/Radar-Whisper","owner":"Ivan-Ayub97","description":"A  music player application, designed with a clean, stylized aesthetic and a smooth experience.","archived":false,"fork":false,"pushed_at":"2025-04-20T03:43:48.000Z","size":1492,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-23T11:42:59.151Z","etag":null,"topics":["gui","music","music-player","music-visualizer","mutagen","pyqt","pyqt5","pyqt5-desktop-application","python","python3"],"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/Ivan-Ayub97.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-20T02:39:59.000Z","updated_at":"2025-04-20T03:43:51.000Z","dependencies_parsed_at":"2025-04-20T03:28:46.130Z","dependency_job_id":"b2d6abf8-d42e-4378-b0fc-804dd87f865c","html_url":"https://github.com/Ivan-Ayub97/Radar-Whisper","commit_stats":null,"previous_names":["ivan-ayub97/radar-whisper"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Ivan-Ayub97/Radar-Whisper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivan-Ayub97%2FRadar-Whisper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivan-Ayub97%2FRadar-Whisper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivan-Ayub97%2FRadar-Whisper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivan-Ayub97%2FRadar-Whisper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ivan-Ayub97","download_url":"https://codeload.github.com/Ivan-Ayub97/Radar-Whisper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivan-Ayub97%2FRadar-Whisper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273986612,"owners_count":25202704,"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","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["gui","music","music-player","music-visualizer","mutagen","pyqt","pyqt5","pyqt5-desktop-application","python","python3"],"created_at":"2025-04-23T11:39:42.695Z","updated_at":"2025-10-17T00:54:50.767Z","avatar_url":"https://github.com/Ivan-Ayub97.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Radar-Whisper](Banner.png)\r\n\r\nVersion 0.9.0 (INCOMPLETE BETA)\r\n\u003e ⚠️ **IMPORTANT:** Radar-Whisper is not ready for general use.\r\n\r\n**Radar Whisper** is a modern and intuitive music player application, designed with a clean, stylized aesthetic and a smooth experience powered by **PyQt5**. Although it already has a functional foundation, this **0.9.0** version is still in development and includes **incomplete features**, as well as **bugs** and runtime errors. Therefore, it is recommended for **evaluation and testing purposes only**.\r\n\r\n🇪🇸 [README en Español](README_ES.md)\r\n\r\n---\r\n\r\n## ✨ Current Features\r\n\r\n- 🎨 **Customizable themes:** Supports light and dark modes.\r\n- 🎵 **Music playback:** Audio file support.\r\n- ⏱️ **Interactive progress bar:** Scrollable for track time seeking.\r\n- 🔊 **Volume control:** Slider with mute function.\r\n- ⏯️ **Standard playback controls:** Play, pause, stop, next, previous, shuffle, and repeat (implemented but not functional).\r\n- 📃 **Drag-and-drop playlist:** Dynamically loads tracks, allows manual sorting.\r\n- 🖼️ **Track info panel:** Title, artist, duration, cover art (still being refined), and bitrate (also still being refined).\r\n- 🔍 **Integrated search:** Dynamic track filtering.\r\n\r\n---\r\n\r\n## 📂 Project Structure\r\n\r\n```plaintext\r\nRadar-Whisper/\r\n│\r\n├── main.py                 # Main entry point of the application.\r\n├── main_window.py          # Main window setup and display logic.\r\n├── ui_components.py        # Definition of custom widgets and visual elements.\r\n├── playlist_manager.py     # Logic for playlist management.\r\n├── metadata_handler.py     # Reads, processes, and formats track metadata.\r\n├── audio_player.py         # Core audio playback controller.\r\n│\r\n├── icon.ico                # App icon.\r\n├── icon.png                # App icon.\r\n├── Banner.png              # Graphic banner\r\n├── Capture.png             # Screenshot (dark theme).\r\n├── Capture2.png            # Screenshot (light theme).\r\n└── radar_animation.gif     # Decorative animation.\r\n│\r\n└── README.md               # This document.\r\n```\r\n\r\n## 🔧 Development Status (Version 0.9.0)\r\n\r\n| Component         | Status        | Notes                                                    |\r\n| ----------------- | ------------- | -------------------------------------------------------- |\r\n| Audio playback    | 🟢 Functional | Limited to some formats.                                 |\r\n| Playlists         | 🟡 Partial    | Persistence between sessions is missing.                 |\r\n| GUI               | 🟢 Functional | Basic aesthetics implemented, advanced settings pending. |\r\n| Volume control    | 🟢 Functional | No keyboard shortcuts yet.                               |\r\n| Info panel        | 🔴 Incomplete | Displays limited metadata. Full integration pending.     |\r\n| Dark/Light mode   | 🟡 Partial    | Requires manual restart.                                 |\r\n| General stability | 🟠 Unstable   | May crash with corrupted files.                          |\r\n\r\n---\r\n\r\n## 💻 System Requirements\r\n\r\n- Python 3.8+\r\n- PyQt5\r\n- Mutagen (for audio metadata handling)\r\n- OS: Windows, Linux (partial), macOS (untested)\r\n\r\n---\r\n\r\n## 🚀 Installation and Running\r\n\r\n### 1. Clone the repository\r\n\r\n```bash\r\ngit clone https://github.com/Ivan-Ayub97/Radar-Whisper.git\r\ncd radar-whisper\r\n```\r\n\r\n### 2. Create virtual environment (optional but recommended)\r\n\r\n```bash\r\npython -m venv venv\r\nsource venv/bin/activate    # Linux/macOS\r\nvenv\\Scripts\\activate.bat   # Windows\r\n```\r\n\r\n### 4. Run the application\r\n\r\n```bash\r\npython main.py\r\n```\r\n\r\n---\r\n\r\n## 📸 Screenshots\r\n\r\n### Dark Theme\r\n\r\n![Dark Theme](Capture.png)\r\n\r\n### Light Theme\r\n\r\n![Light Theme](Capture2.png)\r\n\r\n---\r\n\r\n## 🧩 Roadmap (Upcoming Versions)\r\n\r\n- [ ] Error-free track repeat\r\n- [ ] Full metadata integration (artist, album, genre, year)\r\n- [ ] Support for multiple audio formats (OGG, M4A, etc.)\r\n- [ ] Playlist persistence in local files\r\n- [ ] Mini-player mode\r\n- [ ] Floating player\r\n- [ ] Full Linux support\r\n\r\n---\r\n\r\n## 🤝 Open Source Community Invitation\r\n\r\n\u003e This project is open to the community. Whether you're a developer, designer, tester, or simply curious to contribute—you're welcome!\r\n\r\n### Ways to contribute\r\n\r\n- Report bugs by opening an [Issue](https://github.com/your-username/radar-whisper/issues)\r\n- Improve incomplete features\r\n- Refactor code\r\n- Translate the interface\r\n- Suggest UI improvements\r\n- Share ideas in discussions\r\n\r\n#### Recommendations\r\n\r\n- Fork the repository\r\n- Create a new branch with your feature\r\n- Make a well-documented Pull Request\r\n\r\nYou don’t need to be an expert to contribute—every improvement counts.\r\n\r\n---\r\n\r\n## ⚠️ Known Issues / Limitations\r\n\r\n- Track repeat shows a metadata handling error.\r\n- Playing a new track requires stopping the previous one.\r\n- The program may crash with unsupported audio files.\r\n- Icons may not render correctly on Linux.\r\n- No error handling for corrupted tracks.\r\n- Playlists are not saved between sessions.\r\n- Some UI features are not optimized for low resolutions.\r\n\r\n---\r\n\r\n## 📜 License\r\n\r\nThis project is licensed under the **[MIT License](LICENSE)**. Feel free to use, modify, and distribute it.\r\n\r\n---\r\n\r\n## 👤 Author\r\n\r\n- **Lead Developer**: [Ivan E. C. Ayub](https://github.com/Ivan-Ayub97)\r\n- **Contact**: \u003cnegroayub97@gmail.com\u003e (optional)\r\n- **Technologies used**: Python 3, PyQt5, Mutagen\r\n\r\n---\r\n\r\n## 🌟 Acknowledgments\r\n\r\nThanks to the entire developer community that supports Open Source projects. Feel free to collaborate, share, fork, and improve this music player step by step.\r\n\r\n---\r\n\r\n## 🎯 Why Radar Whisper?\r\n\r\nBecause we believe music deserves an elegant, free, and adaptable environment. Radar Whisper was born as a stylized alternative focused on user experience and open to collaborative evolution.\r\n\r\n![Radar-Whisper](icon.ico)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivan-ayub97%2Fradar-whisper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivan-ayub97%2Fradar-whisper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivan-ayub97%2Fradar-whisper/lists"}