From 7921633efd7e7a1f0924a624b4b89f148656b825 Mon Sep 17 00:00:00 2001 From: cutls Date: Sat, 26 Jan 2019 23:27:35 +0900 Subject: [PATCH] Local NowPlaying for Windows --- app/js/lang/lang.en.js | 2 + app/js/lang/lang.ja.js | 2 + app/js/ui/layout.js | 2 +- app/js/ui/settings.js | 1 + app/js/ui/spotify.js | 23 ++++ app/main.js | 71 +++++++++-- app/package-lock.json | 170 ++++++++++--------------- app/package.json | 5 +- app/view/en/index.html | 4 +- app/view/en/setting.html | 21 ++- app/view/ja/index.html | 4 +- app/view/ja/setting.html | 23 +++- app/view/make/language/index.en.json | 4 +- app/view/make/language/index.ja.json | 4 +- app/view/make/language/setting.en.json | 7 +- app/view/make/language/setting.ja.json | 9 +- app/view/make/setting.sample.html | 17 +++ 17 files changed, 228 insertions(+), 141 deletions(-) diff --git a/app/js/lang/lang.en.js b/app/js/lang/lang.en.js index 0a17a4ce..670e73e2 100644 --- a/app/js/lang/lang.en.js +++ b/app/js/lang/lang.en.js @@ -116,11 +116,13 @@ var lang={ "lang_layout_nodata":"[No data]
F5/⌘+R to reload", "lang_layout_dm":"Direct Message", "lang_layout_webviewmode":"Prefer WebView", + "lang_excluded":"Excluded type of notification", //ui/spotify.js "lang_spotify_img":"Attach an album artwork", "lang_spotify_imgno":"Not attach an album artwork", "lang_spotify_acct":"Connect TheDesk to Spotify", "lang_spotify_np":"Done:templete of NowPlaying", + "lang_setting_npprovide":"NowPlaying provider:{{set}}", //userdata/his-data.js "lang_hisdata_frcreq":"Required Mastodon 2.4.3 and above", "lang_hisdata_frcwarn":"Unfollow accounts will be shown.", diff --git a/app/js/lang/lang.ja.js b/app/js/lang/lang.ja.js index cf24c38b..c7f61c74 100644 --- a/app/js/lang/lang.ja.js +++ b/app/js/lang/lang.ja.js @@ -117,11 +117,13 @@ var lang={ "lang_layout_nodata":"[ここにトゥートはありません。]
F5/⌘+Rで再読込できます。", "lang_layout_dm":"ダイレクトメッセージ", "lang_layout_webviewmode":"WebView優先", + "lang_excluded":"除外する通知", //ui/spotify.js "lang_spotify_img":"アルバムアートワークを添付します。", "lang_spotify_imgno":"アルバムアートワークを添付しません。", "lang_spotify_acct":"アカウント連携をしてください。", "lang_spotify_np":"NowPlaying文書を更新しました。", + "lang_setting_npprovide":"NowPlayingのソースを{{set}}に設定しました。", //userdata/his-data.js "lang_hisdata_frcreq":"Mastodon 2.4.3~が必要です", "lang_hisdata_frcwarn":"非フォローだけど絡みがある時に表示されます。", diff --git a/app/js/ui/layout.js b/app/js/ui/layout.js index 3d01916b..1a632aaf 100644 --- a/app/js/ui/layout.js +++ b/app/js/ui/layout.js @@ -120,7 +120,7 @@ function parseColumn() { $("#timeline-container").append(html); }else{ if(acct.type=="notf"){ - var exclude=':
'+ + var exclude=lang.lang_excluded+':
'+ ' '+ ' '+ ' '+ diff --git a/app/js/ui/settings.js b/app/js/ui/settings.js index 152dd06c..65b63a86 100644 --- a/app/js/ui/settings.js +++ b/app/js/ui/settings.js @@ -419,6 +419,7 @@ wordemp(); checkSpotify(); voiceSettingLoad(); oksload(); +npprovider(); function climute(){ //クライアントミュート var cli = localStorage.getItem("client_mute"); diff --git a/app/js/ui/spotify.js b/app/js/ui/spotify.js index dd70b14f..d40f47fc 100644 --- a/app/js/ui/spotify.js +++ b/app/js/ui/spotify.js @@ -130,6 +130,10 @@ function nowplaying(mode){ if(!content || content=="" || content=="null"){ var content="#NowPlaying {song} / {album} / {artist}\n{url}"; } + var flag=localStorage.getItem("artwork"); + if(flag && arg.path){ + media(arg.path,"image/png","new"); + } var regExp = new RegExp("{song}", "g"); content = content.replace(regExp, arg.name); var regExp = new RegExp("{album}", "g"); @@ -160,6 +164,25 @@ function spotifySave(){ localStorage.setItem("np-temp", temp); Materialize.toast(lang.lang_spotify_np, 3000); } +function npprovider(){ + var provd = $("[name=npp]:checked").val(); + if(!provd){ + if (localStorage.getItem("np_provider")) { + $("[value="+localStorage.getItem("np_provider")+"]").prop("checked", true); + }else{ + $("[value=AIMP]").prop("checked", true); + localStorage.setItem("np_provider", "AIMP"); + } + }else{ + if (provd != localStorage.getItem("np_provider")) { + Materialize.toast(lang.lang_setting_npprovide.replace("{{set}}" ,provd), 3000); + } + localStorage.setItem("np_provider", provd); + var electron = require("electron"); + var ipc = electron.ipcRenderer; + ipc.send('itunes', ["set",provd]); + } +} if(location.search){ var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/); var mode=m[1]; diff --git a/app/main.js b/app/main.js index aeda3a18..b7b0851e 100644 --- a/app/main.js +++ b/app/main.js @@ -11,6 +11,8 @@ const path = require('path') const fm = require('font-manager'); const Menu=electron.Menu var updatewin=null; +const join = require('path').join; +const {NowPlaying,PlayerName} = require("nowplaying-node"); // アプリケーションをコントロールするモジュール const app = electron.app; // ウィンドウを作成するモジュール @@ -18,7 +20,6 @@ const BrowserWindow = electron.BrowserWindow; const { download } = require('electron-dl'); -const join = require('path').join; // メインウィンドウはGCされないようにグローバル宣言 let mainWindow; var info_path = join(app.getPath("userData"), "window-size.json"); @@ -464,23 +465,65 @@ function about(){ var window = new BrowserWindow({width: 300, height: 460, "transparent": false, // ウィンドウの背景を透過 "frame": false, // 枠の無いウィンドウ - "resizable": false }); + "resizable": false }); window.loadURL('file://' + __dirname + '/about.html?ver='+ver); return "true" } ipc.on('itunes', (e, args) => { - var platform=process.platform; - var bit=process.arch; - if(platform=="darwin"){ - const nowplaying = require("itunes-nowplaying-mac") - -nowplaying.getRawData().then(function (value) { - mainWindow.webContents.send('itunes-np', value); -}).catch(function (error) { - // 非同期処理失敗。呼ばれない - console.log(error); -}); -} + if(args[0]=="set"){ + var nppath=join(app.getPath("userData"), "nowplaying"); + var npProvider; + try { + npProvider = args[1]; + } catch (e) { + npProvider="AIMP"; + } + var myAIMP = new NowPlaying({ + fetchCover: true, + player: PlayerName[npProvider], + }); + fs.writeFileSync(nppath, npProvider); + }else{ + var platform=process.platform; + var bit=process.arch; + if(platform=="darwin"){ + const nowplaying = require("itunes-nowplaying-mac") + nowplaying.getRawData().then(function (value) { + mainWindow.webContents.send('itunes-np', value); + }).catch(function (error) { + // 非同期処理失敗。呼ばれない + console.log(error); + }); + }else{ + var nppath=join(app.getPath("userData"), "nowplaying"); + var npProvider; + try { + npProvider = fs.readFileSync(nppath, 'utf8'); + } catch (e) { + npProvider="AIMP"; + } + var myAIMP = new NowPlaying({ + fetchCover: true, + player: PlayerName[npProvider], + }); + myAIMP.update(); + var path=myAIMP.getCoverPath(); + if(path){ + var bin = fs.readFileSync(path, 'base64'); + }else{ + var bin=false; + } + + var value={ + name:myAIMP.getTitle(), + artist:myAIMP.getArtist(), + album:myAIMP.getAlbum(), + path:bin + } + mainWindow.webContents.send('itunes-np', value); + } + } + }); ipc.on('file-select', (e, args) => { dialog.showOpenDialog(null, { diff --git a/app/package-lock.json b/app/package-lock.json index b3dd4aec..57cf79f1 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,14 +1,18 @@ { "name": "thedesk", - "version": "17.0.0", + "version": "17.0.1", "lockfileVersion": 1, "requires": true, "dependencies": { + "@types/node": { + "version": "10.12.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", + "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "ajv": { "version": "5.5.2", @@ -24,8 +28,7 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "3.2.1", @@ -39,14 +42,12 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "are-we-there-yet": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, "requires": { "delegates": "1.0.0", "readable-stream": "2.3.6" @@ -80,8 +81,7 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "bcrypt-pbkdf": { "version": "1.0.1", @@ -101,7 +101,6 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, "requires": { "inherits": "2.0.3" } @@ -123,7 +122,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -196,8 +194,7 @@ "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "color-convert": { "version": "1.9.3", @@ -231,14 +228,12 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "core-util-is": { "version": "1.0.2", @@ -293,8 +288,7 @@ "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "detect-libc": { "version": "1.0.3", @@ -477,14 +471,12 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fstream": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, "requires": { "graceful-fs": "4.1.15", "inherits": "2.0.3", @@ -496,7 +488,6 @@ "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, "requires": { "aproba": "1.2.0", "console-control-strings": "1.1.0", @@ -526,7 +517,6 @@ "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -548,8 +538,7 @@ "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", - "dev": true + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" }, "growly": { "version": "1.3.0", @@ -579,8 +568,7 @@ "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "hawk": { "version": "6.0.2", @@ -618,7 +606,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -627,8 +614,7 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "invert-kv": { "version": "1.0.0", @@ -660,7 +646,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -689,8 +674,7 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", @@ -871,7 +855,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "1.1.11" } @@ -913,11 +896,15 @@ "semver": "5.5.1" } }, + "node-addon-api": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.6.2.tgz", + "integrity": "sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA==" + }, "node-gyp": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "dev": true, "requires": { "fstream": "1.0.11", "glob": "7.1.3", @@ -937,7 +924,6 @@ "version": "6.6.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", - "dev": true, "requires": { "fast-deep-equal": "2.0.1", "fast-json-stable-stringify": "2.0.0", @@ -948,26 +934,22 @@ "aws4": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, "har-validator": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, "requires": { "ajv": "6.6.1", "har-schema": "2.0.0" @@ -976,20 +958,17 @@ "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "mime-db": { "version": "1.37.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", - "dev": true + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" }, "mime-types": { "version": "2.1.21", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "dev": true, "requires": { "mime-db": "1.37.0" } @@ -997,20 +976,17 @@ "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, "requires": { "aws-sign2": "0.7.0", "aws4": "1.8.0", @@ -1037,20 +1013,17 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "semver": { "version": "5.3.0", - "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" }, "tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, "requires": { "psl": "1.1.29", "punycode": "1.4.1" @@ -1059,8 +1032,7 @@ "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" } } }, @@ -1079,7 +1051,6 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, "requires": { "abbrev": "1.1.1" } @@ -1096,11 +1067,20 @@ "validate-npm-package-license": "3.0.4" } }, + "nowplaying-node": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/nowplaying-node/-/nowplaying-node-0.1.3.tgz", + "integrity": "sha512-nEvuw93xmgZS7X1XqUaLJXhd4iB54xjTOnYuEEoPMBHHs3QWGECNKvnD0uDBCe269sUK8Z5InX5rPjzf3vRVrw==", + "requires": { + "@types/node": "10.12.18", + "node-addon-api": "1.6.2", + "node-gyp": "3.8.0" + } + }, "npmlog": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, "requires": { "are-we-there-yet": "1.1.5", "console-control-strings": "1.1.0", @@ -1111,8 +1091,7 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "oauth-sign": { "version": "0.8.2", @@ -1122,14 +1101,12 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1.0.2" } @@ -1157,9 +1134,8 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { "version": "1.4.0", @@ -1172,15 +1148,13 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, "requires": { "os-homedir": "1.0.2", "os-tmpdir": "1.0.2" @@ -1230,9 +1204,8 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-type": { "version": "1.1.0", @@ -1252,7 +1225,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -1292,14 +1265,12 @@ "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "psl": { "version": "1.1.29", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", - "dev": true + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==" }, "punycode": { "version": "1.4.1", @@ -1346,7 +1317,6 @@ "version": "2.3.6", "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -1412,7 +1382,6 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, "requires": { "glob": "7.1.3" } @@ -1444,8 +1413,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "shellwords": { "version": "0.1.1", @@ -1455,8 +1423,7 @@ "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "sntp": { "version": "2.1.0", @@ -1557,7 +1524,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -1566,9 +1532,8 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -1580,9 +1545,8 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -1621,9 +1585,8 @@ }, "tar": { "version": "2.2.1", - "resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "dev": true, "requires": { "block-stream": "0.0.9", "fstream": "1.0.11", @@ -1681,7 +1644,6 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, "requires": { "punycode": "2.1.1" }, @@ -1689,8 +1651,7 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" } } }, @@ -1705,8 +1666,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "uuid": { "version": "3.2.1", @@ -1751,7 +1711,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, "requires": { "string-width": "1.0.2" } @@ -1769,8 +1728,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "xhr": { "version": "2.4.1", diff --git a/app/package.json b/app/package.json index ad9616f7..1ca9c2c9 100644 --- a/app/package.json +++ b/app/package.json @@ -39,7 +39,8 @@ "sumchecker": "^2.0.2" }, "optionalDependencies": { - "itunes-nowplaying-mac": "^0.2.3" + "itunes-nowplaying-mac": "^0.2.3", + "nowplaying-node": "^0.1.3" }, "build": { "productName": "TheDesk", @@ -62,7 +63,7 @@ "category": "Network" }, "mac": { - "target": "dmg" + "target": "dmg" }, "electronDownload": { "version": "3.0.10" diff --git a/app/view/en/index.html b/app/view/en/index.html index 003c43c7..011ba665 100644 --- a/app/view/en/index.html +++ b/app/view/en/index.html @@ -170,10 +170,10 @@ var tlid=0; Adobe Photo Editor
  • - Spotify NowPlaying + NowPlaying(Spotify)
  • - iTunes NowPlaying(macOS) + NowPlaying
  • Scheduled toot diff --git a/app/view/en/setting.html b/app/view/en/setting.html index 1f769877..99499073 100644 --- a/app/view/en/setting.html +++ b/app/view/en/setting.html @@ -308,6 +308,22 @@ Spotify and NowPlaying Preferences
    +
    NowPlaying Provider(Windows)
    + macOS and Linux are not supported. AIMP and iTunes were checked by developer.
    CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox
    WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.
    For foobar2000, foo_cad plugin is required.
    + + + + + + + + + + + + + +

    Click music_noteicon to NowPlaying
    Account Connection
    TheDesk save your data on thedesk.top server.
    @@ -318,8 +334,9 @@

    - Refer:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify
    - iTunes NowPlaying:{url} is disabled, but composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre} are available.
    + Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify
    + macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}
    + Windows:{song}:Song name/{album}:Album name/{artist}:Artist name
    CINDERELLA NowPlaying(imastodon.net限定)では作曲家{composer}/作詞家{lyricist}/BPM{bpm}が有効です。
    CINDERELLA NowPlayingはimastodon.netにログインしているとき、トゥート欄に「//」を入力し、その後に曲名を入れることで可能です。

    diff --git a/app/view/ja/index.html b/app/view/ja/index.html index ad02480d..64e35f70 100644 --- a/app/view/ja/index.html +++ b/app/view/ja/index.html @@ -170,10 +170,10 @@ var tlid=0; Adobeフォトエディタ
  • - Spotify NowPlaying + NowPlaying(Spotify)
  • - iTunes NowPlaying(macOS) + NowPlaying
  • 時間指定投稿 diff --git a/app/view/ja/setting.html b/app/view/ja/setting.html index eb909b7e..7299e205 100644 --- a/app/view/ja/setting.html +++ b/app/view/ja/setting.html @@ -308,6 +308,22 @@ SpotifyとNowPlayingの設定
    +
    NowPlayingのソース(Windows)
    + macOSやLinuxでは動作しません。AIMPとiTunes以外未検証です。
    foobar2000, MusicBee,J. River Media Center, Media JukeboxはCADを、Last.fm Client, TTPlayer, OpenPandora, ZuneはWLMを選んでください。
    ただし、foobar2000はfoo_cad pluginが必要です。
    + + + + + + + + + + + + + +

    music_noteボタンから簡単にNowPlayingができます。
    アカウントの連携
    APIの性質上,thedesk.topへアクセスします。
    @@ -318,12 +334,13 @@ 以下を編集してテンプレートを変更できます。

    - テンプレート:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL
    - iTunes NowPlayingでも{url}以外のテンプレートに従ってトゥートされます。また、作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}が有効です。
    + Spotify:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL
    + macOS:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}
    + Windows:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名
    CINDERELLA NowPlaying(imastodon.net限定)では作曲家{composer}/作詞家{lyricist}/BPM{bpm}が有効です。
    CINDERELLA NowPlayingはimastodon.netにログインしているとき、トゥート欄に「//」を入力し、その後に曲名を入れることで可能です。

    -
    Spotifyでアルバムアートワークを添付する
    +
    アルバムアートワークを添付する(Spotify/Windows)
    この設定はCINDERELLA NowPlaying(imastodon.net限定)にも適用されます。
    diff --git a/app/view/make/language/index.en.json b/app/view/make/language/index.en.json index 745c67f0..0e7b234c 100644 --- a/app/view/make/language/index.en.json +++ b/app/view/make/language/index.en.json @@ -9,8 +9,8 @@ "selfile":"Attach..", "adobephoto":"Adobe Photo Editor", "insertEmoji":"Emojis", - "NPSpotify":"Spotify NowPlaying", - "NPiTunes":"iTunes NowPlaying(macOS)", + "NPSpotify":"NowPlaying(Spotify)", + "NPiTunes":"NowPlaying", "schedule":"Scheduled toot", "postat":"Post at", "scheduleWarn":"2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)", diff --git a/app/view/make/language/index.ja.json b/app/view/make/language/index.ja.json index baf38ca2..c8a6a166 100644 --- a/app/view/make/language/index.ja.json +++ b/app/view/make/language/index.ja.json @@ -9,8 +9,8 @@ "selfile":"ファイルを選択", "adobephoto":"Adobeフォトエディタ", "insertEmoji":"絵文字を挿入", - "NPSpotify":"Spotify NowPlaying", - "NPiTunes":"iTunes NowPlaying(macOS)", + "NPSpotify":"NowPlaying(Spotify)", + "NPiTunes":"NowPlaying", "schedule":"時間指定投稿", "postat":"時間指定投稿", "scheduleWarn":"2.7.0~ 5分以内には投稿できません。サーバーの時計が正確とは限りません。", diff --git a/app/view/make/language/setting.en.json b/app/view/make/language/setting.en.json index 80500df9..d208551c 100644 --- a/app/view/make/language/setting.en.json +++ b/app/view/make/language/setting.en.json @@ -107,6 +107,8 @@ "useerempwarn":"Set on users data modals.", "empcolorwarn":"Use this color to emphasis", "spotify":"Spotify and NowPlaying Preferences", + "npProvider":"NowPlaying Provider(Windows)", + "npPeoviderWarn":"macOS and Linux are not supported. AIMP and iTunes were checked by developer.
    CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox
    WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.
    For foobar2000, foo_cad plugin is required.", "spotifynote1":"Click ", "spotifynote2":"icon to NowPlaying", "link":"Account Connection", @@ -115,8 +117,9 @@ "disconnect":"Disconnect", "templeteedit":"Edit a template", "templeteeditwarn":"", - "templete1":"Refer:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify", - "templete2":"iTunes NowPlaying:{url} is disabled, but composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre} are available.", + "templete1":"Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify", + "templete2":"macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}", + "templete3":"Windows:{song}:Song name/{album}:Album name/{artist}:Artist name", "postartwork":"Attach an Artwork of Spotify", "tts":"TTS(text to speech) Preferences", "speed":"Speed", diff --git a/app/view/make/language/setting.ja.json b/app/view/make/language/setting.ja.json index f4665829..35ad2c86 100644 --- a/app/view/make/language/setting.ja.json +++ b/app/view/make/language/setting.ja.json @@ -107,6 +107,8 @@ "useerempwarn":"各ユーザーのデータ表示画面で設定できます。", "empcolorwarn":"強調色(テーマによって異なります。)", "spotify":"SpotifyとNowPlayingの設定", + "npProvider":"NowPlayingのソース(Windows)", + "npPeoviderWarn":"macOSやLinuxでは動作しません。AIMPとiTunes以外未検証です。
    foobar2000, MusicBee,J. River Media Center, Media JukeboxはCADを、Last.fm Client, TTPlayer, OpenPandora, ZuneはWLMを選んでください。
    ただし、foobar2000はfoo_cad pluginが必要です。", "spotifynote1":"", "spotifynote2":"ボタンから簡単にNowPlayingができます。", "link":"アカウントの連携", @@ -115,9 +117,10 @@ "disconnect":"切断", "templeteedit":"テンプレートの編集", "templeteeditwarn":"以下を編集してテンプレートを変更できます。", - "templete1":"テンプレート:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL", - "templete2":"iTunes NowPlayingでも{url}以外のテンプレートに従ってトゥートされます。また、作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}が有効です。", - "postartwork":"Spotifyでアルバムアートワークを添付する", + "templete1":"Spotify:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL", + "templete2":"macOS:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}", + "templete3":"Windows:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名", + "postartwork":"アルバムアートワークを添付する(Spotify/Windows)", "tts":"読み上げの設定", "speed":"読み上げの速さ", "speedwarn":"1-100まで、デフォルトは10。", diff --git a/app/view/make/setting.sample.html b/app/view/make/setting.sample.html index 7231b23d..b114d742 100644 --- a/app/view/make/setting.sample.html +++ b/app/view/make/setting.sample.html @@ -308,6 +308,22 @@ {{spotify}}
    +
    {{npProvider}}
    + {{npPeoviderWarn}}
    + + + + + + + + + + + + + +

    {{spotifynote1}}music_note{{spotifynote2}}
    {{link}}
    {{linkwarn}}
    @@ -320,6 +336,7 @@ {url}
    {{templete1}}
    {{templete2}}
    + {{templete3}}
    CINDERELLA NowPlaying(imastodon.net限定)では作曲家{composer}/作詞家{lyricist}/BPM{bpm}が有効です。
    CINDERELLA NowPlayingはimastodon.netにログインしているとき、トゥート欄に「//」を入力し、その後に曲名を入れることで可能です。