GithubHelp home page GithubHelp logo

xtangle / zoundcloud Goto Github PK

View Code? Open in Web Editor NEW
31.0 3.0 4.0 5.75 MB

Chrome extension that adds download buttons to SoundCloud pages.

Home Page: https://chrome.google.com/webstore/detail/zoundcloud-downloader/bhnpokjikdldjiimbmoakkfekcnpkkij

License: MIT License

JavaScript 12.03% CSS 0.24% TypeScript 84.57% HTML 1.82% Shell 1.34%
chrome-extension soundcloud typescript webpack nightwatch nodejs

zoundcloud's Introduction

ZoundCloud Downloader

Chrome Web Store Build Status Coverage Status Known Vulnerabilities Dependencies Status DevDependencies Status CodeFactor

Description

A Google Chrome extension that adds download buttons to SoundCloud web pages.

This extension will add download buttons to:

  • Individual track pages.
  • User pages (downloads all of a user's tracks).
  • Playlist pages (downloads the entire playlist).
  • Tracks that are contained in scrollable lists.

By default, when a download is started it will download the mp3 version of the song with metadata (including cover art) added. It can be configured from the options menu to not add metadata or prefer to download songs in its uploaded format (if available).

Metadata information and cover art is automatically added to files in .mp3 format. The added metadata includes: cover art, title, album artist, genres, duration, release year, bpm, artist url, audio source url, and description.

Note: When metadata is enabled, download progress will not show in the browser until the entire song is downloaded.

All tracks will be downloaded to the user's default Downloads folder.

  • Tracks are downloaded with the name track_title.
  • Playlists are downloaded to a folder with the name user_name - playlist_name.
  • User tracks are downloaded to a folder with the name user_name.

If a file with the same name exists, it will not be overwritten. This can be changed from the options menu.

Special characters in the title will be replaced by an underscore (unless it's a tilda, in which case it is replaced by a dash (-) symbol).

The extension will attempt to remove strings in track titles matching variations of 'Free Download' or 'Download Link' as the suffix. The regex used for matching is configurable.

Installation

From Chrome Web Store

From Archive

  • Go to the Releases page and download the zoundcloud-<version-number>.zip file of the release you wish to install.
  • Extract the downloaded zip file to a folder anywhere.
  • Open Google Chrome and navigate to chrome://extensions.
  • Click Load Unpacked and choose the folder where the contents were extracted to in the first step.

From Source

The extension is created as a Node.js project and does not come pre-packaged. To build from source, make sure Node.js (version >= 7.6) and yarn is installed.

  • Clone the project from GitHub to a local directory.
  • In the project directory, run yarn install.
  • Run either yarn run build (for extra logging) or yarn run build:prod (for production build).
  • Open Google Chrome and navigate to chrome://extensions.
  • Click Load Unpacked and choose the dist folder in this project.

Todo

  • Firefox support.
  • Make downloads cancellable.
  • Some visual indicator to track current and previous download progress.

zoundcloud's People

Contributors

dependabot-support avatar dependabot[bot] avatar greenkeeper[bot] avatar xtangle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

zoundcloud's Issues

{artist_name} - {track_title}

I have always used this format for my mp3's artist_name - track_title. This would be a nice enhancement. For me anyway :)

Great work, hope this stay's working.

Flaky end-to-end tests

Getting errors of the form:

    POST  /session/b0d1c1bbbd565a690f464ef4744c2a20/url - ECONNRESET
Error: socket hang up
    at createHangUpError (_http_client.js:330:15)
    at Socket.socketCloseListener (_http_client.js:371:25)

randomly throughout the end-to-end tests. Seems to be related to this issue in nightwatch: nightwatchjs/nightwatch#1936. Doesn't affect test results as subsequent retries usually succeeds.

Add likes support

I've been trying to reverse-engineer your extension for a while to try to add downloading the songs that a user has liked like a playlist, here is one example URL of what I mean: https://soundcloud.com/*username*/likes .
You try to use the functions that you already use to download playlists, because I think that it works like one of them.

Addon vanished from chrome webstore

hello @xtangle

I was wondering why I couldn't find your addon in the chrome webstore anymore, after finding out the direct link I was thrown to a 404 page. Is this intentional, what happened?

Regards

Can't download (my version)

Remember that Limitbreak7777 post the issue #17 ?

So, i can't download either. (also, i got the latest version not on google chrome, on github releases)

Everytime i download appears this:

Screenshot_4

Can you fix this, please?

Can't download

(sorry, don't know anything about programming or GitHub, got registered for the sole purpose of sending feedback for this extension. thanks for the great work on it!)

Here's the song I was trying to download:

https://soundcloud.com/tycho/maggie-rogers-alaska-tycho-remix-1?in=nickraymondg/sets/weekly-chill-volume-18

from the playlist:

https://soundcloud.com/nickraymondg/sets/weekly-chill-volume-18

Chrome version is:
Google Chrome is up to date
Version 72.0.3626.96 (Official Build) (64-bit)

After clicking on the button, nothing happens. I've tried cleaning cache, rebooting PC, reinstalling plug-in, downloading from a separate window.

Please let me know what other info I should provide. Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.