Coder Social home page Coder Social logo

namidaco / namida Goto Github PK

View Code? Open in Web Editor NEW
942.0 14.0 74.0 32.36 MB

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

License: Other

Kotlin 1.73% Dart 98.26% CSS 0.01%
flutter music android android-app beatiful-ui music-player video video-player android-music-player flutter-app

namida's Introduction

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.

namida's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

namida's Issues

Feature Request - Fetch Album Art from a database.

Musicolet, again, is the inspiration of this feature request. They have a feature where when you press a button, it automatically opens a browser tab and searches a format. For album art, the default is album art <al> <t>, with <al> being the album name and <t> being the title, but I think a better format would be album art <al> <ar>, with <ar> being the artist name. The lyrics format is lyrics <t> <al>. Preferably, the user should be able to customize their search in the settings.

can't import my music library

Instead of the junk you get hit with when opening the app, you should be able to select a folder and the app scans just that folder quickly. Other music player apps like Poweramp and Oto music were able to import all 400 of my songs in a couple of seconds but this was able to find half of them in over a minute and stopped after that

[SUGGESTIONS] Some qol suggestions/features

I know this app is still new and needs time to mature. I understand if these doesn't get implemented anytime soon or never

  • A thicker Scroll Bar
  • Recently added sorting option aside from recently modified
  • Having seperate sorting option for both searched content and tracks. I usually like to view all of my tracks in alphabetical order and searched content in recently added
  • Accidently pressing the tracks button on navigation bar doesn't reset the list/doesn't scroll to the top (An option to disable this behaviour)
  • Having a search option in Settings to find things easily, specially with how customizable the app is and has more to come

Widget application and the other suggestions

I would love some things in this wonderful app:

  1. It is not possible to use ready playlists from the phone's memory, I would appreciate your treatment.
  2. When you open the app, it searches for songs, it doesn't find them all and it keeps searching every time, even though no new songs have been added, all the songs don't appear until it finishes searching every time
  3. It is not possible to control the music from the home screen because there is no widget for that, I would be happy to please add such a widget with the option to mark a like.
    Screenshot_20231018_092755
    Screenshot_20231018_085701_One UI Home

I would appreciate your help, thank you for your understanding

Progress bar not synchronized

When playing an audio the progress bar is not synchronized with the elapsed and passed time and not showing the position in the slider. And when taping it pause the player.
Also if you notice in the right side of the progress the time is 00:00
Screenshot_2023-10-24-14-41-39-891_com msob7y namida

How to reproduce:
Go setting and reindex and refresh library .
The open audio from the recent home

Feature Request - .lrc file support

The .lrc file is a file that allows for importing lyrics and their timestamps in the format [minute.second.centisecond]lyric. An example would be [0:32.48]No more holding back. Would go extremely well with a timed lyrics page, like Spotify.

Some songs just aren't playing

First of all i like your app a lot, it's very unique. It ticks most of the boxes for me and I've enjoyed using it however this is a one major problem I'm facing

Screenshot_2023-10-30-12-07-27-488_com msob7y namida

The app showed "error playing track" in few songs

Screenshot_2023-10-30-12-07-29-790_com msob7y namida

So i tried updating it

Screenshot_2023-10-30-12-07-35-189_com msob7y namida

Even tho the file hasn't been deleted, moved or renamed outside of Namida (as you can see the new name is same as old one) it's still not working after confirming the option

Screenshot_2023-10-30-12-07-41-455_com msob7y namida

I tried updating path directory and reindexing the artwork too but still no luck. I tried playing them in Poweramp, Musicolet and Metro and they're playing fine. I don't know what's happening exactly.

Showing opposite song name

First line is singer or artist and second line is Song name

Screenshot_20231019_175816.png

It is looking reverse rather song name should be visible first followed by singer name
Plz fix it

[FEATURE REQUEST] prioritize embedded lyrics over online fetching

When it comes to my local library I usually make my own synced lyrics and then embed them into the files, it seems namida fetches these lyrics on its own, which is very convenient, but an option to use the embedded lyrics instead in case it fails to find them online would be great

Show local like player for YouTube audio only mode

Hello , when we select YouTube audio only mode it shows player view kinda like video player. Can you make player view like local player. Also if we select audio only mode it will show music only not other videos. I want to use it as a music player alternative to YouTube music . Thanks in advance

Customization, Sorting & Possible Bug

  1. On the screen with now playing screen (?) I was wondering if it was possible to swap where the title of the song and artist are (screenshot one). Right now, the artist is on top. It's not a big deal, if not!

  2. Also, on the top of that screenshot you can see that it's playing song 62/1000 but in that playlist, I have 1058 songs. Is that supposed to happen?

  3. For the track view, I have the tracks sorted by album artist. But for some reason, it splits up the album (screenshot two). I've tried playing around with the settings but it doesn't seem to put the tracks in order by track number
    Screenshot_20231019-001529
    Screenshot_20231019-032756

Any help is appreciated and thank you for all your hard work! ✨

[BUG] latest release crash

installed latest arm (32) apk, it crashes but indexer keeps running on every start and the crashing (local songs are over 300 though).

install a old version with doesn't crash, yet.

Feature Request - Set As Ringtone

Musicolet has a feature that allows you to set a song as your ringtone in the app if you have it downloaded locally. I think it's a good feature that deserves a home here, too.

System font by default

Please add option to use system font as default font in Namida I'm using rosemary it's not apply in namida

Screen not appearing

