Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
79965ac73d |
@@ -1,9 +1,9 @@
|
||||
name: Sync
|
||||
name: Auto update commit and sync to gitee
|
||||
|
||||
on: [ push ]
|
||||
on: [ push, delete, create ]
|
||||
|
||||
jobs:
|
||||
update-commit-hash:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -24,37 +24,25 @@ jobs:
|
||||
author_email: 41898282+github-actions[bot]@users.noreply.github.com
|
||||
message: Update git tree hash
|
||||
push: true
|
||||
sync-to-gitea:
|
||||
runs-on: ubuntu-latest
|
||||
needs: update-commit-hash
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
if: github.actor != 'github-actions[bot]'
|
||||
with:
|
||||
persist-credentials: true
|
||||
- name: Sync to Private Git Service
|
||||
# - name: Sync to mirror file server
|
||||
# uses: sand4rt/ftp-deployer@v1.3
|
||||
# if: github.actor != 'github-actions[bot]'
|
||||
# with:
|
||||
# sftp: false
|
||||
# host: ${{ secrets.FTP_MIRROR_DESTINATION }}
|
||||
# port: ${{ secrets.FTP_MIRROR_PORT }}
|
||||
# username: ${{ secrets.FTP_MIRROR_USERNAME }}
|
||||
# password: ${{ secrets.FTP_MIRROR_SECRET }}
|
||||
# remote_folder: ${{ secrets.FTP_MIRROR_ROOT_PATH }}
|
||||
# local_folder: .
|
||||
# cleanup: true
|
||||
# exclude: '[".git/**", ".github/**", "source/**", "*.md", "gitVersion"]'
|
||||
# pasive: false
|
||||
- name: Sync to Gitee repo
|
||||
uses: wearerequired/git-mirror-action@master
|
||||
if: github.actor != 'github-actions[bot]'
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
with:
|
||||
source-repo: git@github.com:StageGuard/SkyAutoPlayerScript.git
|
||||
destination-repo: ubuntu@81.70.194.140:StageGuard/SkyAutoPlayerScript.git
|
||||
sync-to-gitee:
|
||||
runs-on: ubuntu-latest
|
||||
needs: update-commit-hash
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
if: github.actor != 'github-actions[bot]'
|
||||
with:
|
||||
persist-credentials: true
|
||||
- name: Sync to Gitee
|
||||
uses: wearerequired/git-mirror-action@master
|
||||
if: github.actor != 'github-actions[bot]'
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
SSH_PRIVATE_KEY: ${{ secrets.GITEE_RSA_PRIVATE_KEY }}
|
||||
with:
|
||||
source-repo: git@github.com:StageGuard/SkyAutoPlayerScript.git
|
||||
destination-repo: git@gitee.com:stageguard/SkyAutoPlayerScript.git
|
||||
88
README-en.md
88
README-en.md
@@ -1,10 +1,8 @@
|
||||
# SkyAutoPlayerScript
|
||||
|
||||
A script to play Sheets generated by [SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio) automatically in game Sky with accessibility services using AutoX
|
||||
A script to play Sheets generated by [SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio) automatically in game Sky with accessibility services using Auto.js
|
||||
|
||||
[](shared_sheets/) [](#shared-sheets) [](https://www.jsdelivr.com/)
|
||||
|
||||
## [Temporary solution for error `Syntax error script.js#44(eval)#100`](https://github.com/StageGuard/SkyAutoPlayerScript/issues/17#issuecomment-1002640892)
|
||||
[](shared_sheets/) [](#shared-sheets) [](https://www.jsdelivr.com/)
|
||||
|
||||
## Feature
|
||||
|
||||
@@ -20,63 +18,38 @@ There are many features in SkyAutoPlayerScript compared to other auto player scr
|
||||
|
||||
## Usage
|
||||
|
||||
1. Download AutoX at [Releases · kkevsekk1/AutoX](https://github.com/kkevsekk1/AutoX/releases)。
|
||||
1. Download release `4.1.1 Alpha2 (461) -> armeabi-v7a` in [`Ericwyn/Auto.js/releases@V4.1.1.Alpha2`](https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2)
|
||||
|
||||
> Warning: Please notice that you should check your device arch in advance, or select `universal`。
|
||||
2. Turn on **Accessibility service** and allow **Display pop-up window** permission for Auto.js
|
||||
|
||||
2. Turn on **Accessibility service** and allow **Display pop-up window** permission for AutoX
|
||||
|
||||
3. Create a new script file in AutoX. Copy the code below and run!
|
||||
3. Create a new script file in Auto.js. Copy the code below and run!
|
||||
|
||||
```javascript
|
||||
"ui";
|
||||
"use strict";
|
||||
/*
|
||||
SkyAutoPlayer (AutoX script)
|
||||
Copyright © 2020-2021 StageGuard
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
|
||||
USA
|
||||
*/
|
||||
(function(emitter) {
|
||||
threads.start(function () {
|
||||
emitter.emit("evaluate", (function () {
|
||||
//Many sources
|
||||
let sources = [
|
||||
"http://cdn.stagex.top:8090/StageGuard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js",
|
||||
"https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript/source/SkyAutoplayer.js",
|
||||
"https://dl.skyautoplayerscript.stageguard.top/source/SkyAutoplayer.js",
|
||||
"https://raw.githubusercontent.com/StageGuard/SkyAutoPlayerScript/master/source/SkyAutoplayer.js"
|
||||
];
|
||||
for (let i in sources) {
|
||||
let resp = http.get(sources[i]);
|
||||
if (resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||
return resp.body.string();
|
||||
}
|
||||
var emitter = events.emitter(threads.currentThread());
|
||||
threads.start(function() {
|
||||
emitter.emit("evaluate", (function(){
|
||||
var resp = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js");
|
||||
if(resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||
return resp.body.string();
|
||||
} else {
|
||||
resp = http.get("https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript@" + http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/gitVersion").body.string() + "/source/SkyAutoplayer.js");
|
||||
if(resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||
return resp.body.string();
|
||||
} else {
|
||||
return "console.show();console.log(\"Failed to load script\")";
|
||||
}
|
||||
return "console.show();console.log(\"Failed to load script\")";
|
||||
}()));
|
||||
});
|
||||
emitter.on('evaluate', function (s) {
|
||||
eval(s);
|
||||
});
|
||||
}(events.emitter(threads.currentThread())));
|
||||
}
|
||||
}()));
|
||||
});
|
||||
emitter.on('evaluate', function(s){
|
||||
eval(s);
|
||||
});
|
||||
```
|
||||
## Clear data
|
||||
|
||||
`SkyAutoPlayerScript` will store data while running, if you want to delete all data, please run the code below in AutoX
|
||||
`SkyAutoPlayerScript` will store data while running, if you want to delete all data, please run the code below in Auto.js
|
||||
|
||||
```
|
||||
storages.remove("StageGuard:SkyAutoPlayer:Config");
|
||||
@@ -194,7 +167,7 @@ Welcome everyone to contribute this project, including pull request, issue, new
|
||||
### ⚠️WARNING
|
||||
CodeFactor Evaluation: [](https://www.codefactor.io/repository/github/stageguard/skyautoplayerscript)
|
||||
|
||||
This program is a single-file project which means all modules are in a single file. Also, my coding skill is poor, so it is `a little hard` to understand source code.
|
||||
Because of the limitation of Auto.js, it is impossible to extract functions and method so all functions are defined in a single file. Also, my coding skill is poor, so it is `a little hard` to understand source code.
|
||||
|
||||
## Contributor
|
||||
|
||||
@@ -233,15 +206,6 @@ CoolApk [@皮皮小猪猪](http://www.coolapk.com/u/5352224)<br>
|
||||
CoolApk [@DoubleGGe](http://www.coolapk.com/u/7728656)<br>
|
||||
[恋上猫的鱼~](mailto:shi1177121232@foxmail.com)<br>
|
||||
[依稀(濒死动物)](mailto:3423451308@qq.com)<br>
|
||||
[zhangjinteng](mailto:zhangjinteng@foxmail.com)<br>
|
||||
Bilibili [@次卡安](https://space.bilibili.com/68420360)<br>
|
||||
CoolApk [@ZyaIreZ](http://www.coolapk.com/u/1376183)<br>
|
||||
CoolApk [@星释槐](http://www.coolapk.com/u/2168596)<br>
|
||||
[KingXKK](mailto:fjjiangdonghan@outlook.com)<br>
|
||||
CoolApk [@Leotoast](http://www.coolapk.com/u/2260385)<br>
|
||||
[小柒不会玩红石](mailto:2126859202@qq.com)<br>
|
||||
[我睡着的时候不困0v0](mailto:31610766@qq.com)<br>
|
||||
[心酸的邂逅](mailto:3200546245@qq.com)<br>
|
||||
|
||||
## Translation
|
||||
|
||||
@@ -262,7 +226,7 @@ None
|
||||
# LICENSE
|
||||
|
||||
```
|
||||
SkyAutoPlayer (AutoX script)
|
||||
SkyAutoPlayer (Auto.js script)
|
||||
Copyright © 2020-2021 StageGuard
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
|
||||
115
README.md
115
README.md
@@ -2,97 +2,61 @@
|
||||
|
||||
English: [README-en.md](README-en.md)
|
||||
|
||||
使用 [AutoX](https://github.com/kkevsekk1/AutoX) 提供的无障碍权限实现在 Sky光遇 中自动弹奏 [SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio) 导出的曲谱
|
||||
使用Auto.js提供的无障碍权限实现在Sky光遇中自动弹奏 [SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio) 导出的曲谱
|
||||
|
||||
[](shared_sheets/) [](#共享乐谱) [](https://www.jsdelivr.com/)
|
||||
[](shared_sheets/) [](#共享乐谱) [](https://www.jsdelivr.com/)
|
||||
|
||||
~~不会进一步支持原神的21键琴和上传21键位的共享乐谱,反正15键又不是不能弹。~~
|
||||
|
||||
## [暂时解决 `Syntax error script.js#44(eval)#100` 的方法](https://github.com/StageGuard/SkyAutoPlayerScript/issues/17#issuecomment-1002640892)
|
||||
|
||||
## 特性
|
||||
|
||||
相比于其他脚本,SkyAutoPlayerScript 拥有以下优势
|
||||
|
||||
* 全 GUI 操作,无需编辑任何代码,流畅的UI动画。
|
||||
* 全GUI操作,无需编辑任何代码,流畅的UI动画。
|
||||
* 多功能的弹奏控制面板,支持**暂停**, **进度控制**, **倍速控制**等。
|
||||
* 通过引导自设定键位坐标,避免按压琴键的偏移问题。
|
||||
* 在线[共享乐谱](https://github.com/StageGuard/SkyAutoPlayerScript/tree/master/shared_sheets),有许多优质乐谱。
|
||||
* 自动更新,及时修复 BUG,无需担心版本过时问题。
|
||||
* 自动更新,及时修复BUG,无需担心版本过时问题。
|
||||
* [多语言支持](#翻译)。
|
||||
* ...
|
||||
|
||||
## 使用
|
||||
|
||||
以下两种方式仅需选择一种
|
||||
1. Auto.js `4.1.1 Alpha2 (461) -> armeabi-v7a` 版本下载: [`Ericwyn/Auto.js/releases@V4.1.1.Alpha2`](https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2)
|
||||
|
||||
<details> <summary>拷贝脚本(推荐)</summary>
|
||||
2. 为Auto.js开启**无障碍服务**和**悬浮窗权限**。
|
||||
|
||||
1. 在 [Releases · kkevsekk1/AutoX](https://github.com/kkevsekk1/AutoX/releases) 中下载 AutoX。
|
||||
|
||||
> 注意:请提前悉知设备架构选择 `arm64-v8a` 或 `armeabi-v7a`,否则选择 `universal`。
|
||||
|
||||
2. 为 AutoX 开启**无障碍服务**和**悬浮窗权限**和**存储权限**。
|
||||
|
||||
3. 在 AutoX 中新建一个脚本并粘贴以下代码并运行:
|
||||
3. 在Auto.js中新建一个脚本并粘贴以下代码并运行:
|
||||
|
||||
```javascript
|
||||
"ui";
|
||||
"use strict";
|
||||
const okhttp3 = Packages["okhttp3"];
|
||||
(function(emitter) {
|
||||
const client = (new okhttp3.OkHttpClient.Builder())
|
||||
.connectTimeout(3, java.util.concurrent.TimeUnit.SECONDS)
|
||||
.writeTimeout(3, java.util.concurrent.TimeUnit.SECONDS)
|
||||
.readTimeout(3, java.util.concurrent.TimeUnit.SECONDS)
|
||||
.build();
|
||||
threads.start(function () {
|
||||
emitter.emit("evaluate", (function () {
|
||||
//Many sources
|
||||
let sources = [
|
||||
"https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript/source/SkyAutoplayer.js",
|
||||
"http://cdn.stagex.top:8090/StageGuard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js",
|
||||
"https://dl.skyautoplayerscript.stageguard.top/source/SkyAutoplayer.js",
|
||||
"https://raw.githubusercontent.com/StageGuard/SkyAutoPlayerScript/master/source/SkyAutoplayer.js"
|
||||
];
|
||||
for (let i in sources) {
|
||||
try {
|
||||
let resp = client.newCall(
|
||||
(new okhttp3.Request.Builder()).url(sources[i]).build()
|
||||
).execute();
|
||||
if (resp.code() == 200) return resp.body().string();
|
||||
} catch(e) {
|
||||
let err = "Failed on source " + sources[i] + " : " + e;
|
||||
console.log(err); toast(err);
|
||||
}
|
||||
var emitter = events.emitter(threads.currentThread());
|
||||
threads.start(function() {
|
||||
emitter.emit("evaluate", (function(){
|
||||
var resp = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js");
|
||||
if(resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||
return resp.body.string();
|
||||
} else {
|
||||
resp = http.get("https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript@" + http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/gitVersion").body.string() + "/source/SkyAutoplayer.js");
|
||||
if(resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||
return resp.body.string();
|
||||
} else {
|
||||
return "console.show();console.log(\"Failed to load script\")";
|
||||
}
|
||||
console.show();
|
||||
return null;
|
||||
}()));
|
||||
});
|
||||
emitter.on('evaluate', s => { if(s != null) eval(s); });
|
||||
}(events.emitter(threads.currentThread())));
|
||||
}
|
||||
}()));
|
||||
});
|
||||
emitter.on('evaluate', function(s){
|
||||
eval(s);
|
||||
});
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details> <summary>安装独立程序(仅 <code>arm64-v8a</code> 可用)</summary>
|
||||
|
||||
在 [Releases · StageGuard/SkyAutoPlayerScript](https://github.com/StageGuard/SkyAutoPlayerScript/releases) 中下载脚本独立打包程序,安装后即可使用。
|
||||
|
||||
首次启动时请同意程序申请的权限:**无障碍服务**和**悬浮窗权限**和**存储权限**。
|
||||
|
||||
> 注意:本程序申请的权限为 AutoX 打包程序自动控制,且仅申请使脚本运行的必要权限。
|
||||
|
||||
</details>
|
||||
|
||||
## 兼容性
|
||||
|
||||
在 AutoX 版本 `6.3.6` 中测试通过。
|
||||
在Auto.js版本 `4.1.1 Alpha2 (461)` 中测试通过,**不保证其他版本的兼容性**(取决于其他版本相对于此版本的API是否有`breaking changes`)
|
||||
|
||||
## 清除数据
|
||||
|
||||
`SkyAutoPlayerScript` 在使用过程中会产生本地数据存储,若想全部删除,请使用 AutoX 执行以下代码
|
||||
`SkyAutoPlayerScript` 在使用过程中会产生本地数据存储,若想全部删除,请使用Auto.js执行以下代码
|
||||
|
||||
```
|
||||
storages.remove("StageGuard:SkyAutoPlayer:Config");
|
||||
@@ -155,19 +119,19 @@ SkyAutoplayerScript 可以从这个仓库中的 `shared_sheets.json` 读取在
|
||||
|
||||
### 请仔细阅读以下使用须知!
|
||||
|
||||
1. 未充分测试,若遇到 BUG ,请酷安私信 [@StageGuard](http://www.coolapk.com/u/1790774) 或新建 Issue 来反馈 BUG!
|
||||
1. 未充分测试,若遇到BUG,请酷安私信@StageGuard或新建Issue来反馈BUG!
|
||||
|
||||
2. **SkyAutoplayerScript 是完全免费且开源的软件/脚本([https://github.com/StageGuard/SkyAutoPlayerScript](https://github.com/StageGuard/SkyAutoPlayerScript)),使用 SkyAutoplayerScript 盈利的同时请标注源项目链接。**
|
||||
2. **SkyAutoplayerScript是完全免费且开源的软件/脚本([https://github.com/StageGuard/SkyAutoPlayerScript](https://github.com/StageGuard/SkyAutoPlayerScript)),使用 SkyAutoplayerScript 盈利的同时请标注源项目链接。**
|
||||
|
||||
3. **共享乐谱不遵守 LGPL-2.1 协议,如您想在 SkyAutoPlayer 以外使用这些乐谱,请自行找乐谱作者授权!**
|
||||
3. **共享乐谱不遵守LGPL-2.1协议,如您想在SkyAutoPlayer以外使用这些乐谱,请自行找乐谱作者授权!**
|
||||
|
||||
4. 本脚本仅可用作娱乐用途,请不要在正规场合使用本脚本(请自行体会\"正规场合\"是什么意思),若因使用本脚本所出现了一些不友好的问题,与脚本作者 StageGuard 无关。
|
||||
4. 本脚本仅可用作娱乐用途,请不要在正规场合使用本脚本(请自行体会\"正规场合\"是什么意思),若因使用本脚本所出现了一些不友好的问题,与脚本作者StageGuard无关。
|
||||
|
||||
5. 脚本只能给你一时满足感而不能使你进步,请适当使用,只有真正的技术才是王道,才能使你感到快乐。
|
||||
|
||||
6. 本脚本只是一个"弹奏机",并不内置曲谱,请在 GooglePlay 下载 [SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio) 编谱。
|
||||
|
||||
7. 本脚本不会增加解密乐谱功能,包括但不限于**加密的 SkyStudio 乐谱**,**加密的 JS** 等,也不接受加密乐谱的共享。
|
||||
7. 本脚本不会增加解密乐谱功能,包括但不限于**加密的SkyStudio乐谱**,**加密的JS**等,也不接受加密乐谱的共享。
|
||||
|
||||
|
||||
<details> <summary>针对上述第2, 3条出现的问题:</summary>
|
||||
@@ -203,12 +167,12 @@ Gitee 用户[嗨游圈(@vipssp)](https://gitee.com/vipssp)在**未经乐谱上
|
||||
|
||||
# 贡献
|
||||
|
||||
欢迎任何人贡献本项目,包括但不限于 Pull Request,Issue,New feature request 或者贡献翻译。
|
||||
欢迎任何人贡献本项目,包括但不限于 Pull Request,Issue,New feature request 或者 贡献翻译。
|
||||
|
||||
### ⚠️警告
|
||||
CodeFactor 代码评估: [](https://www.codefactor.io/repository/github/stageguard/skyautoplayerscript)
|
||||
|
||||
由于项目为单脚本文件,未将不同模块分离至文件,即所有功能均在一个文件实现;再加上我糟糕的代码技能,源码会非常难读。
|
||||
由于 Auto.js 的限制,无法将不同的功能分离,所以所有功能都在一个文件实现;再加上我糟糕的代码技能,源码会非常难读。
|
||||
|
||||
## 贡献者
|
||||
|
||||
@@ -247,15 +211,6 @@ Twitter [Phoebe@huunhut1217](https://mobile.twitter.com/huunhut1217)<br>
|
||||
酷安[@DoubleGGe](http://www.coolapk.com/u/7728656)<br>
|
||||
[恋上猫的鱼~](mailto:shi1177121232@foxmail.com)<br>
|
||||
[依稀(濒死动物)](mailto:3423451308@qq.com)<br>
|
||||
[zhangjinteng](mailto:zhangjinteng@foxmail.com)<br>
|
||||
哔哩哔哩[@次卡安](https://space.bilibili.com/68420360)<br>
|
||||
酷安[@ZyaIreZ](http://www.coolapk.com/u/1376183)<br>
|
||||
酷安[@星释槐](http://www.coolapk.com/u/2168596)<br>
|
||||
[KingXKK](mailto:fjjiangdonghan@outlook.com)<br>
|
||||
酷安[@Leotoast](http://www.coolapk.com/u/2260385)<br>
|
||||
[小柒不会玩红石](mailto:2126859202@qq.com)<br>
|
||||
[我睡着的时候不困0v0](mailto:31610766@qq.com)<br>
|
||||
[心酸的邂逅](mailto:3200546245@qq.com)<br>
|
||||
|
||||
## 翻译
|
||||
|
||||
@@ -276,7 +231,7 @@ SkyAutoplayerScript 在版本 21 已支持多语言并可以在线获取语言
|
||||
# 许可证协议
|
||||
|
||||
```
|
||||
SkyAutoPlayer (AutoX script)
|
||||
SkyAutoPlayer (Auto.js script)
|
||||
Copyright © 2020-2021 StageGuard
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
|
||||
@@ -1 +1 @@
|
||||
6067ff139bc0bd3c7542535ecacc83e4d1831b1a
|
||||
ee925ccc72fd29cd49c380fb1182790afb55e8eb
|
||||
@@ -3,7 +3,7 @@
|
||||
"code": "en_US",
|
||||
"version": 5,
|
||||
"content": {
|
||||
"launch_tip_in_content": "If you can't see a diamond popup dialog,<br>make sure that AutoX is allowed to <u><b>display pop-up window</u></b>",
|
||||
"launch_tip_in_content": "If you can't see a diamond popup dialog,<br>make sure that Auto.js is allowed to <u><b>display pop-up window</u></b><br><br><br>Version <b>4.1.1 Alpha2</b> is recommended.<br><b>4.1.1 Alpha2</b> Download: <a href=https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2>https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2</a>",
|
||||
"launch_tip_force_exit": "FORCE EXIT",
|
||||
"launch_tip_storage_on_android11": "In Android R, access private data folder of other apps is forbidden, sheet folder has set to {0}",
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"code": "zh_CN",
|
||||
"version": 5,
|
||||
"content": {
|
||||
"launch_tip_in_content": "当你发现什么事情都没有发生时<br>也许你应该看看是否授予了 AutoX<u><b>悬浮窗权限</u></b>",
|
||||
"launch_tip_in_content": "当你发现什么事情都没有发生时<br>也许你应该看看是否授予了Auto.js<u><b>悬浮窗权限</u></b><br><br><br>建议使用 <b>4.1.1 Alpha2</b> 版本!<br><b>4.1.1 Alpha2</b> 版本下载: <a href=https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2>https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2</a>",
|
||||
"launch_tip_force_exit": "强制退出",
|
||||
"launch_tip_storage_on_android11": "安卓11不允许外部应用读取应用私有文件夹,乐谱文件夹移至 {0}",
|
||||
|
||||
|
||||
@@ -1,519 +1,5 @@
|
||||
{
|
||||
"sheets": [
|
||||
{
|
||||
"name": "人鱼的眼泪",
|
||||
"file": "人鱼的眼泪.txt",
|
||||
"author": "心酸的邂逅",
|
||||
"desc": "<a href=mailto:3200546245@qq.com>@心酸的邂逅<a/> 分享乐谱 人鱼的眼泪",
|
||||
"bpm": 552,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 5,
|
||||
"noteCount": 1254,
|
||||
"social": [
|
||||
{
|
||||
"platform": "mail",
|
||||
"name": "3200546245@qq.com",
|
||||
"link": "3200546245@qq.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "漠河舞厅.",
|
||||
"file": "漠河舞厅.txt",
|
||||
"author": "柳爽",
|
||||
"desc": "<a href=mailto:31610766@qq.com>@我睡着的时候不困0v0<a/> 分享乐谱 漠河舞厅.",
|
||||
"bpm": 280,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 878,
|
||||
"social": [
|
||||
{
|
||||
"platform": "mail",
|
||||
"name": "31610766@qq.com",
|
||||
"link": "31610766@qq.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "rush e",
|
||||
"file": "rush e.txt",
|
||||
"author": "小柒不会玩红石",
|
||||
"desc": "<a href=mailto:2126859202@qq.com>@小柒不会玩红石<a/> 分享乐谱 rush e",
|
||||
"bpm": 1024,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 2465,
|
||||
"social": [
|
||||
{
|
||||
"platform": "mail",
|
||||
"name": "2126859202@qq.com",
|
||||
"link": "2126859202@qq.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "那女孩对我说(完整版)",
|
||||
"file": "那女孩对我说(完整版).txt",
|
||||
"author": "Hxina",
|
||||
"desc": "<a href=mailto:xicisw@gmail.com>@Hxina<a/>完整版《那女孩对我说》",
|
||||
"bpm": 320,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 610,
|
||||
"social": [
|
||||
{
|
||||
"platform": "mail",
|
||||
"name": "xicisw@gmail.com",
|
||||
"link": "xicisw@gmail.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "相思(无和弦)",
|
||||
"file": "相思(无和弦).txt",
|
||||
"author": "Hxina",
|
||||
"desc": "<a href=mailto:xicisw@gmail.com>@Hxina<a/>简易《相思(无和弦)》",
|
||||
"bpm": 160,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 230,
|
||||
"social": [
|
||||
{
|
||||
"platform": "mail",
|
||||
"name": "xicisw@gmail.com",
|
||||
"link": "xicisw@gmail.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "夜空中最亮的星",
|
||||
"file": "夜空中最亮的星.txt",
|
||||
"author": "Hxina",
|
||||
"desc": "<a href=mailto:xicisw@gmail.com>@Hxina<a/>15键简易钢琴版《夜空中最亮的星》",
|
||||
"bpm": 240,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 268,
|
||||
"social": [
|
||||
{
|
||||
"platform": "mail",
|
||||
"name": "xicisw@gmail.com",
|
||||
"link": "xicisw@gmail.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "多情种",
|
||||
"file": "多情种.txt",
|
||||
"author": "酷安@Leotoast",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/2260385>@Leotoast<a/> 分享乐谱 多情种",
|
||||
"bpm": 227,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 544,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/2260385"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "莫文蔚 - 这世界那么多人",
|
||||
"file": "这世界那么多人.txt",
|
||||
"author": "酷安@ZyaIreZ",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/1376183>@ZyaIreZ<a/> 分享乐谱 这世界那么多人\n2022春晚上韩红唱的歌",
|
||||
"bpm": 317,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 957,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/1376183"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "冬日恋歌(My Memory)",
|
||||
"file": "冬日恋歌(My Memory).txt",
|
||||
"author": "酷安@你们很有趣呢",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/2416229>@你们很有趣呢<a/> 分享乐谱 冬日恋歌(My Memory)",
|
||||
"bpm": 312,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 7,
|
||||
"noteCount": 733,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/2416229"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "阿拉斯加海湾",
|
||||
"file": "阿拉斯加海湾.txt",
|
||||
"author": "酷安@星释槐",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/2168596>@星释槐<a/> 分享乐谱 阿拉斯加海湾",
|
||||
"bpm": 240,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 1086,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/2168596"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "冬眠",
|
||||
"file": "冬眠.txt",
|
||||
"author": "酷安@星释槐",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/2168596>@星释槐<a/> 分享乐谱 冬眠",
|
||||
"bpm": 240,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 294,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/2168596"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Jason Huang - 高洁的教皇",
|
||||
"file": "高洁的教皇.txt",
|
||||
"author": "酷安@ZyaIreZ",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/1376183>@ZyaIreZ<a/> 分享乐谱 Jason Huang - 高洁的教皇\nJOJO的奇妙冒险 花京院处刑曲",
|
||||
"bpm": 584,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 818,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/1376183"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "李玉刚 - 万疆",
|
||||
"file": "万疆.txt",
|
||||
"author": "酷安@ZyaIreZ",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/1376183>@ZyaIreZ<a/> 分享乐谱 李玉刚 - 万疆",
|
||||
"bpm": 240,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 509,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/1376183"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "穿越时空的思念",
|
||||
"file": "穿越时空的思念-ZyaIreZ.txt",
|
||||
"author": "酷安@ZyaIreZ",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/1376183>@ZyaIreZ<a/> 分享乐谱 穿越时空的思念\n犬夜叉",
|
||||
"bpm": 440,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 496,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/1376183"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "琴师",
|
||||
"file": "琴师.txt",
|
||||
"author": "酷安@ZyaIreZ",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/1376183>@ZyaIreZ<a/> 分享乐谱 琴师\n音频怪物 - 琴师",
|
||||
"bpm": 240,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 285,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/1376183"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "花海",
|
||||
"file": "花海.txt",
|
||||
"author": "大锤",
|
||||
"desc": "<a href=https://space.bilibili.com/68420360>bilibli用户(次卡安)<a/>共享乐谱 花海",
|
||||
"bpm": 120,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 3,
|
||||
"noteCount": 320,
|
||||
"social": [
|
||||
{
|
||||
"platform": "bilibili",
|
||||
"name": "哔哩哔哩",
|
||||
"link": "https://space.bilibili.com/68420360"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "李香兰(和弦版)",
|
||||
"file": "李香兰(和弦版).txt",
|
||||
"author": "大锤",
|
||||
"desc": "<a href=https://space.bilibili.com/68420360>bilibli用户(次卡安)<a/>共享乐谱 李香兰 \n 星爷在国产凌凌漆电影中弹奏",
|
||||
"bpm": 150,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 3,
|
||||
"noteCount": 226,
|
||||
"social": [
|
||||
{
|
||||
"platform": "bilibili",
|
||||
"name": "哔哩哔哩",
|
||||
"link": "https://space.bilibili.com/68420360"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "所念皆星河(无和弦)",
|
||||
"file": "所念皆星河(无和弦).txt",
|
||||
"author": "酷安@ZyaIreZ",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/1376183>@ZyaIreZ<a/> 分享乐谱 所念皆星河(无和弦)\n只有半首,后面的不想弄了累…",
|
||||
"bpm": 240,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 312,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/1376183"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "所念皆星河(和弦)",
|
||||
"file": "所念皆星河(和弦).txt",
|
||||
"author": "酷安@ZyaIreZ",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/1376183>@ZyaIreZ<a/> 分享乐谱 所念皆星河(和弦)\n只有半首,后面的不想弄了累…",
|
||||
"bpm": 240,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 563,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/1376183"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "我和我的祖国",
|
||||
"file": "我和我的祖国.txt",
|
||||
"author": "酷安@ZyaIreZ",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/1376183>@ZyaIreZ<a/> 分享乐谱 我和我的祖国\n迟到的国庆特辑",
|
||||
"bpm": 450,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 254,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/1376183"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "成龙 - 国家",
|
||||
"file": "成龙 - 国家.txt",
|
||||
"author": "酷安@ZyaIreZ",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/1376183>@ZyaIreZ<a/> 分享乐谱 成龙 - 国家\n迟到的国庆特辑",
|
||||
"bpm": 240,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 610,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/1376183"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "溯",
|
||||
"file": "溯.txt",
|
||||
"author": "大锤",
|
||||
"desc": "<a href=https://space.bilibili.com/68420360>bilibli用户(次卡安)<a/>共享乐谱 溯",
|
||||
"bpm": 170,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 3,
|
||||
"noteCount": 347,
|
||||
"social": [
|
||||
{
|
||||
"platform": "bilibili",
|
||||
"name": "哔哩哔哩",
|
||||
"link": "https://space.bilibili.com/68420360"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "莫失莫忘",
|
||||
"file": "莫失莫忘.txt",
|
||||
"author": "大锤",
|
||||
"desc": "<a href=https://space.bilibili.com/68420360>bilibli用户(次卡安)<a/>共享乐谱 莫失莫忘\n 回忆仙剑,我们原来都这么老了",
|
||||
"bpm": 120,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 3,
|
||||
"noteCount": 160,
|
||||
"social": [
|
||||
{
|
||||
"platform": "bilibili",
|
||||
"name": "哔哩哔哩",
|
||||
"link": "https://space.bilibili.com/68420360"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "所念皆星河",
|
||||
"file": "所念皆星河.txt",
|
||||
"author": "大锤",
|
||||
"desc": "<a href=https://space.bilibili.com/68420360>bilibli用户(次卡安)<a/>共享乐谱 所念皆星河(和弦版)\n 改版",
|
||||
"bpm": 200,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 3,
|
||||
"noteCount": 384,
|
||||
"social": [
|
||||
{
|
||||
"platform": "bilibili",
|
||||
"name": "哔哩哔哩",
|
||||
"link": "https://space.bilibili.com/68420360"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Take me hand",
|
||||
"file": "Take me hand.txt",
|
||||
"author": "zhangjinteng",
|
||||
"desc": "<a href=mailto:zhangjinteng@foxmail.com>zhangjinteng<a/> 分享乐谱 Take me hand\n电影《艺伎回忆录》插曲(片段)",
|
||||
"bpm": 240,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 202,
|
||||
"social": [
|
||||
{
|
||||
"platform": "mail",
|
||||
"name": "zhangjinteng@foxmail.com",
|
||||
"link": "zhangjinteng@foxmail.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "郭顶 - 水星记",
|
||||
"file": "水星记.txt",
|
||||
"author": "zhangjinteng",
|
||||
"desc": "<a href=mailto:zhangjinteng@foxmail.com>zhangjinteng<a/> 分享乐谱 郭顶 - 水星记片段",
|
||||
"bpm": 240,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 275,
|
||||
"social": [
|
||||
{
|
||||
"platform": "mail",
|
||||
"name": "zhangjinteng@foxmail.com",
|
||||
"link": "zhangjinteng@foxmail.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "月亮代表我的心",
|
||||
"file": "月亮代表我的心.txt",
|
||||
"author": "zhangjinteng",
|
||||
"desc": "<a href=mailto:zhangjinteng@foxmail.com>zhangjinteng<a/> 分享乐谱 月亮代表我的心 简易和弦版",
|
||||
"bpm": 215,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 193,
|
||||
"social": [
|
||||
{
|
||||
"platform": "mail",
|
||||
"name": "zhangjinteng@foxmail.com",
|
||||
"link": "zhangjinteng@foxmail.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "三葉のテーマ(三叶的主题曲)",
|
||||
"file": "三葉のテーマ.txt",
|
||||
"author": "zhangjinteng",
|
||||
"desc": "<a href=mailto:zhangjinteng@foxmail.com>zhangjinteng<a/> 分享乐谱 三叶的主题曲\n电影《你的名字。》中的歌曲",
|
||||
"bpm": 240,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 892,
|
||||
"social": [
|
||||
{
|
||||
"platform": "mail",
|
||||
"name": "zhangjinteng@foxmail.com",
|
||||
"link": "zhangjinteng@foxmail.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Happy Birthday to You",
|
||||
"file": "Happy Birthday to You.txt",
|
||||
"author": "酷安@阿基米德的船",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/3283016>@阿基米德的船<a/> 分享乐谱 Happy Birthday to You",
|
||||
"bpm": 220,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
"pitchLevel": 0,
|
||||
"noteCount": 126,
|
||||
"social": [
|
||||
{
|
||||
"platform": "coolapk",
|
||||
"name": "酷安",
|
||||
"link": "http://www.coolapk.com/u/3283016"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "浪流连",
|
||||
"file": "浪流连.txt",
|
||||
@@ -875,10 +361,10 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "いつも何度でも (「千と千尋の神隠し」主題歌)",
|
||||
"file": "いつも何度でも_F.txt",
|
||||
"name": "いつも何度でも (「千と千尋の神隠し」主題歌)",
|
||||
"file": "いつも何度でも (「千と千尋の神隠し」主題歌)F调.txt",
|
||||
"author": "酷安@阿基米德的船",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/3283016>@阿基米德的船<a/> 分享乐谱 いつも何度でも_F \n(「千と千尋の神隠し」主題歌) (F调)",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/3283016>@阿基米德的船<a/> 分享乐谱 いつも何度でも \n(「千と千尋の神隠し」主題歌) (F调)",
|
||||
"bpm": 470,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
"ui";
|
||||
"use strict";
|
||||
/*
|
||||
SkyAutoPlayer (AutoX script)
|
||||
SkyAutoPlayer (Auto.js script)
|
||||
Copyright © 2020-2021 StageGuard
|
||||
Contact :
|
||||
(QQ: 1355416608)
|
||||
@@ -29,13 +29,13 @@
|
||||
|
||||
const user_agreements =
|
||||
"请仔细阅读以下使用须知!\n\n" +
|
||||
"1. 未充分测试,若遇到 BUG,请酷安私信 @StageGuard 或新建 Issue 来反馈 BUG!\n\n" +
|
||||
"2. SkyAutoplayerScript 是完全免费且开源的软件/脚本(https://github.com/StageGuard/SkyAutoPlayerScript),使用 SkyAutoplayerScript 盈利的同时请标注源项目链接。\n\n" +
|
||||
"3. 共享乐谱不遵守 LGPL-2.1 协议,如您想在SkyAutoPlayer以外使用这些乐谱,请自行找乐谱作者授权!\n\n" +
|
||||
"4. 本脚本仅可用作娱乐用途,请不要在正规场合使用本脚本(请自行体会\"正规场合\"是什么意思),若因使用本脚本所出现了一些不友好的问题,与脚本作者 StageGuard 无关。\n\n" +
|
||||
"1. 未充分测试,若遇到BUG,请酷安私信@StageGuard或新建Issue来反馈BUG!\n\n" +
|
||||
"2. SkyAutoplayerScript是完全免费且开源的软件/脚本(https://github.com/StageGuard/SkyAutoPlayerScript),使用 SkyAutoplayerScript 盈利的同时请标注源项目链接。\n\n" +
|
||||
"3. 共享乐谱不遵守LGPL-2.1协议,如您想在SkyAutoPlayer以外使用这些乐谱,请自行找乐谱作者授权!\n\n" +
|
||||
"4. 本脚本仅可用作娱乐用途,请不要在正规场合使用本脚本(请自行体会\"正规场合\"是什么意思),若因使用本脚本所出现了一些不友好的问题,与脚本作者StageGuard无关。\n\n" +
|
||||
"5. 脚本只能给你一时满足感而不能使你进步,请适当使用,只有真正的技术才是王道,才能使你感到快乐。\n\n" +
|
||||
"6. 本脚本只是一个\"弹奏机\",并不内置曲谱,请在 GooglePlay 下载 SkyStudio 编谱。\n\n" +
|
||||
"7. 本脚本的发行遵守 LGPL-2.1 协议,若你不了解协议内容,请访问 https://www.gnu.org/licenses 查看"
|
||||
"7. 本脚本的发行遵守LGPL-2.1协议,若你不了解协议内容,请访问 https://www.gnu.org/licenses 查看"
|
||||
;
|
||||
|
||||
//Script global scope
|
||||
@@ -58,7 +58,7 @@ scope.dp = context.getResources().getDisplayMetrics().density;
|
||||
//show error;
|
||||
const error = function(text) {
|
||||
console.show();
|
||||
console.error("SkyAutoPlayer发生了一个错误,请酷安私信 @StageGuard 或在 Github 中的 StageGuard/SkyAutoPlayerScript 新建 Issue 来反馈这个 BUG!\n详细信息:" + text);
|
||||
console.error("SkyAutoPlayer发生了一个错误,请酷安私信@StageGuard或在github中的StageGuard/SkyAutoPlayerScript新建Issue来反馈这个BUG!\n详细信息:" + text);
|
||||
};
|
||||
|
||||
String.format = function() {
|
||||
@@ -88,15 +88,6 @@ sheetmgr = {
|
||||
}
|
||||
return this.cachedLocalSheetList;
|
||||
},
|
||||
|
||||
filterLocalSheet: function(filterBlock, listener) {
|
||||
var resultList = [];
|
||||
this.getLocalSheetList(listener).map(function(element, index) {
|
||||
if(filterBlock(element)) resultList.push(element);
|
||||
});
|
||||
return resultList;
|
||||
},
|
||||
|
||||
getOnlineSharedSheetInfoList: function(forceRefresh) {
|
||||
if(this.cachedOnlineSharedSheetInfoList.length == 0 || forceRefresh) {
|
||||
this.__internal_fetchOnlineSharedSheets();
|
||||
@@ -292,7 +283,8 @@ sheetplayer = {
|
||||
delay += config.values.chordDelay;
|
||||
gestureMap.push([delay, 25, keyCoordinates, keyCoordinates]);
|
||||
});
|
||||
gestures.apply(null, gestureMap);
|
||||
gestureMap = sheetplayer.toSource(gestureMap);
|
||||
eval("gestures(" + gestureMap.slice(1, gestureMap.length - 1) + ");");
|
||||
}
|
||||
});
|
||||
while(sheetplayer.playing && sheetplayer.currentNote < sheetplayer.noteCount) {
|
||||
@@ -332,9 +324,7 @@ sheetplayer = {
|
||||
}
|
||||
} else {
|
||||
sheetplayer.stop();
|
||||
setTimeout(function(){
|
||||
gui.main.show(0);
|
||||
}, config.values.intervalSecondsPlayInNoPopupMode * 1000);
|
||||
gui.main.show(0);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -374,7 +364,24 @@ sheetplayer = {
|
||||
this.bpm = j.bpm;
|
||||
this.noteCount = this.notes.length;
|
||||
this.keyCount = j.keyCount;
|
||||
}
|
||||
},
|
||||
|
||||
toSource: function(obj) {
|
||||
var _toJSON = function toJSON(x, lev) {
|
||||
var p = "", r, i;
|
||||
if (typeof x == "string") {
|
||||
return x;
|
||||
} else if (Array.isArray(x)) {
|
||||
r = new Array();
|
||||
for (i = 0; i < x.length; i++) r.push(toJSON(x[i], lev - 1));
|
||||
p = "[" + r.join(",") + "]";
|
||||
} else {
|
||||
p = String(x);
|
||||
}
|
||||
return p;
|
||||
}
|
||||
return _toJSON(obj, 32);
|
||||
},
|
||||
}
|
||||
|
||||
config = {
|
||||
@@ -382,7 +389,7 @@ config = {
|
||||
_global_storage: null,
|
||||
|
||||
values: {
|
||||
currentVersion: 24,
|
||||
currentVersion: 23,
|
||||
gitVersion: "",
|
||||
|
||||
key_coordinates15: [],
|
||||
@@ -409,7 +416,7 @@ config = {
|
||||
|
||||
languages: {
|
||||
zh_CN: {
|
||||
launch_tip_in_content: "当你发现什么事情都没有发生时<br>也许你应该看看是否授予了 AutoX <u><b>悬浮窗权限</u></b>",
|
||||
launch_tip_in_content: "当你发现什么事情都没有发生时<br>也许你应该看看是否授予了Auto.js<u><b>悬浮窗权限</u></b><br><br><br>建议使用 <b>4.1.1 Alpha2</b> 版本!<br><b>4.1.1 Alpha2</b> 版本下载: <a href=https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2>https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2</a>",
|
||||
launch_tip_force_exit: "强制退出",
|
||||
launch_tip_storage_on_android11: "安卓11不允许外部应用读取应用私有文件夹,乐谱文件夹移至 {0}",
|
||||
|
||||
@@ -643,7 +650,7 @@ config = {
|
||||
},
|
||||
|
||||
checkVersion: function() {
|
||||
this.values.gitVersion = http.get("https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript/gitVersion").body.string();
|
||||
this.values.gitVersion = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/gitVersion").body.string();
|
||||
var periodVersion = this._global_storage.get("version", this.values.currentVersion);
|
||||
var currentVersion = this.values.currentVersion;
|
||||
if(periodVersion < currentVersion) {
|
||||
@@ -728,6 +735,7 @@ config = {
|
||||
fetchRepoFile: function(path, successCbk, failCbk) {
|
||||
var repos = [
|
||||
"https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript@" + config.values.gitVersion + "/" + path,
|
||||
"https://dl.skyautoplayerscript.stageguard.top/" + path,
|
||||
"https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/" + path,
|
||||
"https://raw.githubusercontent.com/StageGuard/SkyAutoPlayerScript/master/" + path
|
||||
];
|
||||
@@ -739,7 +747,7 @@ config = {
|
||||
successCbk(resp.body);
|
||||
return;
|
||||
} else errorCollector += "Failed on " + repo[i] + ": " + resp.statusCode + ": " + resp.statusMessage + "\n";
|
||||
} catch (e) { errorCollector += "Failed on " + repos[i] + ": " + e + "\n"; }
|
||||
} catch (e) { errorCollector += "Failed on " + repo[i] + ": " + e + "\n"; }
|
||||
}
|
||||
if(failCbk != null) failCbk(errorCollector);
|
||||
},
|
||||
@@ -1422,8 +1430,7 @@ gui = {
|
||||
|
||||
//internal methods
|
||||
__internal_show: function s(content) { gui.run(function(){
|
||||
s.index = content.index;
|
||||
gui.main.current = content.index;
|
||||
s.index = gui.main.current = content.index;
|
||||
s.initial = false;
|
||||
if(!gui.main.isShowing) { //create a new window and show content view
|
||||
gui.main._global_base = new android.widget.LinearLayout(ctx);
|
||||
@@ -1649,9 +1656,7 @@ gui = {
|
||||
}
|
||||
s["navigationBtn" + i].setOnClickListener(new android.view.View.OnClickListener({
|
||||
onClick: function(view) { if(gui.main.current_navigation_selection != Number(view.getId())) {
|
||||
if(typeof(gui.main.currentPageChangeListener) == "function") {
|
||||
gui.main.currentPageChangeListener(s, content);
|
||||
}
|
||||
if(typeof(gui.main.currentPageChangeListener) == "function") gui.main.currentPageChangeListener(s, content);
|
||||
gui.main.__internal_show(gui.main.views[Number(view.getId())]);
|
||||
gui.main.current_navigation_selection = Number(view.getId());
|
||||
}}
|
||||
@@ -2167,7 +2172,7 @@ gui = {
|
||||
s.lp = gui.player_panel._global_base.getLayoutParams();
|
||||
if(gui.player_panel.cx == null) {
|
||||
gui.player_panel.cx = 0;
|
||||
gui.player_panel.cy = context.getResources().getDisplayMetrics().heightPixels / 2;
|
||||
gui.player_panel.cy = context.getResources().getDisplayMetrics().heightPixels / 2 - gui.player_panel._global_base.getMeasuredHeight() - dp * 2;
|
||||
}
|
||||
s.lp.x = s.x = gui.player_panel.cx;
|
||||
s.lp.y = s.y = gui.player_panel.cy;
|
||||
@@ -2786,18 +2791,8 @@ gui.dialogs.showProgressDialog(function(o) {
|
||||
func: [{
|
||||
icon: "refresh",
|
||||
onClick: function(s, selfContent) {
|
||||
if(s.ns0_isShowingSearchEditTextView) selfContent.removeSearchEditTextView(s, selfContent);
|
||||
selfContent.getSheetList(s, true);
|
||||
},
|
||||
}, {
|
||||
icon: "search",
|
||||
onClick: function(s, selfContent) {
|
||||
if(s.ns0_isShowingSearchEditTextView) {
|
||||
selfContent.removeSearchEditTextView(s, selfContent);
|
||||
} else {
|
||||
selfContent.showSearchEditTextView(s, selfContent);
|
||||
}
|
||||
},
|
||||
}],
|
||||
view: function(s) {
|
||||
s.ns0_rl = new android.widget.RelativeLayout(ctx);
|
||||
@@ -3056,83 +3051,12 @@ gui.dialogs.showProgressDialog(function(o) {
|
||||
update: function(s) {
|
||||
if(s.initial) this.getSheetList(s, false);
|
||||
},
|
||||
|
||||
onPageChanged: function(s, selfContent) {
|
||||
if(s.ns0_isShowingSearchEditTextView) {
|
||||
selfContent.removeSearchEditTextView(s);
|
||||
}
|
||||
},
|
||||
|
||||
showSearchEditTextView: function(s, selfContent) {
|
||||
gui.main.setFuncClickable(s.index, false);
|
||||
s.ns0_isShowingSearchEditTextView = true;
|
||||
s.ns0_searchEditText = new android.widget.EditText(ctx);
|
||||
s.ns0_searchEditText.setGravity(android.view.Gravity.LEFT | android.view.Gravity.CENTER);
|
||||
s.ns0_searchEditText.setLayoutParams(new android.widget.RelativeLayout.LayoutParams(-2, -1));
|
||||
s.ns0_searchEditText.setPadding(dp * 5, dp * 5, dp * 5, dp * 5);
|
||||
s.ns0_searchEditText.getLayoutParams().addRule(android.widget.RelativeLayout.ALIGN_PARENT_LEFT);
|
||||
s.ns0_searchEditText.setTextSize(15);
|
||||
s.ns0_searchEditText.setTextColor(gui.config.colors[config.values.theme].text);
|
||||
s.ns0_searchEditText.setHintTextColor(gui.config.colors[config.values.theme].sec_text);
|
||||
s.ns0_searchEditText.setHint(config.languages[config.values.lang].page_sc_search_hint);
|
||||
s.ns0_searchEditText.setAlpha(0);
|
||||
s.ns0_searchEditText.setOnClickListener(new android.view.View.OnClickListener({
|
||||
onClick: function(view) {
|
||||
view.setFocusable(true);
|
||||
view.setFocusableInTouchMode(true);
|
||||
view.requestFocus();
|
||||
ctx.getSystemService(android.content.Context.INPUT_METHOD_SERVICE).showSoftInput(view, 0);
|
||||
}
|
||||
}));
|
||||
s.ns0_searchEditText.setOnKeyListener(new android.view.View.OnKeyListener({
|
||||
onKey: function(view, keycode, event) {
|
||||
if (keycode == android.view.KeyEvent.KEYCODE_ENTER && event.getAction() == android.view.KeyEvent.ACTION_DOWN) {
|
||||
selfContent.getSheetList(s, false, function(item) {
|
||||
var regExp = new RegExp(view.getText(), "gi");
|
||||
return regExp.test(item.fileName) || regExp.test(item.name);
|
||||
});
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
}));
|
||||
gui.main._global_statusbar.addView(s.ns0_searchEditText);
|
||||
s.ns0_searchEditText.setFocusable(true);
|
||||
s.ns0_searchEditText.setFocusableInTouchMode(true);
|
||||
s.ns0_searchEditText.requestFocus();
|
||||
ctx.getSystemService(android.content.Context.INPUT_METHOD_SERVICE).showSoftInput(s.ns0_searchEditText, 0);
|
||||
gui.main._global_title.setEnabled(false);
|
||||
gui.main._global_title.setClickable(false);
|
||||
gui.utils.value_animation("Float", 0, 1.0, 300 , new android.view.animation.DecelerateInterpolator(), function(anim) {
|
||||
s.ns0_searchEditText.setAlpha(anim.getAnimatedValue());
|
||||
gui.main._global_title.setAlpha(1.0 - anim.getAnimatedValue());
|
||||
if(anim.getAnimatedValue() == 1.0) gui.main.setFuncClickable(s.index, true);
|
||||
});
|
||||
},
|
||||
|
||||
removeSearchEditTextView: function(s, selfContent) { try {
|
||||
s.ns0_isShowingSearchEditTextView = false;
|
||||
gui.main.setFuncClickable(s.index, false);
|
||||
s.ns0_searchEditText.setEnabled(false);
|
||||
s.ns0_searchEditText.setClickable(false);
|
||||
gui.main._global_title.setEnabled(true);
|
||||
gui.main._global_title.setClickable(true);
|
||||
gui.utils.value_animation("Float", 0, 1.0, 300 , new android.view.animation.DecelerateInterpolator(), function(anim) {
|
||||
s.ns0_searchEditText.setAlpha(1.0 - anim.getAnimatedValue());
|
||||
gui.main._global_title.setAlpha(anim.getAnimatedValue());
|
||||
if(anim.getAnimatedValue() == 1.0) {
|
||||
gui.main._global_statusbar.removeView(s.ns0_searchEditText);
|
||||
gui.main.setFuncClickable(s.index, true);
|
||||
}
|
||||
});
|
||||
} catch (e) { error(e); }},
|
||||
|
||||
getSheetList: function(s, isForce, filterBlock) {
|
||||
getSheetList: function(s, isForce) {
|
||||
gui.run(function() {
|
||||
s.ns0_progress.setIndeterminate(true);
|
||||
s.ns0_listAdapterController.removeAll();
|
||||
gui.main.setFuncClickable(s.index, false);
|
||||
if(typeof(filterBlock) != "function") gui.utils.value_animation("Float", 0, 1.0, 200, new android.view.animation.DecelerateInterpolator(), function(anim) {
|
||||
gui.utils.value_animation("Float", 0, 1.0, 200, new android.view.animation.DecelerateInterpolator(), function(anim) {
|
||||
gui.main._global_title.setAlpha(anim.getAnimatedValue());
|
||||
});
|
||||
gui.utils.value_animation("Float", 1.0, 0, 100, new android.view.animation.DecelerateInterpolator(), function(anim) {
|
||||
@@ -3152,17 +3076,11 @@ gui.dialogs.showProgressDialog(function(o) {
|
||||
});//修改乐谱键位提示
|
||||
s.ns0_listAdapterController.notifyChange();
|
||||
threads.start(function() {
|
||||
var list;
|
||||
if(typeof(filterBlock) != "function") {
|
||||
list = sheetmgr.getLocalSheetList(isForce, function(successCount, failedCount) {
|
||||
gui.run(function(){
|
||||
gui.main._global_title.setText(String.format(config.languages[config.values.lang].page_lc_loading_sheet, successCount, failedCount));
|
||||
});
|
||||
sheetmgr.getLocalSheetList(isForce, function(successCount, failedCount) {
|
||||
gui.run(function(){
|
||||
gui.main._global_title.setText(String.format(config.languages[config.values.lang].page_lc_loading_sheet, successCount, failedCount));
|
||||
});
|
||||
} else {
|
||||
list = sheetmgr.filterLocalSheet(filterBlock);
|
||||
}
|
||||
list.map(function(e, i) {
|
||||
}).map(function(e, i) {
|
||||
gui.run(function(){
|
||||
if(!e.failed || config.values.showFailedSheets) {
|
||||
s.ns0_listAdapterController.add((function(item) {
|
||||
@@ -3177,15 +3095,11 @@ gui.dialogs.showProgressDialog(function(o) {
|
||||
s.ns0_listAdapterController.notifyChange();
|
||||
gui.main._global_title.setText(gui.main.getPageInfo(s.index).title);
|
||||
gui.utils.value_animation("Float", 0, 1.0, 200, new android.view.animation.DecelerateInterpolator(), function(anim) {
|
||||
gui.main._global_title.setAlpha(anim.getAnimatedValue());
|
||||
s.ns0_listView.setAlpha(anim.getAnimatedValue());
|
||||
s.ns0_progress.setAlpha(1 - anim.getAnimatedValue());
|
||||
if(anim.getAnimatedValue() == 1.0) s.ns0_progress.setIndeterminate(false);
|
||||
});
|
||||
if(typeof(filterBlock) != "function") {
|
||||
gui.utils.value_animation("Float", 0, 1.0, 200, new android.view.animation.DecelerateInterpolator(), function(anim) {
|
||||
gui.main._global_title.setAlpha(anim.getAnimatedValue());
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -3494,8 +3408,7 @@ gui.dialogs.showProgressDialog(function(o) {
|
||||
onKey: function(view, keycode, event) {
|
||||
if (keycode == android.view.KeyEvent.KEYCODE_ENTER && event.getAction() == android.view.KeyEvent.ACTION_DOWN) {
|
||||
selfContent.getOnlineSheetList(s, false, function(item) {
|
||||
var regExp = new RegExp(view.getText(), "gi");
|
||||
return regExp.test(item.name) || regExp.test(item.author) || regExp.test(item.desc);
|
||||
return (new RegExp(view.getText(), "gi")).test(item.name);
|
||||
});
|
||||
return true;
|
||||
}
|
||||
@@ -3531,7 +3444,7 @@ gui.dialogs.showProgressDialog(function(o) {
|
||||
gui.main.setFuncClickable(s.index, true);
|
||||
}
|
||||
});
|
||||
} catch (e) { error(e); }},
|
||||
} catch (e) {}},
|
||||
|
||||
update: function(s) {
|
||||
if(s.initial) this.getOnlineSheetList(s, false);
|
||||
@@ -3912,4 +3825,4 @@ gui.dialogs.showProgressDialog(function(o) {
|
||||
}()));
|
||||
});
|
||||
}, false, true);
|
||||
});
|
||||
});
|
||||
@@ -2,10 +2,10 @@
|
||||
"list": [{
|
||||
"code": "zh_CN",
|
||||
"name": "简体中文",
|
||||
"version": 6
|
||||
"version": 5
|
||||
}, {
|
||||
"code": "en_US",
|
||||
"name": "English (US)",
|
||||
"version": 6
|
||||
"version": 5
|
||||
}]
|
||||
}
|
||||
@@ -1,8 +1,16 @@
|
||||
"ui";
|
||||
"use strict";
|
||||
|
||||
/*
|
||||
SkyAutoPlayer (Auto.js script)
|
||||
Copyright © 2020-2021 StageGuard
|
||||
Contact :
|
||||
(QQ: 1355416608)
|
||||
(Email: beamiscool@qq.com)
|
||||
(BaiduTieba@拐角处_等你)
|
||||
(Weibo@StageGuard)
|
||||
(CoolApk@StageGuard)
|
||||
(Twiter@stageguardcn)
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
@@ -19,26 +27,23 @@
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
|
||||
USA
|
||||
*/
|
||||
(function(emitter) {
|
||||
threads.start(function () {
|
||||
emitter.emit("evaluate", (function () {
|
||||
//Many sources
|
||||
let sources = [
|
||||
"http://cdn.stagex.top:8090/StageGuard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js",
|
||||
"https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript/source/SkyAutoplayer.js",
|
||||
"https://dl.skyautoplayerscript.stageguard.top/source/SkyAutoplayer.js",
|
||||
"https://raw.githubusercontent.com/StageGuard/SkyAutoPlayerScript/master/source/SkyAutoplayer.js"
|
||||
];
|
||||
for (let i in sources) {
|
||||
let resp = http.get(sources[i]);
|
||||
if (resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||
return resp.body.string();
|
||||
}
|
||||
|
||||
var emitter = events.emitter(threads.currentThread());
|
||||
threads.start(function() {
|
||||
emitter.emit("evaluate", (function(){
|
||||
var resp = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js");
|
||||
if(resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||
return resp.body.string();
|
||||
} else {
|
||||
resp = http.get("https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript@" + http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/gitVersion").body.string() + "/source/SkyAutoplayer.js");
|
||||
if(resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||
return resp.body.string();
|
||||
} else {
|
||||
return "console.show();console.log(\"Failed to load script\")";
|
||||
}
|
||||
return "console.show();console.log(\"Failed to load script\")";
|
||||
}()));
|
||||
});
|
||||
emitter.on('evaluate', function (s) {
|
||||
eval(s);
|
||||
});
|
||||
}(events.emitter(threads.currentThread())));
|
||||
}
|
||||
}()));
|
||||
});
|
||||
emitter.on('evaluate', function(s){
|
||||
eval(s);
|
||||
});
|
||||
@@ -1,8 +1,3 @@
|
||||
版本: 24
|
||||
更新时间: 2022.03.06 11:30
|
||||
更新内容:
|
||||
* 新增:本地乐谱搜索。
|
||||
|
||||
版本: 23
|
||||
更新时间: 2021.6.29 13:10
|
||||
更新内容:
|
||||
|
||||
Reference in New Issue
Block a user