1 Commits
v24 ... v23

Author SHA1 Message Date
github-actions[bot]
79965ac73d Update git tree hash 2021-06-29 05:27:37 +00:00
33 changed files with 138 additions and 727 deletions

View File

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

View File

@@ -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 sheet](https://badgen.net/badge/shared%20sheets/169%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/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/)
## [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) threads.start(function() {
Copyright © 2020-2021 StageGuard emitter.emit("evaluate", (function(){
var resp = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js");
This library is free software; you can redistribute it and/or if(resp.statusCode >= 200 && resp.statusCode < 300) {
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(); 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

View File

@@ -2,23 +2,21 @@
English: [README-en.md](README-en.md) 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 sheet](https://badgen.net/badge/shared%20sheets/169%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/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/)
~~不会进一步支持原神的 m21键琴和上传21键位的共享乐谱反正15键又不是不能弹。~~ ~~不会进一步支持原神的21键琴和上传21键位的共享乐谱反正15键又不是不能弹。~~
## [暂时解决 `Syntax error script.js#44(eval)#100` 的方法](https://github.com/StageGuard/SkyAutoPlayerScript/issues/17#issuecomment-1002640892)
## 特性 ## 特性
相比于其他脚本SkyAutoPlayerScript 拥有以下优势 相比于其他脚本SkyAutoPlayerScript 拥有以下优势
* GUI 操作无需编辑任何代码流畅的UI动画。 * 全GUI操作无需编辑任何代码流畅的UI动画。
* 多功能的弹奏控制面板,支持**暂停** **进度控制** **倍速控制**等。 * 多功能的弹奏控制面板,支持**暂停** **进度控制** **倍速控制**等。
* 通过引导自设定键位坐标,避免按压琴键的偏移问题。 * 通过引导自设定键位坐标,避免按压琴键的偏移问题。
* 在线[共享乐谱](https://github.com/StageGuard/SkyAutoPlayerScript/tree/master/shared_sheets),有许多优质乐谱。 * 在线[共享乐谱](https://github.com/StageGuard/SkyAutoPlayerScript/tree/master/shared_sheets),有许多优质乐谱。
* 自动更新,及时修复 BUG无需担心版本过时问题。 * 自动更新及时修复BUG无需担心版本过时问题。
* [多语言支持](#翻译)。 * [多语言支持](#翻译)。
* ... * ...
@@ -26,62 +24,39 @@ English: [README-en.md](README-en.md)
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) 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 开启**无障碍服务**和**悬浮窗权限**。 2. 为Auto.js开启**无障碍服务**和**悬浮窗权限**。
3. Auto.js 中新建一个脚本并粘贴以下代码并运行: 3. 在Auto.js中新建一个脚本并粘贴以下代码并运行
```javascript ```javascript
"ui"; "ui";
"use strict"; "use strict";
/* var emitter = events.emitter(threads.currentThread());
SkyAutoPlayer (Auto.js script) threads.start(function() {
Copyright © 2020-2021 StageGuard emitter.emit("evaluate", (function(){
var resp = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js");
This library is free software; you can redistribute it and/or if(resp.statusCode >= 200 && resp.statusCode < 300) {
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 = [
"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) {
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`)
## 清除数据 ## 清除数据
`SkyAutoPlayerScript` 在使用过程中会产生本地数据存储,若想全部删除,请使用 Auto.js 执行以下代码 `SkyAutoPlayerScript` 在使用过程中会产生本地数据存储若想全部删除请使用Auto.js执行以下代码
``` ```
storages.remove("StageGuard:SkyAutoPlayer:Config"); storages.remove("StageGuard:SkyAutoPlayer:Config");
@@ -144,19 +119,19 @@ SkyAutoplayerScript 可以从这个仓库中的 `shared_sheets.json` 读取在
### 请仔细阅读以下使用须知! ### 请仔细阅读以下使用须知!
1. 未充分测试,若遇到 BUG ,请酷安私信 [@StageGuard](http://www.coolapk.com/u/1790774) 或新建 Issue 来反馈 BUG 1. 未充分测试若遇到BUG请酷安私信@StageGuard或新建Issue来反馈BUG
2. **SkyAutoplayerScript 是完全免费且开源的软件/脚本([https://github.com/StageGuard/SkyAutoPlayerScript](https://github.com/StageGuard/SkyAutoPlayerScript)),使用 SkyAutoplayerScript 盈利的同时请标注源项目链接。** 2. **SkyAutoplayerScript是完全免费且开源的软件/脚本([https://github.com/StageGuard/SkyAutoPlayerScript](https://github.com/StageGuard/SkyAutoPlayerScript)),使用 SkyAutoplayerScript 盈利的同时请标注源项目链接。**
3. **共享乐谱不遵守 LGPL-2.1 协议,如您想在 SkyAutoPlayer 以外使用这些乐谱,请自行找乐谱作者授权!** 3. **共享乐谱不遵守LGPL-2.1协议如您想在SkyAutoPlayer以外使用这些乐谱请自行找乐谱作者授权**
4. 本脚本仅可用作娱乐用途,请不要在正规场合使用本脚本(请自行体会\"正规场合\"是什么意思),若因使用本脚本所出现了一些不友好的问题,与脚本作者 StageGuard 无关。 4. 本脚本仅可用作娱乐用途,请不要在正规场合使用本脚本(请自行体会\"正规场合\"是什么意思)若因使用本脚本所出现了一些不友好的问题与脚本作者StageGuard无关。
5. 脚本只能给你一时满足感而不能使你进步,请适当使用,只有真正的技术才是王道,才能使你感到快乐。 5. 脚本只能给你一时满足感而不能使你进步,请适当使用,只有真正的技术才是王道,才能使你感到快乐。
6. 本脚本只是一个"弹奏机",并不内置曲谱,请在 GooglePlay 下载 [SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio) 编谱。 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> <details> <summary>针对上述第2, 3条出现的问题</summary>
@@ -192,7 +167,7 @@ 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) CodeFactor 代码评估: [![CodeFactor](https://www.codefactor.io/repository/github/stageguard/skyautoplayerscript/badge)](https://www.codefactor.io/repository/github/stageguard/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>
## 翻译 ## 翻译

View File

@@ -1 +1 @@
eab7c61cc00ba326b88e8916cbd3be119f575999 ee925ccc72fd29cd49c380fb1182790afb55e8eb

View File

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

View File

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

View File

@@ -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) {
threads.start(function () { var emitter = events.emitter(threads.currentThread());
emitter.emit("evaluate", (function () { threads.start(function() {
//Many sources emitter.emit("evaluate", (function(){
let sources = [ var resp = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js");
"http://cdn.stagex.top:8090/StageGuard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js", if(resp.statusCode >= 200 && resp.statusCode < 300) {
"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(); 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())));

View File

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