Skip to content

yuvrjsr/CodTubify

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 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.
  • Also if i start listing all the challenges i faced while making it, then probably i would write an entire Nowel here so i'll just keep it short.

Things To Consider

I strongly suggest to use VScode or Pycharm or any other Code editor for running the app.py script because i have messed up very much in Directory's and stuff. (if you DIDN'T understand what i mean :"JUST OPEN THE REPO's FOLDER USING A CODE EDITOR AND THEN RUN THE app.py script ")



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 🎵

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%