Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
79965ac73d |
@@ -1,9 +1,9 @@
|
|||||||
name: Sync
|
name: Auto update commit and sync to gitee
|
||||||
|
|
||||||
on: [ push ]
|
on: [ push, delete, create ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-commit-hash:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -24,37 +24,25 @@ jobs:
|
|||||||
author_email: 41898282+github-actions[bot]@users.noreply.github.com
|
author_email: 41898282+github-actions[bot]@users.noreply.github.com
|
||||||
message: Update git tree hash
|
message: Update git tree hash
|
||||||
push: true
|
push: true
|
||||||
sync-to-gitea:
|
# - name: Sync to mirror file server
|
||||||
runs-on: ubuntu-latest
|
# uses: sand4rt/ftp-deployer@v1.3
|
||||||
needs: update-commit-hash
|
# if: github.actor != 'github-actions[bot]'
|
||||||
steps:
|
# with:
|
||||||
- name: Checkout
|
# sftp: false
|
||||||
uses: actions/checkout@v2
|
# host: ${{ secrets.FTP_MIRROR_DESTINATION }}
|
||||||
if: github.actor != 'github-actions[bot]'
|
# port: ${{ secrets.FTP_MIRROR_PORT }}
|
||||||
with:
|
# username: ${{ secrets.FTP_MIRROR_USERNAME }}
|
||||||
persist-credentials: true
|
# password: ${{ secrets.FTP_MIRROR_SECRET }}
|
||||||
- name: Sync to Private Git Service
|
# remote_folder: ${{ secrets.FTP_MIRROR_ROOT_PATH }}
|
||||||
|
# local_folder: .
|
||||||
|
# cleanup: true
|
||||||
|
# exclude: '[".git/**", ".github/**", "source/**", "*.md", "gitVersion"]'
|
||||||
|
# pasive: false
|
||||||
|
- name: Sync to Gitee repo
|
||||||
uses: wearerequired/git-mirror-action@master
|
uses: wearerequired/git-mirror-action@master
|
||||||
if: github.actor != 'github-actions[bot]'
|
if: github.actor != 'github-actions[bot]'
|
||||||
env:
|
env:
|
||||||
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
SSH_PRIVATE_KEY: ${{ secrets.GITEE_RSA_PRIVATE_KEY }}
|
||||||
with:
|
|
||||||
source-repo: git@github.com:StageGuard/SkyAutoPlayerScript.git
|
|
||||||
destination-repo: 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:
|
with:
|
||||||
source-repo: git@github.com:StageGuard/SkyAutoPlayerScript.git
|
source-repo: git@github.com:StageGuard/SkyAutoPlayerScript.git
|
||||||
destination-repo: git@gitee.com:stageguard/SkyAutoPlayerScript.git
|
destination-repo: git@gitee.com:stageguard/SkyAutoPlayerScript.git
|
||||||
51
README-en.md
51
README-en.md
@@ -2,9 +2,7 @@
|
|||||||
|
|
||||||
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 Auto.js
|
||||||
|
|
||||||
[](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
|
## Feature
|
||||||
|
|
||||||
@@ -29,48 +27,25 @@ There are many features in SkyAutoPlayerScript compared to other auto player scr
|
|||||||
```javascript
|
```javascript
|
||||||
"ui";
|
"ui";
|
||||||
"use strict";
|
"use strict";
|
||||||
/*
|
var emitter = events.emitter(threads.currentThread());
|
||||||
SkyAutoPlayer (Auto.js 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() {
|
threads.start(function() {
|
||||||
emitter.emit("evaluate", (function(){
|
emitter.emit("evaluate", (function(){
|
||||||
//Many sources
|
var resp = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js");
|
||||||
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) {
|
if(resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||||
return resp.body.string();
|
return resp.body.string();
|
||||||
}
|
} else {
|
||||||
}
|
resp = http.get("https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript@" + http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/gitVersion").body.string() + "/source/SkyAutoplayer.js");
|
||||||
|
if(resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||||
|
return resp.body.string();
|
||||||
|
} else {
|
||||||
return "console.show();console.log(\"Failed to load script\")";
|
return "console.show();console.log(\"Failed to load script\")";
|
||||||
|
}
|
||||||
|
}
|
||||||
}()));
|
}()));
|
||||||
});
|
});
|
||||||
emitter.on('evaluate', function(s){
|
emitter.on('evaluate', function(s){
|
||||||
eval(s);
|
eval(s);
|
||||||
});
|
});
|
||||||
}(events.emitter(threads.currentThread())));
|
|
||||||
```
|
```
|
||||||
## Clear data
|
## Clear data
|
||||||
|
|
||||||
@@ -231,12 +206,6 @@ CoolApk [@皮皮小猪猪](http://www.coolapk.com/u/5352224)<br>
|
|||||||
CoolApk [@DoubleGGe](http://www.coolapk.com/u/7728656)<br>
|
CoolApk [@DoubleGGe](http://www.coolapk.com/u/7728656)<br>
|
||||||
[恋上猫的鱼~](mailto:shi1177121232@foxmail.com)<br>
|
[恋上猫的鱼~](mailto:shi1177121232@foxmail.com)<br>
|
||||||
[依稀(濒死动物)](mailto:3423451308@qq.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>
|
|
||||||
|
|
||||||
## Translation
|
## Translation
|
||||||
|
|
||||||
|
|||||||
55
README.md
55
README.md
@@ -4,11 +4,9 @@ English: [README-en.md](README-en.md)
|
|||||||
|
|
||||||
使用Auto.js提供的无障碍权限实现在Sky光遇中自动弹奏 [SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio) 导出的曲谱
|
使用Auto.js提供的无障碍权限实现在Sky光遇中自动弹奏 [SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio) 导出的曲谱
|
||||||
|
|
||||||
[](shared_sheets/) [](#共享乐谱) [](https://www.jsdelivr.com/)
|
[](shared_sheets/) [](#共享乐谱) [](https://www.jsdelivr.com/)
|
||||||
|
|
||||||
~~不会进一步支持原神的 m21键琴和上传21键位的共享乐谱,反正15键又不是不能弹。~~
|
~~不会进一步支持原神的21键琴和上传21键位的共享乐谱,反正15键又不是不能弹。~~
|
||||||
|
|
||||||
## [暂时解决 `Syntax error script.js#44(eval)#100` 的方法](https://github.com/StageGuard/SkyAutoPlayerScript/issues/17#issuecomment-1002640892)
|
|
||||||
|
|
||||||
## 特性
|
## 特性
|
||||||
|
|
||||||
@@ -33,48 +31,25 @@ English: [README-en.md](README-en.md)
|
|||||||
```javascript
|
```javascript
|
||||||
"ui";
|
"ui";
|
||||||
"use strict";
|
"use strict";
|
||||||
/*
|
var emitter = events.emitter(threads.currentThread());
|
||||||
SkyAutoPlayer (Auto.js 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() {
|
threads.start(function() {
|
||||||
emitter.emit("evaluate", (function(){
|
emitter.emit("evaluate", (function(){
|
||||||
//Many sources
|
var resp = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js");
|
||||||
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) {
|
|
||||||
let resp = http.get(sources[i]);
|
|
||||||
if(resp.statusCode >= 200 && resp.statusCode < 300) {
|
if(resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||||
return resp.body.string();
|
return resp.body.string();
|
||||||
}
|
} else {
|
||||||
}
|
resp = http.get("https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript@" + http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/gitVersion").body.string() + "/source/SkyAutoplayer.js");
|
||||||
|
if(resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||||
|
return resp.body.string();
|
||||||
|
} else {
|
||||||
return "console.show();console.log(\"Failed to load script\")";
|
return "console.show();console.log(\"Failed to load script\")";
|
||||||
|
}
|
||||||
|
}
|
||||||
}()));
|
}()));
|
||||||
});
|
});
|
||||||
emitter.on('evaluate', function(s){
|
emitter.on('evaluate', function(s){
|
||||||
eval(s);
|
eval(s);
|
||||||
});
|
});
|
||||||
}(events.emitter(threads.currentThread())));
|
|
||||||
```
|
```
|
||||||
|
|
||||||
在Auto.js版本 `4.1.1 Alpha2 (461)` 中测试通过,**不保证其他版本的兼容性**(取决于其他版本相对于此版本的API是否有`breaking changes`)
|
在Auto.js版本 `4.1.1 Alpha2 (461)` 中测试通过,**不保证其他版本的兼容性**(取决于其他版本相对于此版本的API是否有`breaking changes`)
|
||||||
@@ -144,7 +119,7 @@ SkyAutoplayerScript 可以从这个仓库中的 `shared_sheets.json` 读取在
|
|||||||
|
|
||||||
### 请仔细阅读以下使用须知!
|
### 请仔细阅读以下使用须知!
|
||||||
|
|
||||||
1. 未充分测试,若遇到 BUG ,请酷安私信 [@StageGuard](http://www.coolapk.com/u/1790774) 或新建 Issue 来反馈 BUG!
|
1. 未充分测试,若遇到BUG,请酷安私信@StageGuard或新建Issue来反馈BUG!
|
||||||
|
|
||||||
2. **SkyAutoplayerScript是完全免费且开源的软件/脚本([https://github.com/StageGuard/SkyAutoPlayerScript](https://github.com/StageGuard/SkyAutoPlayerScript)),使用 SkyAutoplayerScript 盈利的同时请标注源项目链接。**
|
2. **SkyAutoplayerScript是完全免费且开源的软件/脚本([https://github.com/StageGuard/SkyAutoPlayerScript](https://github.com/StageGuard/SkyAutoPlayerScript)),使用 SkyAutoplayerScript 盈利的同时请标注源项目链接。**
|
||||||
|
|
||||||
@@ -236,12 +211,6 @@ Twitter [Phoebe@huunhut1217](https://mobile.twitter.com/huunhut1217)<br>
|
|||||||
酷安[@DoubleGGe](http://www.coolapk.com/u/7728656)<br>
|
酷安[@DoubleGGe](http://www.coolapk.com/u/7728656)<br>
|
||||||
[恋上猫的鱼~](mailto:shi1177121232@foxmail.com)<br>
|
[恋上猫的鱼~](mailto:shi1177121232@foxmail.com)<br>
|
||||||
[依稀(濒死动物)](mailto:3423451308@qq.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>
|
|
||||||
|
|
||||||
## 翻译
|
## 翻译
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
eab7c61cc00ba326b88e8916cbd3be119f575999
|
ee925ccc72fd29cd49c380fb1182790afb55e8eb
|
||||||
@@ -1,431 +1,5 @@
|
|||||||
{
|
{
|
||||||
"sheets": [
|
"sheets": [
|
||||||
{
|
|
||||||
"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": "浪流连",
|
"name": "浪流连",
|
||||||
"file": "浪流连.txt",
|
"file": "浪流连.txt",
|
||||||
@@ -787,10 +361,10 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "いつも何度でも (「千と千尋の神隠し」主題歌)",
|
"name": "いつも何度でも (「千と千尋の神隠し」主題歌)",
|
||||||
"file": "いつも何度でも_F.txt",
|
"file": "いつも何度でも (「千と千尋の神隠し」主題歌)F调.txt",
|
||||||
"author": "酷安@阿基米德的船",
|
"author": "酷安@阿基米德的船",
|
||||||
"desc": "酷安 <a href=http://www.coolapk.com/u/3283016>@阿基米德的船<a/> 分享乐谱 いつも何度でも_F \n(「千と千尋の神隠し」主題歌) (F调)",
|
"desc": "酷安 <a href=http://www.coolapk.com/u/3283016>@阿基米德的船<a/> 分享乐谱 いつも何度でも \n(「千と千尋の神隠し」主題歌) (F调)",
|
||||||
"bpm": 470,
|
"bpm": 470,
|
||||||
"suggested_instrument": 1,
|
"suggested_instrument": 1,
|
||||||
"keyCount": 15,
|
"keyCount": 15,
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -88,15 +88,6 @@ sheetmgr = {
|
|||||||
}
|
}
|
||||||
return this.cachedLocalSheetList;
|
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) {
|
getOnlineSharedSheetInfoList: function(forceRefresh) {
|
||||||
if(this.cachedOnlineSharedSheetInfoList.length == 0 || forceRefresh) {
|
if(this.cachedOnlineSharedSheetInfoList.length == 0 || forceRefresh) {
|
||||||
this.__internal_fetchOnlineSharedSheets();
|
this.__internal_fetchOnlineSharedSheets();
|
||||||
@@ -292,7 +283,8 @@ sheetplayer = {
|
|||||||
delay += config.values.chordDelay;
|
delay += config.values.chordDelay;
|
||||||
gestureMap.push([delay, 25, keyCoordinates, keyCoordinates]);
|
gestureMap.push([delay, 25, keyCoordinates, keyCoordinates]);
|
||||||
});
|
});
|
||||||
gestures.apply(null, gestureMap);
|
gestureMap = sheetplayer.toSource(gestureMap);
|
||||||
|
eval("gestures(" + gestureMap.slice(1, gestureMap.length - 1) + ");");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
while(sheetplayer.playing && sheetplayer.currentNote < sheetplayer.noteCount) {
|
while(sheetplayer.playing && sheetplayer.currentNote < sheetplayer.noteCount) {
|
||||||
@@ -332,9 +324,7 @@ sheetplayer = {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
sheetplayer.stop();
|
sheetplayer.stop();
|
||||||
setTimeout(function(){
|
|
||||||
gui.main.show(0);
|
gui.main.show(0);
|
||||||
}, config.values.intervalSecondsPlayInNoPopupMode * 1000);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -374,7 +364,24 @@ sheetplayer = {
|
|||||||
this.bpm = j.bpm;
|
this.bpm = j.bpm;
|
||||||
this.noteCount = this.notes.length;
|
this.noteCount = this.notes.length;
|
||||||
this.keyCount = j.keyCount;
|
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 = {
|
config = {
|
||||||
@@ -382,7 +389,7 @@ config = {
|
|||||||
_global_storage: null,
|
_global_storage: null,
|
||||||
|
|
||||||
values: {
|
values: {
|
||||||
currentVersion: 24,
|
currentVersion: 23,
|
||||||
gitVersion: "",
|
gitVersion: "",
|
||||||
|
|
||||||
key_coordinates15: [],
|
key_coordinates15: [],
|
||||||
@@ -643,7 +650,7 @@ config = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
checkVersion: function() {
|
checkVersion: function() {
|
||||||
this.values.gitVersion = http.get("http://81.70.194.140:8090/StageGuard/SkyAutoPlayerScript/raw/branch/master/gitVersion").body.string();
|
this.values.gitVersion = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/gitVersion").body.string();
|
||||||
var periodVersion = this._global_storage.get("version", this.values.currentVersion);
|
var periodVersion = this._global_storage.get("version", this.values.currentVersion);
|
||||||
var currentVersion = this.values.currentVersion;
|
var currentVersion = this.values.currentVersion;
|
||||||
if(periodVersion < currentVersion) {
|
if(periodVersion < currentVersion) {
|
||||||
@@ -727,7 +734,6 @@ config = {
|
|||||||
|
|
||||||
fetchRepoFile: function(path, successCbk, failCbk) {
|
fetchRepoFile: function(path, successCbk, failCbk) {
|
||||||
var repos = [
|
var repos = [
|
||||||
"http://81.70.194.140:8090/StageGuard/SkyAutoPlayerScript/raw/branch/master/" + path,
|
|
||||||
"https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript@" + config.values.gitVersion + "/" + path,
|
"https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript@" + config.values.gitVersion + "/" + path,
|
||||||
"https://dl.skyautoplayerscript.stageguard.top/" + path,
|
"https://dl.skyautoplayerscript.stageguard.top/" + path,
|
||||||
"https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/" + path,
|
"https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/" + path,
|
||||||
@@ -741,7 +747,7 @@ config = {
|
|||||||
successCbk(resp.body);
|
successCbk(resp.body);
|
||||||
return;
|
return;
|
||||||
} else errorCollector += "Failed on " + repo[i] + ": " + resp.statusCode + ": " + resp.statusMessage + "\n";
|
} else errorCollector += "Failed on " + repo[i] + ": " + resp.statusCode + ": " + resp.statusMessage + "\n";
|
||||||
} catch (e) { errorCollector += "Failed on " + repos[i] + ": " + e + "\n"; }
|
} catch (e) { errorCollector += "Failed on " + repo[i] + ": " + e + "\n"; }
|
||||||
}
|
}
|
||||||
if(failCbk != null) failCbk(errorCollector);
|
if(failCbk != null) failCbk(errorCollector);
|
||||||
},
|
},
|
||||||
@@ -1424,8 +1430,7 @@ gui = {
|
|||||||
|
|
||||||
//internal methods
|
//internal methods
|
||||||
__internal_show: function s(content) { gui.run(function(){
|
__internal_show: function s(content) { gui.run(function(){
|
||||||
s.index = content.index;
|
s.index = gui.main.current = content.index;
|
||||||
gui.main.current = content.index;
|
|
||||||
s.initial = false;
|
s.initial = false;
|
||||||
if(!gui.main.isShowing) { //create a new window and show content view
|
if(!gui.main.isShowing) { //create a new window and show content view
|
||||||
gui.main._global_base = new android.widget.LinearLayout(ctx);
|
gui.main._global_base = new android.widget.LinearLayout(ctx);
|
||||||
@@ -1651,9 +1656,7 @@ gui = {
|
|||||||
}
|
}
|
||||||
s["navigationBtn" + i].setOnClickListener(new android.view.View.OnClickListener({
|
s["navigationBtn" + i].setOnClickListener(new android.view.View.OnClickListener({
|
||||||
onClick: function(view) { if(gui.main.current_navigation_selection != Number(view.getId())) {
|
onClick: function(view) { if(gui.main.current_navigation_selection != Number(view.getId())) {
|
||||||
if(typeof(gui.main.currentPageChangeListener) == "function") {
|
if(typeof(gui.main.currentPageChangeListener) == "function") gui.main.currentPageChangeListener(s, content);
|
||||||
gui.main.currentPageChangeListener(s, content);
|
|
||||||
}
|
|
||||||
gui.main.__internal_show(gui.main.views[Number(view.getId())]);
|
gui.main.__internal_show(gui.main.views[Number(view.getId())]);
|
||||||
gui.main.current_navigation_selection = Number(view.getId());
|
gui.main.current_navigation_selection = Number(view.getId());
|
||||||
}}
|
}}
|
||||||
@@ -2169,7 +2172,7 @@ gui = {
|
|||||||
s.lp = gui.player_panel._global_base.getLayoutParams();
|
s.lp = gui.player_panel._global_base.getLayoutParams();
|
||||||
if(gui.player_panel.cx == null) {
|
if(gui.player_panel.cx == null) {
|
||||||
gui.player_panel.cx = 0;
|
gui.player_panel.cx = 0;
|
||||||
gui.player_panel.cy = context.getResources().getDisplayMetrics().heightPixels / 2;
|
gui.player_panel.cy = context.getResources().getDisplayMetrics().heightPixels / 2 - gui.player_panel._global_base.getMeasuredHeight() - dp * 2;
|
||||||
}
|
}
|
||||||
s.lp.x = s.x = gui.player_panel.cx;
|
s.lp.x = s.x = gui.player_panel.cx;
|
||||||
s.lp.y = s.y = gui.player_panel.cy;
|
s.lp.y = s.y = gui.player_panel.cy;
|
||||||
@@ -2788,18 +2791,8 @@ gui.dialogs.showProgressDialog(function(o) {
|
|||||||
func: [{
|
func: [{
|
||||||
icon: "refresh",
|
icon: "refresh",
|
||||||
onClick: function(s, selfContent) {
|
onClick: function(s, selfContent) {
|
||||||
if(s.ns0_isShowingSearchEditTextView) selfContent.removeSearchEditTextView(s, selfContent);
|
|
||||||
selfContent.getSheetList(s, true);
|
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) {
|
view: function(s) {
|
||||||
s.ns0_rl = new android.widget.RelativeLayout(ctx);
|
s.ns0_rl = new android.widget.RelativeLayout(ctx);
|
||||||
@@ -3058,83 +3051,12 @@ gui.dialogs.showProgressDialog(function(o) {
|
|||||||
update: function(s) {
|
update: function(s) {
|
||||||
if(s.initial) this.getSheetList(s, false);
|
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() {
|
gui.run(function() {
|
||||||
s.ns0_progress.setIndeterminate(true);
|
s.ns0_progress.setIndeterminate(true);
|
||||||
s.ns0_listAdapterController.removeAll();
|
s.ns0_listAdapterController.removeAll();
|
||||||
gui.main.setFuncClickable(s.index, false);
|
gui.main.setFuncClickable(s.index, false);
|
||||||
if(typeof(filterBlock) != "function") gui.utils.value_animation("Float", 0, 1.0, 200, new android.view.animation.DecelerateInterpolator(), function(anim) {
|
gui.utils.value_animation("Float", 0, 1.0, 200, new android.view.animation.DecelerateInterpolator(), function(anim) {
|
||||||
gui.main._global_title.setAlpha(anim.getAnimatedValue());
|
gui.main._global_title.setAlpha(anim.getAnimatedValue());
|
||||||
});
|
});
|
||||||
gui.utils.value_animation("Float", 1.0, 0, 100, new android.view.animation.DecelerateInterpolator(), function(anim) {
|
gui.utils.value_animation("Float", 1.0, 0, 100, new android.view.animation.DecelerateInterpolator(), function(anim) {
|
||||||
@@ -3154,17 +3076,11 @@ gui.dialogs.showProgressDialog(function(o) {
|
|||||||
});//修改乐谱键位提示
|
});//修改乐谱键位提示
|
||||||
s.ns0_listAdapterController.notifyChange();
|
s.ns0_listAdapterController.notifyChange();
|
||||||
threads.start(function() {
|
threads.start(function() {
|
||||||
var list;
|
sheetmgr.getLocalSheetList(isForce, function(successCount, failedCount) {
|
||||||
if(typeof(filterBlock) != "function") {
|
|
||||||
list = sheetmgr.getLocalSheetList(isForce, function(successCount, failedCount) {
|
|
||||||
gui.run(function(){
|
gui.run(function(){
|
||||||
gui.main._global_title.setText(String.format(config.languages[config.values.lang].page_lc_loading_sheet, successCount, failedCount));
|
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(){
|
gui.run(function(){
|
||||||
if(!e.failed || config.values.showFailedSheets) {
|
if(!e.failed || config.values.showFailedSheets) {
|
||||||
s.ns0_listAdapterController.add((function(item) {
|
s.ns0_listAdapterController.add((function(item) {
|
||||||
@@ -3179,15 +3095,11 @@ gui.dialogs.showProgressDialog(function(o) {
|
|||||||
s.ns0_listAdapterController.notifyChange();
|
s.ns0_listAdapterController.notifyChange();
|
||||||
gui.main._global_title.setText(gui.main.getPageInfo(s.index).title);
|
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.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_listView.setAlpha(anim.getAnimatedValue());
|
||||||
s.ns0_progress.setAlpha(1 - anim.getAnimatedValue());
|
s.ns0_progress.setAlpha(1 - anim.getAnimatedValue());
|
||||||
if(anim.getAnimatedValue() == 1.0) s.ns0_progress.setIndeterminate(false);
|
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());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -3496,8 +3408,7 @@ gui.dialogs.showProgressDialog(function(o) {
|
|||||||
onKey: function(view, keycode, event) {
|
onKey: function(view, keycode, event) {
|
||||||
if (keycode == android.view.KeyEvent.KEYCODE_ENTER && event.getAction() == android.view.KeyEvent.ACTION_DOWN) {
|
if (keycode == android.view.KeyEvent.KEYCODE_ENTER && event.getAction() == android.view.KeyEvent.ACTION_DOWN) {
|
||||||
selfContent.getOnlineSheetList(s, false, function(item) {
|
selfContent.getOnlineSheetList(s, false, function(item) {
|
||||||
var regExp = new RegExp(view.getText(), "gi");
|
return (new RegExp(view.getText(), "gi")).test(item.name);
|
||||||
return regExp.test(item.name) || regExp.test(item.author) || regExp.test(item.desc);
|
|
||||||
});
|
});
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -3533,7 +3444,7 @@ gui.dialogs.showProgressDialog(function(o) {
|
|||||||
gui.main.setFuncClickable(s.index, true);
|
gui.main.setFuncClickable(s.index, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (e) { error(e); }},
|
} catch (e) {}},
|
||||||
|
|
||||||
update: function(s) {
|
update: function(s) {
|
||||||
if(s.initial) this.getOnlineSheetList(s, false);
|
if(s.initial) this.getOnlineSheetList(s, false);
|
||||||
|
|||||||
@@ -1,8 +1,16 @@
|
|||||||
"ui";
|
"ui";
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SkyAutoPlayer (Auto.js script)
|
SkyAutoPlayer (Auto.js script)
|
||||||
Copyright © 2020-2021 StageGuard
|
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
|
This library is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU Lesser General Public
|
modify it under the terms of the GNU Lesser General Public
|
||||||
@@ -19,26 +27,23 @@
|
|||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
|
||||||
USA
|
USA
|
||||||
*/
|
*/
|
||||||
(function(emitter) {
|
|
||||||
|
var emitter = events.emitter(threads.currentThread());
|
||||||
threads.start(function() {
|
threads.start(function() {
|
||||||
emitter.emit("evaluate", (function(){
|
emitter.emit("evaluate", (function(){
|
||||||
//Many sources
|
var resp = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js");
|
||||||
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) {
|
if(resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||||
return resp.body.string();
|
return resp.body.string();
|
||||||
}
|
} else {
|
||||||
}
|
resp = http.get("https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript@" + http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/gitVersion").body.string() + "/source/SkyAutoplayer.js");
|
||||||
|
if(resp.statusCode >= 200 && resp.statusCode < 300) {
|
||||||
|
return resp.body.string();
|
||||||
|
} else {
|
||||||
return "console.show();console.log(\"Failed to load script\")";
|
return "console.show();console.log(\"Failed to load script\")";
|
||||||
|
}
|
||||||
|
}
|
||||||
}()));
|
}()));
|
||||||
});
|
});
|
||||||
emitter.on('evaluate', function(s){
|
emitter.on('evaluate', function(s){
|
||||||
eval(s);
|
eval(s);
|
||||||
});
|
});
|
||||||
}(events.emitter(threads.currentThread())));
|
|
||||||
@@ -1,8 +1,3 @@
|
|||||||
版本: 24
|
|
||||||
更新时间: 2022.03.06 11:30
|
|
||||||
更新内容:
|
|
||||||
* 新增:本地乐谱搜索。
|
|
||||||
|
|
||||||
版本: 23
|
版本: 23
|
||||||
更新时间: 2021.6.29 13:10
|
更新时间: 2021.6.29 13:10
|
||||||
更新内容:
|
更新内容:
|
||||||
|
|||||||
Reference in New Issue
Block a user