While importing youtube history it the other screen did not show up i was useing a Android A5

[SUGGESTION] A Floating Search Button

A Floating search button would be great for ease of use. The place directly over mini player is perfect for thumb placement.
A few other ideas i have:-
An option to make it disappear temporarily while scrolling up.
It should follow the same color as song artwork just like mini player does.
It should work in every list like albums, artists and youtube.

IMG_20231102_145444

Good concept, bad implementation

I get what the app is trying to be but it's cluttered with features. Don't get me wrong, some of them are useful and new but everything is everywhere on the screen, the app is laggy and janky while trying to look polished

Feature Request - Add Desktop Variant

Hi team,

I’m a big fan of your media player, but I’m disappointed to see that it’s only available for mobile devices. I use a desktop media player all the time, like Spotube, and I would love to see a desktop version of your app to ensure consistent user experiences.

Lrc file isn't getting picked up automatically

I have both the music and lrc file saved in same directory with same name.
IMG_20231101_150233
However the app didn't scan for the lrc file automatically after i refreshed the library. I have to manually select it from my file explorer
Screenshot_2023-11-01-15-03-07-291_com msob7y namida

[BUILD] private libraries error

Git error. Command: git clone --mirror https://github.com/MSOB7YY/flutter_scrollbar_modified C:\Users\rssmo\AppData\Local\Pub\Cache\git\cache\flutter_scrollbar_modified-12875d6fecb8ca42576de23fe99c70fab4fd3a98
stdout:
stderr: Cloning into bare repository 'C:\Users\rssmo\AppData\Local\Pub\Cache\git\cache\flutter_scrollbar_modified-12875d6fecb8ca42576de23fe99c70fab4fd3a98'...
remote: Repository not found.
fatal: repository 'https://github.com/MSOB7YY/flutter_scrollbar_modified/' not found
exit code: 128
Process finished with exit c

App Creating Multiple Empty Queues

Hello! So far I really love the app but I'm having a problem. I've created a playlist with the tracks I wanted. When I go to the playlist tab, I click the three dots on the side and press the shuffle option. But when I do this, instead of playing the songs shuffled, it creates an empty queue that I can't delete like this and nothing plays. Any help would be appreciated!

Screenshot_20231011-003220

Full Youtube Support

Originally, youtube was only used to fetch videos for music library, or for history import, now that most backend stuff are ready, full youtube support is hoping on soon

  • Realtime Streaming
  • Cache Support (max cache in settings)
  • Offline Playback
  • Audio Only mode
  • Downloads
  • Configurable downloads metadata (with auto extraction)
  • AV Sync
  • Metadata caching system (description/channel details/comments)
  • Queue, Playlists & History System
  • Video Controls (quality/speed menu, double tap to seek, volume slider)
  • Fullscreen & PiP
  • Download Tasks Page (ongoing/finished), pause/resume/remove etc
  • Watch later Playlist
  • Subscriptions with groups
  • Import Youtube Playlists
  • Channel View
  • Playlist View
  • Queue View
  • History/Most Played/Liked Page

F-Droid support

A release in F-Droid would make the app more accessible to some people. I'm happy with using it via obtainium, but an fdroid publishing will give more exposure to the app.

In case fdroid rules are too restrictive, you can possibly look into Izzydroid repo too.

Feature Request - .mp3 support on downloaded YouTube videos.

Currently, when you go to download a YouTube video, it only gives you the option of .m4a for audio. .m4as are higher quality, however I feel the option should be there in case someone wishes to keep their audio library in one uniform file format, or alternatively, if they are using Namida to download YouTube videos and playing through something else.

[Improvement] Dialog lists resize

the top list gets smaller when the bottom one gets bigger, both should have same size, same dialog also with library tabs and editable tag fields
image

Features requests/ bug in the latest app version

Hi,

First of all love your app, it's really nice to have a new looking music and video app.
I don't know how hard it's to code it but i have different request and bugs to report.

The first one is that the album artist filter for the artists category doesn't work and show every artists (including the artists that are features on a song) individually, instead of having the artists you have an album from.

The second one is to have the ability to order tracks of an album (by track number per example). Because when wanting to listen to one they just show up in whatever order.

Third one is that in the indexer section, album identifiers. We can't select and save anything but the already pre-selected Name setting.


UPDATE:
with v1.4.8, issue is partially resolved

  • Album Artists tab, along with search
  • subpages tracks sorting (b82dce2) (available since v1.5.4)
  • album tracks sorting fix
  • album identifiers saving in settings

MP3 Tag Reading does not work correctly

Namida looks great but after scanning my 40k library its reporting I have 21 Albums, 9 Genres and the Artists screen doesn't function at all.

Let me know how I can help debug this. I tried to fork it but there are lots of flutter dependencies that aren't available so I couldn't build it.

Thanks

Screenshot_20231008-171559

Feature Request - Namida API

Could you consider adding support for plugins to interact with Namida.

Plugins can then reach out to various music services with the now playing track data and look for similar tracks services such as Spotify, MixCloud, LastFM, MusicMap and the plugin to respond with a track for Namida to play next.

Simple API that covers;
) Number of tracks in the playing queue and position of playing track in the queue (to determine if playing the last track in the queue)
) On a track change, Namida calls a plugins find function and passes the full file path of the playing track and metadata album, artist, track metadata (as a JSON payload?)
) Inbound request from the plugin, receive a track to play, either filepath or artist/album/track as optional metadata and Namida to add this to the end of the now playing queue

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.