online加声音目录

This commit is contained in:
whm1216
2025-12-02 00:57:34 +08:00
parent 7835a77ae2
commit 3ecb7d8cfb
37 changed files with 2444 additions and 2 deletions

View 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);
}
};

View File

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

View File

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

View 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;
}
};

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View 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);
}
};

View 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);
}
};

View 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);
}
};