Welcome to Melodify, a minimalistic music player application designed to provide you with a seamless and enjoyable music experience. Whether you’re relaxing at home or on the go, Melodify makes it easy to enjoy your favorite tunes with its elegant and user-friendly interface.
- Music Library: Access and manage your entire music library with ease.
- Album / Artist / Genre views: Browse your music organized the way you think about it.
- Folder browsing: Explore your library by its source folders.
- Folder blacklist: Hide unwanted folders (ringtones, notifications, voice memos) from the library.
- Sort & filter: Order by title, artist, album, duration, date added, or file size — ascending or descending.
- Fast search: Instant, indexed search across titles, artists, and albums.
- Gapless playback powered by a single, persistent queue (no per-track teardown).
- Queue management: Reorder by drag, remove, jump to any track, "play next" / "add to queue".
- Shuffle with a freshly randomized order each time, and proper next/previous handling.
- Resume: Reopens your last session (paused) right where you left off.
- Speed & pitch control, sleep timer (timed or end-of-track, with fade-out).
- Equalizer: System equalizer with presets (Bass, Treble, Vocal, Rock, Pop, Jazz, Dance, Flat) plus a custom band editor and a loudness boost.
- Dynamic theming: The whole app subtly recolors to match the current track's album art.
- Beautiful Now Playing: Full-bleed blurred-artwork backdrop, frosted-glass controls, animated cover transitions on track change.
- Miniplayer: Frosted compact player that persists across restarts (unless dismissed) and expands into Now Playing with a shared-element transition.
- Gestures: Swipe artwork to change tracks or dismiss; swipe the miniplayer down to dismiss.
- Smart playlists: Favorites, Recently played, Most played, Recently added — auto-generated, no curation needed.
- Frosted top bars with content scrolling behind them.
- Onboarding: A clean first-run permission flow.
- Media notification & lock screen: Full media-session controls; tapping the notification opens Now Playing.
- Accessibility: Semantic labels and tooltips on controls.
- Lightweight: Cached, display-resolution artwork decoding and minimal rebuilds keep it fast and smooth.
- Framework: Flutter
- State management & DI: GetX + get_it
- Audio engine:
just_audiowith an editableConcatenatingAudioSourcequeue and Android audio effects (AndroidEqualizer,AndroidLoudnessEnhancer) - Background / media session:
audio_service - Media library:
on_audio_query_pluse(maintained fork; all plugin calls serialized through a single lock to avoid its concurrent-call crash) - Dynamic color: Flutter's built-in
ColorScheme.fromImageProvider(Material You), cached per track - Persistence:
get_storage(favorites, play stats, resume position, preferences)
You need Android Studio to build this project.
Toolchain: Android Gradle Plugin 9.0, Gradle 9.1, Kotlin 2.2.20, JDK 21, compileSdk/targetSdk 36.
-
Clone the project in your local Machine.
-
Open the melodify folder with Android Studio.
-
That's it. Now you are good to go!
Wanna reach out to me? DM me at 👇
Email: mahmudul15-13791@diu.edu.bd
