online加声音目录
This commit is contained in:
17
boards/default_src/python_pyodide/blocks/sound/effect/add.js
Normal file
17
boards/default_src/python_pyodide/blocks/sound/effect/add.js
Normal file
@@ -0,0 +1,17 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_effect_add = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_SOUND_SET_TO)
|
||||
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_SOUND_EFFECT_PITCH, "pitch"], [Blockly.Msg.MIXLY_SOUND_EFFECT_PAN, "pan"]]), "EFFECT")
|
||||
.appendField(Blockly.Msg.MIXLY_SOUND_EFFECT_ADD_BY);
|
||||
this.appendValueInput("VALUE")
|
||||
.setCheck(null)
|
||||
this.appendDummyInput();
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_EFFECT_ADD_TOOLTIP);
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,12 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_effect_clear = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_catSoundSOUND_CLEAR_EFFECTS);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_EFFECT_CLEAR_TOOLTIP);
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_effect_set = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_SOUND_SET_TO)
|
||||
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_SOUND_EFFECT_PITCH, "pitch"], [Blockly.Msg.MIXLY_SOUND_EFFECT_PAN, "pan"]]), "EFFECT")
|
||||
.appendField(Blockly.Msg.MIXLY_SOUND_EFFECT_SET_TO);
|
||||
this.appendValueInput("VALUE")
|
||||
.setCheck(null)
|
||||
this.appendDummyInput();
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_EFFECT_SET_TOOLTIP);
|
||||
}
|
||||
};
|
||||
26
boards/default_src/python_pyodide/blocks/sound/play/play.js
Normal file
26
boards/default_src/python_pyodide/blocks/sound/play/play.js
Normal file
@@ -0,0 +1,26 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_play = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_SOUND_PLAY)
|
||||
.appendField(new Blockly.FieldDropdown(this.getSoundOptions), "SOUND");
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_PLAY_TOOLTIP);
|
||||
},
|
||||
|
||||
getSoundOptions: function() {
|
||||
const options = [["Meow", "Meow"], [Blockly.Msg.MIXLY_SOUND_RECORD_OPTION, "record"]];
|
||||
|
||||
if (window.sound && window.sound.builtin) {
|
||||
const recordings = Object.keys(window.sound.builtin).filter(k => k.startsWith('recording'));
|
||||
recordings.forEach(recording => {
|
||||
options.push([recording, recording]);
|
||||
});
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_play_frequency = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_SOUND_PLAY)
|
||||
.appendField(Blockly.Msg.MIXLY_SOUND_FREQUENCY);
|
||||
this.appendValueInput("FREQUENCY")
|
||||
.setCheck(null)
|
||||
.setAlign(Blockly.ALIGN_RIGHT);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_SOUND_DURATION);
|
||||
this.appendValueInput("DURATION")
|
||||
.setCheck(null)
|
||||
.setAlign(Blockly.ALIGN_RIGHT);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_PLAY_FREQUENCY_TOOLTIP);
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,13 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_play_frequency_no_duration = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendValueInput("FREQUENCY")
|
||||
.setCheck(null)
|
||||
.appendField(Blockly.Msg.MIXLY_SOUND_PLAY_FREQUENCY_NO_DURATION);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_PLAY_FREQUENCY_NO_DURATION_TOOLTIP);
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,22 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_play_note_list = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_SOUND_PLAY_NOTE_LIST);
|
||||
this.appendDummyInput()
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
["DADADADUM", "DADADADUM"],
|
||||
["BIRTHDAY", "BIRTHDAY"],
|
||||
["BA_DING", "BA_DING"],
|
||||
["JUMP_UP", "JUMP_UP"],
|
||||
["JUMP_DOWN", "JUMP_DOWN"],
|
||||
["POWER_UP", "POWER_UP"],
|
||||
["POWER_DOWN", "POWER_DOWN"]
|
||||
]), "NOTE_LIST");
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_PLAY_NOTE_LIST_TOOLTIP);
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,27 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_play_wait = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_SOUND_PLAY)
|
||||
.appendField(new Blockly.FieldDropdown(this.getSoundOptions), "SOUND")
|
||||
.appendField(Blockly.Msg.MIXLY_SOUND_WAIT_FINISH);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_PLAY_WAIT_TOOLTIP);
|
||||
},
|
||||
|
||||
getSoundOptions: function() {
|
||||
const options = [["Meow", "Meow"], [Blockly.Msg.MIXLY_SOUND_RECORD_OPTION, "record"]];
|
||||
|
||||
if (window.sound && window.sound.builtin) {
|
||||
const recordings = Object.keys(window.sound.builtin).filter(k => k.startsWith('recording'));
|
||||
recordings.forEach(recording => {
|
||||
options.push([recording, recording]);
|
||||
});
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,12 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_record = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_SOUND_RECORD);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_RECORD_TOOLTIP);
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_note = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendDummyInput()
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
["NOTE_B3", "NOTE_B3"],
|
||||
["NOTE_C4", "NOTE_C4"],
|
||||
["NOTE_D4", "NOTE_D4"],
|
||||
["NOTE_E4", "NOTE_E4"],
|
||||
["NOTE_F4", "NOTE_F4"],
|
||||
["NOTE_G4", "NOTE_G4"],
|
||||
["NOTE_A4", "NOTE_A4"],
|
||||
["NOTE_B4", "NOTE_B4"],
|
||||
["NOTE_C5", "NOTE_C5"],
|
||||
["NOTE_D5", "NOTE_D5"],
|
||||
["NOTE_E5", "NOTE_E5"],
|
||||
["NOTE_F5", "NOTE_F5"],
|
||||
["NOTE_G5", "NOTE_G5"]
|
||||
]), "NOTE");
|
||||
this.setOutput(true, null);
|
||||
this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_NOTE_TOOLTIP);
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,12 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_stop_all = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_catSoundSOUND_STOP_ALL);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_STOP_ALL_TOOLTIP);
|
||||
}
|
||||
};
|
||||
15
boards/default_src/python_pyodide/blocks/sound/volume/add.js
Normal file
15
boards/default_src/python_pyodide/blocks/sound/volume/add.js
Normal file
@@ -0,0 +1,15 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_volume_add = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_catSoundSOUND_VOLUME_INCREASE);
|
||||
this.appendValueInput("VALUE")
|
||||
.setCheck(null);
|
||||
this.appendDummyInput();
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_VOLUME_ADD_TOOLTIP);
|
||||
}
|
||||
};
|
||||
11
boards/default_src/python_pyodide/blocks/sound/volume/get.js
Normal file
11
boards/default_src/python_pyodide/blocks/sound/volume/get.js
Normal file
@@ -0,0 +1,11 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_volume_get = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_catSoundSOUND_VOLUME_GET);
|
||||
this.setOutput(true, "Volume");
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_VOLUME_GET_TOOLTIP);
|
||||
}
|
||||
};
|
||||
15
boards/default_src/python_pyodide/blocks/sound/volume/set.js
Normal file
15
boards/default_src/python_pyodide/blocks/sound/volume/set.js
Normal file
@@ -0,0 +1,15 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
export const sound_volume_set = {
|
||||
init: function() {
|
||||
this.setColour('#acc159');
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_catSoundSOUND_VOLUME_SET);
|
||||
this.appendValueInput("VALUE")
|
||||
.setCheck(null);
|
||||
this.appendDummyInput();
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_SOUND_VOLUME_SET_TOOLTIP);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user