Skip to content

iamDyeus/CodTubify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

forthebadge forthebadge

starts issues forks license

codtubify

About CodTubify 🎵 - An Online Music Player

CodTubify is a Music Player project, fully developed in Python. It can Play your favorite Songs or any Youtube Playlist without any interruption.



Requirements

  • Operation system: Windows
  • Python Version: 3.9.x

Required Modules

python -m pip install -r requirements.txt

Required Audio PostProcessors

  • FFMPEG AND FFPROBE ( just download the EXE's from the given link and extract them in "src/backend/Download_process/" before starting the application)
  • Or refer to IMPORTANT.md


The Purpose

The purpose of this project really was to create an application that used a song-name/title or any Youtube URL as an input and downloads a MP3 copy of the desired user input, it then works as a Normal Audio player and basically plays the downloaded Audio, contrary to popular belief of streaming Music instead.

Technologies

  • Python (basically to create everything init)
  • Audio PostProcessors (Audio files conversions)
  • GitHub (Proejct and Issues)

Significant Changes

This project required me to utilize many different aspects of what I learned so far in the last 2 Months. I incorporated Modules like yt-dlp and pygame to assist in Downloading Audio Files and Playing them respectively. Instead of traditional Object-oriented way of Programming in tkinter (using CLASSES etc) , i tried to make things as simple as Possible.

Challenges

  • There were significant challenges on this project that had a lot to do with traversing the unknown. Firstly, after i decided NOT to use the Object-oriented Programming approach for the GUI. For a while i was left Confused, because it was not one single gui i was working with, it was a group of many Nested GUI's combined together. though after waiting for someone to answer my questions on stackoverflow (which no one did to this date). I started figuring it out in my Way, Hopefully i was Able to Link all the GUI's with each other. (probably after creating a lot of mess in the code)
  • Once i completed the GUI, the second problem which i was encountering was that the audio file downloaded using yt-dlp wasn't really an audio file, so i had to Convert the Downloaded File into a .mp3 using PostProcessors Such as : FFMPEG/FFPROBE , so that they become playable with pygame.
  • There were plently Other challenges which i also faced while Making this, but i'll keep them for some other day.

Things To Consider

The Directory's are a little Messed up, so in order to Run the Application smoothly, please Follow the Steps below.

  • After Cloning, your folder should look something like Codtubify-main
  • open the main folder and run Command Prompt in that location
  • Now in Command Prompt Give the Following Command : python src/app.py


APP PREVIEW


Home Tab


Playlist Tab


Featured Tab


About Page


Login GUI



License

Distributed under the MIT License. See LICENSE.txt for more information.


CONTRIBUTING

  • Pull Requests (PRs) are welcome ☺️
  • For major changes, please discuss on discussions about what you would like to change.
  • Try to add useful comments
  • Please make sure to update tests as appropriate.
  • If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

Acknowledgments

  • Parth Jadhav and team for their Amazing Tkinter Designer.
  • Mohit & Anirudh for there awesome project HotinGo as the inpiration for GUI.
  • Canva for making the Graphic Design Process Much Easier For me.
  • yt-dlp and pygame Discord Mods/Helpers for Helping me in most of my Noob queries.

Made with love in India

About

An open-source Python Online Music Player 🎵

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages