99 Commits
v23 ... master

Author SHA1 Message Date
github-actions[bot]
8fbb7f9ae7 Update git tree hash 2024-03-04 08:48:16 +00:00
StageGuard
6067ff139b remove self-hosted repo list 2024-03-04 16:48:04 +08:00
github-actions[bot]
dd70db5c17 Update git tree hash 2024-03-04 08:44:32 +00:00
StageGuard
b2e8799320 remove self-hosted source 2024-03-04 16:44:16 +08:00
github-actions[bot]
09a0cb8214 Update git tree hash 2023-02-25 07:04:42 +00:00
StageGuard
36f5dea846 Merge branch 'master' of github.com:StageGuard/SkyAutoPlayerScript 2023-02-25 15:04:28 +08:00
StageGuard
f20dfc266c update usage 2023-02-25 15:04:21 +08:00
github-actions[bot]
ecdcdf57ff Update git tree hash 2023-02-25 02:41:01 +00:00
StageGuard
e8334effc2 migrate to AutoX 2023-02-25 10:39:56 +08:00
github-actions[bot]
2ea865cb52 Update git tree hash 2022-11-08 00:59:46 +00:00
StageGuard
50db95a03d upload user shared sheet. 2022-11-08 08:59:14 +08:00
github-actions[bot]
75eee66c8b Update git tree hash 2022-08-09 00:10:00 +00:00
StageGuard
3bdde71eb7 upload user shared sheet. 2022-08-09 08:09:31 +08:00
github-actions[bot]
6f9f2dcef0 Update git tree hash 2022-06-28 11:07:18 +00:00
StageGuard
98c2f0511f upload user shared sheet. 2022-06-28 19:06:47 +08:00
github-actions[bot]
be19447c07 Update git tree hash 2022-05-23 02:18:36 +00:00
StageGuard
eb0bb38e5a update startup script 2022-05-23 10:18:21 +08:00
github-actions[bot]
f083c11b4c Update git tree hash 2022-05-06 07:35:36 +00:00
Hxina
bf2371854a Upload user shared sheet 2022-05-06 15:35:21 +08:00
github-actions[bot]
e983639961 Update git tree hash 2022-03-29 10:21:46 +00:00
Hxina
60ea0b7922 Upload user shared sheet 2022-03-29 18:21:30 +08:00
github-actions[bot]
abc1e97155 Update git tree hash 2022-03-06 03:29:23 +00:00
StageGuard
eab7c61cc0 search local sheet & version 24 2022-03-06 11:28:56 +08:00
github-actions[bot]
0d1aee52c0 Update git tree hash 2022-03-02 05:51:23 +00:00
Hxina
ce50de5550 Upload user shared sheet 2022-03-02 13:51:07 +08:00
github-actions[bot]
2798186da2 Update git tree hash 2022-03-01 00:15:39 +00:00
StageGuard
e1126b3594 Update README.md 2022-03-01 08:14:58 +08:00
github-actions[bot]
1717631307 Update git tree hash 2022-02-24 07:11:48 +00:00
StageGuard
5a06edc5bd upload user shared sheet 2022-02-24 15:11:24 +08:00
github-actions[bot]
c1a0e50ffd Update git tree hash 2022-02-08 13:43:03 +00:00
StageGuard
4eedd121c0 upload user shared sheet 2022-02-08 21:42:40 +08:00
StageGuard
a9f4f67f9e remove sheets which are not indexed 2022-02-08 21:39:52 +08:00
github-actions[bot]
5619043a9e Update git tree hash 2022-01-28 02:55:00 +00:00
StageGuard
bf831fcf05 remove index 2022-01-28 10:54:30 +08:00
github-actions[bot]
ba77488792 Update git tree hash 2022-01-27 15:22:32 +00:00
StageGuard
f2162796d9 upload user shared sheets 2022-01-27 23:22:02 +08:00
github-actions[bot]
fc81b89e86 Update git tree hash 2022-01-11 14:25:36 +00:00
StageGuard
a7b633502a upload user shared sheet 2022-01-11 22:25:08 +08:00
github-actions[bot]
5c43ae2909 Update git tree hash 2022-01-10 09:24:10 +00:00
StageGuard
bcd3b9d6ba upload user shared sheets 2022-01-10 17:23:35 +08:00
github-actions[bot]
d6e94c0274 Update git tree hash 2022-01-06 09:57:23 +00:00
StageGuard
e7dfbb856b upload user shared sheet. 2022-01-06 17:56:54 +08:00
StageGuard
0a235eead5 channge from domain name to ip 2022-01-06 17:56:22 +08:00
github-actions[bot]
49c9158cf1 Update git tree hash 2021-12-29 15:19:40 +00:00
StageGuard
1f972b38a9 update README.md 2021-12-29 23:19:13 +08:00
github-actions[bot]
93f896debf Update git tree hash 2021-12-21 00:12:04 +00:00
StageGuard
bacba3c6e3 doc formatting 2021-12-21 08:11:45 +08:00
github-actions[bot]
54211d15a0 Update git tree hash 2021-12-04 04:25:23 +00:00
StageGuard
830d0b55b5 update user shared sheet 2021-12-04 12:24:59 +08:00
github-actions[bot]
efcd7868d5 Update git tree hash 2021-12-04 03:40:26 +00:00
StageGuard
5319dbce67 optimize action flow 2021-12-04 11:40:01 +08:00
github-actions[bot]
c19a62b761 Update git tree hash 2021-12-04 03:34:09 +00:00
StageGuard
19346b1aca split sync process 2021-12-04 11:33:42 +08:00
github-actions[bot]
d3785c3629 Update git tree hash 2021-12-04 03:25:06 +00:00
StageGuard
59455fb43d Update sync.yml 2021-12-04 11:24:41 +08:00
github-actions[bot]
e5fb1bc197 Update git tree hash 2021-12-04 03:18:46 +00:00
StageGuard
ef207792c6 update source 2021-12-04 11:18:22 +08:00
github-actions[bot]
c5157b867c Update git tree hash 2021-11-08 03:03:33 +00:00
StageGuard
0278803293 Upload user shared sheets. 2021-11-08 11:02:56 +08:00
github-actions[bot]
e50b674ed9 Update git tree hash 2021-10-18 14:36:37 +00:00
bowen99
e44b3a5ed4 upload user shared sheets. (#16) 2021-10-18 22:36:15 +08:00
github-actions[bot]
006de48de6 Update git tree hash 2021-10-17 17:41:13 +00:00
StageGuard
0cf1417ca6 space between English word and Chinese character. 2021-10-18 01:40:56 +08:00
github-actions[bot]
95e4ee8546 Update git tree hash 2021-10-15 04:16:26 +00:00
StageGuard
381578cc72 Upload user shared sheets 2021-10-15 12:14:15 +08:00
github-actions[bot]
86b3442837 Update git tree hash 2021-10-09 08:14:05 +00:00
StageGuard
1c73833d30 upload user shared sheets 2021-10-09 16:13:39 +08:00
github-actions[bot]
aeaed550b7 Update git tree hash 2021-10-08 18:20:02 +00:00
bowen99
4f495c5cc6 sheet music (#14)
upload user shared sheets
2021-10-09 02:19:36 +08:00
github-actions[bot]
b724721e61 Update git tree hash 2021-10-06 04:53:05 +00:00
bowen99
13f239ce44 乐谱共享 (#12)
upload user shared sheet.
2021-10-06 12:52:42 +08:00
github-actions[bot]
239364ad6f Update git tree hash 2021-09-23 11:40:10 +00:00
StageGuard
9fab1fe3db conflict changes 2021-09-23 19:39:43 +08:00
StageGuard
8f60d2a3e5 conflict 2021-09-23 19:38:51 +08:00
github-actions[bot]
678118ec16 Update git tree hash 2021-09-23 11:34:34 +00:00
StageGuard
2f7ae3f8be upload user shared sheets. 2021-09-23 19:32:15 +08:00
github-actions[bot]
0d44ed5273 Update git tree hash 2021-09-05 04:05:57 +00:00
github-actions[bot]
90b0962d94 Update git tree hash 2021-09-05 03:52:34 +00:00
github-actions[bot]
839d3fa947 Update git tree hash 2021-09-05 03:11:25 +00:00
StageGuard
244306ef0d upload user shared sheet. 2021-09-05 11:10:58 +08:00
github-actions[bot]
76b6b85b37 Update git tree hash 2021-07-13 04:03:21 +00:00
StageGuard
13abdb34ad Merge branch 'master' of github.com:StageGuard/SkyAutoPlayerScript into master 2021-07-13 12:02:48 +08:00
StageGuard
af9de48b53 player panel initial location 2021-07-13 12:02:34 +08:00
github-actions[bot]
bb8458b948 Update git tree hash 2021-07-06 08:22:22 +00:00
StageGuard
18d1c8e670 update workflow and readme 2021-07-06 16:21:45 +08:00
github-actions[bot]
0bafed9c23 Update git tree hash 2021-07-06 08:15:45 +00:00
github-actions[bot]
644368f30a Update git tree hash 2021-07-06 08:07:08 +00:00
StageGuard
90156ce0af rewrite wrapper 2021-07-06 16:06:20 +08:00
StageGuard
04bed642f9 remove gitee mirror dependence 2021-07-06 16:06:07 +08:00
github-actions[bot]
13173f34a0 Update git tree hash 2021-07-06 06:35:00 +00:00
StageGuard
7db85f24b0 update workflow 2021-07-06 14:34:31 +08:00
StageGuard
402e34ea2b update workflow 2021-07-06 14:33:36 +08:00
github-actions[bot]
dd7da09fb9 Update git tree hash 2021-07-06 06:32:23 +00:00
github-actions[bot]
1443e6ddc5 Update git tree hash 2021-07-01 16:20:44 +00:00
StageGuard
14c137cce2 remove redundant comment 2021-07-02 00:20:10 +08:00
github-actions[bot]
fc36fd5792 Update git tree hash 2021-07-01 08:42:06 +00:00
StageGuard
186e08fdbe Merge branch 'master' of github.com:StageGuard/SkyAutoPlayerScript into master 2021-07-01 16:41:28 +08:00
github-actions[bot]
766bf4cfb0 Update git tree hash 2021-07-01 08:36:05 +00:00
StageGuard
83ec7bd803 optimize play thread. 2021-07-01 16:33:36 +08:00
41 changed files with 855 additions and 161 deletions

View File

@@ -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

View File

@@ -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 sheet](https://badgen.net/badge/shared%20sheets/146%20in%20total/green)](shared_sheets/) [![sheet contributors](https://badgen.net/badge/sheet%20contributors/29/pink)](#shared-sheets) [![Hosted in](https://badgen.net/badge/CDN/jsDelivr?icon=jsdelivr)](https://www.jsdelivr.com/)
[![shared sheet](https://badgen.net/badge/shared%20sheets/175%20in%20total/green)](shared_sheets/) [![sheet contributors](https://badgen.net/badge/sheet%20contributors/36/pink)](#shared-sheets) [![Hosted in](https://badgen.net/badge/CDN/jsDelivr?icon=jsdelivr)](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) {
/*
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();
} 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\")";
}
}
}()));
});
emitter.on('evaluate', function(s){
});
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: [![CodeFactor](https://www.codefactor.io/repository/github/stageguard/skyautoplayerscript/badge)](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

111
README.md
View File

@@ -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 sheet](https://badgen.net/badge/shared%20sheets/146%20in%20total/green)](shared_sheets/) [![sheet contributors](https://badgen.net/badge/sheet%20contributors/29/pink)](#共享乐谱) [![Hosted in](https://badgen.net/badge/CDN/jsDelivr?icon=jsdelivr)](https://www.jsdelivr.com/)
[![shared sheet](https://badgen.net/badge/shared%20sheets/175%20in%20total/green)](shared_sheets/) [![sheet contributors](https://badgen.net/badge/sheet%20contributors/36/pink)](#共享乐谱) [![Hosted in](https://badgen.net/badge/CDN/jsDelivr?icon=jsdelivr)](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);
}
}
console.show();
return null;
}()));
});
emitter.on('evaluate', function(s){
eval(s);
});
});
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 RequestIssueNew feature request 或者 贡献翻译。
欢迎任何人贡献本项目,包括但不限于 Pull RequestIssueNew feature request 或者贡献翻译。
### ⚠️警告
CodeFactor 代码评估: [![CodeFactor](https://www.codefactor.io/repository/github/stageguard/skyautoplayerscript/badge)](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

View File

@@ -1 +1 @@
7a658a92912634e8a0b053e3d45360d751eaa6ce
6067ff139bc0bd3c7542535ecacc83e4d1831b1a

View File

@@ -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}",

View File

@@ -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}",

View File

@@ -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,

Binary file not shown.

Binary file not shown.

BIN
shared_sheets/rush e.txt Normal file

Binary file not shown.

BIN
shared_sheets/万疆.txt Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
shared_sheets/冬眠.txt Normal file

Binary file not shown.

BIN
shared_sheets/多情种.txt Normal file

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.

BIN
shared_sheets/水星记.txt Normal file

Binary file not shown.

BIN
shared_sheets/溯.txt Normal file

Binary file not shown.

Binary file not shown.

BIN
shared_sheets/琴师.txt Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
shared_sheets/花海.txt Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -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();
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) {
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);

View File

@@ -2,10 +2,10 @@
"list": [{
"code": "zh_CN",
"name": "简体中文",
"version": 5
"version": 6
}, {
"code": "en_US",
"name": "English (US)",
"version": 5
"version": 6
}]
}

View File

@@ -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) {
(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();
} 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\")";
}
}
}()));
});
emitter.on('evaluate', function(s){
});
emitter.on('evaluate', function (s) {
eval(s);
});
});
}(events.emitter(threads.currentThread())));

View File

@@ -1,3 +1,8 @@
版本: 24
更新时间: 2022.03.06 11:30
更新内容:
* 新增:本地乐谱搜索。
版本: 23
更新时间: 2021.6.29 13:10
更新内容: