AudioNode.idl 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #import <WebAudio/AudioParam.idl>
  2. #import <WebAudio/BaseAudioContext.idl>
  3. // https://webaudio.github.io/web-audio-api/#enumdef-channelcountmode
  4. enum ChannelCountMode {
  5. "max",
  6. "clamped-max",
  7. "explicit"
  8. };
  9. // https://webaudio.github.io/web-audio-api/#enumdef-channelinterpretation
  10. enum ChannelInterpretation {
  11. "speakers",
  12. "discrete"
  13. };
  14. // https://webaudio.github.io/web-audio-api/#AudioNodeOptions
  15. dictionary AudioNodeOptions {
  16. unsigned long channelCount;
  17. ChannelCountMode channelCountMode;
  18. ChannelInterpretation channelInterpretation;
  19. };
  20. // https://webaudio.github.io/web-audio-api/#AudioNode
  21. [Exposed=Window]
  22. interface AudioNode : EventTarget {
  23. AudioNode connect(AudioNode destinationNode,
  24. optional unsigned long output = 0,
  25. optional unsigned long input = 0);
  26. undefined connect(AudioParam destinationParam, optional unsigned long output = 0);
  27. undefined disconnect();
  28. undefined disconnect(unsigned long output);
  29. undefined disconnect(AudioNode destinationNode);
  30. undefined disconnect(AudioNode destinationNode, unsigned long output);
  31. undefined disconnect(AudioNode destinationNode,
  32. unsigned long output,
  33. unsigned long input);
  34. undefined disconnect(AudioParam destinationParam);
  35. undefined disconnect(AudioParam destinationParam, unsigned long output);
  36. readonly attribute BaseAudioContext context;
  37. // FIXME: readonly attribute unsigned long numberOfInputs;
  38. // FIXME: readonly attribute unsigned long numberOfOutputs;
  39. // FIXME: attribute unsigned long channelCount;
  40. // FIXME: attribute ChannelCountMode channelCountMode;
  41. // FIXME: attribute ChannelInterpretation channelInterpretation;
  42. };