Giter Site home page Giter Site logo

athame's Introduction

Athame

Athame is a program for downloading music from music streaming and sharing services. It is intended for educational and private use only, and not as a tool for pirating and distributing music. Above all else, remember that the artists and studios put a lot of work into making music -- if you can, purchase music directly from the artist as more money goes to them.

Since I am also caught up with other things I can't devote all my time to fixing and improving Athame. Right now it is just a very buggy, basic tool which I hope will either be improved upon in the future, or be contributed to.

Notes about testing services and development

Unfortunately I can't pay for both Tidal and Google Play Music, so I am unable to test Google Play Music functionality.

Latest release

The code in the current repo probably won't compile, so check out the releases tab to download a pre-built binary.

Usage

Enter a URL in the "URL" textbox, then click "Add". It will show up in the download queue. Click "Start" to begin downloading.

Currently, Athame only supports Tidal and Google Play Music URLs. This will eventually be upgraded to a generic plugin interface, and the Google Play Music and Tidal services will be in different repositories.

If you haven't signed in, you can click the Menu button, then go to Settings and choose the tab of the music service you want to sign into. You can also just enter a URL and click "Click here to sign in" on the error message below the URL textbox.

Under Settings > General, you can change where music is downloaded to as well as the filename format used. There is an explanation of the valid format specifiers on the General tab.

TODO

  • Implement a plugin API.
  • Add an option to execute an external program (like ffmpeg) after each track or collection download.
  • Properly implement cancellation and stopping on sign in and download.
  • Implement search.

Build/requirements

  • .NET 4.6.2 (for other platforms see Mono compatibility section)
  • Visual Studio 2015 (Express will work fine) with NuGet

Mono compatibility

For the most part, it appears to work on Mono on Linux (tested on Linux Mint 18). However, there are a few bugs you need to be aware of, namely:

  • Signing in via clicking the "Click here to sign in" link will crash for some reason.
  • You should avoid adding more than one set of media to the doiwnload queue as it will only download the first set then hang.
  • The UI will not be disabled when downloading, so try and avoid clicking on shit while it downloads.

Linux/OS X compatibility isn't my top priority at the moment, but you are welcome to contribute if you like. I have been thinking about adding a CLI interface, but I think a WPF and GTK# UI would be more pertinent at the moment.

athame's People

Contributors

svbnet 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.