{"id":13454578,"url":"https://github.com/namidaco/namida","last_synced_at":"2025-05-14T04:09:43.410Z","repository":{"id":198487751,"uuid":"600800971","full_name":"namidaco/namida","owner":"namidaco","description":"A Beautiful and Feature-rich Music \u0026 Video Player with Youtube Support, Built in Flutter","archived":false,"fork":false,"pushed_at":"2025-05-05T03:05:48.000Z","size":88378,"stargazers_count":3216,"open_issues_count":87,"forks_count":175,"subscribers_count":36,"default_branch":"main","last_synced_at":"2025-05-05T03:29:31.722Z","etag":null,"topics":["android","android-app","android-music-player","audio-player","beatiful-ui","flutter","flutter-app","flutter-apps","flutter-music-app","flutter-music-player","lastfm","music","music-player","music-player-application","player","playlist","video","video-player","video-player-application","youtube"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/namidaco.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":"namidaco","open_collective":null,"ko_fi":"namidaco","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://www.buymeacoffee.com/namidaco"]}},"created_at":"2023-02-12T16:36:03.000Z","updated_at":"2025-05-05T03:05:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"4703b33a-d870-460d-a72f-0a93a030151c","html_url":"https://github.com/namidaco/namida","commit_stats":{"total_commits":1533,"total_committers":1,"mean_commits":1533.0,"dds":0.0,"last_synced_commit":"34d14c680881174dfafcffa85c1b2b62038d4f06"},"previous_names":["namidaco/namida"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namidaco%2Fnamida","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namidaco%2Fnamida/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namidaco%2Fnamida/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namidaco%2Fnamida/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/namidaco","download_url":"https://codeload.github.com/namidaco/namida/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254070107,"owners_count":22009559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-app","android-music-player","audio-player","beatiful-ui","flutter","flutter-app","flutter-apps","flutter-music-app","flutter-music-player","lastfm","music","music-player","music-player-application","player","playlist","video","video-player","video-player-application","youtube"],"created_at":"2024-07-31T08:00:55.566Z","updated_at":"2025-05-14T04:09:38.389Z","avatar_url":"https://github.com/namidaco.png","language":"Dart","funding_links":["https://patreon.com/namidaco","https://ko-fi.com/namidaco","https://www.buymeacoffee.com/namidaco","https://ko-fi.com/U7U0PF2L5"],"categories":["Dart","android","🎬 Media \u0026 Entertainment","🎧 YouTube Music"],"sub_categories":["📺 Streaming Services"],"readme":"\u003clink rel=\"stylesheet\" href=\"styles.css\" /\u003e\n\n# \u003cdiv style=\"margin-right: 18px; margin-top: 18px; display:flex; vertical-align: middle; align-items: center; max-width: 100%;\"\u003e\u003cimg src=\"some stuff/namida.png\" width=\"82\" style=\"margin-right: 18px;\"\u003eNamida\u003c/div\u003e\n\nA Beautiful and Feature-rich Music \u0026 Video Player with Youtube Support, Built in Flutter\n\n\u003ca href=\"https://github.com/flutter/flutter\"\u003e![](https://img.shields.io/badge/Built%20in-Flutter-%23369FE7)\n\u003c/a\u003e\n\u003ca href=\"https://t.me/namida_official\"\u003e![](https://img.shields.io/badge/Channel-blue?link=https%3A%2F%2Ft.me%2Fnamida_officialt\u0026logo=telegram\u0026logoColor=white)\n\u003c/a\u003e\n\u003ca href=\"https://t.me/+FmdfsgKoGmM1ZGFk\"\u003e![](https://img.shields.io/badge/Chat-blue?link=https%3A%2F%2Ft.me%2F%2BFmdfsgKoGmM1ZGFk\u0026logo=telegram\u0026logoColor=white)\n\u003c/a\u003e\n\u003ca href=\"https://discord.gg/WeY7DTVChT\"\u003e![](https://img.shields.io/badge/Discord-7B55C1?link=https%3A%2F%2Fdiscord.gg%2FWeY7DTVChT\u0026logo=discord\u0026logoColor=white)\n\u003c/a\u003e\n\u003ca href=\"https://github.com/namidaco/namida/releases\"\u003e\n![](https://img.shields.io/github/downloads/namidaco/namida/total.svg)\n\u003c/a\u003e\n\u003ca href=\"https://github.com/namidaco/namida/releases\"\u003e\n[![Hits-of-Code](https://hitsofcode.com/github/namidaco/namida?branch=main)](https://hitsofcode.com/github/namidaco/namida/view?branch=main)\n\u003c/a\u003e\n\u003ca href=\"https://github.com/namidaco/namida/releases\"\u003e\n[![](https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/namidaco/namida/badge?style=flat\u0026logo=dart\u0026logoColor=aqua\u0026label=Total%20Lines\u0026color=darkturquoise)](https://ghloc.vercel.app/namidaco/namida?branch=main)\n\u003c/a\u003e\n\u003ca href=\"https://translate.codeberg.org/engage/namida-translations/\"\u003e\n\u003cimg src=\"https://translate.codeberg.org/widget/namida-translations/namicomp/svg-badge.svg\" alt=\"Translation status\" /\u003e\n\u003c/a\u003e\n\n# Sections:\n\n- [Features](#-features)\n  - [Library \\\u0026 Indexing](#library--indexing)\n  - [Look \\\u0026 Feel](#look--feel)\n  - [Streaming \u0026 Youtube](#streaming--youtube)\n  - [Others](#others)\n  - [Some additional cool features](#some-additional-cool-features)\n- [Video Integration](#video-integration)\n- [Screenshots](#screenshots)\n- [Usage Preview](#usage-preview)\n- [Installation](#installation)\n- [Permission Note](#permission-note)\n- [Special Thanks](#special-thanks)\n- [Contribute](#contribute)\n- [Donate](#donate)\n- [Social](#social)\n- [LICENSE](#license)\n\n# 🎉 Features\n\n- Everything you might expect from a music player, in addition to the following:\n\n## Library \u0026 Indexing\n\n- Powerful Indexer \u0026 Tag Editor, powered by @jaudiotagger.\n- Artists and Genres Separators.\n- Prevent Duplicated Tracks.\n- Set Minimum File Size \u0026 Duration.\n- Folders-based Library system, with the ability to exclude folders as well.\n- Sort by almost any property of the track or the album.. etc.\n\n## Look \u0026 Feel\n\n- Material3-like Theme.\n- Dynamic Theming, Player Colors are picked from the current album artwork.\n- Home, Tracks, Albums, Artists, Genres, Playlists, Queues and Folders Pages.\n- Waveform Seekbar.\n- Lots of customizations (check out [customization section](#customization-settings)).\n\n## Streaming \u0026 Youtube\n\n- Best Video \u0026 Audio Quality\n- Audio Only Mode\n- Support Downloads, Caching \u0026 Offline Playback\n- Video View with gestures support (swipe to control volume, double tap to seek, swipe up/pinch in to enter fullscreen, etc)\n- Edit tags for downloads\n- Optional Auto title/artist/album extraction for downloads and scrobbling\n- Downloads output filename builder (similar to yt-dlp)\n\n\u003cdetails\u003e\n\n\u003csummary\u003eAvailable formats \u0026 example\u003c/summary\u003e\n\n- Formats:\n  - `video_id`, `id`: video identifier\n  - `video_url`, `url`: video full url (https://www.youtube.com/watch?v=`id`)\n  - `video_title`, `fulltitle`: video full title\n  - `title`: extracted music title from video title (*Navjaxx - **\u003cins\u003eFading Light\u003c/ins\u003e** (Slowed)*)\n  - `artist`: extracted music artist from video title (***\u003cins\u003eNavjaxx\u003c/ins\u003e** - Fading Light (Slowed)*) or else `channel`\n  - `genre`: music genre. automatically set to ***Nightcore*** when the video title contains \"nightcore\".\n  - `ext`: format container extension (mp4, m4a, webm). this is not necessary as it would be added automatically\n  - `channel_fulltitle`: channel full name\n  - `channel`, `uploader`: channel name (excluding ` - Topic`)\n  - `channel_id`, `uploader_id`: channel id\n  - `channel_url`, `uploader_url`: channel url\n  - `timestamp`: UNIX timestamp of the video (milliseconds since epoch)\n  - `upload_date`: upload date of the video, converted to local time (yyyyMMdd)\n  - `view_count`: view count of the video\n  - `like_count`: like count of the video\n  - `description`: video description. links are wrapped in a markdown style\n  - `duration`: video duration in seconds (204)\n  - `duration_string`: video duration formatted (3:24)\n  - `playlist_title`: title of the playlist containing the video\n  - `playlist_id`: id of the playlist containing the video\n  - `playlist`: `playlist_title` if available or else `playlist_id`\n  - `playlist_count`: total videos count in the playlist\n  - `playlist_index`: index of the video in the playlists (starts at 0)\n  - `playlist_autonumber`: position of the video in the playlists (starts at 1)\n  - `none`: empty field. useful for tags to override any other settings\n\n- Example: \n```bash\n# [04] music title [(channel name)]\n[%(playlist_autonumber)s] %(title)s [(%(channel)s)]\n\n# saving to separate folders\n# music playlist/02. music title.m4a\n%(playlist)s/%(playlist_autonumber)s. %(title)s.%(ext)s\n```\n\n\u003c/details\u003e\n\n## Others:\n\n- Lyrics auto fetching \u0026 displaying (Synced \u0026 Plain).\n- Sleep Timer (Tracks or Minutes)\n- Crossfade, Play/Pause Fade Effect, along with Skip Silence.\n- Replay Gain (Normalize Audio)\n- Control pausing scenarios (calls, notifications, volume 0, etc..)\n- Define parameters to use for filtering tracks in search lists.\n- Global Tracks Selection\n  - allows u to select from multiple places into the same list.\n- Never miss your sessions!\n  - persistent and reliable queue system, your sessions are saved for later usage.\n- Reliable History System\n  - despite being a flexible system (easily modified, manipulated, imported), it lets u specifiy minimum seconds/percentage to count a listen.\n- Most Played Playlist\n  - find out your top tracks based on your history record.\n\n## Some additional cool features:\n\n- Smort Tracks Generation:\n  - 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.\n  - also u can generate tracks released around the same time, or from specific range of time, from ratings, from available moods, or randomly.\n- Animating Thumbnail:\n  - A thumbnail that animates with the current audio peak, looks cool.\n- Miniplayer Party Mode:\n  - Applies an edge breathing effect, colors can be static or dynamic (all the colors extracted from the artwork)\n- Particles Effect\n  - they speed up with the audio peak too\n- Track Play Mode \n  - when playing from search, you can selected wether to play: selected track only, search results, album, first artist or first genre.\n- Insert after latest inserted\n  - Want to insert multiple tracks one after each other? this will get your back.\n- Repeat for N times\n  - 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.\n- Extract feat. \u0026 ft. artist\n  - u won't miss the featured artists in the title, they'll have their own entry inside artists tab.\n- \u003cp\u003eCAN IMPORT YOUTUBE HISTORY \u003cimg src=\"some stuff/ong.png\" width=16 height=16/\u003e\u003c/p\u003e\n- \u003cp\u003eLASTFM TOO AND MAYBE MORE IN FUTURE \u003cimg src=\"some stuff/yoowhat.gif\" width=16 height=16/\u003e\u003c/p\u003e\n- you gonna find decent amount of options/customizations in the settings and inside dialogs so make sure to check them out.\n\n# Video Integration\n\n- For Local Library, Namida is capable of playing videos related to the music, Video can be found either locally or fetched from youtube\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\n###### How locally?\n\n\u003c/summary\u003e\ntypically looks (inside the folders you specificed) for any matching title, matching goes as following:\n\u003cbr\u003e\n-- Alan walker - Faded.m4a\n\u003cbr\u003e\n-- video alAn WaLkER - faDed (480p).mp4\n\u003cbr\u003e\nthe video filename should contain at least one of the following:\n \u003cbr\u003e\n   1. the music filename as shown above.\n \u003cbr\u003e\n   2. title \u0026 first artist of the track.\n\u003cbr\u003e\nnote: some cleanup is made to improve the matching, all symbols \u0026 whitespaces are ignored.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\n###### How youtube?\n\n\u003c/summary\u003e\n\n  - 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.\n    - for comment tag, any url format should get matched normally.\n    - for filenames, it should contain `v=video_id` or `id=video_id` in order to get matched.\n  \n\u003c/details\u003e\n\n- Since v4.0.0, full video library indexing \u0026 playback is supported, videos can now be played independently, as well as dedicated videos folder view.\n\n# Screenshots\n\n\u003cimg src=\"screens/collection_light_1.jpg\" class=\"imgbr\"/\u003e\n\u003cimg src=\"screens/collection_light_2.jpg\" class=\"imgbr\"/\u003e\n\u003cimg src=\"screens/collection_dark_1.jpg\" class=\"imgbr\"/\u003e\n\u003cimg src=\"screens/collection_dark_2.jpg\" class=\"imgbr\"/\u003e\n\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n\n### Customization Settings\n\n  \u003c/summary\u003e\n    \u003cimg src=\"screens/customization_settings.jpg\" class=\"imgbr\" width=\"50%\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n\n### YouTube Miniplayer\n\n  \u003c/summary\u003e\n    \u003cimg src=\"screens/yt_miniplayer.png\" class=\"imgbr\" width=\"50%\"\u003e\n\u003c/details\u003e\n\u003cbr\u003e\n\n### Usage Preview\n\nAnimating Thumbnail        |  Recommends \u0026 Listens\n:-------------------------:|:-------------------------:\n\u003cvideo src=\"https://github.com/namidaco/namida/assets/85245079/da47c270-9f45-4ff5-a08e-e99e4b7ebb7c.mp4\"\u003e |  \u003cvideo src=\"https://github.com/namidaco/namida/assets/85245079/72e978b3-6e15-4b4e-948a-03b470802b30.mp4\"\u003e\n\n\n# Installation\n\n- Stable downloads: [stable-releases](https://github.com/namidaco/namida/releases)\n- Beta downloads: [beta-releases](https://github.com/namidaco/namida-snapshots/releases)\n- Available variants are `arm` \u0026 `arm64`\n\n### Permission Note:\n\n##### the following actions require \u003cspan\u003e`all_files_access`\u003c/span\u003e permission (requested when needed)\n\n\u003e - editing audio tags\n\u003e - creating or auto-restoring backups\n\u003e - saving artworks\n\u003e - compressing images\n\u003e - downloading youtube content\n\u003e - playing tracks from a root folder\n\n### Special Thanks:\n\n\u003e - [@MSOB7YY](https://github.com/MSOB7YY) for their youtube client, which powers youtube section.\n\u003e - [@cameralis](https://github.com/cameralis) for their awesome miniplayer physics.\n\u003e - [@alexmercerind](https://github.com/alexmercerind) for helping me out a lot.\n\u003e - [@lusaxweb](https://github.com/lusaxweb) for their awesome Iconsax icon pack.\n\u003e - All packages' maintainers which made namida possible.\n\u003e   \u003cbr\u003e\n\n\u003e ### © Logo by @midjourney\n\u003e ###### thanks [@sujxl24](https://github.com/sujxl24) for the monet version\n\n# Contribute\n- You can help translating Namida to your language on [translation repo](https://github.com/namidaco/namida-translations)\n- Building is not currently possible, see why on https://github.com/namidaco/namida/issues/37#issuecomment-1780341883\n\n# Donate\n\n- Donation will help improve namida and will show appreciation.\n\n\u003ca href=\"https://www.buymeacoffee.com/namidaco\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 42px;\" \u003e\u003c/a\u003e\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/U7U0PF2L5)\n\n\u003e Bitcoin (BEP20): 0x95b2834c84def92860df773d8b3d80d4c296d748\n\n\u003e ETH/MATIC (BEP20): 0x95b2834c84def92860df773d8b3d80d4c296d748\n\n\u003e USDT (BEP20): 0x95b2834c84def92860df773d8b3d80d4c296d748\n\n- Don't forget to 🌟 star the repo if you like the project.\n\n# Social\n- join us on our platforms for updates, tips, discussion \u0026 ideas\n  - [Telegram (Updates)](https://t.me/namida_official)\n  - [Telegram (Chat)](https://t.me/+FmdfsgKoGmM1ZGFk)\n  - [Discord](https://discord.gg/WeY7DTVChT)\n# LICENSE\n\nProject is licensed under [EULA](https://github.com/namidaco/namida/blob/main/LICENSE) License.\n\n```\n© Copyright (C) 2023-present Namidaco \u003cnamida.coo@gmail.com\u003e\n- You may read/compile/modify the code for your personal usage, or for the purpose of contribution for the software.\n- Redistributing the program as a whole under different name or license without permission is not allowed.\n```\n\n\u003ca href=\"https://star-history.com/#namidaco/namida\u0026Date\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=namidaco/namida\u0026type=Date\u0026theme=dark\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=namidaco/namida\u0026type=Date\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=namidaco/namida\u0026type=Date\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamidaco%2Fnamida","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnamidaco%2Fnamida","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamidaco%2Fnamida/lists"}