FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
webaudio/src/cpp/audio-scheduled-source-node.cpp at master · node-3d/webaudio · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
node-3d
/
webaudio
Public
Notifications
You must be signed in to change notification settings
Fork
4
Star
20
Code
Issues
0
Pull requests
0
Actions
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
webaudio
/
src
/
cpp
/
audio-scheduled-source-node.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
83 lines (54 loc) · 1.85 KB
Breadcrumbs
webaudio
/
src
/
cpp
/
audio-scheduled-source-node.cpp
Copy path
File metadata and controls
83 lines (54 loc) · 1.85 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#
include
<
iostream
>
#
include
"
audio-scheduled-source-node.hpp
"
IMPLEMENT_ES5_CLASS
(AudioScheduledSourceNode);
void
AudioScheduledSourceNode::init
(Napi::Env env, Napi::Object exports) {
Napi::Function ctor =
wrap
(env);
JS_ASSIGN_METHOD
(stop);
JS_ASSIGN_METHOD
(start);
JS_ASSIGN_METHOD
(destroy);
exports.
Set
(
"
AudioScheduledSourceNode
"
, ctor);
}
AudioScheduledSourceNode::AudioScheduledSourceNode
(
const
Napi::CallbackInfo &info)
: CommonNode(info.This(), "AudioScheduledSourceNode") {
NAPI_ENV
;
Napi::Object context = info[
0
].
As
<Napi::Object>();
Napi::External<
void
> extNode = info[
1
].
As
<Napi::External<
void
>>();
NodePtr *ext =
reinterpret_cast
<NodePtr *>(extNode.
Data
());
reset
(context, *ext);
lab::AudioScheduledSourceNode *node =
static_cast
<lab::AudioScheduledSourceNode *>(_impl.
get
());
node->
setOnEnded
(
std::bind
(&AudioScheduledSourceNode::onEnded,
this
));
Napi::Value argv[] = { context, extNode };
super
(info,
2
, argv);
}
AudioScheduledSourceNode::~AudioScheduledSourceNode
() {
_destroy
();
}
void
AudioScheduledSourceNode::onEnded
() {
emitAsync
(
"
ended
"
);
}
void
AudioScheduledSourceNode::_destroy
() {
DES_CHECK
;
lab::AudioScheduledSourceNode *node =
static_cast
<lab::AudioScheduledSourceNode *>(_impl.
get
());
node->
setOnEnded
(
nullptr
);
CommonNode::_destroy
();
}
JS_IMPLEMENT_METHOD
(AudioScheduledSourceNode, start) {
THIS_CHECK
;
LET_DOUBLE_ARG
(
0
, when);
lab::AudioScheduledSourceNode *node =
static_cast
<lab::AudioScheduledSourceNode *>(_impl.
get
());
node->
start
(when);
RET_UNDEFINED
;
}
JS_IMPLEMENT_METHOD
(AudioScheduledSourceNode, stop) {
THIS_CHECK
;
LET_DOUBLE_ARG
(
0
, when);
lab::AudioScheduledSourceNode *node =
static_cast
<lab::AudioScheduledSourceNode *>(_impl.
get
());
node->
stop
(when);
RET_UNDEFINED
;
}
JS_IMPLEMENT_METHOD
(AudioScheduledSourceNode, destroy) {
THIS_CHECK
;
emit
(
"
destroy
"
);
_destroy
();
RET_UNDEFINED
;
}
Back
|
FazBrowse Home
|
New Git URL