Coder Social home page Coder Social logo

linusg / spotifube Goto Github PK

View Code? Open in Web Editor NEW
26.0 8.0 6.0 108 KB

Download songs from YouTube using Spotify playlists or song URLs. Uses spotify-downloader under the hood.

License: MIT License

JavaScript 67.26% CSS 32.74%
playlist songs youtube spotify python electron nodejs reactjs download-songs

spotifube's Introduction

Spotifube

A GUI for the https://github.com/ritiek/spotify-downloader/ project.

How this works

spotify-downloader is a CLI that uses Spotify tracks/playlists to match youtube videos and download them as mp3, including id3, album art, etc.

This project should provide initially (MVP) a simple UI to drag and drop playlist links, fetch the tracks inside of these playlists and provide a way to the user download these songs into a folder.

Note

Currently not much is done. This project is maintained by a spotify-downloader collaborator โ€“ it aims at providing a complete wrapper of the CLI tool!

I'm kinda busy but work will continue within the next weeks. Unless you know Electron, don't try using this. It's nothing but a mess :)

Development Scripts

# run application in development mode
yarn dev

# compile source code and create webpack output
yarn compile

# `yarn compile` & create build with electron-builder
yarn dist

# `yarn compile` & create unpacked build with electron-builder
yarn dist:dir

spotifube's People

Contributors

djalmaaraujo avatar linusg avatar ritiek 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spotifube's Issues

0 - Implement matches text

found

We need to:

  • Call the CLI
  • Look for the generated .txt file
  • Read all the lines
  • Count them and show like the image above

Before starting: to be discussed, defining overall common plans

To be discussed:

  • Colors (imitate spotify? legal issues?)
  • Techniques used: Electron, thus a web-tech based application with a JS "backend" and CSS frontend, I would directly start using Sass which I prefer over Less and directly written CSS for "larger" applications
  • Usage workflow, related to mockups
  • Any preferences to save? Is there something built into Electron for platform independent use?
  • Keep dependencies low? IDK if there's any kind of helpers/utils for DOM manipulation etc. but in general I would stay away from stuff like jQuery.

Pack for all platforms

Pack for all platforms. Should be simple with the already existing setup. Would be nice to know how to pack.

For macOS/Windows, we need a certificate, but we won't be using unless someone wants to pay ;)

Create some Mockups

Should this be a tray application or a full window? Might be better to not be a tray, since this is something that you don't use everyday.

  • Create a mockup and upload here

2 - Download progress

downloads

Implement download feature by calling the CLI to download the playlist.

Command to run:

python3 spotdl.py --playlist=https://open.spotify.com/user/spotify/playlist/37i9dQZF1DXc0iyNwZI144
  • Get the output of this command and show a simple text like Downloading 23 of 78.
  • Do a console.log() when it comes to and end
  • Open a PR

new maintainer

@linusg I am very busy to continue this project. I would be happy to deliver mockups when it's needed, but I won't be able to code anymore.

Let's move this project to your account, shall we?

You are the most active and with the most experience at the moment to handle.

1 - Choose a folder to save the files

found

When clicking on Download all, add a "file chooser" feature and move the playlist *.txt file to this folder.

Set this folder as a configuration of the session. We don't need to save locally on the disk yet.

This should be simple, we don't need to download the mp3 yet

Keep things simple.

Choosing a license

Not right now, but hopefully as the first lines of code come in. The worst thing a dev can do is probably putting more than a couple of lines of code out there without stating any license.

I usually go for MIT but would really not mind if it's going to be some more restrictive or even less restrictive. spotify-downloader is also licensed under MIT.

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.