Skip to content
souravkaushik-devPublic

Repository files navigation

🎵 Portal

Portal Music Player Poster

A minimal, material music player built around the music.

Clean playback · Cinematic artwork · Real-time equalizer · Material UI


📸 Screenshots

Home Search Player Library

Playlists Equalizer Settings


About

Portal is a focused music player designed to keep the interface quiet and the music prominent.

It combines artwork-first playback, fast discovery, playlists, background playback, queue controls, and a real-time equalizer in a clean Material-inspired interface.

Less interface. More music.


🎬 The Idea

Portal is a modern music player designed around one simple idea:

Make listening feel cinematic.

The interface stays quiet.

The artwork takes center stage.

Controls appear when you need them.

Music remains the focus.

Portal combines a minimal player experience with cinematic artwork, smooth animations, Liquid Glass navigation, YouTube-powered music discovery, background playback, playlists, and a real-time audio equalizer.


Version 2.0

Portal 2.0 is a production release focused on a cleaner, more refined listening experience.

Version 2.0 refines the audio experience, player flow, visual hierarchy, and overall interface.

The 2.0 release focuses on a complete playback experience, persistent settings, queue management, autoplay, sleep timer controls, and the cinematic player.

Four advanced playback/data features are still being actively implemented:

  • True crossfade
  • Audio normalization
  • High-quality stream selection
  • Wi-Fi-only network/download enforcement

Expect continued improvements while development continues.

Feedback and bug reports are welcome.


✨ What's New in v2.0

🎚️ Real-Time Equalizer

Portal now includes a real audio equalizer.

  • 🎚️ Real-time frequency adjustment
  • 🎛️ Individual frequency bands
  • 🔊 Bass control
  • 🎤 Vocal optimization
  • 🎵 Treble control
  • ✨ Live changes during playback
  • 🔄 Enable / disable equalizer
  • ↩️ Reset equalizer
  • 🎧 Native audio processing

Presets

  • Flat
  • Bass
  • Treble
  • Vocal
  • Pop
  • Rock
  • Classical
  • Dance

The equalizer is connected to the existing playback engine, so adjustments affect the music currently being played.


🎧 Music Playback

Portal provides a focused playback experience built around fast access to your music.

Playback

  • ▶️ Play / pause
  • ⏮️ Previous track
  • ⏭️ Next track
  • 🎚️ Seek through songs
  • 🎵 Mini player
  • 🎬 Full-screen player
  • 🖼️ Large artwork-focused player
  • ❤️ Like / unlike songs
  • ➕ Add to playlist
  • 📋 Add to queue
  • 🔊 Background playback foundation
  • 🎚️ Real-time equalizer
  • ▶️ Autoplay
  • 😴 Sleep timer
  • ⏹️ Stop playback at timer/end-of-song
  • 📋 Queue navigation
  • 🔀 True overlapping crossfade
  • 🔊 Audio normalization
  • 🎧 High-quality stream selection

🎬 The Player

The player is designed to disappear into the experience.

Large artwork.

Minimal controls.

Smooth transitions.

Music first.

Cinematic Player

  • 🖼️ Full-screen artwork
  • 🎨 Large artwork presentation
  • ▶️ Play / pause
  • ⏮️ Previous
  • 🎚️ Seek
  • ❤️ Like
  • ⋯ More actions
  • ➕ Add to playlist
  • 📋 Add to queue
  • 🎵 Mini player
  • 📋 Queue access
  • 🎚️ Equalizer access

🏠 Home

Your music starts here.

The Home experience is built around recently played music, discovery, and artwork.

  • 🎵 Recently played
  • 🖼️ Cinematic music cards
  • 🔥 Trending music
  • 🎧 Recently played section
  • ▶️ Quick playback
  • ⋯ Song actions
  • ❤️ Like from song menu
  • ➕ Add to playlist
  • 📋 Add to queue
  • 🎨 Artwork-first design
  • 🎬 Cinematic visual language

🔎 Search

Discover music without leaving the experience.

  • 🔍 YouTube-powered music search
  • ⚡ Fast search experience
  • 🕘 Search history
  • 🎧 Recently played
  • ▶️ Play search results
  • ⋯ Song actions
  • ❤️ Like songs
  • ➕ Add to playlist
  • 📋 Add to queue
  • 🎵 Mini player
  • ⚡ Further search optimization

📚 Library

Your music, organized your way.

❤️ Liked Songs

  • ❤️ Liked songs collection
  • ▶️ Play liked songs
  • ⋯ Song actions
  • ➕ Add to playlist
  • 📋 Add to queue
  • 🗑️ Remove liked songs
  • 💾 Persistent storage

🎵 Playlists

  • ➕ Create playlist
  • ✏️ Rename playlist
  • 🗑️ Delete playlist
  • 🎵 Add songs
  • 🎵 Add multiple songs
  • 🗑️ Remove songs
  • ▶️ Play playlist
  • 💾 Persistent playlists

🕘 Recently Played

  • 🕘 Playback history
  • 🔄 Automatic updates
  • 💾 Local persistence
  • ▶️ Instant playback

🧊 Liquid Glass

Navigation isn't just navigation.

Portal uses a floating Liquid Glass interface to keep the app feeling alive without overwhelming the music.

  • 🧊 Floating Liquid Glass navigation
  • ✨ Animated selection
  • 🏠 Home
  • 🔎 Search
  • 📚 Library
  • ⚙️ Settings
  • 🔍 Glass magnification
  • 💧 Refraction
  • 🫧 Jelly / morph animation
  • 🌗 Light / dark themes
  • 📱 Floating navigation

🔔 Background Playback

