@neurodevs/node-lsl 2.0.2 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/build/Liblsl.d.ts +33 -25
- package/build/Liblsl.js +29 -30
- package/build/Liblsl.js.map +1 -1
- package/build/LslOutlet.d.ts +6 -5
- package/build/LslOutlet.js +21 -14
- package/build/LslOutlet.js.map +1 -1
- package/build/__tests__/behavioral/LslOutlet.test.d.ts +9 -10
- package/build/__tests__/behavioral/LslOutlet.test.js +49 -58
- package/build/__tests__/behavioral/LslOutlet.test.js.map +1 -1
- package/build/__tests__/implementation/Liblsl.test.d.ts +9 -9
- package/build/__tests__/implementation/Liblsl.test.js +76 -66
- package/build/__tests__/implementation/Liblsl.test.js.map +1 -1
- package/package.json +1 -1
- package/src/Liblsl.ts +76 -73
- package/src/LslOutlet.ts +31 -28
- package/src/__tests__/behavioral/LslOutlet.test.ts +62 -71
- package/src/__tests__/implementation/Liblsl.test.ts +96 -84
|
@@ -19,22 +19,22 @@ export default class LiblslTest extends AbstractSpruceTest {
|
|
|
19
19
|
private static fakeChildNamedChannel;
|
|
20
20
|
private static appendChildHitCount;
|
|
21
21
|
protected static beforeEach(): Promise<void>;
|
|
22
|
-
protected static
|
|
23
|
-
protected static
|
|
22
|
+
protected static throwsWithMissingEnv(): Promise<void>;
|
|
23
|
+
protected static throwsWhenBindingsFailToLoad(): Promise<void>;
|
|
24
|
+
protected static throwsWhenCreateStreamInfoIsMissingRequiredParams(): void;
|
|
25
|
+
protected static throwsWhenAppendChannelsIsMissingRequiredParams(): Promise<void>;
|
|
26
|
+
protected static throwsWhenCreateOutletIsMissingRequiredParams(): Promise<void>;
|
|
27
|
+
protected static throwsWhenPushSampleIsMissingRequiredParams(): Promise<void>;
|
|
24
28
|
protected static worksAsASingleton(): Promise<void>;
|
|
25
29
|
protected static singletonIsTheSame(): Promise<void>;
|
|
26
30
|
protected static canSetInstance(): void;
|
|
27
31
|
protected static createsExpectedBindingsToLiblsl(): Promise<void>;
|
|
28
|
-
protected static
|
|
29
|
-
protected static canGetStreamInfoWithRequiredParams(): Promise<void>;
|
|
30
|
-
protected static createOutletThrowsWhenMissingRequiredParams(): Promise<void>;
|
|
32
|
+
protected static canCreateStreamInfoWithRequiredParams(): Promise<void>;
|
|
31
33
|
protected static canCreateOutletWithRequiredParams(): Promise<void>;
|
|
32
|
-
protected static
|
|
33
|
-
protected static pushSampleCallsBindings(): Promise<void>;
|
|
34
|
-
protected static appendChannelsThrowsWithMissingParams(): Promise<void>;
|
|
34
|
+
protected static canPushSampleWithRequiredParams(): Promise<void>;
|
|
35
35
|
protected static addingSingleChannelGetsDescription(): Promise<void>;
|
|
36
36
|
protected static addingMultpleChannelsAddsChildrenToChannelsChild(): Promise<void>;
|
|
37
|
-
private static generateRandomChannelValues;
|
|
38
37
|
private static createRandomStreamInfo;
|
|
38
|
+
private static generateRandomChannelValues;
|
|
39
39
|
private static generateRandomCreateStreamInfoOptions;
|
|
40
40
|
}
|
|
@@ -98,23 +98,58 @@ class LiblslTest extends test_utils_1.default {
|
|
|
98
98
|
return this.fakeBindings;
|
|
99
99
|
},
|
|
100
100
|
};
|
|
101
|
-
Liblsl_1.default.
|
|
101
|
+
Liblsl_1.default.resetInstance();
|
|
102
102
|
this.lsl = Liblsl_1.default.getInstance();
|
|
103
103
|
}
|
|
104
|
-
static async
|
|
104
|
+
static async throwsWithMissingEnv() {
|
|
105
105
|
delete process.env.LIBLSL_PATH;
|
|
106
106
|
const err = test_utils_1.assert.doesThrow(() => new Liblsl_1.default());
|
|
107
107
|
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
108
108
|
parameters: ['env.LIBLSL_PATH'],
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
|
-
static async
|
|
111
|
+
static async throwsWhenBindingsFailToLoad() {
|
|
112
112
|
this.shouldThrowWhenCreatingBindings = true;
|
|
113
113
|
const err = test_utils_1.assert.doesThrow(() => new Liblsl_1.default());
|
|
114
114
|
test_utils_1.errorAssert.assertError(err, 'FAILED_TO_LOAD_LIBLSL', {
|
|
115
115
|
liblslPath: process.env.LIBLSL_PATH,
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
|
+
static throwsWhenCreateStreamInfoIsMissingRequiredParams() {
|
|
119
|
+
//@ts-ignore
|
|
120
|
+
const err = test_utils_1.assert.doesThrow(() => this.lsl.createStreamInfo());
|
|
121
|
+
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
122
|
+
parameters: [
|
|
123
|
+
'name',
|
|
124
|
+
'type',
|
|
125
|
+
'channelCount',
|
|
126
|
+
'sampleRate',
|
|
127
|
+
'channelFormat',
|
|
128
|
+
'sourceId',
|
|
129
|
+
],
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
static async throwsWhenAppendChannelsIsMissingRequiredParams() {
|
|
133
|
+
//@ts-ignore
|
|
134
|
+
const err = test_utils_1.assert.doesThrow(() => this.lsl.appendChannelsToStreamInfo({}));
|
|
135
|
+
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
136
|
+
parameters: ['info', 'channels'],
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
static async throwsWhenCreateOutletIsMissingRequiredParams() {
|
|
140
|
+
//@ts-ignore
|
|
141
|
+
const err = test_utils_1.assert.doesThrow(() => this.lsl.createOutlet({}));
|
|
142
|
+
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
143
|
+
parameters: ['info', 'chunkSize', 'maxBuffered'],
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
static async throwsWhenPushSampleIsMissingRequiredParams() {
|
|
147
|
+
//@ts-ignore
|
|
148
|
+
const err = test_utils_1.assert.doesThrow(() => this.lsl.pushSample());
|
|
149
|
+
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
150
|
+
parameters: ['outlet', 'sample'],
|
|
151
|
+
});
|
|
152
|
+
}
|
|
118
153
|
static async worksAsASingleton() {
|
|
119
154
|
const liblsl = Liblsl_1.default.getInstance();
|
|
120
155
|
test_utils_1.assert.isInstanceOf(liblsl, Liblsl_1.default);
|
|
@@ -145,33 +180,12 @@ class LiblslTest extends test_utils_1.default {
|
|
|
145
180
|
};
|
|
146
181
|
test_utils_1.assert.isEqual(JSON.stringify(this.libraryOptions), JSON.stringify(expected));
|
|
147
182
|
}
|
|
148
|
-
static
|
|
149
|
-
//@ts-ignore
|
|
150
|
-
const err = test_utils_1.assert.doesThrow(() => this.lsl.createStreamInfo());
|
|
151
|
-
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
152
|
-
parameters: [
|
|
153
|
-
'name',
|
|
154
|
-
'type',
|
|
155
|
-
'channelCount',
|
|
156
|
-
'sampleRate',
|
|
157
|
-
'channelFormat',
|
|
158
|
-
'sourceId',
|
|
159
|
-
],
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
static async canGetStreamInfoWithRequiredParams() {
|
|
183
|
+
static async canCreateStreamInfoWithRequiredParams() {
|
|
163
184
|
const options = this.generateRandomCreateStreamInfoOptions();
|
|
164
185
|
const actual = this.lsl.createStreamInfo(options);
|
|
165
186
|
test_utils_1.assert.isEqual(actual, this.fakeStreamInfo);
|
|
166
187
|
test_utils_1.assert.isEqualDeep(this.createStreamInfoParams, Object.values(options));
|
|
167
188
|
}
|
|
168
|
-
static async createOutletThrowsWhenMissingRequiredParams() {
|
|
169
|
-
//@ts-ignore
|
|
170
|
-
const err = test_utils_1.assert.doesThrow(() => this.lsl.createOutlet({}));
|
|
171
|
-
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
172
|
-
parameters: ['info', 'chunkSize', 'maxBuffered'],
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
189
|
static async canCreateOutletWithRequiredParams() {
|
|
176
190
|
const info = this.createRandomStreamInfo();
|
|
177
191
|
const options = {
|
|
@@ -183,33 +197,26 @@ class LiblslTest extends test_utils_1.default {
|
|
|
183
197
|
test_utils_1.assert.isEqualDeep(this.createOutletParams, Object.values(options));
|
|
184
198
|
test_utils_1.assert.isEqual(actual, this.fakeOutlet);
|
|
185
199
|
}
|
|
186
|
-
static async
|
|
187
|
-
//@ts-ignore
|
|
188
|
-
const err = test_utils_1.assert.doesThrow(() => this.lsl.pushSample());
|
|
189
|
-
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
190
|
-
parameters: ['outlet', 'sample'],
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
static async pushSampleCallsBindings() {
|
|
200
|
+
static async canPushSampleWithRequiredParams() {
|
|
194
201
|
var _a, _b, _c;
|
|
195
202
|
const expected = [1, 2, 3];
|
|
196
|
-
|
|
203
|
+
const options = {
|
|
204
|
+
outlet: this.fakeOutlet,
|
|
205
|
+
sample: expected,
|
|
206
|
+
};
|
|
207
|
+
this.lsl.pushSample(options);
|
|
197
208
|
test_utils_1.assert.isEqual((_a = this.pushSampleParams) === null || _a === void 0 ? void 0 : _a[0], this.fakeOutlet);
|
|
198
209
|
test_utils_1.assert.isEqual((_b = this.pushSampleParams) === null || _b === void 0 ? void 0 : _b[1], expected);
|
|
199
210
|
test_utils_1.assert.isEqual((_c = this.pushSampleParams) === null || _c === void 0 ? void 0 : _c[2], this.localClock);
|
|
200
211
|
}
|
|
201
|
-
static async appendChannelsThrowsWithMissingParams() {
|
|
202
|
-
//@ts-ignore
|
|
203
|
-
const err = test_utils_1.assert.doesThrow(() => this.lsl.appendChannelsToStreamInfo());
|
|
204
|
-
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
205
|
-
parameters: ['info', 'channels'],
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
212
|
static async addingSingleChannelGetsDescription() {
|
|
209
213
|
var _a, _b, _c, _d, _e;
|
|
210
214
|
const info = this.createRandomStreamInfo();
|
|
211
215
|
const channel = this.generateRandomChannelValues();
|
|
212
|
-
this.lsl.appendChannelsToStreamInfo(
|
|
216
|
+
this.lsl.appendChannelsToStreamInfo({
|
|
217
|
+
info,
|
|
218
|
+
channels: [channel],
|
|
219
|
+
});
|
|
213
220
|
test_utils_1.assert.isEqual((_a = this.getDescriptionParams) === null || _a === void 0 ? void 0 : _a[0], info);
|
|
214
221
|
test_utils_1.assert.isEqual((_b = this.appendChildParams) === null || _b === void 0 ? void 0 : _b[0][0], this.fakeDesc);
|
|
215
222
|
test_utils_1.assert.isEqual((_c = this.appendChildParams) === null || _c === void 0 ? void 0 : _c[0][1], 'channels');
|
|
@@ -232,13 +239,19 @@ class LiblslTest extends test_utils_1.default {
|
|
|
232
239
|
const info = this.createRandomStreamInfo();
|
|
233
240
|
const channel1 = this.generateRandomChannelValues();
|
|
234
241
|
const channel2 = this.generateRandomChannelValues();
|
|
235
|
-
this.lsl.appendChannelsToStreamInfo(
|
|
242
|
+
this.lsl.appendChannelsToStreamInfo({
|
|
243
|
+
info,
|
|
244
|
+
channels: [channel1, channel2],
|
|
245
|
+
});
|
|
236
246
|
test_utils_1.assert.isEqual((_a = this.appendChildParams) === null || _a === void 0 ? void 0 : _a[2][0], this.fakeChildNamedChannels);
|
|
237
247
|
test_utils_1.assert.isEqual((_b = this.appendChildParams) === null || _b === void 0 ? void 0 : _b[2][1], 'channel');
|
|
238
248
|
test_utils_1.assert.isEqual(this.appendChildValueParams[3][2], channel2.label);
|
|
239
249
|
test_utils_1.assert.isEqual(this.appendChildValueParams[4][2], channel2.unit);
|
|
240
250
|
test_utils_1.assert.isEqual(this.appendChildValueParams[5][2], channel2.type);
|
|
241
251
|
}
|
|
252
|
+
static createRandomStreamInfo() {
|
|
253
|
+
return this.lsl.createStreamInfo(this.generateRandomCreateStreamInfoOptions());
|
|
254
|
+
}
|
|
242
255
|
static generateRandomChannelValues() {
|
|
243
256
|
return {
|
|
244
257
|
label: (0, test_utils_1.generateId)(),
|
|
@@ -246,16 +259,13 @@ class LiblslTest extends test_utils_1.default {
|
|
|
246
259
|
unit: (0, test_utils_1.generateId)(),
|
|
247
260
|
};
|
|
248
261
|
}
|
|
249
|
-
static createRandomStreamInfo() {
|
|
250
|
-
return this.lsl.createStreamInfo(this.generateRandomCreateStreamInfoOptions());
|
|
251
|
-
}
|
|
252
262
|
static generateRandomCreateStreamInfoOptions() {
|
|
253
263
|
return {
|
|
254
264
|
name: (0, test_utils_1.generateId)(),
|
|
255
265
|
type: (0, test_utils_1.generateId)(),
|
|
256
|
-
channelCount: (0, crypto_1.randomInt)(10),
|
|
257
|
-
sampleRate: (0, crypto_1.randomInt)(
|
|
258
|
-
channelFormat: (0, crypto_1.randomInt)(
|
|
266
|
+
channelCount: (0, crypto_1.randomInt)(1, 10),
|
|
267
|
+
sampleRate: (0, crypto_1.randomInt)(100),
|
|
268
|
+
channelFormat: (0, crypto_1.randomInt)(7),
|
|
259
269
|
sourceId: (0, test_utils_1.generateId)(),
|
|
260
270
|
};
|
|
261
271
|
}
|
|
@@ -264,43 +274,43 @@ LiblslTest.appendChildParams = [];
|
|
|
264
274
|
exports.default = LiblslTest;
|
|
265
275
|
__decorate([
|
|
266
276
|
(0, test_utils_1.test)()
|
|
267
|
-
], LiblslTest, "
|
|
277
|
+
], LiblslTest, "throwsWithMissingEnv", null);
|
|
268
278
|
__decorate([
|
|
269
279
|
(0, test_utils_1.test)()
|
|
270
|
-
], LiblslTest, "
|
|
280
|
+
], LiblslTest, "throwsWhenBindingsFailToLoad", null);
|
|
271
281
|
__decorate([
|
|
272
282
|
(0, test_utils_1.test)()
|
|
273
|
-
], LiblslTest, "
|
|
283
|
+
], LiblslTest, "throwsWhenCreateStreamInfoIsMissingRequiredParams", null);
|
|
274
284
|
__decorate([
|
|
275
285
|
(0, test_utils_1.test)()
|
|
276
|
-
], LiblslTest, "
|
|
286
|
+
], LiblslTest, "throwsWhenAppendChannelsIsMissingRequiredParams", null);
|
|
277
287
|
__decorate([
|
|
278
288
|
(0, test_utils_1.test)()
|
|
279
|
-
], LiblslTest, "
|
|
289
|
+
], LiblslTest, "throwsWhenCreateOutletIsMissingRequiredParams", null);
|
|
280
290
|
__decorate([
|
|
281
291
|
(0, test_utils_1.test)()
|
|
282
|
-
], LiblslTest, "
|
|
292
|
+
], LiblslTest, "throwsWhenPushSampleIsMissingRequiredParams", null);
|
|
283
293
|
__decorate([
|
|
284
294
|
(0, test_utils_1.test)()
|
|
285
|
-
], LiblslTest, "
|
|
295
|
+
], LiblslTest, "worksAsASingleton", null);
|
|
286
296
|
__decorate([
|
|
287
297
|
(0, test_utils_1.test)()
|
|
288
|
-
], LiblslTest, "
|
|
298
|
+
], LiblslTest, "singletonIsTheSame", null);
|
|
289
299
|
__decorate([
|
|
290
300
|
(0, test_utils_1.test)()
|
|
291
|
-
], LiblslTest, "
|
|
301
|
+
], LiblslTest, "canSetInstance", null);
|
|
292
302
|
__decorate([
|
|
293
303
|
(0, test_utils_1.test)()
|
|
294
|
-
], LiblslTest, "
|
|
304
|
+
], LiblslTest, "createsExpectedBindingsToLiblsl", null);
|
|
295
305
|
__decorate([
|
|
296
306
|
(0, test_utils_1.test)()
|
|
297
|
-
], LiblslTest, "
|
|
307
|
+
], LiblslTest, "canCreateStreamInfoWithRequiredParams", null);
|
|
298
308
|
__decorate([
|
|
299
309
|
(0, test_utils_1.test)()
|
|
300
|
-
], LiblslTest, "
|
|
310
|
+
], LiblslTest, "canCreateOutletWithRequiredParams", null);
|
|
301
311
|
__decorate([
|
|
302
312
|
(0, test_utils_1.test)()
|
|
303
|
-
], LiblslTest, "
|
|
313
|
+
], LiblslTest, "canPushSampleWithRequiredParams", null);
|
|
304
314
|
__decorate([
|
|
305
315
|
(0, test_utils_1.test)()
|
|
306
316
|
], LiblslTest, "addingSingleChannelGetsDescription", null);
|
|
@@ -308,14 +318,14 @@ __decorate([
|
|
|
308
318
|
(0, test_utils_1.test)()
|
|
309
319
|
], LiblslTest, "addingMultpleChannelsAddsChildrenToChannelsChild", null);
|
|
310
320
|
class FakeLiblsl {
|
|
311
|
-
|
|
312
|
-
createOutlet(_options) {
|
|
321
|
+
createStreamInfo(_options) {
|
|
313
322
|
return {};
|
|
314
323
|
}
|
|
315
|
-
|
|
324
|
+
appendChannelsToStreamInfo(_options) { }
|
|
325
|
+
createOutlet(_options) {
|
|
316
326
|
return {};
|
|
317
327
|
}
|
|
318
|
-
pushSample(
|
|
328
|
+
pushSample(_options) { }
|
|
319
329
|
}
|
|
320
330
|
const streamInfo = ref_napi_1.default.refType(ref_napi_1.default.types.void);
|
|
321
331
|
const outletType = ref_napi_1.default.refType(ref_napi_1.default.types.void);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Liblsl.test.js","sourceRoot":"","sources":["../../../src/__tests__/implementation/Liblsl.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Liblsl.test.js","sourceRoot":"","sources":["../../../src/__tests__/implementation/Liblsl.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Liblsl.ts
CHANGED
|
@@ -11,51 +11,35 @@ export default class LiblslImpl implements Liblsl {
|
|
|
11
11
|
|
|
12
12
|
public static getInstance() {
|
|
13
13
|
if (!this.instance) {
|
|
14
|
-
this.
|
|
14
|
+
this.setInstance(new this())
|
|
15
15
|
}
|
|
16
16
|
return this.instance!
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
public static reset() {
|
|
20
|
-
delete this.instance
|
|
21
|
-
}
|
|
22
|
-
|
|
23
19
|
public static setInstance(instance: Liblsl) {
|
|
24
20
|
this.instance = instance
|
|
25
21
|
}
|
|
26
22
|
|
|
23
|
+
public static resetInstance() {
|
|
24
|
+
delete this.instance
|
|
25
|
+
}
|
|
26
|
+
|
|
27
27
|
public constructor() {
|
|
28
28
|
const path = process.env.LIBLSL_PATH!
|
|
29
29
|
|
|
30
30
|
if (!path) {
|
|
31
31
|
assertOptions(process, ['env.LIBLSL_PATH'])
|
|
32
32
|
}
|
|
33
|
+
|
|
33
34
|
try {
|
|
34
35
|
this.bindings = this.loadBindings(path)
|
|
35
|
-
} catch
|
|
36
|
-
console.error(err)
|
|
36
|
+
} catch {
|
|
37
37
|
throw new SpruceError({
|
|
38
38
|
code: 'FAILED_TO_LOAD_LIBLSL',
|
|
39
39
|
liblslPath: path,
|
|
40
40
|
})
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
public appendChannelsToStreamInfo(
|
|
44
|
-
info: LslBindingsStreamInfo,
|
|
45
|
-
channels: LslChannel[]
|
|
46
|
-
): void {
|
|
47
|
-
assertOptions({ info, channels }, ['info', 'channels'])
|
|
48
|
-
const desc = this.bindings.lsl_get_desc(info)
|
|
49
|
-
|
|
50
|
-
const parent = this.bindings.lsl_append_child(desc, 'channels')
|
|
51
|
-
|
|
52
|
-
for (const channel of channels) {
|
|
53
|
-
const c = this.bindings.lsl_append_child(parent, 'channel')
|
|
54
|
-
this.bindings.lsl_append_child_value(c, 'label', channel.label)
|
|
55
|
-
this.bindings.lsl_append_child_value(c, 'unit', channel.unit)
|
|
56
|
-
this.bindings.lsl_append_child_value(c, 'type', channel.type)
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
43
|
|
|
60
44
|
private loadBindings(path: string) {
|
|
61
45
|
return LiblslImpl.ffi.Library(path!, {
|
|
@@ -69,28 +53,10 @@ export default class LiblslImpl implements Liblsl {
|
|
|
69
53
|
lsl_get_desc: [xmlPtr, [streamInfo]],
|
|
70
54
|
lsl_append_child: [xmlPtr, [xmlPtr, 'string']],
|
|
71
55
|
lsl_append_child_value: [xmlPtr, [xmlPtr, 'string', 'string']],
|
|
72
|
-
}) as
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
public pushSample(outlet: LslBindingsOutlet, sample: LslSample): void {
|
|
76
|
-
assertOptions({ outlet, sample }, ['outlet', 'sample'])
|
|
77
|
-
const clock = this.bindings.lsl_local_clock()
|
|
78
|
-
this.bindings.lsl_push_sample_ft(outlet, sample, clock)
|
|
56
|
+
}) as LiblslBindings
|
|
79
57
|
}
|
|
80
58
|
|
|
81
|
-
public
|
|
82
|
-
const { info, chunkSize, maxBuffered } = assertOptions(options, [
|
|
83
|
-
'info',
|
|
84
|
-
'chunkSize',
|
|
85
|
-
'maxBuffered',
|
|
86
|
-
])
|
|
87
|
-
|
|
88
|
-
return this.bindings.lsl_create_outlet(info, chunkSize, maxBuffered)
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
public createStreamInfo(
|
|
92
|
-
options: CreateStreamInfoOptions
|
|
93
|
-
): LslBindingsStreamInfo {
|
|
59
|
+
public createStreamInfo(options: CreateStreamInfoOptions): BoundStreamInfo {
|
|
94
60
|
const { name, type, channelCount, sampleRate, channelFormat, sourceId } =
|
|
95
61
|
assertOptions(options, [
|
|
96
62
|
'name',
|
|
@@ -110,20 +76,49 @@ export default class LiblslImpl implements Liblsl {
|
|
|
110
76
|
sourceId
|
|
111
77
|
)
|
|
112
78
|
}
|
|
79
|
+
|
|
80
|
+
public appendChannelsToStreamInfo(
|
|
81
|
+
options: AppendChannelsToStreamInfoOptions
|
|
82
|
+
): void {
|
|
83
|
+
const { info, channels } = assertOptions(options, ['info', 'channels'])
|
|
84
|
+
|
|
85
|
+
const desc = this.bindings.lsl_get_desc(info)
|
|
86
|
+
|
|
87
|
+
const parent = this.bindings.lsl_append_child(desc, 'channels')
|
|
88
|
+
|
|
89
|
+
for (const channel of channels) {
|
|
90
|
+
const child = this.bindings.lsl_append_child(parent, 'channel')
|
|
91
|
+
this.bindings.lsl_append_child_value(child, 'label', channel.label)
|
|
92
|
+
this.bindings.lsl_append_child_value(child, 'unit', channel.unit)
|
|
93
|
+
this.bindings.lsl_append_child_value(child, 'type', channel.type)
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
public createOutlet(options: CreateOutletOptions) {
|
|
98
|
+
const { info, chunkSize, maxBuffered } = assertOptions(options, [
|
|
99
|
+
'info',
|
|
100
|
+
'chunkSize',
|
|
101
|
+
'maxBuffered',
|
|
102
|
+
])
|
|
103
|
+
|
|
104
|
+
return this.bindings.lsl_create_outlet(info, chunkSize, maxBuffered)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
public pushSample(options: PushSampleOptions): void {
|
|
108
|
+
const { outlet, sample } = assertOptions(options, ['outlet', 'sample'])
|
|
109
|
+
|
|
110
|
+
const clock = this.bindings.lsl_local_clock()
|
|
111
|
+
this.bindings.lsl_push_sample_ft(outlet, sample, clock)
|
|
112
|
+
}
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
export interface Liblsl {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
): void
|
|
120
|
-
createStreamInfo(options: CreateStreamInfoOptions): LslBindingsStreamInfo
|
|
121
|
-
createOutlet(options: CreateOutletOptions): LslBindingsOutlet
|
|
122
|
-
pushSample(outlet: LslBindingsOutlet, sample: LslSample): void
|
|
116
|
+
createStreamInfo(options: CreateStreamInfoOptions): BoundStreamInfo
|
|
117
|
+
appendChannelsToStreamInfo(options: AppendChannelsToStreamInfoOptions): void
|
|
118
|
+
createOutlet(options: CreateOutletOptions): BoundOutlet
|
|
119
|
+
pushSample(options: PushSampleOptions): void
|
|
123
120
|
}
|
|
124
121
|
|
|
125
|
-
export type LslSample = (number | string | undefined)[]
|
|
126
|
-
|
|
127
122
|
export interface CreateStreamInfoOptions {
|
|
128
123
|
name: string
|
|
129
124
|
type: string
|
|
@@ -135,11 +130,28 @@ export interface CreateStreamInfoOptions {
|
|
|
135
130
|
unit?: string
|
|
136
131
|
}
|
|
137
132
|
|
|
133
|
+
export interface AppendChannelsToStreamInfoOptions {
|
|
134
|
+
info: BoundStreamInfo
|
|
135
|
+
channels: LslChannel[]
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export interface CreateOutletOptions {
|
|
139
|
+
info: BoundStreamInfo
|
|
140
|
+
chunkSize: number
|
|
141
|
+
maxBuffered: number
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export interface PushSampleOptions {
|
|
145
|
+
outlet: BoundOutlet
|
|
146
|
+
sample: LslSample
|
|
147
|
+
}
|
|
148
|
+
|
|
138
149
|
export interface LslChannel {
|
|
139
150
|
label: string
|
|
140
151
|
unit: string
|
|
141
152
|
type: string
|
|
142
153
|
}
|
|
154
|
+
export type LslSample = (number | string | undefined)[]
|
|
143
155
|
|
|
144
156
|
export interface LiblslBindings {
|
|
145
157
|
lsl_create_streaminfo(
|
|
@@ -149,41 +161,32 @@ export interface LiblslBindings {
|
|
|
149
161
|
sampleRate: number,
|
|
150
162
|
channelFormat: number,
|
|
151
163
|
sourceId: string
|
|
152
|
-
):
|
|
164
|
+
): BoundStreamInfo
|
|
153
165
|
|
|
154
166
|
lsl_create_outlet(
|
|
155
|
-
info:
|
|
167
|
+
info: BoundStreamInfo,
|
|
156
168
|
chunkSize: number,
|
|
157
169
|
maxBuffered: number
|
|
158
|
-
):
|
|
170
|
+
): BoundOutlet
|
|
159
171
|
|
|
160
172
|
lsl_push_sample_ft(
|
|
161
|
-
outlet:
|
|
173
|
+
outlet: BoundOutlet,
|
|
162
174
|
sample: LslSample,
|
|
163
175
|
timestamp: number
|
|
164
176
|
): void
|
|
165
177
|
|
|
166
178
|
lsl_local_clock(): number
|
|
167
|
-
lsl_get_desc(info:
|
|
168
|
-
lsl_append_child(desc:
|
|
169
|
-
lsl_append_child_value(
|
|
170
|
-
child: LslBindingsChild,
|
|
171
|
-
name: string,
|
|
172
|
-
value: string
|
|
173
|
-
): void
|
|
179
|
+
lsl_get_desc(info: BoundStreamInfo): BoundDesc
|
|
180
|
+
lsl_append_child(desc: BoundDesc, name: string): BoundChild
|
|
181
|
+
lsl_append_child_value(child: BoundChild, name: string, value: string): void
|
|
174
182
|
}
|
|
175
183
|
|
|
184
|
+
export interface BoundStreamInfo {}
|
|
185
|
+
export interface BoundOutlet {}
|
|
186
|
+
export interface BoundDesc {}
|
|
187
|
+
export interface BoundChild {}
|
|
188
|
+
|
|
176
189
|
const streamInfo = ref.refType(ref.types.void)
|
|
177
190
|
const outletType = ref.refType(ref.types.void)
|
|
178
191
|
const FloatArray = ArrayType(ref.types.float)
|
|
179
192
|
const xmlPtr = ref.refType(ref.types.void)
|
|
180
|
-
export interface CreateOutletOptions {
|
|
181
|
-
info: LslBindingsStreamInfo
|
|
182
|
-
chunkSize: number
|
|
183
|
-
maxBuffered: number
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
export interface LslBindingsStreamInfo {}
|
|
187
|
-
export interface LslBindingsOutlet {}
|
|
188
|
-
export interface LslBindingsDesc {}
|
|
189
|
-
export interface LslBindingsChild {}
|