Skip to content
forked from namidaco/namida

A Beautiful and Feature-rich Music Player Built in Flutter

License

Notifications You must be signed in to change notification settings

hassan1395/namida

 
 

Repository files navigation

Namida

A Beautiful and Feature-rich Music & Video Player with Youtube Support, Built in Flutter

Sections:

🎉 Features

  • Everything you might expect from a music player, in addition to the following:

Library & Indexing

  • Powerful Indexer & Tag Editor, powered by @jaudiotagger.
  • Artists and Genres Separators.
  • Prevent Duplicated Tracks.
  • Set Minimum File Size & Duration.
  • Folders-based Library system, with the ability to exclude folders as well.
  • Sort by almost any property of the track or the album.. etc.

Look & Feel

  • Material3-like Theme.
  • Dynamic Theming, Player Colors are picked from the current album artwork.
  • Home, Tracks, Albums, Artists, Genres, Playlists, Queues and Folders Pages.
  • Waveform Seekbar.
  • Lots of customizations (check out customization section).

Streaming

  • Best Video & Audio Quality
  • Audio Only Mode
  • Support Caching & Offline Playback
  • Support Downloads
  • Video View with gestures support (swipe to control volume, double tap to seek, swipe up/pinch in to enter fullscreen, etc)
  • Edit tags for downloads
  • Optional Auto title/artist/album extraction for downloads and scrobbling

Others:

  • Sleep Timer (Tracks or Minutes)
  • Crossfade, Play/Pause Fade Effect, along with Skip Silence.
  • Control pausing scenarios (calls, notifications, volume 0, etc..)
  • Define parameters to use for filtering tracks in search lists.
  • Global Tracks Selection
    • allows u to select from multiple places into the same list.
  • Never miss your sessions!
    • persistent and reliable queue system, your sessions are saved for later usage.
  • Reliable History System
    • despite being a flexible system (easily modified, manipulated, imported), it lets u specifiy minimum seconds/percentage to count a listen.
  • Most Played Playlist
    • find out your top tracks based on your history record.

Some additional cool features:

  • Smort Tracks Generation:
    • uuh.. with dis advanced algorithm brought for you, u can generate tracks related to one you currently listening to, typically the ones that you often listened to in the same period. based on your history.
    • also u can generate tracks released around the same time, or from specific range of time, from ratings, from available moods, or randomly.
  • Animating Thumbnail:
    • A thumbnail that animates with the current audio peak, looks cool.
  • Miniplayer Party Mode:
    • Applies an edge breathing effect, colors can be static or dynamic (all the colors extracted from the artwork)
  • Particles Effect
    • they speed up with the audio peak too
  • Track Play Mode
    • when playing from search, you can selected wether to play: selected track only, search results, album, first artist or first genre.
  • Insert after latest inserted
    • Want to insert multiple tracks one after each other? this will get your back.
  • Repeat for N times
    • in addition to normal repeat modes (all, none, one), this one lets you repeat the track for number of times before playing the next track.
  • Extract feat. & ft. artist
    • u won't miss the featured artists in the title, they'll have their own entry inside artists tab.
  • CAN IMPORT YOUTUBE HISTORY

  • LASTFM TOO AND MAYBE MORE IN FUTURE

  • you gonna find decent amount of options/customizations in the settings and inside dialogs so make sure to check them out.

Video Integration

  • For Local Library, Namida is capable of playing videos related to the music, Video can be found either locally or fetched from youtube
How locally?
typically looks (inside the folders you specificed) for any matching title, matching goes as following:
-- Alan walker - Faded.m4a
-- video alAn WaLkER - faDed (480p).mp4
the video filename should contain at least one of the following:
1. the music filename as shown above.
2. title & first artist of the track.
note: some cleanup is made to improve the matching, all symbols & whitespaces are ignored.
How youtube?
• looks up in the track comment tag (as they are mostly done by @yt-dlp) or filename for any matching youtube link, if found then it starts downloading (and caches) and plays once it's ready, streaming here isn't a good idea as the priority goes for the music file itself.

Screenshots

Customization Settings

YouTube Miniplayer


Usage Preview

Animating Thumbnail Recommends & Listens
animating_thumbnail_breathing.mp4
recommended_listens_history.mp4

Installation

  • Download latest version from releases page
  • Available variants are arm & arm64

Permission Note:

the following actions require all_files_access permission (requested when needed)
  • editing audio tags
  • creating or auto-restoring backups
  • saving artworks
  • compressing images
  • downloading youtube content
  • playing tracks from a root folder

Special Thanks:

  • @Artx-II for their initial dart port of Newpipe Extractor, which powers youtube section.
  • @cameralis for their awesome miniplayer physics.
  • @alexmercerind for helping me out a lot.
  • @lusaxweb for their awesome Iconsax icon pack.
  • All packages' maintainers which made namida possible.

© Logo by @midjourney

Contribute

Donate

  • Donation will help improve namida and will show appreciation.

Buy Me A Coffee

ko-fi

Bitcoin: bc1ql802k98ml3aum4v2cm9am4kg2lm5w8w6w2xlhh

ETH/MATIC: 0x13f1a519228C83BBbDE11BAF804515672f9C6c2A

  • Don't forget to 🌟 star the repo if you like the project.

Social

LICENSE

Project is licensed under EULA License.

© Copyright (C) 2023-present Namidaco <[email protected]>
- You may read/compile/modify the code for your personal usage, or for the purpose of contribution for the software.
- Redistributing the program as a whole under different name or license without permission is not allowed.

About

A Beautiful and Feature-rich Music Player Built in Flutter

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Dart 98.3%
  • Kotlin 1.7%