{"id":15040870,"url":"https://github.com/ologe/canaree-music-player","last_synced_at":"2025-04-04T12:09:15.485Z","repository":{"id":34968264,"uuid":"167444343","full_name":"ologe/canaree-music-player","owner":"ologe","description":"Complete music player published in the Play Store. Heavily relies on Dagger, kotlin coroutines and Clean architecture.","archived":false,"fork":false,"pushed_at":"2024-08-27T18:11:36.000Z","size":81247,"stargazers_count":512,"open_issues_count":21,"forks_count":82,"subscribers_count":16,"default_branch":"develop-v4","last_synced_at":"2025-03-28T11:08:41.068Z","etag":null,"topics":["android","android-app","android-application","android-architecture","android-development","audio","audio-player","music","music-player"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ologe.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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":"2019-01-24T21:59:12.000Z","updated_at":"2025-01-12T12:02:12.000Z","dependencies_parsed_at":"2024-10-01T03:00:51.444Z","dependency_job_id":"c85b54b1-276b-4df8-8789-9a1b89ea17b2","html_url":"https://github.com/ologe/canaree-music-player","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ologe%2Fcanaree-music-player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ologe%2Fcanaree-music-player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ologe%2Fcanaree-music-player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ologe%2Fcanaree-music-player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ologe","download_url":"https://codeload.github.com/ologe/canaree-music-player/tar.gz/refs/heads/develop-v4","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247174424,"owners_count":20896078,"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-application","android-architecture","android-development","audio","audio-player","music","music-player"],"created_at":"2024-09-24T20:45:12.532Z","updated_at":"2025-04-04T12:09:15.467Z","avatar_url":"https://github.com/ologe.png","language":"Kotlin","funding_links":["https://paypal.me/nextmusicplayer"],"categories":[],"sub_categories":[],"readme":"[github]:            https://github.com/ologe/canaree-music-player\n[paypal-url]:        https://paypal.me/nextmusicplayer\n[googleplay-url]:    https://play.google.com/store/apps/details?id=dev.olog.msc\n\n[platform-badge]:   https://img.shields.io/badge/Platform-Android-F3745F.svg\n[paypal-badge]:     https://img.shields.io/badge/Donate-Paypal-F3745F.svg\n[googleplay-badge]: https://img.shields.io/badge/Google_Play-Demo-F3745F.svg\n[minsdk-badge]:     https://img.shields.io/badge/minSdkVersion-21-F3745F.svg\n\n\u003c!-------------------------------------------------------------------------------------------------------\u003e\n\n\nCanaree: Music Player\n=\n\n[![platform-badge]][github]\n[![minsdk-badge]][github]\n[![paypal-badge]][paypal-url]\n[![googleplay-badge]][googleplay-url]\n\nComplete music player published in the Play Store. Heavily relies on Dagger, ~~RxJava~~ kotlin coroutines and Clean architecture.\n\n## Screenshots\n\u003cdiv style=\"dispaly:flex\"\u003e\n    \u003cimg src=\"images/device-2018-10-28-235818.png\" width=\"32%\"\u003e\n    \u003cimg src=\"images/device-2018-10-29-001417.png\" width=\"32%\"\u003e\n    \u003cimg src=\"images/device-2018-10-29-002256.png\" width=\"32%\"\u003e\n\u003c/div\u003e\n\n\n### Setup\nThe repository has [ExoPlayer](https://github.com/google/ExoPlayer) as git submodule, so you have clone the repository recursively:\n```\ngit clone --recursive git@github.com:ologe/canaree-music-player.git\n```\nOr if you're already cloned the repository, use the following commands to fetch submodules:\n```\ngit submodule init\ngit submodule update\n```\n\nCurrent exoplayer version used is `r2.18.3`\n\nAfter that, you'll need to add the following properties to `local.properties`\n```properties\nlast_fm_key=your_last_fm_key\nlast_fm_secret=your_last_fm_secret\n```\n\n### Extensions\nTo support [FLAC](https://github.com/google/ExoPlayer/tree/release-v2/extensions/flac), [FFMPEG](https://github.com/google/ExoPlayer/tree/release-v2/extensions/ffmpeg) and [OPUS](https://github.com/google/ExoPlayer/tree/release-v2/extensions/opus) formats to you need to compile manually the corresponding\nExoPlayer extensions.\n\n`scripts` directory contains some scripts for building the extensions on MacOS/Intel.\n\n## Translations\nHelp translate the app to your language [here](https://canaree.oneskyapp.com/admin/project/dashboard/project/162621)\n\n## Issues\nIf you find any problems, please feel free to file an [issue](https://github.com/ologe/canaree-music-player/issues).\n\n## Open-source libraries\n* [**ExoPlayer**](https://github.com/google/ExoPlayer)\n* [**Dagger**](https://github.com/google/dagger)\n* [**kotlinx.coroutines**](https://github.com/Kotlin/kotlinx.coroutines)\n* [**Scroll helper**](https://github.com/ologe/scroll-helper)\n* [**Color desaturation**](https://github.com/ologe/color-desaturation)\n* [**Content resolver SQL**](https://github.com/ologe/android-content-resolver-SQL)\n* [**Glide**](https://github.com/bumptech/glide)\n* [**Lottie**](https://github.com/airbnb/lottie-android)\n* [**Retrofit**](https://github.com/square/retrofit)\n* [**OkHttp**](https://github.com/square/okhttp)\n* [**Gson**](https://github.com/google/gson)\n* [**LastFm bindings**](https://github.com/jkovacs/lastfm-java)\n* [**java-aes-crypto**](https://github.com/tozny/java-aes-crypto)\n* [**Custom tabs**](https://github.com/saschpe/android-customtabs)\n* [**Material dialogs**](https://github.com/afollestad/material-dialogs)\n* [**fuzzywuzzy**](https://github.com/xdrop/fuzzywuzzy)\n* [**Leak canary**](https://github.com/square/leakcanary)\n* [**Stetho**](http://facebook.github.io/stetho/)\n\n## Download\n[\u003cimg src=\"https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png\" alt=\"\" height=\"100\"\u003e](https://play.google.com/store/apps/details?id=dev.olog.msc)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fologe%2Fcanaree-music-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fologe%2Fcanaree-music-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fologe%2Fcanaree-music-player/lists"}