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
- Clone/Download the repo.
- Open
YouTag.xcodeproj
in Xcode. - Configure code signing.
- 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
- HTTP networking: Alamofire
- YouTube URL extractor: XCDYouTubeKit
- UILabel scrolling animation: MarqueeLabel
- UITextfield suggestions: SearchTextField
Resources
- YYTAudioPlayer based on: Background Audio Player Sync Control Center
- YYTRangeSlider based on: How To Make a Custom Control Tutorial: A Reusable Slider
Graphics
- Album image: @author
- Artist image: @author
- Calendar image: @author
- Duration image: @author
- Filter image: @author
- Setting image: @author
- List image: @author
- Loop image: @author
- Music Note image: @author
- Next image: @author
- Pause image: @author
- Play image: @author
- Previous image: @author
- Shuffle image: @author
- Tag image: @author
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.