一些板载显示修改
This commit is contained in:
@@ -72,6 +72,20 @@ export const esp32_music_play_list = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const backstage_esp32_music_play_list = {
|
||||||
|
init: function () {
|
||||||
|
this.setColour(ACTUATOR_EXTERN_HUE);
|
||||||
|
this.appendValueInput('SUB')
|
||||||
|
this.appendValueInput('LIST')
|
||||||
|
.appendField(Blockly.Msg.MIXLY_BACKSTAGE + Blockly.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)
|
||||||
|
this.setPreviousStatement(true);
|
||||||
|
this.setNextStatement(true);
|
||||||
|
this.setInputsInline(true);
|
||||||
|
this.setTooltip(Blockly.Msg.MIXLY_BACKSTAGE + Blockly.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export const esp32_music_set_tempo_extern = {
|
export const esp32_music_set_tempo_extern = {
|
||||||
init: function () {
|
init: function () {
|
||||||
this.setColour(ACTUATOR_EXTERN_HUE);
|
this.setColour(ACTUATOR_EXTERN_HUE);
|
||||||
|
|||||||
@@ -349,8 +349,13 @@ export const OPEN_IMAGE = {
|
|||||||
['180','180'],
|
['180','180'],
|
||||||
['270','270']
|
['270','270']
|
||||||
]),'angle');
|
]),'angle');
|
||||||
|
this.appendValueInput("w")
|
||||||
|
.appendField(Blockly.Msg.MIXLY_Enlarge_and_scale_to)
|
||||||
|
this.appendValueInput("h")
|
||||||
|
.appendField(Blockly.Msg.MIXLY_High_zoom_level_to)
|
||||||
this.setOutput(true);
|
this.setOutput(true);
|
||||||
this.setInputsInline(true);
|
this.setInputsInline(true);
|
||||||
|
this.setTooltip(Blockly.Msg.MIXLY_OPEN_IMAGE_TOOLTIP);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1607,6 +1607,58 @@ export const onboard_tft_show_texts = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const onboard_tft_show_qrcode = {
|
||||||
|
init: function () {
|
||||||
|
this.setColour(DISPLAY_ONBOARD_HUE);
|
||||||
|
this.appendValueInput('direct')
|
||||||
|
.appendField(Blockly.Msg.OLED_BITMAP)
|
||||||
|
.appendField(Blockly.Msg.MIXLY_QR_CODE);
|
||||||
|
if (JSFuncs.getPlatform() === 'Python ESP32-S3') {
|
||||||
|
this.appendValueInput('boolean')
|
||||||
|
.appendField( Blockly.Msg.MIXLY_synchronize);
|
||||||
|
}
|
||||||
|
this.setPreviousStatement(true);
|
||||||
|
this.setNextStatement(true);
|
||||||
|
this.setInputsInline(true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export const onboard_tft_show_qrcode_details = {
|
||||||
|
init: function () {
|
||||||
|
this.setColour(DISPLAY_ONBOARD_HUE);
|
||||||
|
this.appendValueInput('data')
|
||||||
|
.appendField(Blockly.Msg.OLED_BITMAP)
|
||||||
|
.appendField(Blockly.Msg.MIXLY_QR_CODE);
|
||||||
|
this.appendValueInput("x")
|
||||||
|
.setCheck(Number)
|
||||||
|
.appendField('x');
|
||||||
|
this.appendValueInput("y")
|
||||||
|
.setCheck(Number)
|
||||||
|
.appendField('y');
|
||||||
|
this.appendValueInput("size")
|
||||||
|
.setCheck(Number)
|
||||||
|
.appendField(Blockly.Msg.MIXLY_MICROBIT_JS_NUMBER);
|
||||||
|
this.appendDummyInput("")
|
||||||
|
.appendField(Blockly.Msg.MIXLY_ERROR_RATE)
|
||||||
|
.appendField(new Blockly.FieldDropdown([
|
||||||
|
["0","7%"],
|
||||||
|
["1","15%"],
|
||||||
|
["2","25%"],
|
||||||
|
["3","30"]
|
||||||
|
]),"correct");
|
||||||
|
this.appendValueInput('VAR')
|
||||||
|
.appendField(Blockly.Msg.HTML_COLOUR);
|
||||||
|
if (JSFuncs.getPlatform() === 'Python ESP32-S3') {
|
||||||
|
this.appendValueInput('boolean')
|
||||||
|
.appendField( Blockly.Msg.MIXLY_synchronize);
|
||||||
|
}
|
||||||
|
this.setPreviousStatement(true, null);
|
||||||
|
this.setNextStatement(true, null);
|
||||||
|
this.setInputsInline(true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated To be removed in the future
|
* @deprecated To be removed in the future
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -139,6 +139,14 @@ export const esp32_music_play_list = function (_, generator) {
|
|||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const backstage_esp32_music_play_list = function (_, generator) {
|
||||||
|
generator.definitions_['import_music'] = 'import music';
|
||||||
|
var lst = generator.valueToCode(this, 'LIST', generator.ORDER_ASSIGNMENT);
|
||||||
|
var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
||||||
|
var code = v + ".play_thread(" + v + '.' + lst + ")\n";
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
export const esp32_music_reset_extern = function (_, generator) {
|
export const esp32_music_reset_extern = function (_, generator) {
|
||||||
generator.definitions_['import_music'] = 'import music';
|
generator.definitions_['import_music'] = 'import music';
|
||||||
var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
||||||
|
|||||||
@@ -815,7 +815,7 @@ export const record_audio = function (_,generator){
|
|||||||
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
||||||
var str = generator.valueToCode(this, 'str', generator.ORDER_ATOMIC);
|
var str = generator.valueToCode(this, 'str', generator.ORDER_ATOMIC);
|
||||||
var t = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC);
|
var t = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC);
|
||||||
var code = 'onboard_bot.mic_pga('+str+','+ t +')\n';
|
var code = 'onboard_bot.pcm_record('+str+','+ t +')\n';
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,20 +56,22 @@ export const llm_set_callback = function (_, generator) {
|
|||||||
var v1 = generator.valueToCode(this, "VAR1", generator.ORDER_NONE) || "None";
|
var v1 = generator.valueToCode(this, "VAR1", generator.ORDER_NONE) || "None";
|
||||||
var v2 = generator.valueToCode(this, "VAR2", generator.ORDER_NONE) || "None";
|
var v2 = generator.valueToCode(this, "VAR2", generator.ORDER_NONE) || "None";
|
||||||
var v3 = generator.valueToCode(this, "VAR3", generator.ORDER_NONE) || "None";
|
var v3 = generator.valueToCode(this, "VAR3", generator.ORDER_NONE) || "None";
|
||||||
var a0 = generator.valueToCode(this, "ADD0", generator.ORDER_NONE) || "None";
|
// var a0 = generator.valueToCode(this, "ADD0", generator.ORDER_NONE) || "None";
|
||||||
var callback = generator.variableDB_.getName(
|
var callback = generator.variableDB_.getName(
|
||||||
generator.valueToCode(this, "callback", generator.ORDER_NONE) || "None",
|
generator.valueToCode(this, "callback", generator.ORDER_NONE) || "None",
|
||||||
Blockly.Procedures.NAME_TYPE
|
Blockly.Procedures.NAME_TYPE
|
||||||
);
|
);
|
||||||
var code = new Array(this.itemCount_);
|
var code = new Array(this.itemCount_);
|
||||||
var default_value = '0';
|
var default_value = "()";
|
||||||
for (var n = 0; n < this.itemCount_; n++) {
|
for (var n = 0; n < this.itemCount_; n++) {
|
||||||
code[n] = generator.valueToCode(this, 'ADD' + n, generator.ORDER_NONE) || default_value;
|
code[n] = generator.valueToCode(this, 'ADD' + n, generator.ORDER_NONE) || default_value;
|
||||||
}
|
}
|
||||||
if (this.itemCount_ > 1){
|
if (this.itemCount_ > 1){
|
||||||
var code = v1 +'.function_call(' + callback + ', ' + v2 + ', ' + v3 + ', (' + code.join(', ') +'))\n';
|
var code = v1 +'.function_call(' + callback + ', ' + v2 + ', ' + v3 + ', (' + code.join(', ') +'))\n';
|
||||||
}else{
|
}else if(this.itemCount_ == 1){
|
||||||
var code = v1 +'.function_call(' + callback + ', ' + v2 + ', ' + v3 + ', ' + code.join(', ') +')\n';
|
var code = v1 +'.function_call(' + callback + ', ' + v2 + ', ' + v3 + ', ' + code.join(', ') +')\n';
|
||||||
|
}else{
|
||||||
|
var code = v1 +'.function_call(' + callback + ', ' + v2 + ', ' + v3 +')\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
return code;
|
return code;
|
||||||
|
|||||||
@@ -158,7 +158,9 @@ export const OPEN_IMAGE = function (_, generator) {
|
|||||||
generator.definitions_['camera_import_Image'] = 'from camera import Image';
|
generator.definitions_['camera_import_Image'] = 'from camera import Image';
|
||||||
var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC);
|
var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC);
|
||||||
var a = this.getFieldValue('angle');
|
var a = this.getFieldValue('angle');
|
||||||
var code = 'Image.open(path=' + direct +',rotation=' + a + ')';
|
var w = generator.valueToCode(this, 'w', generator.ORDER_ATOMIC);
|
||||||
|
var h = generator.valueToCode(this, 'h', generator.ORDER_ATOMIC);
|
||||||
|
var code = 'Image.open(path=' + direct +',rotation=' + a + ',scale_width='+w+',scale_height='+h+')';
|
||||||
return [code, generator.ORDER_ATOMIC];
|
return [code, generator.ORDER_ATOMIC];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1183,6 +1183,39 @@ export const onboard_tft_show_texts = function (_, generator) {
|
|||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const onboard_tft_show_qrcode = function (_, generator) {
|
||||||
|
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||||
|
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
|
||||||
|
var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC);
|
||||||
|
var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC) || 'True';
|
||||||
|
var code = 'onboard_tft.qrcode(' + direct + ',sync='+ bool + ')\n';
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const onboard_tft_show_qrcode_details = function (_, generator) {
|
||||||
|
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||||
|
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
|
||||||
|
var data = generator.valueToCode(this, 'data', generator.ORDER_ASSIGNMENT);
|
||||||
|
var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT);
|
||||||
|
var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT);
|
||||||
|
var size = generator.valueToCode(this, 'size', generator.ORDER_ASSIGNMENT);
|
||||||
|
var color = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
|
||||||
|
var s = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC) || 'True';
|
||||||
|
var correct = this.getFieldValue('correct');
|
||||||
|
if (color.slice(0, 2) == "0x") {
|
||||||
|
var code = "onboard_tft.qrcode(" + data + ',x=' + x + ',y=' + y + ',size=' + size + ',correct=' + correct+ ',color='+ color +",sync=" + s +")\n";
|
||||||
|
} else {
|
||||||
|
const rgbValues = color.match(/\d+/g);
|
||||||
|
const r = parseInt(rgbValues[0]);
|
||||||
|
const g = parseInt(rgbValues[1]);
|
||||||
|
const b = parseInt(rgbValues[2]);
|
||||||
|
var rgb = "0x" + ((r << 16) + (g << 8) + b).toString(16).padStart(4, "0");
|
||||||
|
var rgb565 = (rgb & 0xf80000) >> 8 | (rgb & 0xfc00) >> 5 | (rgb & 0xff) >> 3;
|
||||||
|
var code = "onboard_tft.qrcode(" + data + ',x=' + x + ',y=' + y + ',size=' + size + ',correct=' + correct + ',color=0x' + rgb565.toString(16) + ",sync=" + s + ")\n";
|
||||||
|
}
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated To be removed in the future
|
* @deprecated To be removed in the future
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1612,6 +1612,11 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="backstage_onboard_music_play_list" m-hide='micropython:esp32:rm_e1'>
|
||||||
|
<value name="LIST">
|
||||||
|
<shadow type="pins_playlist"></shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
<!--<block
|
<!--<block
|
||||||
type="esp32_mixgo_music_play_list_show">
|
type="esp32_mixgo_music_play_list_show">
|
||||||
<value name="LIST">
|
<value name="LIST">
|
||||||
@@ -4510,6 +4515,16 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="backstage_esp32_music_play_list">
|
||||||
|
<value name="LIST">
|
||||||
|
<shadow type="pins_playlist_extern"></shadow>
|
||||||
|
</value>
|
||||||
|
<value name="SUB">
|
||||||
|
<shadow type="variables_get">
|
||||||
|
<field name="VAR">midi</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
<block type="esp32_music_set_tempo_extern">
|
<block type="esp32_music_set_tempo_extern">
|
||||||
<value name="SUB">
|
<value name="SUB">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
|
|||||||
@@ -2926,7 +2926,7 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
<block type="llm_set_callback">
|
<block type="llm_set_callback">
|
||||||
<value name="VAR1">
|
<value name="VAR1">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
<field name="VAR">llm</field>
|
<field name="VAR">llm</field>
|
||||||
@@ -4631,6 +4631,16 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="backstage_esp32_music_play_list">
|
||||||
|
<value name="LIST">
|
||||||
|
<shadow type="pins_playlist_extern"></shadow>
|
||||||
|
</value>
|
||||||
|
<value name="SUB">
|
||||||
|
<shadow type="variables_get">
|
||||||
|
<field name="VAR">midi</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
<block type="esp32_music_set_tempo_extern">
|
<block type="esp32_music_set_tempo_extern">
|
||||||
<value name="SUB">
|
<value name="SUB">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
|
|||||||
@@ -1629,6 +1629,11 @@
|
|||||||
<shadow type="pins_playlist"></shadow>
|
<shadow type="pins_playlist"></shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="backstage_onboard_music_play_list">
|
||||||
|
<value name="LIST">
|
||||||
|
<shadow type="pins_playlist"></shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
<block type="esp32_music_set_tempo">
|
<block type="esp32_music_set_tempo">
|
||||||
<value name="TICKS">
|
<value name="TICKS">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
@@ -4373,6 +4378,26 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="backstage_esp32_music_play_list" m-hide='micropython:esp32c3:mixgocar_c3'>
|
||||||
|
<value name="LIST">
|
||||||
|
<shadow type="pins_playlist_extern"></shadow>
|
||||||
|
</value>
|
||||||
|
<value name="SUB">
|
||||||
|
<shadow type="variables_get">
|
||||||
|
<field name="VAR">midi</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
|
<block type="backstage_esp32_music_play_list">
|
||||||
|
<value name="LIST">
|
||||||
|
<shadow type="pins_playlist_extern"></shadow>
|
||||||
|
</value>
|
||||||
|
<value name="SUB">
|
||||||
|
<shadow type="variables_get">
|
||||||
|
<field name="VAR">midi</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
<block type="esp32_music_set_tempo_extern" m-hide='micropython:esp32c3:mixgocar_c3'>
|
<block type="esp32_music_set_tempo_extern" m-hide='micropython:esp32c3:mixgocar_c3'>
|
||||||
<value name="SUB">
|
<value name="SUB">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
|
|||||||
@@ -1574,6 +1574,11 @@
|
|||||||
<shadow type="pins_playlist"></shadow>
|
<shadow type="pins_playlist"></shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="backstage_onboard_music_play_list">
|
||||||
|
<value name="LIST">
|
||||||
|
<shadow type="pins_playlist"></shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
<block type="esp32_music_set_tempo">
|
<block type="esp32_music_set_tempo">
|
||||||
<value name="TICKS">
|
<value name="TICKS">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
@@ -4031,6 +4036,16 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="backstage_esp32_music_play_list">
|
||||||
|
<value name="LIST">
|
||||||
|
<shadow type="pins_playlist_extern"></shadow>
|
||||||
|
</value>
|
||||||
|
<value name="SUB">
|
||||||
|
<shadow type="variables_get">
|
||||||
|
<field name="VAR">midi</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
<block type="esp32_music_set_tempo_extern">
|
<block type="esp32_music_set_tempo_extern">
|
||||||
<value name="SUB">
|
<value name="SUB">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
|
|||||||
@@ -1689,6 +1689,11 @@
|
|||||||
<shadow type="pins_playlist"></shadow>
|
<shadow type="pins_playlist"></shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="esp32_onboard_music_play_list" m-show='micropython:esp32s3:mixgo_sant'>
|
||||||
|
<value name="LIST">
|
||||||
|
<shadow type="pins_playlist"></shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
<block type="esp32_music_set_tempo" m-show='micropython:esp32s3:mixgo_sant'>
|
<block type="esp32_music_set_tempo" m-show='micropython:esp32s3:mixgo_sant'>
|
||||||
<value name="TICKS">
|
<value name="TICKS">
|
||||||
<shadow type="math_number">
|
<shadow type="math_number">
|
||||||
@@ -1981,6 +1986,51 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="onboard_tft_show_qrcode">
|
||||||
|
<value name="direct">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">mixly</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="boolean">
|
||||||
|
<shadow type="logic_boolean">
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
|
<block type="onboard_tft_show_qrcode_details">
|
||||||
|
<value name="data">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="x">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">0</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="y">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">0</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="size">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">1</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="VAR">
|
||||||
|
<block type="display_color_seclet">
|
||||||
|
<field name="COLOR">#ffffff</field>
|
||||||
|
</block>
|
||||||
|
<shadow type="tuple_create_with_text_return">
|
||||||
|
<field name="TEXT">255,255,0</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="boolean">
|
||||||
|
<shadow type="logic_boolean">
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
<block type="display_scroll_string">
|
<block type="display_scroll_string">
|
||||||
<value name="data">
|
<value name="data">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
@@ -2744,6 +2794,16 @@
|
|||||||
<field name="TEXT">mixly.jpg</field>
|
<field name="TEXT">mixly.jpg</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="w">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">240</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="h">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">240</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
</block>
|
</block>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
@@ -5310,6 +5370,16 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="backstage_esp32_music_play_list">
|
||||||
|
<value name="LIST">
|
||||||
|
<shadow type="pins_playlist_extern"></shadow>
|
||||||
|
</value>
|
||||||
|
<value name="SUB">
|
||||||
|
<shadow type="variables_get">
|
||||||
|
<field name="VAR">midi</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
<block type="esp32_music_set_tempo_extern">
|
<block type="esp32_music_set_tempo_extern">
|
||||||
<value name="SUB">
|
<value name="SUB">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
|
|||||||
@@ -4064,4 +4064,8 @@ En.MIXLY_KJWX = 'scientific research model';
|
|||||||
En.MIXLY_DIALOGUE_BACKGROUND = 'dialogue backgroud';
|
En.MIXLY_DIALOGUE_BACKGROUND = 'dialogue backgroud';
|
||||||
En.MIXLY_CUSTOMIZE_MODEL = 'customize model';
|
En.MIXLY_CUSTOMIZE_MODEL = 'customize model';
|
||||||
En.MIXLY_SUPPORT = 'support';
|
En.MIXLY_SUPPORT = 'support';
|
||||||
|
En.MIXLY_ERROR_RATE = 'error-tolerant rate';
|
||||||
|
En.MIXLY_Enlarge_and_scale_to = 'enlarge and scale to';
|
||||||
|
En.MIXLY_High_zoom_level_to = 'high zoom level to';
|
||||||
|
En.MIXLY_OPEN_IMAGE_TOOLTIP = 'Scaling is only supported for multiples of 8. A value of 0 indicates no scaling.';
|
||||||
})();
|
})();
|
||||||
|
|||||||
@@ -4247,4 +4247,8 @@ ZhHans.MIXLY_GET_PICTURE_CLASSIFY_RESULT = '获取图像分类结果';
|
|||||||
ZhHans.MIXLY_SCREENSHOT = '截取';
|
ZhHans.MIXLY_SCREENSHOT = '截取';
|
||||||
ZhHans.MIXLY_CHINESE_RECOGNIZION = '中文识别';
|
ZhHans.MIXLY_CHINESE_RECOGNIZION = '中文识别';
|
||||||
ZhHans.MIXLY_HOT_WORD = '热词';
|
ZhHans.MIXLY_HOT_WORD = '热词';
|
||||||
|
ZhHans.MIXLY_ERROR_RATE = '容错率';
|
||||||
|
ZhHans.MIXLY_Enlarge_and_scale_to = '宽缩放至';
|
||||||
|
ZhHans.MIXLY_High_zoom_level_to = '高缩放至';
|
||||||
|
ZhHans.MIXLY_OPEN_IMAGE_TOOLTIP = '缩放仅支持8的倍数,填0代表不缩放';
|
||||||
})();
|
})();
|
||||||
@@ -4217,4 +4217,8 @@ ZhHant.MIXLY_KJWX = '科研大模型';
|
|||||||
ZhHant.MIXLY_DIALOGUE_BACKGROUND = '對話背景';
|
ZhHant.MIXLY_DIALOGUE_BACKGROUND = '對話背景';
|
||||||
ZhHant.MIXLY_CUSTOMIZE_MODEL = '可定製化大模型';
|
ZhHant.MIXLY_CUSTOMIZE_MODEL = '可定製化大模型';
|
||||||
ZhHant.MIXLY_SUPPORT = '支持';
|
ZhHant.MIXLY_SUPPORT = '支持';
|
||||||
|
ZhHant.MIXLY_ERROR_RATE = '容錯率';
|
||||||
|
ZhHant.MIXLY_Enlarge_and_scale_to = '寬縮放至';
|
||||||
|
ZhHant.MIXLY_High_zoom_level_to = '高縮放至';
|
||||||
|
ZhHant.MIXLY_OPEN_IMAGE_TOOLTIP = '縮放僅支持8的倍數,填0代表不縮放';
|
||||||
})();
|
})();
|
||||||
|
|||||||
Reference in New Issue
Block a user