Created
October 7, 2019 13:59
-
-
Save alphaKAI/fea55be762b1c4ef54bc683f946ccd2d to your computer and use it in GitHub Desktop.
An useful User Script for Apple Music beta (https://beta.music.apple.com)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name AppleMusicTools | |
// @namespace https://alpha-kai-net.info | |
// @version 0.1 | |
// @description Useful Apple Music User Script | |
// @author alphaKAI | |
// @match https://beta.music.apple.com/* | |
// @grant none | |
// ==/UserScript== | |
(function() { | |
'use strict'; | |
var AppleMusicTools = /** @class */ (function () { | |
function AppleMusicTools() {} | |
AppleMusicTools.getNowPlayingMusicInfo = function () { | |
var title = document.querySelector("#playback-name > div > div > span:nth-child(1) > span"); | |
var _artistAndAlbum = document.querySelector("#playback-sub-copy > div > div > span:nth-child(1) > span"); | |
var artistAndAlbum = (function () { | |
for (var i = 0; i < AppleMusicTools.seps.length; ++i) { | |
var sep = AppleMusicTools.seps[i]; | |
var p = _artistAndAlbum.textContent.split(sep); | |
if (p[1] !== undefined) { | |
return p; | |
} | |
} | |
return undefined; | |
})(); | |
var artworkSrc = document.querySelector("#ember22 > img"); | |
var artworkUrl = (function () { | |
var srcs = artworkSrc.srcset.split(','); | |
return srcs[srcs.length - 1].slice(0, -4); | |
})(); | |
return { | |
title: title.textContent.trim(), | |
artist: artistAndAlbum[0].trim(), | |
album: artistAndAlbum[1].trim(), | |
artworkUrl: artworkUrl | |
}; | |
}; | |
AppleMusicTools.tweetNowPlaying = function () { | |
var nowPlaying = AppleMusicTools.getNowPlayingMusicInfo(); | |
var tweet_body = nowPlaying.title + " from " + nowPlaying.album + " (" + nowPlaying.artist + ")"; | |
var baseUrl = 'https://twitter.com/intent/tweet?'; | |
var text = ['text', tweet_body]; | |
var hashtags = ['hashtags', ['NowPlaying'].join(',')]; | |
var query = new URLSearchParams([text, hashtags]).toString(); | |
var shareUrl = "" + baseUrl + query; | |
window.open(shareUrl, "_blank", "menubar=0,width=300,height=500,top=100,left=100"); | |
}; | |
AppleMusicTools.seps = [" — ", " — ", " - "]; | |
return AppleMusicTools; | |
}()); | |
window.addEventListener('load', function() { | |
function wait(time) { | |
return new Promise((resolve, reject) => { | |
setTimeout(() => { | |
resolve(); | |
}, time); | |
}); | |
} | |
wait(3000).then(() => { | |
let tweet_button = document.createElement("button"); | |
tweet_button.textContent = "Tweet NowPlaying"; | |
tweet_button.style.cssText = "margin-left: 20%;"; | |
let nav_header = document.querySelector("#ember3 > div.web-navigation > nav > div.web-navigation__header"); | |
tweet_button.addEventListener('click', function() { AppleMusicTools.tweetNowPlaying(); }, false); | |
nav_header.append(tweet_button); | |
let apple_music_player = document.querySelector("#apple-music-player"); | |
apple_music_player = 0.1; | |
}); | |
}, false); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment