mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-06 15:58:39 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
163
devtools/shared/specs/webaudio.js
Normal file
163
devtools/shared/specs/webaudio.js
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
"use strict";
|
||||
|
||||
const {
|
||||
Arg,
|
||||
Option,
|
||||
RetVal,
|
||||
generateActorSpec,
|
||||
types,
|
||||
} = require("devtools/shared/protocol");
|
||||
|
||||
exports.NODE_CREATION_METHODS = [
|
||||
"createBufferSource", "createMediaElementSource", "createMediaStreamSource",
|
||||
"createMediaStreamDestination", "createScriptProcessor", "createAnalyser",
|
||||
"createGain", "createDelay", "createBiquadFilter", "createWaveShaper",
|
||||
"createPanner", "createConvolver", "createChannelSplitter", "createChannelMerger",
|
||||
"createDynamicsCompressor", "createOscillator", "createStereoPanner"
|
||||
];
|
||||
|
||||
exports.AUTOMATION_METHODS = [
|
||||
"setValueAtTime", "linearRampToValueAtTime", "exponentialRampToValueAtTime",
|
||||
"setTargetAtTime", "setValueCurveAtTime", "cancelScheduledValues"
|
||||
];
|
||||
|
||||
exports.NODE_ROUTING_METHODS = [
|
||||
"connect", "disconnect"
|
||||
];
|
||||
|
||||
types.addActorType("audionode");
|
||||
const audionodeSpec = generateActorSpec({
|
||||
typeName: "audionode",
|
||||
|
||||
methods: {
|
||||
getType: { response: { type: RetVal("string") }},
|
||||
isBypassed: {
|
||||
response: { bypassed: RetVal("boolean") }
|
||||
},
|
||||
bypass: {
|
||||
request: { enable: Arg(0, "boolean") },
|
||||
response: { bypassed: RetVal("boolean") }
|
||||
},
|
||||
setParam: {
|
||||
request: {
|
||||
param: Arg(0, "string"),
|
||||
value: Arg(1, "nullable:primitive")
|
||||
},
|
||||
response: { error: RetVal("nullable:json") }
|
||||
},
|
||||
getParam: {
|
||||
request: {
|
||||
param: Arg(0, "string")
|
||||
},
|
||||
response: { text: RetVal("nullable:primitive") }
|
||||
},
|
||||
getParamFlags: {
|
||||
request: { param: Arg(0, "string") },
|
||||
response: { flags: RetVal("nullable:primitive") }
|
||||
},
|
||||
getParams: {
|
||||
response: { params: RetVal("json") }
|
||||
},
|
||||
connectParam: {
|
||||
request: {
|
||||
destActor: Arg(0, "audionode"),
|
||||
paramName: Arg(1, "string"),
|
||||
output: Arg(2, "nullable:number")
|
||||
},
|
||||
response: { error: RetVal("nullable:json") }
|
||||
},
|
||||
connectNode: {
|
||||
request: {
|
||||
destActor: Arg(0, "audionode"),
|
||||
output: Arg(1, "nullable:number"),
|
||||
input: Arg(2, "nullable:number")
|
||||
},
|
||||
response: { error: RetVal("nullable:json") }
|
||||
},
|
||||
disconnect: {
|
||||
request: { output: Arg(0, "nullable:number") },
|
||||
response: { error: RetVal("nullable:json") }
|
||||
},
|
||||
getAutomationData: {
|
||||
request: { paramName: Arg(0, "string") },
|
||||
response: { values: RetVal("nullable:json") }
|
||||
},
|
||||
addAutomationEvent: {
|
||||
request: {
|
||||
paramName: Arg(0, "string"),
|
||||
eventName: Arg(1, "string"),
|
||||
args: Arg(2, "nullable:json")
|
||||
},
|
||||
response: { error: RetVal("nullable:json") }
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
exports.audionodeSpec = audionodeSpec;
|
||||
|
||||
const webAudioSpec = generateActorSpec({
|
||||
typeName: "webaudio",
|
||||
|
||||
/**
|
||||
* Events emitted by this actor.
|
||||
*/
|
||||
events: {
|
||||
"start-context": {
|
||||
type: "startContext"
|
||||
},
|
||||
"connect-node": {
|
||||
type: "connectNode",
|
||||
source: Option(0, "audionode"),
|
||||
dest: Option(0, "audionode")
|
||||
},
|
||||
"disconnect-node": {
|
||||
type: "disconnectNode",
|
||||
source: Arg(0, "audionode")
|
||||
},
|
||||
"connect-param": {
|
||||
type: "connectParam",
|
||||
source: Option(0, "audionode"),
|
||||
dest: Option(0, "audionode"),
|
||||
param: Option(0, "string")
|
||||
},
|
||||
"change-param": {
|
||||
type: "changeParam",
|
||||
source: Option(0, "audionode"),
|
||||
param: Option(0, "string"),
|
||||
value: Option(0, "string")
|
||||
},
|
||||
"create-node": {
|
||||
type: "createNode",
|
||||
source: Arg(0, "audionode")
|
||||
},
|
||||
"destroy-node": {
|
||||
type: "destroyNode",
|
||||
source: Arg(0, "audionode")
|
||||
},
|
||||
"automation-event": {
|
||||
type: "automationEvent",
|
||||
node: Option(0, "audionode"),
|
||||
paramName: Option(0, "string"),
|
||||
eventName: Option(0, "string"),
|
||||
args: Option(0, "json")
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
getDefinition: {
|
||||
response: { definition: RetVal("json") }
|
||||
},
|
||||
setup: {
|
||||
request: { reload: Option(0, "boolean") },
|
||||
oneway: true
|
||||
},
|
||||
finalize: {
|
||||
oneway: true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
exports.webAudioSpec = webAudioSpec;
|
||||
Loading…
Add table
Add a link
Reference in a new issue