2012-09-18 16:07:33 -07: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-08 19:45:02 -07:00
|
|
|
interface AudioBufferSourceNode : AudioNode {
|
2012-09-18 16:07:33 -07:00
|
|
|
|
2012-09-24 20:31:58 -07:00
|
|
|
attribute AudioBuffer? buffer;
|
2012-09-18 16:07:33 -07:00
|
|
|
|
2013-04-09 05:47:42 -07:00
|
|
|
readonly attribute AudioParam playbackRate;
|
2013-03-10 09:56:14 -07:00
|
|
|
|
|
|
|
attribute boolean loop;
|
|
|
|
attribute double loopStart;
|
|
|
|
attribute double loopEnd;
|
2012-09-18 16:07:33 -07:00
|
|
|
|
2013-02-04 15:07:25 -08: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 11:22:01 -07:00
|
|
|
|
|
|
|
attribute EventHandler onended;
|
2012-09-18 16:07:33 -07:00
|
|
|
};
|
2013-04-11 19:08:05 -07: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-23 16:22:10 -07:00
|
|
|
[Throws,Pref="media.webaudio.legacy.AudioBufferSourceNode"]
|
2013-04-11 19:08:05 -07:00
|
|
|
void noteOn(double when);
|
2013-06-23 16:22:10 -07:00
|
|
|
[Throws,Pref="media.webaudio.legacy.AudioBufferSourceNode"]
|
2013-04-11 19:08:05 -07:00
|
|
|
void noteGrainOn(double when, double grainOffset, double grainDuration);
|
|
|
|
|
2013-06-23 16:22:10 -07:00
|
|
|
[Throws,Pref="media.webaudio.legacy.AudioBufferSourceNode"]
|
2013-04-11 19:08:05 -07:00
|
|
|
// Same as stop()
|
|
|
|
void noteOff(double when);
|
|
|
|
};
|
|
|
|
|