/YouTag

iOS music player app that downloads music from the internet, even YouTube

Primary LanguageSwiftMIT LicenseMIT

License Language

About

YouTag is an iOS music player app that downloads music from the internet, even YouTube, and manages it in a local library. Music videos can also be downloaded and the app will automatically extract the audio only. Special playlists can be curated based on user's choice of filters. Filters can be on tags, artist, album, release year or duration.

Features

  • Supports mp4, mp3 and wav file types
  • Downloads from any direct link of the supported file types
  • Downloads from YouTube
  • Extracts the audio from videos
  • Edit song information like title, artist, album, etc
  • Auto extraction of song metadata information for mp3 and wav
  • Customize playlist based on filters
  • Plays music in the background
  • Change song playback rate to x0.75 or x1.25

Requirements

  • Tested on Xcode 11.0 and later
  • Tested on iOS 13.0 and later

Installation

  1. Clone/Download the repo.
  2. Open YouTag.xcodeproj in Xcode.
  3. Configure code signing.
  4. Build & run!

If you are still having trouble, consider this reference

Classes Architecture

  • PlaylistManager
    • NowPlayingView
    • PlaylistLibraryView (inherits LibraryTableView)
      • LibraryCell
    • PlaylistFilters
  • YYTAudioPlayer
  • YYTRangeSlider
    • YYTRangeSliderTrackLayer
  • YYTTagView / YYTFilterTagView
    • YYTTagCell
  • LocalFileManager

Contribution

  • If you have a feature request, open an issue
  • If you found a bug, open an issue
  • If you want to contribute, submit a pull request

Attribution

Libraries

Resources

Graphics

License

YouTag is available under the MIT license and provide its entire source code for free. You can use any part of my code in your app, if you choose. However, attribution is greatly appreciated!

See the LICENSE file for more information.