{"id":13741891,"url":"https://github.com/fusetools/FuseCloud","last_synced_at":"2025-05-08T22:32:46.428Z","repository":{"id":88194853,"uuid":"76348166","full_name":"fusetools/FuseCloud","owner":"fusetools","description":"A music player made with Fuse","archived":true,"fork":false,"pushed_at":"2018-02-15T09:53:48.000Z","size":13619,"stargazers_count":78,"open_issues_count":1,"forks_count":16,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-01-19T11:35:07.441Z","etag":null,"topics":["android","example","fuse","ios","music-player","soundcloud"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fusetools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2016-12-13T10:22:44.000Z","updated_at":"2024-04-19T08:44:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"7b3a6da1-df31-46b4-8d0a-b8adbccae11e","html_url":"https://github.com/fusetools/FuseCloud","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/fusetools%2FFuseCloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusetools%2FFuseCloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusetools%2FFuseCloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusetools%2FFuseCloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fusetools","download_url":"https://codeload.github.com/fusetools/FuseCloud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253158518,"owners_count":21863318,"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","example","fuse","ios","music-player","soundcloud"],"created_at":"2024-08-03T04:01:03.764Z","updated_at":"2025-05-08T22:32:44.635Z","avatar_url":"https://github.com/fusetools.png","language":"JavaScript","readme":"# Warning\n\nDue to SoundCloud revoking the API for this app, it has been removed from the App Store and Google Play Store. In order to run this app locally, you'll have to obtain your own SoundCloud API, which at the time of this writing (16. Jan 2018) they have stopped issuing.\n\n# FuseCloud\n\n[![Build Status](https://travis-ci.org/fusetools/FuseCloud.svg?branch=master)](https://travis-ci.org/fusetools/FuseCloud)\n\nFuseCloud is a cross-platform music player that interacts with the SoundCloud\u003csup\u003e®\u003c/sup\u003e API, made with [Fuse](https://www.fusetools.com).\nIt allows you to log in with your SoundCloud\u003csup\u003e®\u003c/sup\u003e user account and listen to your favorite tracks as well as discover new music through a news feed and conventional search.\n\nThis app was made to serve as a reference app for people getting started with cross-platform app development using Fuse and will also serve as the source for tutorials and guides related to app development in Fuse. It is made using the best practices of the platforms and shows of advanced use-cases like foreign code, custom JavaScript native modules, the Storage and InterApp modules and much more.\n\nThe app can be downloaded for both Android and iOS throug the [AppStore](https://itunes.apple.com/us/app/fusecloud/id1173516856?mt=8) and [Google Play Store](https://play.google.com/store/apps/details?id=com.fuse.fusecloud\u0026hl=en).\n\nWe've written about the motivation behind this project in [this medium article](https://medium.com/@fusetools/i-made-a-cross-platform-soundcloud-player-with-fuse-9fb1e62b7db1#.lhu76dfj6).\n\n## Setup\n\nRegister your app at https://soundcloud.com/you/apps. Assign a custom redirect uri to let SoundCloud\u003csup\u003e®\u003c/sup\u003e know how to route back to the app after the user has logged in. We chose fuse-soundcloud://fuse for our app, but you'll need to come up with a new one.\n\nAdd the uri scheme definition to the FuseCloud/FuseCloud.unoproj file (swap fuse-soundcloud with your scheme):\n\n\t\"Mobile\":{\n\t\t\"UriScheme\": \"fuse-soundcloud\",\n\t\t\"Orientations\": \"Portrait\"\n\t},\n\nCopy the client id and client secret to SoundCloud/SoundCloudConfig.js\n\nStart Fuse preview:\n- iOS - `fuse preview -tios`\n- Android - `fuse preview -tandroid`\n\n* Note: Local preview works, but with a limited feature set:\n\t  - No audio stream\n\t  - No login\n\n## Disclaimer\n\nFuseCloud is an unofficial SoundCloud music player, and is not in any way endorsed by SoundCloud\u003csup\u003e®\u003c/sup\u003e. It simply uses the SoundCloud API.\n\n## Features\n\n- Authentication with SoundCloud\u003csup\u003e®\u003c/sup\u003e using OAuth 2.0\n    - Using the InterApp package to launch url in external browser and repond to uri\n    - Automatically refresh invalid tokens\n- Fetching from REST API\n- News feed, track search, favorites\n\n- Like/unlike track\n- Track artwork\n- Display comments for track\n- Post comment\n- User profile stats\n\n- Swipe left/right to go to previous/next track\n- Pull to refresh\n- Infinte scrolling lists\n- Swipe to reveal list item actions (unlike in favorites view)\n- Persistent UI state using the Storage API (welcome information only shows first time the app is started)®\n\n- HTTP Audio StreamingPlayer for iOS and Android\n    - Streaming music from SoundCloud\u003csup\u003e®\u003c/sup\u003e\n\t- Custom seek bar\n    - Background audio\n    - Lock screen controls on iOS and Android\n        - iOS:\n            - next, previous, play/pause, seek from lockscreen\n            - lockscreen artwork\n        - android media style notification:\n            - next, previous, play/pause\n            - displays artwork in notification and background\n    - Playlists\n    - Auto play next on song completed\n\t\n## Note on the authentication flow on iOS\n\nApple considers opening an external browser as a part of the login flow to be poor UX design and suggests using the `SFSafariViewController` component instead.\nWe have therefore made a small wrapper around that component to allow showing it full screen inside the app.\n","funding_links":[],"categories":["JavaScript","Applications"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffusetools%2FFuseCloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffusetools%2FFuseCloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffusetools%2FFuseCloud/lists"}