UNPKG

node-labstreaminglayer

Version:
191 lines 9.72 kB
/** * @fileoverview Low-level FFI (Foreign Function Interface) bindings for Lab Streaming Layer (LSL). * * This module provides direct access to the LSL C library functions through Koffi FFI. * Most users should use the high-level classes (StreamInfo, StreamOutlet, StreamInlet) instead * of calling these functions directly. * * @module lib/index * @see {@link https://github.com/sccn/labstreaminglayer} - LSL Documentation * @see {@link https://koffi.dev/} - Koffi FFI Documentation */ import koffi from 'koffi'; export declare const lib: koffi.IKoffiLib; /** @const {number} Undefined format (0) - Should not be used for data streams */ export declare const cf_undefined = 0; /** @const {number} 32-bit IEEE floating point (1) - Standard single precision */ export declare const cf_float32 = 1; /** @const {number} 64-bit IEEE floating point (2) - Double precision */ export declare const cf_double64 = 2; /** @const {number} Variable-length string (3) - UTF-8 encoded text */ export declare const cf_string = 3; /** @const {number} 32-bit signed integer (4) */ export declare const cf_int32 = 4; /** @const {number} 16-bit signed integer (5) */ export declare const cf_int16 = 5; /** @const {number} 8-bit signed integer (6) */ export declare const cf_int8 = 6; /** @const {number} 64-bit signed integer (7) - May have limited support */ export declare const cf_int64 = 7; /** * Maps string format names to numeric channel format constants. * Used when creating streams with string-based format specification. * @example * const format = string2fmt['float32']; // Returns cf_float32 (1) */ export declare const string2fmt: { [key: string]: number; }; /** * Array mapping numeric format constants to string names. * Index corresponds to the channel format constant value. * @example * const name = fmt2string[cf_float32]; // Returns 'float32' */ export declare const fmt2string: string[]; export declare const lsl_create_streaminfo: koffi.KoffiFunction; export declare const lsl_destroy_streaminfo: koffi.KoffiFunction; export declare const lsl_get_name: koffi.KoffiFunction; export declare const lsl_get_type: koffi.KoffiFunction; export declare const lsl_get_channel_count: koffi.KoffiFunction; export declare const lsl_get_nominal_srate: koffi.KoffiFunction; export declare const lsl_get_channel_format: koffi.KoffiFunction; export declare const lsl_get_source_id: koffi.KoffiFunction; export declare const lsl_get_version: koffi.KoffiFunction; export declare const lsl_get_created_at: koffi.KoffiFunction; export declare const lsl_get_uid: koffi.KoffiFunction; export declare const lsl_get_session_id: koffi.KoffiFunction; export declare const lsl_get_hostname: koffi.KoffiFunction; export declare const lsl_get_desc: koffi.KoffiFunction; export declare const lsl_get_xml: koffi.KoffiFunction; export declare const lsl_create_outlet: koffi.KoffiFunction; export declare const lsl_destroy_outlet: koffi.KoffiFunction; export declare const lsl_have_consumers: koffi.KoffiFunction; export declare const lsl_wait_for_consumers: koffi.KoffiFunction; export declare const lsl_get_info: koffi.KoffiFunction; export declare const lsl_push_sample_f: koffi.KoffiFunction; export declare const lsl_push_sample_d: koffi.KoffiFunction; export declare const lsl_push_sample_i: koffi.KoffiFunction; export declare const lsl_push_sample_s: koffi.KoffiFunction; export declare const lsl_push_sample_c: koffi.KoffiFunction; export declare const lsl_push_sample_l: koffi.KoffiFunction; export declare const lsl_push_sample_str: koffi.KoffiFunction; export declare const lsl_push_sample_v: koffi.KoffiFunction; export declare const lsl_push_chunk_f: koffi.KoffiFunction; export declare const lsl_push_chunk_ft: koffi.KoffiFunction; export declare const lsl_push_chunk_d: koffi.KoffiFunction; export declare const lsl_push_chunk_dt: koffi.KoffiFunction; export declare const lsl_push_chunk_i: koffi.KoffiFunction; export declare const lsl_push_chunk_it: koffi.KoffiFunction; export declare const lsl_push_chunk_s: koffi.KoffiFunction; export declare const lsl_push_chunk_st: koffi.KoffiFunction; export declare const lsl_push_chunk_c: koffi.KoffiFunction; export declare const lsl_push_chunk_ct: koffi.KoffiFunction; export declare const lsl_push_chunk_l: koffi.KoffiFunction; export declare const lsl_push_chunk_lt: koffi.KoffiFunction; export declare const lsl_push_chunk_str: koffi.KoffiFunction; export declare const lsl_push_chunk_strt: koffi.KoffiFunction; export declare const lsl_create_inlet: koffi.KoffiFunction; export declare const lsl_destroy_inlet: koffi.KoffiFunction; export declare const lsl_get_fullinfo: koffi.KoffiFunction; export declare const lsl_open_stream: koffi.KoffiFunction; export declare const lsl_close_stream: koffi.KoffiFunction; export declare const lsl_time_correction: koffi.KoffiFunction; export declare const lsl_set_postprocessing: koffi.KoffiFunction; export declare const lsl_samples_available: koffi.KoffiFunction; export declare const lsl_inlet_flush: koffi.KoffiFunction; export declare const lsl_was_clock_reset: koffi.KoffiFunction; export declare const lsl_pull_sample_f: koffi.KoffiFunction; export declare const lsl_pull_sample_d: koffi.KoffiFunction; export declare const lsl_pull_sample_i: koffi.KoffiFunction; export declare const lsl_pull_sample_s: koffi.KoffiFunction; export declare const lsl_pull_sample_c: koffi.KoffiFunction; export declare const lsl_pull_sample_l: koffi.KoffiFunction; export declare const lsl_pull_sample_str: koffi.KoffiFunction; export declare const lsl_pull_sample_v: koffi.KoffiFunction; export declare const lsl_pull_chunk_f: koffi.KoffiFunction; export declare const lsl_pull_chunk_d: koffi.KoffiFunction; export declare const lsl_pull_chunk_i: koffi.KoffiFunction; export declare const lsl_pull_chunk_s: koffi.KoffiFunction; export declare const lsl_pull_chunk_c: koffi.KoffiFunction; export declare const lsl_pull_chunk_l: koffi.KoffiFunction; export declare const lsl_pull_chunk_str: koffi.KoffiFunction; export declare const lsl_resolve_all: koffi.KoffiFunction; export declare const lsl_resolve_byprop: koffi.KoffiFunction; export declare const lsl_resolve_bypred: koffi.KoffiFunction; export declare const lsl_create_continuous_resolver: koffi.KoffiFunction; export declare const lsl_create_continuous_resolver_byprop: koffi.KoffiFunction; export declare const lsl_create_continuous_resolver_bypred: koffi.KoffiFunction; export declare const lsl_destroy_continuous_resolver: koffi.KoffiFunction; export declare const lsl_resolver_results: koffi.KoffiFunction; export declare const lsl_local_clock: koffi.KoffiFunction; export declare const lsl_protocol_version: koffi.KoffiFunction; export declare const lsl_library_version: koffi.KoffiFunction; export declare const lsl_library_info: koffi.KoffiFunction; export declare const lsl_destroy_string: koffi.KoffiFunction; export declare const lsl_first_child: koffi.KoffiFunction; export declare const lsl_last_child: koffi.KoffiFunction; export declare const lsl_next_sibling: koffi.KoffiFunction; export declare const lsl_next_sibling_n: koffi.KoffiFunction; export declare const lsl_previous_sibling: koffi.KoffiFunction; export declare const lsl_previous_sibling_n: koffi.KoffiFunction; export declare const lsl_parent: koffi.KoffiFunction; export declare const lsl_child: koffi.KoffiFunction; export declare const lsl_empty: koffi.KoffiFunction; export declare const lsl_is_text: koffi.KoffiFunction; export declare const lsl_name: koffi.KoffiFunction; export declare const lsl_value: koffi.KoffiFunction; export declare const lsl_child_value: koffi.KoffiFunction; export declare const lsl_child_value_n: koffi.KoffiFunction; export declare const lsl_append_child_value: koffi.KoffiFunction; export declare const lsl_prepend_child_value: koffi.KoffiFunction; export declare const lsl_set_child_value: koffi.KoffiFunction; export declare const lsl_set_name: koffi.KoffiFunction; export declare const lsl_set_value: koffi.KoffiFunction; export declare const lsl_append_child: koffi.KoffiFunction; export declare const lsl_prepend_child: koffi.KoffiFunction; export declare const lsl_append_copy: koffi.KoffiFunction; export declare const lsl_prepend_copy: koffi.KoffiFunction; export declare const lsl_remove_child: koffi.KoffiFunction; export declare const lsl_remove_child_n: koffi.KoffiFunction; /** * Union type representing all valid channel format constants. * Used for type safety in TypeScript. */ export type ChannelFormat = typeof cf_float32 | typeof cf_double64 | typeof cf_string | typeof cf_int32 | typeof cf_int16 | typeof cf_int8 | typeof cf_int64 | typeof cf_undefined; /** * Maps channel format to corresponding push_sample function. * Used internally by StreamOutlet to select the correct function. */ export declare const fmt2push_sample: { [key: number]: any; }; /** * Maps channel format to corresponding push_chunk function (single timestamp). * Used for pushing chunks where all samples share the same timestamp. */ export declare const fmt2push_chunk: { [key: number]: any; }; /** * Maps channel format to corresponding push_chunk function (multiple timestamps). * Used for pushing chunks where each sample has its own timestamp. */ export declare const fmt2push_chunk_n: { [key: number]: any; }; /** * Maps channel format to corresponding pull_sample function. * Used internally by StreamInlet to select the correct function. */ export declare const fmt2pull_sample: { [key: number]: any; }; /** * Maps channel format to corresponding pull_chunk function. * Used for pulling multiple samples efficiently. */ export declare const fmt2pull_chunk: { [key: number]: any; }; //# sourceMappingURL=index.d.ts.map