Compare commits
99 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8fbb7f9ae7 | ||
|
|
6067ff139b | ||
|
|
dd70db5c17 | ||
|
|
b2e8799320 | ||
|
|
09a0cb8214 | ||
|
|
36f5dea846 | ||
|
|
f20dfc266c | ||
|
|
ecdcdf57ff | ||
|
|
e8334effc2 | ||
|
|
2ea865cb52 | ||
|
|
50db95a03d | ||
|
|
75eee66c8b | ||
|
|
3bdde71eb7 | ||
|
|
6f9f2dcef0 | ||
|
|
98c2f0511f | ||
|
|
be19447c07 | ||
|
|
eb0bb38e5a | ||
|
|
f083c11b4c | ||
|
|
bf2371854a | ||
|
|
e983639961 | ||
|
|
60ea0b7922 | ||
|
|
abc1e97155 | ||
|
|
eab7c61cc0 | ||
|
|
0d1aee52c0 | ||
|
|
ce50de5550 | ||
|
|
2798186da2 | ||
|
|
e1126b3594 | ||
|
|
1717631307 | ||
|
|
5a06edc5bd | ||
|
|
c1a0e50ffd | ||
|
|
4eedd121c0 | ||
|
|
a9f4f67f9e | ||
|
|
5619043a9e | ||
|
|
bf831fcf05 | ||
|
|
ba77488792 | ||
|
|
f2162796d9 | ||
|
|
fc81b89e86 | ||
|
|
a7b633502a | ||
|
|
5c43ae2909 | ||
|
|
bcd3b9d6ba | ||
|
|
d6e94c0274 | ||
|
|
e7dfbb856b | ||
|
|
0a235eead5 | ||
|
|
49c9158cf1 | ||
|
|
1f972b38a9 | ||
|
|
93f896debf | ||
|
|
bacba3c6e3 | ||
|
|
54211d15a0 | ||
|
|
830d0b55b5 | ||
|
|
efcd7868d5 | ||
|
|
5319dbce67 | ||
|
|
c19a62b761 | ||
|
|
19346b1aca | ||
|
|
d3785c3629 | ||
|
|
59455fb43d | ||
|
|
e5fb1bc197 | ||
|
|
ef207792c6 | ||
|
|
c5157b867c | ||
|
|
0278803293 | ||
|
|
e50b674ed9 | ||
|
|
e44b3a5ed4 | ||
|
|
006de48de6 | ||
|
|
0cf1417ca6 | ||
|
|
95e4ee8546 | ||
|
|
381578cc72 | ||
|
|
86b3442837 | ||
|
|
1c73833d30 | ||
|
|
aeaed550b7 | ||
|
|
4f495c5cc6 | ||
|
|
b724721e61 | ||
|
|
13f239ce44 | ||
|
|
239364ad6f | ||
|
|
9fab1fe3db | ||
|
|
8f60d2a3e5 | ||
|
|
678118ec16 | ||
|
|
2f7ae3f8be | ||
|
|
0d44ed5273 | ||
|
|
90b0962d94 | ||
|
|
839d3fa947 | ||
|
|
244306ef0d | ||
|
|
76b6b85b37 | ||
|
|
13abdb34ad | ||
|
|
af9de48b53 | ||
|
|
bb8458b948 | ||
|
|
18d1c8e670 | ||
|
|
0bafed9c23 | ||
|
|
644368f30a | ||
|
|
90156ce0af | ||
|
|
04bed642f9 | ||
|
|
13173f34a0 | ||
|
|
7db85f24b0 | ||
|
|
402e34ea2b | ||
|
|
dd7da09fb9 | ||
|
|
1443e6ddc5 | ||
|
|
14c137cce2 | ||
|
|
fc36fd5792 | ||
|
|
186e08fdbe | ||
|
|
766bf4cfb0 | ||
|
|
83ec7bd803 |
@@ -1,9 +1,9 @@
|
||||
name: Auto update commit and sync to gitee
|
||||
name: Sync
|
||||
|
||||
on: [ push, delete, create ]
|
||||
on: [ push ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
update-commit-hash:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -24,25 +24,37 @@ jobs:
|
||||
author_email: 41898282+github-actions[bot]@users.noreply.github.com
|
||||
message: Update git tree hash
|
||||
push: true
|
||||
# - 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
|
||||
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
|
||||
uses: wearerequired/git-mirror-action@master
|
||||
if: github.actor != 'github-actions[bot]'
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.GITEE_RSA_PRIVATE_KEY }}
|
||||
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 }}
|
||||
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,8 +1,10 @@
|
||||
# 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 Auto.js
|
||||
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
|
||||
|
||||
[](shared_sheets/) [](#shared-sheets) [](https://www.jsdelivr.com/)
|
||||
[](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)
|
||||
|
||||
## Feature
|
||||
|
||||
@@ -18,38 +20,63 @@ There are many features in SkyAutoPlayerScript compared to other auto player scr
|
||||
|
||||
## Usage
|
||||
|
||||
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)
|
||||
1. Download AutoX at [Releases · kkevsekk1/AutoX](https://github.com/kkevsekk1/AutoX/releases)。
|
||||
|
||||
2. Turn on **Accessibility service** and allow **Display pop-up window** permission for Auto.js
|
||||
> Warning: Please notice that you should check your device arch in advance, or select `universal`。
|
||||
|
||||
3. Create a new script file in Auto.js. Copy the code below and run!
|
||||
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!
|
||||
|
||||
```javascript
|
||||
"ui";
|
||||
"use strict";
|
||||
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\")";
|
||||
/*
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}()));
|
||||
});
|
||||
emitter.on('evaluate', function(s){
|
||||
eval(s);
|
||||
});
|
||||
return "console.show();console.log(\"Failed to load script\")";
|
||||
}()));
|
||||
});
|
||||
emitter.on('evaluate', function (s) {
|
||||
eval(s);
|
||||
});
|
||||
}(events.emitter(threads.currentThread())));
|
||||
```
|
||||
## Clear data
|
||||
|
||||
`SkyAutoPlayerScript` will store data while running, if you want to delete all data, please run the code below in Auto.js
|
||||
`SkyAutoPlayerScript` will store data while running, if you want to delete all data, please run the code below in AutoX
|
||||
|
||||
```
|
||||
storages.remove("StageGuard:SkyAutoPlayer:Config");
|
||||
@@ -167,7 +194,7 @@ Welcome everyone to contribute this project, including pull request, issue, new
|
||||
### ⚠️WARNING
|
||||
CodeFactor Evaluation: [](https://www.codefactor.io/repository/github/stageguard/skyautoplayerscript)
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
## Contributor
|
||||
|
||||
@@ -206,6 +233,15 @@ 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
|
||||
|
||||
@@ -226,7 +262,7 @@ None
|
||||
# LICENSE
|
||||
|
||||
```
|
||||
SkyAutoPlayer (Auto.js script)
|
||||
SkyAutoPlayer (AutoX script)
|
||||
Copyright © 2020-2021 StageGuard
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
|
||||
115
README.md
115
README.md
@@ -2,61 +2,97 @@
|
||||
|
||||
English: [README-en.md](README-en.md)
|
||||
|
||||
使用Auto.js提供的无障碍权限实现在Sky光遇中自动弹奏 [SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio) 导出的曲谱
|
||||
使用 [AutoX](https://github.com/kkevsekk1/AutoX) 提供的无障碍权限实现在 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)
|
||||
以下两种方式仅需选择一种
|
||||
|
||||
2. 为Auto.js开启**无障碍服务**和**悬浮窗权限**。
|
||||
<details> <summary>拷贝脚本(推荐)</summary>
|
||||
|
||||
3. 在Auto.js中新建一个脚本并粘贴以下代码并运行:
|
||||
1. 在 [Releases · kkevsekk1/AutoX](https://github.com/kkevsekk1/AutoX/releases) 中下载 AutoX。
|
||||
|
||||
> 注意:请提前悉知设备架构选择 `arm64-v8a` 或 `armeabi-v7a`,否则选择 `universal`。
|
||||
|
||||
2. 为 AutoX 开启**无障碍服务**和**悬浮窗权限**和**存储权限**。
|
||||
|
||||
3. 在 AutoX 中新建一个脚本并粘贴以下代码并运行:
|
||||
|
||||
```javascript
|
||||
"ui";
|
||||
"use strict";
|
||||
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\")";
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}()));
|
||||
});
|
||||
emitter.on('evaluate', function(s){
|
||||
eval(s);
|
||||
});
|
||||
console.show();
|
||||
return null;
|
||||
}()));
|
||||
});
|
||||
emitter.on('evaluate', s => { if(s != null) eval(s); });
|
||||
}(events.emitter(threads.currentThread())));
|
||||
```
|
||||
|
||||
在Auto.js版本 `4.1.1 Alpha2 (461)` 中测试通过,**不保证其他版本的兼容性**(取决于其他版本相对于此版本的API是否有`breaking changes`)
|
||||
</details>
|
||||
|
||||
<details> <summary>安装独立程序(仅 <code>arm64-v8a</code> 可用)</summary>
|
||||
|
||||
在 [Releases · StageGuard/SkyAutoPlayerScript](https://github.com/StageGuard/SkyAutoPlayerScript/releases) 中下载脚本独立打包程序,安装后即可使用。
|
||||
|
||||
首次启动时请同意程序申请的权限:**无障碍服务**和**悬浮窗权限**和**存储权限**。
|
||||
|
||||
> 注意:本程序申请的权限为 AutoX 打包程序自动控制,且仅申请使脚本运行的必要权限。
|
||||
|
||||
</details>
|
||||
|
||||
## 兼容性
|
||||
|
||||
在 AutoX 版本 `6.3.6` 中测试通过。
|
||||
|
||||
## 清除数据
|
||||
|
||||
`SkyAutoPlayerScript` 在使用过程中会产生本地数据存储,若想全部删除,请使用Auto.js执行以下代码
|
||||
`SkyAutoPlayerScript` 在使用过程中会产生本地数据存储,若想全部删除,请使用 AutoX 执行以下代码
|
||||
|
||||
```
|
||||
storages.remove("StageGuard:SkyAutoPlayer:Config");
|
||||
@@ -119,19 +155,19 @@ SkyAutoplayerScript 可以从这个仓库中的 `shared_sheets.json` 读取在
|
||||
|
||||
### 请仔细阅读以下使用须知!
|
||||
|
||||
1. 未充分测试,若遇到BUG,请酷安私信@StageGuard或新建Issue来反馈BUG!
|
||||
1. 未充分测试,若遇到 BUG ,请酷安私信 [@StageGuard](http://www.coolapk.com/u/1790774) 或新建 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>
|
||||
@@ -167,12 +203,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 的限制,无法将不同的功能分离,所以所有功能都在一个文件实现;再加上我糟糕的代码技能,源码会非常难读。
|
||||
由于项目为单脚本文件,未将不同模块分离至文件,即所有功能均在一个文件实现;再加上我糟糕的代码技能,源码会非常难读。
|
||||
|
||||
## 贡献者
|
||||
|
||||
@@ -211,6 +247,15 @@ 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>
|
||||
|
||||
## 翻译
|
||||
|
||||
@@ -231,7 +276,7 @@ SkyAutoplayerScript 在版本 21 已支持多语言并可以在线获取语言
|
||||
# 许可证协议
|
||||
|
||||
```
|
||||
SkyAutoPlayer (Auto.js script)
|
||||
SkyAutoPlayer (AutoX script)
|
||||
Copyright © 2020-2021 StageGuard
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
|
||||
@@ -1 +1 @@
|
||||
ee925ccc72fd29cd49c380fb1182790afb55e8eb
|
||||
6067ff139bc0bd3c7542535ecacc83e4d1831b1a
|
||||
@@ -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 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_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_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>也许你应该看看是否授予了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_in_content": "当你发现什么事情都没有发生时<br>也许你应该看看是否授予了 AutoX<u><b>悬浮窗权限</u></b>",
|
||||
"launch_tip_force_exit": "强制退出",
|
||||
"launch_tip_storage_on_android11": "安卓11不允许外部应用读取应用私有文件夹,乐谱文件夹移至 {0}",
|
||||
|
||||
|
||||
@@ -1,5 +1,519 @@
|
||||
{
|
||||
"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",
|
||||
@@ -361,10 +875,10 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "いつも何度でも (「千と千尋の神隠し」主題歌)",
|
||||
"file": "いつも何度でも (「千と千尋の神隠し」主題歌)F调.txt",
|
||||
"name": "いつも何度でも (「千と千尋の神隠し」主題歌)",
|
||||
"file": "いつも何度でも_F.txt",
|
||||
"author": "酷安@阿基米德的船",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/3283016>@阿基米德的船<a/> 分享乐谱 いつも何度でも \n(「千と千尋の神隠し」主題歌) (F调)",
|
||||
"desc": "酷安 <a href=http://www.coolapk.com/u/3283016>@阿基米德的船<a/> 分享乐谱 いつも何度でも_F \n(「千と千尋の神隠し」主題歌) (F调)",
|
||||
"bpm": 470,
|
||||
"suggested_instrument": 1,
|
||||
"keyCount": 15,
|
||||
|
||||
BIN
shared_sheets/Happy Birthday to You.txt
Normal file
BIN
shared_sheets/Happy Birthday to You.txt
Normal file
Binary file not shown.
BIN
shared_sheets/Take me hand.txt
Normal file
BIN
shared_sheets/Take me hand.txt
Normal file
Binary file not shown.
BIN
shared_sheets/rush e.txt
Normal file
BIN
shared_sheets/rush e.txt
Normal file
Binary file not shown.
BIN
shared_sheets/万疆.txt
Normal file
BIN
shared_sheets/万疆.txt
Normal file
Binary file not shown.
BIN
shared_sheets/三葉のテーマ.txt
Normal file
BIN
shared_sheets/三葉のテーマ.txt
Normal file
Binary file not shown.
BIN
shared_sheets/人鱼的眼泪.txt
Normal file
BIN
shared_sheets/人鱼的眼泪.txt
Normal file
Binary file not shown.
BIN
shared_sheets/冬日恋歌(My Memory).txt
Normal file
BIN
shared_sheets/冬日恋歌(My Memory).txt
Normal file
Binary file not shown.
BIN
shared_sheets/冬眠.txt
Normal file
BIN
shared_sheets/冬眠.txt
Normal file
Binary file not shown.
BIN
shared_sheets/多情种.txt
Normal file
BIN
shared_sheets/多情种.txt
Normal file
Binary file not shown.
BIN
shared_sheets/夜空中最亮的星.txt
Normal file
BIN
shared_sheets/夜空中最亮的星.txt
Normal file
Binary file not shown.
BIN
shared_sheets/成龙 - 国家.txt
Normal file
BIN
shared_sheets/成龙 - 国家.txt
Normal file
Binary file not shown.
BIN
shared_sheets/我和我的祖国.txt
Normal file
BIN
shared_sheets/我和我的祖国.txt
Normal file
Binary file not shown.
BIN
shared_sheets/所念皆星河.txt
Normal file
BIN
shared_sheets/所念皆星河.txt
Normal file
Binary file not shown.
BIN
shared_sheets/所念皆星河(和弦).txt
Normal file
BIN
shared_sheets/所念皆星河(和弦).txt
Normal file
Binary file not shown.
BIN
shared_sheets/所念皆星河(无和弦).txt
Normal file
BIN
shared_sheets/所念皆星河(无和弦).txt
Normal file
Binary file not shown.
BIN
shared_sheets/月亮代表我的心.txt
Normal file
BIN
shared_sheets/月亮代表我的心.txt
Normal file
Binary file not shown.
BIN
shared_sheets/李香兰(和弦版).txt
Normal file
BIN
shared_sheets/李香兰(和弦版).txt
Normal file
Binary file not shown.
BIN
shared_sheets/水星记.txt
Normal file
BIN
shared_sheets/水星记.txt
Normal file
Binary file not shown.
BIN
shared_sheets/溯.txt
Normal file
BIN
shared_sheets/溯.txt
Normal file
Binary file not shown.
BIN
shared_sheets/漠河舞厅.txt
Normal file
BIN
shared_sheets/漠河舞厅.txt
Normal file
Binary file not shown.
BIN
shared_sheets/琴师.txt
Normal file
BIN
shared_sheets/琴师.txt
Normal file
Binary file not shown.
BIN
shared_sheets/相思(无和弦).txt
Normal file
BIN
shared_sheets/相思(无和弦).txt
Normal file
Binary file not shown.
BIN
shared_sheets/穿越时空的思念-ZyaIreZ.txt
Normal file
BIN
shared_sheets/穿越时空的思念-ZyaIreZ.txt
Normal file
Binary file not shown.
BIN
shared_sheets/花海.txt
Normal file
BIN
shared_sheets/花海.txt
Normal file
Binary file not shown.
BIN
shared_sheets/莫失莫忘.txt
Normal file
BIN
shared_sheets/莫失莫忘.txt
Normal file
Binary file not shown.
BIN
shared_sheets/这世界那么多人.txt
Normal file
BIN
shared_sheets/这世界那么多人.txt
Normal file
Binary file not shown.
BIN
shared_sheets/那女孩对我说(完整版).txt
Normal file
BIN
shared_sheets/那女孩对我说(完整版).txt
Normal file
Binary file not shown.
BIN
shared_sheets/阿拉斯加海湾.txt
Normal file
BIN
shared_sheets/阿拉斯加海湾.txt
Normal file
Binary file not shown.
BIN
shared_sheets/高洁的教皇.txt
Normal file
BIN
shared_sheets/高洁的教皇.txt
Normal file
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
"ui";
|
||||
"use strict";
|
||||
/*
|
||||
SkyAutoPlayer (Auto.js script)
|
||||
SkyAutoPlayer (AutoX 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,6 +88,15 @@ 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();
|
||||
@@ -283,8 +292,7 @@ sheetplayer = {
|
||||
delay += config.values.chordDelay;
|
||||
gestureMap.push([delay, 25, keyCoordinates, keyCoordinates]);
|
||||
});
|
||||
gestureMap = sheetplayer.toSource(gestureMap);
|
||||
eval("gestures(" + gestureMap.slice(1, gestureMap.length - 1) + ");");
|
||||
gestures.apply(null, gestureMap);
|
||||
}
|
||||
});
|
||||
while(sheetplayer.playing && sheetplayer.currentNote < sheetplayer.noteCount) {
|
||||
@@ -324,7 +332,9 @@ sheetplayer = {
|
||||
}
|
||||
} else {
|
||||
sheetplayer.stop();
|
||||
gui.main.show(0);
|
||||
setTimeout(function(){
|
||||
gui.main.show(0);
|
||||
}, config.values.intervalSecondsPlayInNoPopupMode * 1000);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -364,24 +374,7 @@ 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 = {
|
||||
@@ -389,7 +382,7 @@ config = {
|
||||
_global_storage: null,
|
||||
|
||||
values: {
|
||||
currentVersion: 23,
|
||||
currentVersion: 24,
|
||||
gitVersion: "",
|
||||
|
||||
key_coordinates15: [],
|
||||
@@ -416,7 +409,7 @@ config = {
|
||||
|
||||
languages: {
|
||||
zh_CN: {
|
||||
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_in_content: "当你发现什么事情都没有发生时<br>也许你应该看看是否授予了 AutoX <u><b>悬浮窗权限</u></b>",
|
||||
launch_tip_force_exit: "强制退出",
|
||||
launch_tip_storage_on_android11: "安卓11不允许外部应用读取应用私有文件夹,乐谱文件夹移至 {0}",
|
||||
|
||||
@@ -650,7 +643,7 @@ config = {
|
||||
},
|
||||
|
||||
checkVersion: function() {
|
||||
this.values.gitVersion = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/gitVersion").body.string();
|
||||
this.values.gitVersion = http.get("https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript/gitVersion").body.string();
|
||||
var periodVersion = this._global_storage.get("version", this.values.currentVersion);
|
||||
var currentVersion = this.values.currentVersion;
|
||||
if(periodVersion < currentVersion) {
|
||||
@@ -735,7 +728,6 @@ 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
|
||||
];
|
||||
@@ -747,7 +739,7 @@ config = {
|
||||
successCbk(resp.body);
|
||||
return;
|
||||
} else errorCollector += "Failed on " + repo[i] + ": " + resp.statusCode + ": " + resp.statusMessage + "\n";
|
||||
} catch (e) { errorCollector += "Failed on " + repo[i] + ": " + e + "\n"; }
|
||||
} catch (e) { errorCollector += "Failed on " + repos[i] + ": " + e + "\n"; }
|
||||
}
|
||||
if(failCbk != null) failCbk(errorCollector);
|
||||
},
|
||||
@@ -1430,7 +1422,8 @@ gui = {
|
||||
|
||||
//internal methods
|
||||
__internal_show: function s(content) { gui.run(function(){
|
||||
s.index = gui.main.current = content.index;
|
||||
s.index = content.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);
|
||||
@@ -1656,7 +1649,9 @@ 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());
|
||||
}}
|
||||
@@ -2172,7 +2167,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._global_base.getMeasuredHeight() - dp * 2;
|
||||
gui.player_panel.cy = context.getResources().getDisplayMetrics().heightPixels / 2;
|
||||
}
|
||||
s.lp.x = s.x = gui.player_panel.cx;
|
||||
s.lp.y = s.y = gui.player_panel.cy;
|
||||
@@ -2791,8 +2786,18 @@ 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);
|
||||
@@ -3051,12 +3056,83 @@ gui.dialogs.showProgressDialog(function(o) {
|
||||
update: function(s) {
|
||||
if(s.initial) this.getSheetList(s, false);
|
||||
},
|
||||
getSheetList: function(s, isForce) {
|
||||
|
||||
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) {
|
||||
gui.run(function() {
|
||||
s.ns0_progress.setIndeterminate(true);
|
||||
s.ns0_listAdapterController.removeAll();
|
||||
gui.main.setFuncClickable(s.index, false);
|
||||
gui.utils.value_animation("Float", 0, 1.0, 200, new android.view.animation.DecelerateInterpolator(), function(anim) {
|
||||
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());
|
||||
});
|
||||
gui.utils.value_animation("Float", 1.0, 0, 100, new android.view.animation.DecelerateInterpolator(), function(anim) {
|
||||
@@ -3076,11 +3152,17 @@ gui.dialogs.showProgressDialog(function(o) {
|
||||
});//修改乐谱键位提示
|
||||
s.ns0_listAdapterController.notifyChange();
|
||||
threads.start(function() {
|
||||
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));
|
||||
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));
|
||||
});
|
||||
});
|
||||
}).map(function(e, i) {
|
||||
} else {
|
||||
list = sheetmgr.filterLocalSheet(filterBlock);
|
||||
}
|
||||
list.map(function(e, i) {
|
||||
gui.run(function(){
|
||||
if(!e.failed || config.values.showFailedSheets) {
|
||||
s.ns0_listAdapterController.add((function(item) {
|
||||
@@ -3095,11 +3177,15 @@ 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());
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -3408,7 +3494,8 @@ 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) {
|
||||
return (new RegExp(view.getText(), "gi")).test(item.name);
|
||||
var regExp = new RegExp(view.getText(), "gi");
|
||||
return regExp.test(item.name) || regExp.test(item.author) || regExp.test(item.desc);
|
||||
});
|
||||
return true;
|
||||
}
|
||||
@@ -3444,7 +3531,7 @@ gui.dialogs.showProgressDialog(function(o) {
|
||||
gui.main.setFuncClickable(s.index, true);
|
||||
}
|
||||
});
|
||||
} catch (e) {}},
|
||||
} catch (e) { error(e); }},
|
||||
|
||||
update: function(s) {
|
||||
if(s.initial) this.getOnlineSheetList(s, false);
|
||||
@@ -3825,4 +3912,4 @@ gui.dialogs.showProgressDialog(function(o) {
|
||||
}()));
|
||||
});
|
||||
}, false, true);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"list": [{
|
||||
"code": "zh_CN",
|
||||
"name": "简体中文",
|
||||
"version": 5
|
||||
"version": 6
|
||||
}, {
|
||||
"code": "en_US",
|
||||
"name": "English (US)",
|
||||
"version": 5
|
||||
"version": 6
|
||||
}]
|
||||
}
|
||||
@@ -1,16 +1,8 @@
|
||||
"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
|
||||
@@ -27,23 +19,26 @@
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
|
||||
USA
|
||||
*/
|
||||
|
||||
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\")";
|
||||
(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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}()));
|
||||
});
|
||||
emitter.on('evaluate', function(s){
|
||||
eval(s);
|
||||
});
|
||||
return "console.show();console.log(\"Failed to load script\")";
|
||||
}()));
|
||||
});
|
||||
emitter.on('evaluate', function (s) {
|
||||
eval(s);
|
||||
});
|
||||
}(events.emitter(threads.currentThread())));
|
||||
@@ -1,3 +1,8 @@
|
||||
版本: 24
|
||||
更新时间: 2022.03.06 11:30
|
||||
更新内容:
|
||||
* 新增:本地乐谱搜索。
|
||||
|
||||
版本: 23
|
||||
更新时间: 2021.6.29 13:10
|
||||
更新内容:
|
||||
|
||||
Reference in New Issue
Block a user