diff --git a/resources/language_pack/en_US.json b/resources/language_pack/en_US.json
index cf8ccaa..45a212e 100644
--- a/resources/language_pack/en_US.json
+++ b/resources/language_pack/en_US.json
@@ -1,7 +1,7 @@
{
"name": "English (US)",
"code": "en_US",
- "version": 2,
+ "version": 3,
"content": {
"launch_tip_in_content": "If you can't see a diamond popup dialog,
make sure that Auto.js is allowed to display pop-up window
Version 4.1.1 Alpha2 is recommended.
4.1.1 Alpha2 Download: https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2",
"launch_tip_force_exit": "FORCE EXIT",
@@ -78,6 +78,7 @@
"page_setting_changelog_title": "Changelog",
"page_setting_exit_script": "Exit",
"page_setting_language": "Language",
+ "page_setting_chord_delay": "Delay of each chord key",
"gui_player_panel_tip": "Drag the title text of the title bar to move the suspension window of the performance control panel.",
"gui_player_penel_analyzing": "Parsing...",
diff --git a/resources/language_pack/zh_CN.json b/resources/language_pack/zh_CN.json
index d090d35..9b77876 100644
--- a/resources/language_pack/zh_CN.json
+++ b/resources/language_pack/zh_CN.json
@@ -1,7 +1,7 @@
{
"name": "简体中文",
"code": "zh_CN",
- "version": 2,
+ "version": 3,
"content": {
"launch_tip_in_content": "当你发现什么事情都没有发生时
也许你应该看看是否授予了Auto.js悬浮窗权限
建议使用 4.1.1 Alpha2 版本!
4.1.1 Alpha2 版本下载: https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2",
"launch_tip_force_exit": "强制退出",
@@ -78,6 +78,7 @@
"page_setting_changelog_title": "更新日志",
"page_setting_exit_script": "结束脚本运行",
"page_setting_language": "语言",
+ "page_setting_chord_delay": "和弦按压延迟",
"gui_player_panel_tip": "拖动标题栏的标题文字来移动弹奏控制面板悬浮窗。",
"gui_player_penel_analyzing": "解析中...",
diff --git a/source/SkyAutoplayer.js b/source/SkyAutoplayer.js
index 162560f..61a78c2 100644
--- a/source/SkyAutoplayer.js
+++ b/source/SkyAutoplayer.js
@@ -276,10 +276,11 @@ sheetplayer = {
var executor = java.util.concurrent.Executors.newCachedThreadPool();
var tragetRunnable = new java.lang.Runnable({
run: function() {
- var gestureMap = [];
+ var gestureMap = [], delay = 0;
sheetplayer.notes[sheetplayer.currentNote].keys.map(function(e, i) {
var keyCoordinates = sheetplayer.keyCount == 15 ? [config.values.key_coordinates15[e][0], config.values.key_coordinates15[e][1]] : [config.values.key_coordinates8[e][0], config.values.key_coordinates8[e][1]];
- gestureMap.push([0, 25, keyCoordinates, keyCoordinates]);
+ delay += config.values.chordDelay;
+ gestureMap.push([delay, 25, keyCoordinates, keyCoordinates]);
});
gestureMap = sheetplayer.toSource(gestureMap);
eval("gestures(" + gestureMap.slice(1, gestureMap.length - 1) + ");");
@@ -382,7 +383,7 @@ config = {
_global_storage: null,
values: {
- currentVersion: 21,
+ currentVersion: 22,
gitVersion: "",
key_coordinates15: [],
@@ -398,7 +399,8 @@ config = {
tipOnAndroidR: true,
theme: "dark",
autoPlay: false,
- lang: "zh_CN"
+ lang: "zh_CN",
+ chordDelay: 0,
},
bitmaps: {},
@@ -502,6 +504,7 @@ config = {
page_setting_changelog_title: "更新日志",
page_setting_exit_script: "结束脚本运行",
page_setting_language: "语言",
+ page_setting_chord_delay: "和弦按压延迟",
gui_player_panel_tip: "拖动标题栏的标题文字来移动弹奏控制面板悬浮窗。",
gui_player_penel_analyzing: "解析中...",
@@ -539,7 +542,7 @@ config = {
var langs = files.listDir(langPath)
for(var i in langs) {
var code = files.getNameWithoutExtension(langs[i]);
- if(code == this.values.lang) {
+ if(code == this.values.lang && code != "zh_CN") {
try {
var content = JSON.parse(files.read(langPath + langs[i]));
this.languages[content.code] = content.content;
@@ -603,6 +606,7 @@ config = {
this.values.theme = this._global_storage.get("theme", this.values.theme);
this.values.autoPlay = this._global_storage.get("auto_play", this.values.autoPlay);
this.values.lang = this._global_storage.get("language", this.values.lang)
+ this.values.chordDelay = this._global_storage.get("chordDelay", this.values.chordDelay)
try {
android.os.Build.VERSION_CODES.R
sheetmgr.rootDir = android.os.Environment.getExternalStorageDirectory() + "/Documents/SkyAutoPlayer/sheets/";
@@ -3489,6 +3493,14 @@ gui.dialogs.showProgressDialog(function(o) {
onClick: function(checked) {
config.values.autoPlay = config.save("auto_play", checked);
}
+ }, {
+ type: "seekbar",
+ name: config.languages[config.values.lang].page_setting_chord_delay,
+ value: config.values.chordDelay,
+ range: [0, 1000],
+ onChangeUp: function(value) {
+ config.values.chordDelay = config.save("chordDelay", value);
+ }
}, {
type: "checkbox",
name: config.languages[config.values.lang].page_setting_show_broken_sheet,
@@ -3579,7 +3591,7 @@ gui.dialogs.showProgressDialog(function(o) {
try {
android.os.Build.VERSION_CODES.R
} catch (e) {
- sList.list.splice(6, 1);
+ sList.list.splice(7, 1);
}
return sList.list;
}()), function self(element) {
@@ -3636,6 +3648,43 @@ gui.dialogs.showProgressDialog(function(o) {
}));
element.v_relative.addView(element.v_checkbox);
break;
+ case "seekbar":
+ element.v_title = new android.widget.TextView(ctx);
+ element.v_title.setId(114);
+ element.v_title.setGravity(android.view.Gravity.LEFT | android.view.Gravity.CENTER);
+ element.v_title.setLayoutParams(new android.widget.RelativeLayout.LayoutParams(-2, -2));
+ element.v_title.getLayoutParams().setMargins(dp * 10, dp * 10, dp * 10, dp * 10);
+ element.v_title.getLayoutParams().addRule(android.widget.RelativeLayout.ALIGN_PARENT_LEFT);
+ element.v_title.getLayoutParams().addRule(android.widget.RelativeLayout.ALIGN_PARENT_TOP);
+ element.v_title.setTextSize(14);
+ element.v_title.setTextColor(gui.config.colors[config.values.theme].text);
+ element.v_title.setText(element.name);
+ element.v_relative.addView(element.v_title);
+ element.v_disp = new android.widget.TextView(ctx);
+ element.v_disp.setGravity(android.view.Gravity.LEFT | android.view.Gravity.CENTER);
+ element.v_disp.setLayoutParams(new android.widget.RelativeLayout.LayoutParams(-2, -2));
+ element.v_disp.getLayoutParams().setMargins(dp * 10, dp * 10, dp * 25, dp * 10);
+ element.v_disp.getLayoutParams().addRule(android.widget.RelativeLayout.ALIGN_PARENT_RIGHT);
+ element.v_disp.getLayoutParams().addRule(android.widget.RelativeLayout.ALIGN_PARENT_TOP);
+ element.v_disp.setTextSize(12);
+ element.v_disp.setTextColor(gui.config.colors[config.values.theme].sec_text);
+ element.v_disp.setText(String(element.value));
+ element.v_relative.addView(element.v_disp);
+ element.v_seek = android.widget.SeekBar(ctx);
+ element.v_seek.setLayoutParams(new android.widget.RelativeLayout.LayoutParams(-1, -2));
+ element.v_seek.getLayoutParams().addRule(android.widget.RelativeLayout.BELOW, 114);
+ element.v_seek.setMax(100);
+ element.v_seek.setProgress(element.value / (element.range[1] - element.range[0]) * 100);
+ element.v_seek.setOnSeekBarChangeListener(new android.widget.SeekBar.OnSeekBarChangeListener({
+ onProgressChanged: function(sb, prog) {
+ element.v_disp.setText(String(sb.getProgress() / 100 * (element.range[1] - element.range[0]) + element.range[0]));
+ },
+ onStopTrackingTouch: function(sb) {
+ element.onChangeUp(sb.getProgress() / 100 * (element.range[1] - element.range[0]) + element.range[0]);
+ },
+ }));
+ element.v_relative.addView(element.v_seek);
+ break;
}
return element.v_relative;
diff --git a/source/language_list.json b/source/language_list.json
index 82260aa..987b723 100644
--- a/source/language_list.json
+++ b/source/language_list.json
@@ -2,10 +2,10 @@
"list": [{
"code": "zh_CN",
"name": "简体中文",
- "version": 2
+ "version": 3
}, {
"code": "en_US",
"name": "English (US)",
- "version": 2
+ "version": 3
}]
}
\ No newline at end of file
diff --git a/update_log.txt b/update_log.txt
index dbd32c7..9e58049 100644
--- a/update_log.txt
+++ b/update_log.txt
@@ -1,4 +1,10 @@
-版本: 20
+版本: 22
+更新时间: 2020.12.22 23:48
+更新内容:
+ * 新增:和弦按键按压延迟,可在设置中调整。
+ 这个功能就是在按压和弦的时候可以按照设定的时间依次从低音到高音依次按压。
+
+版本: 21
更新时间: 2020.12.22 18:31
更新内容:
* 新增:多语言设置。