Table of contents
- Get up-to-date popular & trending music from all over the world.
- Explore music by genre & mood.
- Add your local audio files with one click and all of your tracks, albums, artists will be saved and available inside the app.
Yes, you've read it correctly, with the option of both vertical & horizontal tabs-layout:
Now your web-browsing experience is less cluttered because DUNE is the prefect place for your music-exploring adventures.
Not 100% functional; going under some refinements.
- Mixed playlists: creating a playlist with songs from different sources.
- Data Usage control: You can set the quality of audio streaming & cover images.
- No-Tabs mode: Tabs can be disabled but, you still have all the other great features.
- Themes: Provides a wide verity of accent colors for you to choose from.
- Cross-platform support
- Lyrics support
- Download media & offline mode
- Local library Mode
Older versions are also available at: GitHub releases
OS | Latest version |
---|---|
This project is a WIP
Please refer to DUNE project for: planned features, discussions and development progress.
-
Feature Offline store Backup & Restore Cloud store Storing User Playlists Storing User Preferences Storing User Listening History Supported β π§ β π§ β β
To build your own version of DUNE, please follow these instructions.
- π Found an issue or encountered a bug? please check the existing issues or create a new one.
- πͺπ» Want to improve this project? check out the Contributing guide.
- β You can also help us by starring this repo.
- Read also "motivation for this project".
-
Initially, this app was developed to demonstrate the power of Flutter in creating cross-platform apps.
But, if you like using DUNE, well, thank you. Enjoy the music responsibly and support the artists who create it.
-
Read also Copy Rights Β© disclaimer.
Although there are many projects that offer similar features, they often fall short in providing a complete package π¦. For example, some apps can stream music from different platforms, but they do not π« allow users to:
- Create a playlist with songs from different sources.
- Provide the option to add your local music library.
- Change the search engine(source) without adjusting some setting.
Another important issue in some of these projects is the quality of code. While it may not be an immediate concern for users, it becomes a time-consuming and challenging task for maintainers to add new features in the long run. This can be for several reasons:
- The lack of a clear architecture on how code is organized and communicate across different layers.
- Having mega classes and functions scattered all over the place discarding the SOLID principals.
- The absence of tests, no Unit tests no Widget tests, nothing.
That is why I started this project with the goal of creating something beautiful & elegant from the inside-out.
- taggy: provides reading & writing audio files metadata.
- Isar: NoSQL database for Flutter.
- youtube_explode_dart: provides an interface for using YouTube APIs.
- file_picker: cross-platform solution for selecting files\folders from local storage.
- fluent_ui:
- audio_video_progress_bar
DUNE is an open source project and licensed under the GNU License.