{"id":22015098,"url":"https://github.com/dinaraparanid/primapc","last_synced_at":"2026-04-11T11:36:50.760Z","repository":{"id":37552233,"uuid":"380824458","full_name":"dinaraparanid/PrimaPC","owner":"dinaraparanid","description":"Prima music player for PC","archived":false,"fork":false,"pushed_at":"2023-08-22T22:50:06.000Z","size":3771,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-22T13:02:28.972Z","etag":null,"topics":["audio-player","compose-desktop","coroutines","decompose-navigation","diesel-rs","jni","koin","kotlin","rodio","rust","serde","sqlite","tokio","yaml"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dinaraparanid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2021-06-27T19:41:54.000Z","updated_at":"2023-08-22T22:53:00.000Z","dependencies_parsed_at":"2025-01-28T15:32:56.401Z","dependency_job_id":"fa657ac4-f6cb-4b3c-bfa4-e3050a51f287","html_url":"https://github.com/dinaraparanid/PrimaPC","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/dinaraparanid/PrimaPC","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FPrimaPC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FPrimaPC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FPrimaPC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FPrimaPC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dinaraparanid","download_url":"https://codeload.github.com/dinaraparanid/PrimaPC/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FPrimaPC/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31679482,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T08:18:19.405Z","status":"ssl_error","status_checked_at":"2026-04-11T08:17:08.892Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["audio-player","compose-desktop","coroutines","decompose-navigation","diesel-rs","jni","koin","kotlin","rodio","rust","serde","sqlite","tokio","yaml"],"created_at":"2024-11-30T04:19:32.745Z","updated_at":"2026-04-11T11:36:50.730Z","avatar_url":"https://github.com/dinaraparanid.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"**Prima (PC version)**\n------------------------\n[![Kotlin](https://img.shields.io/badge/kotlin-1.9.0-blue.svg?logo=kotlin)](http://kotlinlang.org)\n[![Rust](https://img.shields.io/badge/rust-1.73.0-orange.svg?logo=rust)](https://www.rust-lang.org)\n\n## **Developer**\n[Paranid5](https://github.com/dinaraparanid)\n\n## **About App**\n\n**Prima** is a music player application that works with local music on your device.\nApplication is written with domain layer (audio player + database) on Rust language\nand UI layer with Kotlin and Compose Multiplatform\n\n### **Preview**\n\n**Playback of local tracks +\naudio effects +\ncurrent playlist**\n\n\u003cp\u003e\n    \u003cimg src=\"https://i.ibb.co/XpTTwKd/2023-08-23-00-02-08.png\" width=\"125\"\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://i.ibb.co/Sn1nn6n/2023-08-23-00-30-54.png\" width=\"125\"\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://i.ibb.co/N9G74Jf/2023-08-23-00-28-44.png\" width=\"125\"\u003e\n\u003c/p\u003e\n\n**Ordering and filtering search**\n\n\u003cp\u003e\n    \u003cimg src=\"https://i.ibb.co/P19vL7y/2023-08-23-00-03-33.png\" width=\"200\"\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://i.ibb.co/hZq4Y5F/2023-08-23-00-02-43.png\" width=\"200\"\u003e\n\u003c/p\u003e\n\n**Artists and their tracks**\n\n\u003cp\u003e\n    \u003cimg src=\"https://i.ibb.co/0ZtcZvS/2023-08-23-00-03-47.png\" width=\"200\"\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://i.ibb.co/ZSNgp5s/2023-08-23-01-00-26.png\" width=\"200\"\u003e\n\u003c/p\u003e\n\n**Favourites**\n\n\u003cimg src=\"https://i.ibb.co/6BMV8yS/2023-08-23-00-24-55.png\" width=\"300\"\u003e\n\n## **Stack**\n\n\u003cul\u003e\n    \u003cli\u003eGeneral\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eKotlin 1.9.0\u003c/li\u003e\n        \u003cli\u003eRust 1.73.0\u003c/li\u003e\n        \u003cli\u003eJava 11\u003c/li\u003e\n        \u003cli\u003eCargo Gradle extension\u003c/li\u003e\n        \u003cli\u003eJNI Rust crate\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003cli\u003eConcurrency\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eRust\u003c/li\u003e\n        \u003cul\u003e\n            \u003cli\u003eTokio\u003c/li\u003e\n            \u003cli\u003eFutures + Futures Timer (Delay extension)\u003c/li\u003e\n            \u003cli\u003eAsync Recursion\u003c/li\u003e\n            \u003cli\u003eAtomic Float\u003c/li\u003e\n            \u003cli\u003eOnce Cell\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003cli\u003eKotlin\u003c/li\u003e\n        \u003cul\u003e\n            \u003cli\u003eCoroutines\u003c/li\u003e\n            \u003cli\u003eState Flow\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/ul\u003e\n    \u003cli\u003eDatabases and files\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eDiesel ORM + Diesel Migrations\u003c/li\u003e\n        \u003cli\u003eDirs2\u003c/li\u003e\n        \u003cli\u003eSerde\u003c/li\u003e\n        \u003cli\u003eYaml-Rust\u003c/li\u003e\n        \u003cli\u003eDotenv (Rust)\u003c/li\u003e\n        \u003cli\u003eKaml + Kotlinx.Serialization\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003cli\u003eAudio\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eRodio\u003c/li\u003e\n        \u003cli\u003eChrono (duration and dates of tracks)\u003c/li\u003e\n        \u003cli\u003eJAudioTagger\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003cli\u003eUI\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eCompose Desktop\u003c/li\u003e\n        \u003cli\u003eDecompose navigation library\u003c/li\u003e\n        \u003cli\u003eKoin\u003c/li\u003e\n    \u003c/ul\u003e\n\u003c/ul\u003e\n\n**Current status**\n------------------------\n**Alpha V 0.3.0**\n\n### **Implemented features:**\n1. Media playback with local tracks\n2. Current playlist system (add, remove, replace tracks)\n3. Audio Effects: Pitch, Speed, Amplifier\n4. Searching + filtering\n5. Artists and their tracks\n6. Favourites (tracks and artists)\n\n### **TODO:**\n1. Albums\n2. Changing tracks' tags\n3. Tracks' lyrics and information\n4. Custom playlists\n5. Settings\n6. Track trimming\n7. Statistics\n8. *\"Guess the Melody\"* game\n\n## **System Requirements**\n\nProject is currently supported on **Linux only**.\nSupport for other platforms is coming soon.\n\n## **License**\n\n*GNU Public License V 3.0*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinaraparanid%2Fprimapc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdinaraparanid%2Fprimapc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinaraparanid%2Fprimapc/lists"}