Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dinaraparanid/primapc
Prima music player for PC
https://github.com/dinaraparanid/primapc
audio-player compose-desktop coroutines decompose-navigation diesel-rs jni koin kotlin rodio rust serde sqlite tokio yaml
Last synced: about 1 month ago
JSON representation
Prima music player for PC
- Host: GitHub
- URL: https://github.com/dinaraparanid/primapc
- Owner: dinaraparanid
- License: gpl-3.0
- Created: 2021-06-27T19:41:54.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-08-22T22:50:06.000Z (over 1 year ago)
- Last Synced: 2024-04-17T00:01:12.120Z (9 months ago)
- Topics: audio-player, compose-desktop, coroutines, decompose-navigation, diesel-rs, jni, koin, kotlin, rodio, rust, serde, sqlite, tokio, yaml
- Language: Kotlin
- Homepage:
- Size: 3.6 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
**Prima (PC version)**
------------------------
[![Kotlin](https://img.shields.io/badge/kotlin-1.9.0-blue.svg?logo=kotlin)](http://kotlinlang.org)
[![Rust](https://img.shields.io/badge/rust-1.73.0-orange.svg?logo=rust)](https://www.rust-lang.org)## **Developer**
[Paranid5](https://github.com/dinaraparanid)## **About App**
**Prima** is a music player application that works with local music on your device.
Application is written with domain layer (audio player + database) on Rust language
and UI layer with Kotlin and Compose Multiplatform### **Preview**
**Playback of local tracks +
audio effects +
current playlist**
**Ordering and filtering search**
**Artists and their tracks**
**Favourites**
## **Stack**
- General
- Kotlin 1.9.0
- Rust 1.73.0
- Java 11
- Cargo Gradle extension
- JNI Rust crate
- Concurrency
- Rust
- Tokio
- Futures + Futures Timer (Delay extension)
- Async Recursion
- Atomic Float
- Once Cell
- Kotlin
- Coroutines
- State Flow
- Databases and files
- Diesel ORM + Diesel Migrations
- Dirs2
- Serde
- Yaml-Rust
- Dotenv (Rust)
- Kaml + Kotlinx.Serialization
- Audio
- Rodio
- Chrono (duration and dates of tracks)
- JAudioTagger
- UI
- Compose Desktop
- Decompose navigation library
- Koin
**Current status**
------------------------
**Alpha V 0.3.0**
### **Implemented features:**
1. Media playback with local tracks
2. Current playlist system (add, remove, replace tracks)
3. Audio Effects: Pitch, Speed, Amplifier
4. Searching + filtering
5. Artists and their tracks
6. Favourites (tracks and artists)
### **TODO:**
1. Albums
2. Changing tracks' tags
3. Tracks' lyrics and information
4. Custom playlists
5. Settings
6. Track trimming
7. Statistics
8. *"Guess the Melody"* game
## **System Requirements**
Project is currently supported on **Linux only**.
Support for other platforms is coming soon.
## **License**
*GNU Public License V 3.0*