Coder Social home page Coder Social logo

grumpybear57 / webnowplaying Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tjhrulz/webnowplaying

0.0 1.0 0.0 2.7 MB

A NowPlaying like plugin for rainmeter built for getting music info from websites

License: GNU General Public License v2.0

C# 93.35% C 6.65%

webnowplaying's Introduction

Web Now Playing for Rainmeter

A plugin for Rainmeter that when paired with a browser extension allows retrieval of music info and playback control from various websites such as soundcloud or youtube.
Included in this repo is an example skin that shows how to use every measure and bang.
Source code for the browser extension can be found here

If you would like to support this plugin and other plugins I make please check out my patreon

Extension links:

Chrome Web Store
Firefox Addons Store
Browser extension source
Note: While using Firefox you will need to go to the about:config page in Firefox and set network.websocket.allowInsecureFromHTTPS to true until I can look into using a self signed SSL Certifcate or have the funds to purchase one.

Current state:

A rewrite of the companion plugin is in the works. Before that goes live a WebNowPlaying plugin update will be posted.

  • Standard media information (title, artist, album, cover, position, etc.)
  • Standard media controls (play, skip, shuffle, volume, etc.)
  • Rating support (thumbs up/thumbs down)
  • Automatic switching between different web players based on last sent info and which are currently playing

List of supported sites:

  • Youtube (Both new and old layouts)
  • Twitch
  • Soundcloud
  • Google Play Music
  • Amazon Music
  • Pandora
  • Spotify
  • Tidal

Future additions: (See extension source code for web side addition)

  • Improve autoswitcher
  • Storing image in temp when no location is declared instead of in your Rainmeter directory

If you would like you can donate to support the plugin here

Measure types:

  • Player

    What the name of the player is the song is coming from. i.e Youtube or Soundcloud

  • Title, Artist, Album

    String of current playing songs info, blank if no info.

  • Cover

    String that points to current album art, while downloading or if no album art points to the path of the default.
    Note: Do not assume the image will always be a square.

    Attributes:
    CoverPath - A system path to where to store the album art.
    DefaultPath - A system path to what image to use when downloading the album art.

  • CoverWebAddress

    String of URL location of current album art, useful for doing an onChangeAction as cover will update twice when the song changes. This will only update once and only once the image has been downloaded to the disk.

  • Position, Duration

    String of how far into the song or how long the song is, formated MM:SS.

  • Progress

    Double of how far into the song you are as a percentage. To clarify that number is formated ##.##### and has a predefined max of 100.00.

  • Repeat

    Integer of if the music player is set to repeat. 0 is no, 1 is repeat one song, 2 is repeat all.
    Note: If unsupported by current website value will always be 0

  • Shuffle

    Integer of if the music player is set to shuffle. 0 is no, 1 is yes.
    Note: If unsupported by current website value will always be 0

  • Rating

    Integer of the rating of the song. 0 through 5. Sites with binary rating system have Thumbs Down =1 Thumbs up =5. 0 is unrated.

  • Volume

    Integer between 0-100 of what the current volume is set in the music player.

  • State

    Integer of the play state of the music player. 0 is stopped, 1 is playing, 2 is paused.

  • Status

    If 0 no supported websites are open, 1 is if one or more websites are open that are supported.
    Note: Do not use this to see if the browser extension is installed. If there is enough demand I will try to add a way to check that in the future

Bangs:

  • SetPosition ##.####

    Where ##.#### is a Double between 0-100. Sets the what percent of the way through the song the song is. Add + or - in front to set the position relatively.

  • SetVolume ###

    Where ### is a Integer beween 0-100, add + or - in front to set the volume relatively.
    Note: Some websites may not have the volume sliders change since I change the volume of the internal audio file.

  • Previous, PlayPause, Next

    Self explanitory. Note: Previous on youtube currently is a little funky since I just move the page back one in the history if not using a playlist. I will add better tracking in the future.

  • Repeat

    Toggles through repeat modes supported by websites. Sometimes may be none at all.

  • Shuffle

    Toggles through shuffle modes supported by websites. Sometimes may be none at all.

  • ToggleThumbsUp and ToggleThumbsDown

    Toggles the song being thumbed up or down, to set it to a specific state see SetRating. Note: Not all sites support thumbs down. Any site that uses stars will toggle the rating to be 5 stars and 1 star repspectively.

  • SetRating #

    Where # is an integer, 0-5. Sites with binary rating system have Thumbs Down =1 Thumbs up =5. 0 is unrated.

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.