Portal is designed to keep music available while you move through the app.

  • 🔔 Background playback foundation
  • 🎵 Current song metadata
  • 🖼️ Artwork support
  • ⏯️ Play / pause
  • ⏮️ Previous
  • ⏭️ Next
  • 📋 Queue integration
  • 🔄 Autoplay control
  • 🎚️ Advanced system media controls

⚙️ Settings

Settings are designed to stay simple while giving you control over the listening experience.

  • ☀️ Light theme
  • 🌙 Dark theme
  • 🎨 Accent color
  • 🔄 Animated settings controls
  • 💾 Persistent settings
  • 🧹 Clear recently played
  • ❤️ Clear liked songs
  • 📚 Manage library data
  • 🎚️ Equalizer
  • 🎛️ Audio presets
  • ▶️ Autoplay
  • 🎵 Gapless playback preference
  • 🔀 Crossfade preference
  • 🔊 Normalize volume preference
  • 🎧 High-quality preference
  • 🎵 Animated artwork
  • 🎵 Mini player
  • 🔎 Search history
  • 📶 Wi-Fi-only preference
  • 📥 Download quality
  • 😴 Sleep timer
  • ✨ Liquid Glass controls
  • ℹ️ About Portal

In Development

  • 🔀 True overlapping crossfade
  • 🔊 Actual audio normalization
  • 🎧 Actual high-quality stream selection
  • 📶 Actual Wi-Fi-only enforcement

💾 Local Data

Portal keeps important user preferences available between launches.

  • ❤️ Favorite songs
  • 🕘 Recently played
  • 🎵 Playlists
  • 🔎 Search history
  • ⚙️ Playback settings
  • 🎨 Theme and accent settings
  • 📥 Download quality preference
  • 📶 Wi-Fi-only preference
  • 🔄 Restore data after restart

🎨 Design

Portal 2.0 uses a restrained Material-inspired visual system:

  • Minimal surfaces and clear hierarchy
  • Artwork-led playback
  • Consistent spacing and typography
  • Subtle motion instead of visual noise
  • Light and dark themes
  • Focused controls with familiar Material patterns

Less interface. More music.


🐛 Known Issues

Portal continues to evolve with ongoing refinements and improvements.

Current areas being improved:

  • 🔀 True crossfade — overlapping two tracks is still being implemented
  • 🔊 Audio normalization — actual loudness normalization is still being implemented
  • 🎧 High-quality streaming — quality selection is still being wired into the stream pipeline
  • 📶 Wi-Fi only — network/download enforcement is still being wired into the data layer
  • ⚡ Startup performance — continued optimization
  • 🎵 Playback stability — edge cases continue to be refined
  • 🐞 General bugs — ongoing fixes

Portal 2.0 is a production release. Advanced playback features continue to evolve.


🚧 Coming Soon

  • 📱 Google Play Store release
  • 📥 Offline music support
  • 📊 Listening statistics
  • 🎨 More player visualizations
  • 🧩 More customization
  • ⚡ Playback optimization
  • 🧠 Smarter playback behavior
  • 🎨 More personalization

🔮 Future Ideas

Ideas being explored for future versions:

  • 🎤 Lyrics
  • 👤 Artist pages
  • 💿 Album pages
  • 📻 Automatic radio
  • 🧠 Smart recommendations
  • 🎶 Smart queue
  • ⏩ Playback speed
  • 📊 Advanced listening statistics
  • 🔗 Playlist sharing
  • 🎵 Music sharing
  • 🎨 Dynamic player themes

Future ideas are exploratory and are not guaranteed features.


🗺️ Roadmap

Feature Status
Music playback 🟢 Working
Play / Pause ✅ Done
Previous track ✅ Done
Next track ✅ Done
Queue ✅ Done
Queue playback 🟢 Working
Automatic next track ✅ Autoplay implemented
Startup performance 🟡 Improving
Mini player ✅ Done
Full-screen player ✅ Done
Cinematic player ✅ Done
Recently played ✅ Done
Liked songs ✅ Done
Playlists ✅ Done
Search ✅ Done
Search history ✅ Done
Library ✅ Done
Sleep timer ✅ Done
Real-time Equalizer ✅ Done
Equalizer presets ✅ Done
Settings persistence ✅ Done
About screen ✅ Done
Liquid Glass navigation ✅ Done
Light theme ✅ Done
Dark theme ✅ Done
Background playback 🟢 Working
True crossfade 🚧 In development
Audio normalization 🚧 In development
High-quality stream selection 🚧 In development
Wi-Fi-only enforcement 🚧 In development
Offline playback 🚧 Coming soon
Listening statistics 🚧 Coming soon
Google Play Store 🚧 Coming soon

🛠️ Built With

Portal is built with:

  • Flutter
  • Dart
  • Material Design
  • just_audio
  • audio_service
  • youtube_explode_dart
  • shared_preferences
  • flutter_screenutil_plus
  • liquid_glass_easy
  • flutter_animate
  • flutter_hicons
  • flutter_svg

📱 Platform

Current

Android

Coming Soon

Google Play Store


🖼️ README Assets

Add the following files to the repository so the README renders correctly:

assets/
└── poster.png

screenshots/
├── 01-home.png
├── 02-search.png
├── 03-player.png
├── 04-library.png
├── 05-playlists.png
├── 06-equalizer.png
└── 07-settings.png

🚀 Getting Started

Prerequisites

Make sure you have:

  • Flutter SDK
  • Dart SDK
  • Android Studio
  • Android SDK
  • A connected Android device or emulator

Clone

git clone https://github.com/souravkaushik-dev/Portal.git
cd Portal