An open API service indexing awesome lists of open source software.

https://github.com/chaosthechaotic/adiman

A music player written in flutter inspired by namida
https://github.com/chaosthechaotic/adiman

audio-player dart flutter flutter-apps flutter-music-app flutter-music-player linux-app linux-desktop-app linux-music-player music music-player player playlist rust

Last synced: about 2 months ago
JSON representation

A music player written in flutter inspired by namida

Awesome Lists containing this project

README

          



Adiman


![](https://img.shields.io/badge/Built%20in-Flutter-%23369FE7)
![](https://img.shields.io/badge/Built%20with-Flutter%20Rust%20Bridge-%23369FE7)
![](https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/ChaosTheChaotic/Adiman/badge?style=flat&logo=dart&logoColor=aqua&label=Total%20Lines&color=darkturquoise)

A flutter music player app I made for linux using [flutter_rust_bridge](https://github.com/fzyzcjy/flutter_rust_bridge) for efficency (as I can't code well) inspired by [namida](https://github.com/namidaco/namida) as you will have seen by the obvious fact that the name is just namida backwards.

# Dependencies (These apply even when not building)

- FFmpeg
- yt-dlp (via python if you want downloading songs to work)
- GTK
- SQLite

# Installing

(There are only linux builds currently) Head over to [releases](https://github.com/ChaosTheChaotic/Adiman/releases/latest), download the appimage for your architecture, mark executable (if needed using `chmod +x TheAppImage`) and run the appimage

# Features

- Can play music (duh)
- Customisable
- Adaptive UI
- Intuitive UI
- Non-intrusive UI
- Smooth animations
- Plugin Support (to develop or add plugins look through the [documentation](PLUGINS.md))
- Playlists
- Downloading songs via yt-dlp command line tool (requires yt-dlp installed)
- Waveform seekbar
- Lyrics from online source ([lrclib](https://lrclib.net/))
- Shuffle option (mostly untested due to me not using it that often)
- Mpris support (app is recognised by playerctl etc)
- Shuffling
- Sorting
- Searching
- Artist separators (Also untested due to me not using it that often)
- Caching
- Choosable music folder
- In-app volume slider
- CD Support
- Playlist sorting
- Playlist merging
- Customisable seekbar
- Auto conversion of non-mp3 songs via ffmpeg (if you have many of these files you might have to wait a bit before reloading the library)
- Horribly inefficent code

# Plugin development
You may find plugin development in the [PLUGINS.md](PLUGINS.md#developing-plugins)

# Screenshots








# Building
## Preqrequisites
- flutter
- flutter_rust_bridge_codegen (installed via cargo)
- cdparanoia (this is required for my cd_audio library to build as it uses cdda_interface.h)
- libcdio
- libcdio_cdda
- git
- gtk
- rustup
- rust
- AcoustID API key
## Build steps
1. Git clone the repo and go into the directory
```
git clone "https://github.com/ChaosTheChaotic/Adiman.git" && cd Adiman
```
2. Add API to .env file
```
echo "ACOUSTID_API=YOUR_API" >> rust/.env
```
3. Run the build commands
```
flutter_rust_bridge_codegen generate && flutter build linux --release
```
4. The app should be done and you can now run it
```
build/linux//release/bundle/adiman
```

# Helpful people
- MSOB7Y (the creator of namida) for the inspiration and motivation for this and where I got the original icons from
- DuckTheCrowolf (thevietnamesecrow on discord) for making the logo