2012-09-19 03:07:33 +04:00
|
|
|
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
|
|
/* 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/.
|
|
|
|
*
|
|
|
|
* The origin of this IDL file is
|
|
|
|
* https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
|
|
|
|
*
|
|
|
|
* Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
|
|
|
|
* liability, trademark and document use rules apply.
|
|
|
|
*/
|
|
|
|
|
|
|
|
[PrefControlled]
|
2013-04-09 06:45:02 +04:00
|
|
|
interface AudioBufferSourceNode : AudioNode {
|
2012-09-19 03:07:33 +04:00
|
|
|
|
2012-09-25 07:31:58 +04:00
|
|
|
attribute AudioBuffer? buffer;
|
2012-09-19 03:07:33 +04:00
|
|
|
|
2013-04-09 16:47:42 +04:00
|
|
|
readonly attribute AudioParam playbackRate;
|
2013-03-10 20:56:14 +04:00
|
|
|
|
|
|
|
attribute boolean loop;
|
|
|
|
attribute double loopStart;
|
|
|
|
attribute double loopEnd;
|
2012-09-19 03:07:33 +04:00
|
|
|
|
2013-02-05 03:07:25 +04:00
|
|
|
[Throws]
|
|
|
|
void start(optional double when = 0, optional double grainOffset = 0,
|
|
|
|
optional double grainDuration);
|
|
|
|
[Throws]
|
|
|
|
void stop(optional double when = 0);
|
2013-05-06 22:22:01 +04:00
|
|
|
|
|
|
|
attribute EventHandler onended;
|
2012-09-19 03:07:33 +04:00
|
|
|
};
|
2013-04-12 06:08:05 +04:00
|
|
|
|
|
|
|
/*
|
|
|
|
* The origin of this IDL file is
|
|
|
|
* https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AlternateNames
|
|
|
|
*/
|
|
|
|
[PrefControlled]
|
|
|
|
partial interface AudioBufferSourceNode {
|
|
|
|
// Same as start()
|
2013-06-24 03:22:10 +04:00
|
|
|
[Throws,Pref="media.webaudio.legacy.AudioBufferSourceNode"]
|
2013-04-12 06:08:05 +04:00
|
|
|
void noteOn(double when);
|
2013-06-24 03:22:10 +04:00
|
|
|
[Throws,Pref="media.webaudio.legacy.AudioBufferSourceNode"]
|
2013-04-12 06:08:05 +04:00
|
|
|
void noteGrainOn(double when, double grainOffset, double grainDuration);
|
|
|
|
|
2013-06-24 03:22:10 +04:00
|
|
|
[Throws,Pref="media.webaudio.legacy.AudioBufferSourceNode"]
|
2013-04-12 06:08:05 +04:00
|
|
|
// Same as stop()
|
|
|
|
void noteOff(double when);
|
|
|
|
};
|
|
|
|
|