===============
PlaylistPro is a YouTube music downloader and player application with Spotify library conversion capabilities.
This app was intended for Spotify users to use for customizing their playlists. Users can easily import a playlist they already made in Spotify and add music that isn't on Spotify or modify the audio files with cropping and custom transitions. Due to issues with XCDYouTubeKit, development is largely halted.
- Download any video's audio from YouTube and listen freely offline.
- Build and manage multiple playlists.
- Login with Spotify and import existing Spotify playlists.
- Firebase authentication system and realtime database allows users to login on any device and download their music library.
- Add fade transitions between songs, crop songs, change song speed
- User logs in with their Spotify account.
- User selects the Playlist they wish to import.
- App searches for every song in the playlist and downloads a YouTube equivalent audio.
- Playlist is remade locally in the app sourcing all media from YouTube.
- UIKit driven programatic front-end
- MVC design pattern
- Data persistance with CoreData
- Downloading and playback based on YouTag
- Spotify import using Spotify-iOS
- Slide down dismiss animation from SlideOverTutorial
- User authentication and database management with Firebase
- Song Encoding using CodableFirebase
- Generation of Waveform Diagram based on DSWaveformImage
- Networking with YouTube API Alamofire
- Special thanks to the criminally underrated channel iOSAcadamy
- Clone/Download the repo
- Open
playlist-pro.xcodeprojin Xcode - Configure code signing
- Build & run
- XCDYouTubeKit currently facing an issue with downloading music
- Google Developer API quota is very small. This app is functional to the extent of a "proof of concept".
Users can search for any song on YouTube, download that song, and play it locally. The song can be edited in the "Edit Panel". The wave form is generated from the audio and the fornt and end of the song can be cropped, speed can be changed, and transitions can be added to the start or finish.
Using a Firebase account system, users can make an account and login on any device to retain their progress. A library of their music is tied to their account by storing YouTube links in Firebase. When a user logs into their account those links are accessed to download all of their music locally.
The music player runs on a fully functional queue system. They are auto generated when a song is pressed on and can be added to and removed from. This works alongside a playlist system that allows for playlist management and customization. Both systems are modeled off of Spotify and behave similarly for ease of use.
More examples of the user interface in action.













