Code Monkey home page Code Monkey logo

ytmdl's Introduction

ytmdl

Crates.io docs.rs GitHub license

Usage

Just run the executable and it should bring up the GUI. I recommend running it from a console for logging.

The first screen prompts for a YouTube playlist link and a Discogs release link.

Hitting the "Scrape" button will scrape the data then bring you to the screen where you can modify information. Discogs escapes some characters (e.g. & becomes &) so you might want to change that, and if there are multiple artists with the same name it'll show up as something like "Artist (3)".

Hitting the "Download" button here will start the downloads. It won't respond while doing this, but will continue to log to the console (hence why I recommend running it from the console). This step took ~20s for a 6 track album for me, but sometimes it can take longer (I believe sometimes YouTube can be throttled if it detects suspicious behaviour).

Environment variables

  • RUST_LOG: see env_logger (if unset I've made it default to ytmdl, which will just print all logs from this module)
  • YTMDL_OUT_DIR: directory that the final mp3s will be (defaults to your downloads_directory/ytmdl/)
  • YTMDL_OVERWRITE: whether should overwrite or not (defaults to true)

Requirements

Installation

Releases

See GitHub releases

Build from source

cargo install ytmdl

or

cargo install --git https://github.com/Breadinator/ytmdl

Todo

  • Automatically get the specific Discogs release page from the master page if provided
  • If it fails to scrape discogs, just procede with empty data
  • Scrape Discogs for data on specific songs (e.g. composers)
  • Scrape the full album date (not in the JSON block currently parsed but is present on the site)

ytmdl's People

Contributors

breadinator avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

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.