Batta Player (formerly YouTag) is a smart iOS music player that organizes your music library with custom tags, lyrics, and dynamic, mood-based playlists. Import songs from your device or iCloud, auto-extract metadata, and create instant playlists based on tags, artist, album, release year, or song duration.
- Import MP3, MP4, and WAV files from device or iCloud
- Organizes and tags your local music library
- Auto-extract and edit song metadata
- Organize your music library with custom tags and lyrics
- Create smart playlists using tags, artist, album, year, or duration
- Dynamic mood-based playlists generated on the fly
- Plays music in the background
- Background playback with adjustable speed (0.75x / 1.25x)
- Tested on Xcode 16.4 and later
- Tested on iOS 16.0 and later
- Clone/Download the repo.
- Open
YouTag.xcodeproj
in Xcode. - Configure code signing.
- Build & run!
If you are still having trouble, consider this reference
- PlaylistManager
- NowPlayingView
- PlaylistLibraryView (inherits LibraryTableView)
- LibraryCell
- PlaylistFilters
- YYTAudioPlayer
- YYTRangeSlider
- YYTRangeSliderTrackLayer
- YYTTagView / YYTFilterTagView
- YYTTagCell
- LocalFileManager
- 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
- HTTP networking: Alamofire
- UILabel scrolling animation: MarqueeLabel
- UITextfield suggestions: SearchTextField
- YYTAudioPlayer based on: Background Audio Player Sync Control Center
- YYTRangeSlider based on: How To Make a Custom Control Tutorial: A Reusable Slider
- 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
Batta Player (formerly YouTag) is licensed under the GNU General Public License v3.0 with an additional trademark clause.
You are free to use, modify, and contribute to the code, but you may not distribute or release a derivative app under a different name or branding without explicit permission.
See the LICENSE file for full terms.