iArt.ai
AI motion graphics software — the After Effects alternative anyone can use. Create animations and explainer videos from a text prompt in minutes.
Descent is an elegant now playing display for Last.fm showing song metadata and local weather.
MediaJavaScript · PugGitHub @JasonPuglisiOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Elegant now playing display for Last.fm showing song metadata and local weather.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Elegant now playing display for Last.fm showing song metadata and local weather.
Fetches now playing song information from Last.fm and displays album artwork
along with local weather, time, and user info. Automatically hides the cursor
after a few seconds of inactivity if the window is in focus.
Able to control colored Philips Hue lights based on prominent album art colors.
Ensure you have recent versions of Node.js and
npm installed.Read the full README ↗Elegant now playing display for Last.fm showing song metadata and local weather.
Fetches now playing song information from Last.fm and displays album artwork along with local weather, time, and user info. Automatically hides the cursor after a few seconds of inactivity if the window is in focus.
Able to control colored Philips Hue lights based on prominent album art colors.
Ensure you have recent versions of Node.js and npm installed.
Run npm i -g yarn to install yarn. Next, run
yarn global add gulp-cli and yarn to install Descent's dependencies.
Finally, run gulp build to build Descent's static files, and node server.js
to start Descent's server.
For development, gulp on its own builds, watches for changes, and serves
Descent through BrowserSync on port 3333 with live reloading.
Descent's server listens on port 3000 by default, but this can be changed by
setting the DESCENT_PORT environment variable. It's recommended to use a
proxy, such as NGINX, in front of Descent's server.
Navigate to / to use Descent.
The default Last.fm API key for this project has been copied to many other
codebases, so i mostly unusable due to rate limiting. You get a new one from
Last.fm API and set it to environment variable
LASTFM_API_KEY.
To avoid Last.fm rate limiting, you can adjust the API polling interval. Set
the LASTFM_POLL_INTERVAL environment variable to an integer in milliseconds.
The default is 10000 (10 seconds), but a more reasonable value could be
5000 (5 seconds). If API calls in the browser start failing, and playing data
isn't loading, increase the interval.
Weather is powered by the
OpenWeatherMap API. You will need to provide
an API key, set as the OPENWEATHERMAP_KEY environment variable.
Descent used to support the Dark Sky API as well, but Apple shut that service down, so it's been removed.
For users to enable weather display, they must allow the Descent website to access their location. This feature relies on HTML5 geolocation, so it may only work in some modern browsers.
Album cover and artist images and provided by the
Spotify Web API.
You will need to provide API authorization through a client ID and client
secret assigned by Spotify. Set your client ID as the SPOTIFY_CLIENT
environment variable, and your client secret as the SPOTIFY_SECRET
environment variable.
Hue lights are controlled by the
Philips Hue API. You must register an
application to provide a few required values. Set your app ID as the HUE_ID
environment variable, your client ID as the HUE_CLIENT environment variable,
and your client secret as the HUE_SECRET environment variable.
To configure the background, weather, and time displays, visit
/app/config. OpenWeatherMap can't
determine weather units automatically, so Descent defaults to imperial units
unless otherwise specified.
You can import settings through a POST request to
/app/config/set. Each post
parameter correponds to a cookie. Valid parameters and values are as follows:
Scrobble mode
scrobbleMode: lastScrobbled, currentlyPlaying
Background type
background: artist, album, transparent, none
Background blurring
blur: true, false
Default background image
defaultBackground: any valid image URL
Weather location latitude
latitude: any valid latitude coordinate
Weather location longitude
longitude: any valid longitude coordinate
Weather units
units: imperial, metric
Date/time 24-hour display
24hr: true, false
Date/time weekday display
weekday: true, false
Date/time seconds display
seconds: true, false
User to redirect to
lastUser: any valid Last.fm username
Weather display enabled
weatherOn: true, false
Date/time display enabled
datetimeOn: true, false
Extended information display enabled
extendedOn: true, false
To enable Phillips Hue control, visit
/app/hue and follow the setup
instructions. Light colors will be set according to the three most prominent
album art colors. If more than three lights are selected, the colors will be
reused.