GithubHelp home page GithubHelp logo

nicholasdollick / newthisweek Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 78 KB

Creates a spotify playlist of the new releases that week

Home Page: https://new-this-week.firebaseapp.com

C# 100.00%

newthisweek's Introduction

NewThisWeek

tl;dr: Takes an input either as text file or url, and creates a spotify playlist of all the newest releases of that week via the spotify web API.

A web based version of this software can be found at: https://new-this-week.firebaseapp.com/

As a music lover, a large chunk of time gets spent Thursday nights into Friday mornings creating a playlist of all the newest releases. alt text

A subreddit I'm active on crowdsources all of the week's new tracks into one convenient post. This master post and the amount of time wasted curating the playlist was the inspiration for this applet.

Overview

alt text Pictured above are both the Winform and WPF versions of the applet. In both instances, users must first authenticate their sessions. This will prompt for users to accept the requested spotify permissions and load their profile into the UI.

alt text Once loaded, users can select a .txt containing a list of tracks they want added to the playlist and load it into the applet. During runtime, the file will be read, the input will be cleaned for better search efficiency, and tracks will be added. Currently, the parsing methods search for tags similar to the ones used in the reddit posts:

Andrew Rayel - In The Dark

Chris Lake & Walker & Royce - Close Your Eyes EP

Louis The Child - Better Not (Remixes)

Chicane - The Place You Can't Remember, The Place You Can't Forget (Album)

With the inclusion of "EP", "Remixes", and "Album" signifying to search for album listings during the spotify search, instead of grabbing the first listed track.

Data from webpage takes provided URL and extracts data from it. At this time, this service only works for reddit thread urls. This data is parsed and passed to main thread to be turned into a playlist.

The time monitor option is currently hardcoded to PST, an option to set your own time is coming soon. It lets the user set the applet to wait until midnight EST (the time spotify updates tracks for the US) to execute and create the playlist.

When completed the applet will display all the tracks added in a list, and a playlist will have been added to the users spotify account. By default, the list is titled as the date it was executed, in MM/dd format, followed by "Releases". alt text

packages used

HtmlAgilityPack
Reddit API
SpotifyAPI-NET

newthisweek's People

Contributors

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