mirror of
https://github.com/scratchfoundation/scratch-audio.git
synced 2024-12-31 10:22:21 -05:00
playnote uses volume from vm to set gain
This commit is contained in:
parent
83c4072e59
commit
b91226f9e8
2 changed files with 8 additions and 4 deletions
|
@ -35,11 +35,15 @@ function InstrumentPlayer (outputNode) {
|
|||
* @param {number} sec - a duration in seconds
|
||||
* @param {number} instrumentNum - an instrument number (0-indexed)
|
||||
*/
|
||||
InstrumentPlayer.prototype.playNoteForSecWithInst = function (note, sec, instrumentNum) {
|
||||
InstrumentPlayer.prototype.playNoteForSecWithInstAndVol = function (note, sec, instrumentNum, vol) {
|
||||
var gain = vol / 100;
|
||||
this.loadInstrument(instrumentNum)
|
||||
.then(() => {
|
||||
this.instruments[instrumentNum].play(
|
||||
note, Tone.context.currentTime, {duration : sec}
|
||||
note, Tone.context.currentTime, {
|
||||
duration : sec,
|
||||
gain : gain
|
||||
}
|
||||
);
|
||||
});
|
||||
};
|
||||
|
|
|
@ -97,9 +97,9 @@ AudioEngine.prototype.loadSounds = function (sounds) {
|
|||
* @param {number} inst - an instrument number (0-indexed)
|
||||
* @return {Promise} a Promise that resolves after the duration has elapsed
|
||||
*/
|
||||
AudioEngine.prototype.playNoteForBeatsWithInst = function (note, beats, inst) {
|
||||
AudioEngine.prototype.playNoteForBeatsWithInstAndVol = function (note, beats, inst, vol) {
|
||||
var sec = this.beatsToSec(beats);
|
||||
this.instrumentPlayer.playNoteForSecWithInst(note, sec, inst);
|
||||
this.instrumentPlayer.playNoteForSecWithInstAndVol(note, sec, inst, vol);
|
||||
return this.waitForBeats(beats);
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue