@4players/odin-nodejs 0.7.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.
Files changed (99) hide show
  1. package/.idea/.name +1 -0
  2. package/.idea/jsLibraryMappings.xml +6 -0
  3. package/.idea/misc.xml +4 -0
  4. package/.idea/modules.xml +9 -0
  5. package/.idea/odin-nodejs.iml +8 -0
  6. package/.idea/odin_nodejs.iml +2 -0
  7. package/.idea/php.xml +19 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/CMakeLists.txt +25 -0
  10. package/README.md +53 -0
  11. package/binding.gyp +61 -0
  12. package/build/Makefile +352 -0
  13. package/build/Release/.deps/Release/nothing.a.d +1 -0
  14. package/build/Release/.deps/Release/obj.target/nothing/node_modules/node-addon-api/nothing.o.d +4 -0
  15. package/build/Release/.deps/Release/obj.target/odin/cppsrc/binding.o.d +27 -0
  16. package/build/Release/.deps/Release/obj.target/odin/cppsrc/odinbindings.o.d +24 -0
  17. package/build/Release/.deps/Release/obj.target/odin/cppsrc/odinclient.o.d +24 -0
  18. package/build/Release/.deps/Release/obj.target/odin/cppsrc/odinmedia.o.d +24 -0
  19. package/build/Release/.deps/Release/obj.target/odin/cppsrc/odinroom.o.d +24 -0
  20. package/build/Release/.deps/Release/obj.target/odin/cppsrc/utilities.o.d +21 -0
  21. package/build/Release/.deps/Release/odin.node.d +1 -0
  22. package/build/Release/nothing.a +0 -0
  23. package/build/Release/obj.target/nothing/node_modules/node-addon-api/nothing.o +0 -0
  24. package/build/Release/obj.target/odin/cppsrc/binding.o +0 -0
  25. package/build/Release/obj.target/odin/cppsrc/odinbindings.o +0 -0
  26. package/build/Release/obj.target/odin/cppsrc/odinclient.o +0 -0
  27. package/build/Release/obj.target/odin/cppsrc/odinmedia.o +0 -0
  28. package/build/Release/obj.target/odin/cppsrc/odinroom.o +0 -0
  29. package/build/Release/obj.target/odin/cppsrc/utilities.o +0 -0
  30. package/build/binding.Makefile +6 -0
  31. package/build/gyp-mac-tool +772 -0
  32. package/build/node_modules/node-addon-api/node_api.Makefile +6 -0
  33. package/build/node_modules/node-addon-api/nothing.target.mk +186 -0
  34. package/build/odin.target.mk +201 -0
  35. package/cmake-build-debug/.cmake/api/v1/query/cache-v2 +0 -0
  36. package/cmake-build-debug/.cmake/api/v1/query/cmakeFiles-v1 +0 -0
  37. package/cmake-build-debug/.cmake/api/v1/query/codemodel-v2 +0 -0
  38. package/cmake-build-debug/.cmake/api/v1/query/toolchains-v1 +0 -0
  39. package/cmake-build-debug/.cmake/api/v1/reply/cache-v2-912a6d0c3c2c7ebbadf8.json +1183 -0
  40. package/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-0825651e80f1fb47890c.json +161 -0
  41. package/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-bc24edc239de864eb886.json +60 -0
  42. package/cmake-build-debug/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +14 -0
  43. package/cmake-build-debug/.cmake/api/v1/reply/index-2023-03-18T11-25-22-0179.json +108 -0
  44. package/cmake-build-debug/.cmake/api/v1/reply/target-odin_nodejs-Debug-1ac16802f252a85492c7.json +322 -0
  45. package/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-b57293a485ebf36c82cc.json +88 -0
  46. package/cmake-build-debug/.ninja_log +1 -0
  47. package/cmake-build-debug/CMakeCache.txt +367 -0
  48. package/cmake-build-debug/CMakeFiles/3.24.2/CMakeCCompiler.cmake +72 -0
  49. package/cmake-build-debug/CMakeFiles/3.24.2/CMakeCXXCompiler.cmake +83 -0
  50. package/cmake-build-debug/CMakeFiles/3.24.2/CMakeDetermineCompilerABI_C.bin +0 -0
  51. package/cmake-build-debug/CMakeFiles/3.24.2/CMakeDetermineCompilerABI_CXX.bin +0 -0
  52. package/cmake-build-debug/CMakeFiles/3.24.2/CMakeSystem.cmake +15 -0
  53. package/cmake-build-debug/CMakeFiles/3.24.2/CompilerIdC/CMakeCCompilerId.c +838 -0
  54. package/cmake-build-debug/CMakeFiles/3.24.2/CompilerIdC/CMakeCCompilerId.o +0 -0
  55. package/cmake-build-debug/CMakeFiles/3.24.2/CompilerIdCXX/CMakeCXXCompilerId.cpp +826 -0
  56. package/cmake-build-debug/CMakeFiles/3.24.2/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
  57. package/cmake-build-debug/CMakeFiles/CMakeError.log +22 -0
  58. package/cmake-build-debug/CMakeFiles/CMakeOutput.log +250 -0
  59. package/cmake-build-debug/CMakeFiles/TargetDirectories.txt +3 -0
  60. package/cmake-build-debug/CMakeFiles/clion-Debug-log.txt +4 -0
  61. package/cmake-build-debug/CMakeFiles/clion-environment.txt +3 -0
  62. package/cmake-build-debug/CMakeFiles/cmake.check_cache +1 -0
  63. package/cmake-build-debug/CMakeFiles/rules.ninja +74 -0
  64. package/cmake-build-debug/Testing/Temporary/LastTest.log +3 -0
  65. package/cmake-build-debug/build.ninja +205 -0
  66. package/cmake-build-debug/cmake_install.cmake +49 -0
  67. package/cppsrc/binding.cpp +15 -0
  68. package/cppsrc/odinbindings.cpp +58 -0
  69. package/cppsrc/odinbindings.h +9 -0
  70. package/cppsrc/odinclient.cpp +162 -0
  71. package/cppsrc/odinclient.h +17 -0
  72. package/cppsrc/odinmedia.cpp +242 -0
  73. package/cppsrc/odinmedia.h +35 -0
  74. package/cppsrc/odinroom.cpp +738 -0
  75. package/cppsrc/odinroom.h +65 -0
  76. package/cppsrc/utilities.cpp +102 -0
  77. package/cppsrc/utilities.h +175 -0
  78. package/index.cjs +2 -0
  79. package/index.d.ts +5 -0
  80. package/libs/bin/linux/arm64/libodin_static.a +0 -0
  81. package/libs/bin/linux/ia32/libodin_static.a +0 -0
  82. package/libs/bin/linux/x64/libodin_static.a +0 -0
  83. package/libs/bin/macos/arm64/libodin_static.a +0 -0
  84. package/libs/bin/macos/x64/libodin_static.a +0 -0
  85. package/libs/bin/windows/arm64/odin_static.lib +0 -0
  86. package/libs/bin/windows/ia32/odin_static.lib +0 -0
  87. package/libs/bin/windows/x64/odin_static.lib +0 -0
  88. package/libs/include/odin.h +896 -0
  89. package/odin.client.d.ts +22 -0
  90. package/odin.media.d.ts +33 -0
  91. package/odin.room.d.ts +473 -0
  92. package/package.json +50 -0
  93. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  94. package/test.js +211 -0
  95. package/tests/audio-recording/README.md +24 -0
  96. package/tests/audio-recording/index.js +148 -0
  97. package/tests/sending-audio/README.md +20 -0
  98. package/tests/sending-audio/index.js +81 -0
  99. package/tests/sending-audio/santa.mp3 +0 -0
@@ -0,0 +1,205 @@
1
+ ## This file contains all the build statements describing the
2
+ # compilation DAG.
3
+
4
+ # =============================================================================
5
+ # Write statements declared in CMakeLists.txt:
6
+ #
7
+ # Which is the root file.
8
+ # =============================================================================
9
+
10
+ # =============================================================================
11
+ # Project: odin_nodejs
12
+ # Configurations: Debug
13
+ # =============================================================================
14
+
15
+ #############################################
16
+ # Minimal version of Ninja required by this file
17
+
18
+ ninja_required_version = 1.5
19
+
20
+
21
+ #############################################
22
+ # Set configuration variable for custom commands.
23
+
24
+ CONFIGURATION = Debug
25
+ # =============================================================================
26
+ # Include auxiliary files.
27
+
28
+
29
+ #############################################
30
+ # Include rules file.
31
+
32
+ include CMakeFiles/rules.ninja
33
+
34
+ # =============================================================================
35
+
36
+ #############################################
37
+ # Logical path to working directory; prefix for absolute paths.
38
+
39
+ cmake_ninja_workdir = /Users/pschuster/Documents/4Players/Odin/odin-nodejs/cmake-build-debug/
40
+ # =============================================================================
41
+ # Object build statements for EXECUTABLE target odin_nodejs
42
+
43
+
44
+ #############################################
45
+ # Order-only phony target for odin_nodejs
46
+
47
+ build cmake_object_order_depends_target_odin_nodejs: phony || CMakeFiles/odin_nodejs.dir
48
+
49
+ build CMakeFiles/odin_nodejs.dir/cppsrc/odinbindings.cpp.o: CXX_COMPILER__odin_nodejs_Debug /Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/odinbindings.cpp || cmake_object_order_depends_target_odin_nodejs
50
+ DEFINES = -DNAPI_VERSION=4
51
+ DEP_FILE = CMakeFiles/odin_nodejs.dir/cppsrc/odinbindings.cpp.o.d
52
+ FLAGS = -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -fcolor-diagnostics -std=gnu++14
53
+ INCLUDES = -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/samples -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs/include -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/node_modules/node-addon-api
54
+ OBJECT_DIR = CMakeFiles/odin_nodejs.dir
55
+ OBJECT_FILE_DIR = CMakeFiles/odin_nodejs.dir/cppsrc
56
+
57
+ build CMakeFiles/odin_nodejs.dir/cppsrc/odinroom.cpp.o: CXX_COMPILER__odin_nodejs_Debug /Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/odinroom.cpp || cmake_object_order_depends_target_odin_nodejs
58
+ DEFINES = -DNAPI_VERSION=4
59
+ DEP_FILE = CMakeFiles/odin_nodejs.dir/cppsrc/odinroom.cpp.o.d
60
+ FLAGS = -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -fcolor-diagnostics -std=gnu++14
61
+ INCLUDES = -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/samples -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs/include -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/node_modules/node-addon-api
62
+ OBJECT_DIR = CMakeFiles/odin_nodejs.dir
63
+ OBJECT_FILE_DIR = CMakeFiles/odin_nodejs.dir/cppsrc
64
+
65
+ build CMakeFiles/odin_nodejs.dir/cppsrc/binding.cpp.o: CXX_COMPILER__odin_nodejs_Debug /Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/binding.cpp || cmake_object_order_depends_target_odin_nodejs
66
+ DEFINES = -DNAPI_VERSION=4
67
+ DEP_FILE = CMakeFiles/odin_nodejs.dir/cppsrc/binding.cpp.o.d
68
+ FLAGS = -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -fcolor-diagnostics -std=gnu++14
69
+ INCLUDES = -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/samples -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs/include -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/node_modules/node-addon-api
70
+ OBJECT_DIR = CMakeFiles/odin_nodejs.dir
71
+ OBJECT_FILE_DIR = CMakeFiles/odin_nodejs.dir/cppsrc
72
+
73
+ build CMakeFiles/odin_nodejs.dir/node_modules/node-addon-api/nothing.c.o: C_COMPILER__odin_nodejs_Debug /Users/pschuster/Documents/4Players/Odin/odin-nodejs/node_modules/node-addon-api/nothing.c || cmake_object_order_depends_target_odin_nodejs
74
+ DEFINES = -DNAPI_VERSION=4
75
+ DEP_FILE = CMakeFiles/odin_nodejs.dir/node_modules/node-addon-api/nothing.c.o.d
76
+ FLAGS = -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -fcolor-diagnostics
77
+ INCLUDES = -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/samples -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs/include -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/node_modules/node-addon-api
78
+ OBJECT_DIR = CMakeFiles/odin_nodejs.dir
79
+ OBJECT_FILE_DIR = CMakeFiles/odin_nodejs.dir/node_modules/node-addon-api
80
+
81
+ build CMakeFiles/odin_nodejs.dir/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc.o: CXX_COMPILER__odin_nodejs_Debug /Users/pschuster/Documents/4Players/Odin/odin-nodejs/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc || cmake_object_order_depends_target_odin_nodejs
82
+ DEFINES = -DNAPI_VERSION=4
83
+ DEP_FILE = CMakeFiles/odin_nodejs.dir/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc.o.d
84
+ FLAGS = -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -fcolor-diagnostics -std=gnu++14
85
+ INCLUDES = -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/samples -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs/include -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/node_modules/node-addon-api
86
+ OBJECT_DIR = CMakeFiles/odin_nodejs.dir
87
+ OBJECT_FILE_DIR = CMakeFiles/odin_nodejs.dir/node_modules/node-gyp/gyp/data/win
88
+
89
+ build CMakeFiles/odin_nodejs.dir/node_modules/node-gyp/src/win_delay_load_hook.cc.o: CXX_COMPILER__odin_nodejs_Debug /Users/pschuster/Documents/4Players/Odin/odin-nodejs/node_modules/node-gyp/src/win_delay_load_hook.cc || cmake_object_order_depends_target_odin_nodejs
90
+ DEFINES = -DNAPI_VERSION=4
91
+ DEP_FILE = CMakeFiles/odin_nodejs.dir/node_modules/node-gyp/src/win_delay_load_hook.cc.o.d
92
+ FLAGS = -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -fcolor-diagnostics -std=gnu++14
93
+ INCLUDES = -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/samples -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs/include -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/node_modules/node-addon-api
94
+ OBJECT_DIR = CMakeFiles/odin_nodejs.dir
95
+ OBJECT_FILE_DIR = CMakeFiles/odin_nodejs.dir/node_modules/node-gyp/src
96
+
97
+ build CMakeFiles/odin_nodejs.dir/cppsrc/utilities.cpp.o: CXX_COMPILER__odin_nodejs_Debug /Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/utilities.cpp || cmake_object_order_depends_target_odin_nodejs
98
+ DEFINES = -DNAPI_VERSION=4
99
+ DEP_FILE = CMakeFiles/odin_nodejs.dir/cppsrc/utilities.cpp.o.d
100
+ FLAGS = -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -fcolor-diagnostics -std=gnu++14
101
+ INCLUDES = -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/samples -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs/include -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/node_modules/node-addon-api
102
+ OBJECT_DIR = CMakeFiles/odin_nodejs.dir
103
+ OBJECT_FILE_DIR = CMakeFiles/odin_nodejs.dir/cppsrc
104
+
105
+ build CMakeFiles/odin_nodejs.dir/cppsrc/odinclient.cpp.o: CXX_COMPILER__odin_nodejs_Debug /Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/odinclient.cpp || cmake_object_order_depends_target_odin_nodejs
106
+ DEFINES = -DNAPI_VERSION=4
107
+ DEP_FILE = CMakeFiles/odin_nodejs.dir/cppsrc/odinclient.cpp.o.d
108
+ FLAGS = -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -fcolor-diagnostics -std=gnu++14
109
+ INCLUDES = -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/samples -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs/include -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/node_modules/node-addon-api
110
+ OBJECT_DIR = CMakeFiles/odin_nodejs.dir
111
+ OBJECT_FILE_DIR = CMakeFiles/odin_nodejs.dir/cppsrc
112
+
113
+ build CMakeFiles/odin_nodejs.dir/cppsrc/odinmedia.cpp.o: CXX_COMPILER__odin_nodejs_Debug /Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/odinmedia.cpp || cmake_object_order_depends_target_odin_nodejs
114
+ DEFINES = -DNAPI_VERSION=4
115
+ DEP_FILE = CMakeFiles/odin_nodejs.dir/cppsrc/odinmedia.cpp.o.d
116
+ FLAGS = -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -fcolor-diagnostics -std=gnu++14
117
+ INCLUDES = -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/cppsrc/samples -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/libs/include -I/Users/pschuster/Documents/4Players/Odin/odin-nodejs/node_modules/node-addon-api
118
+ OBJECT_DIR = CMakeFiles/odin_nodejs.dir
119
+ OBJECT_FILE_DIR = CMakeFiles/odin_nodejs.dir/cppsrc
120
+
121
+
122
+ # =============================================================================
123
+ # Link build statements for EXECUTABLE target odin_nodejs
124
+
125
+
126
+ #############################################
127
+ # Link the executable odin_nodejs
128
+
129
+ build odin_nodejs: CXX_EXECUTABLE_LINKER__odin_nodejs_Debug CMakeFiles/odin_nodejs.dir/cppsrc/odinbindings.cpp.o CMakeFiles/odin_nodejs.dir/cppsrc/odinroom.cpp.o CMakeFiles/odin_nodejs.dir/cppsrc/binding.cpp.o CMakeFiles/odin_nodejs.dir/node_modules/node-addon-api/nothing.c.o CMakeFiles/odin_nodejs.dir/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc.o CMakeFiles/odin_nodejs.dir/node_modules/node-gyp/src/win_delay_load_hook.cc.o CMakeFiles/odin_nodejs.dir/cppsrc/utilities.cpp.o CMakeFiles/odin_nodejs.dir/cppsrc/odinclient.cpp.o CMakeFiles/odin_nodejs.dir/cppsrc/odinmedia.cpp.o
130
+ FLAGS = -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk
131
+ OBJECT_DIR = CMakeFiles/odin_nodejs.dir
132
+ POST_BUILD = :
133
+ PRE_LINK = :
134
+ TARGET_FILE = odin_nodejs
135
+ TARGET_PDB = odin_nodejs.dbg
136
+
137
+
138
+ #############################################
139
+ # Utility command for edit_cache
140
+
141
+ build CMakeFiles/edit_cache.util: CUSTOM_COMMAND
142
+ COMMAND = cd /Users/pschuster/Documents/4Players/Odin/odin-nodejs/cmake-build-debug && "/Users/pschuster/Library/Application Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/bin/cmake" -E echo No\ interactive\ CMake\ dialog\ available.
143
+ DESC = No interactive CMake dialog available...
144
+ restat = 1
145
+
146
+ build edit_cache: phony CMakeFiles/edit_cache.util
147
+
148
+
149
+ #############################################
150
+ # Utility command for rebuild_cache
151
+
152
+ build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND
153
+ COMMAND = cd /Users/pschuster/Documents/4Players/Odin/odin-nodejs/cmake-build-debug && "/Users/pschuster/Library/Application Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/bin/cmake" --regenerate-during-build -S/Users/pschuster/Documents/4Players/Odin/odin-nodejs -B/Users/pschuster/Documents/4Players/Odin/odin-nodejs/cmake-build-debug
154
+ DESC = Running CMake to regenerate build system...
155
+ pool = console
156
+ restat = 1
157
+
158
+ build rebuild_cache: phony CMakeFiles/rebuild_cache.util
159
+
160
+ # =============================================================================
161
+ # Target aliases.
162
+
163
+ # =============================================================================
164
+ # Folder targets.
165
+
166
+ # =============================================================================
167
+
168
+ #############################################
169
+ # Folder: /Users/pschuster/Documents/4Players/Odin/odin-nodejs/cmake-build-debug
170
+
171
+ build all: phony odin_nodejs
172
+
173
+ # =============================================================================
174
+ # Built-in targets
175
+
176
+
177
+ #############################################
178
+ # Re-run CMake if any of its inputs changed.
179
+
180
+ build build.ninja: RERUN_CMAKE | /Users/pschuster/Documents/4Players/Odin/odin-nodejs/CMakeLists.txt /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeCInformation.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeCXXInformation.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeCommonLanguageInclude.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeGenericSystem.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeInitializeConfigs.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeLanguageInformation.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeSystemSpecificInformation.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeSystemSpecificInitialize.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Compiler/AppleClang-C.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Compiler/AppleClang-CXX.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Compiler/Clang.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Compiler/GNU.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Apple-AppleClang-C.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Apple-AppleClang-CXX.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Apple-Clang-C.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Apple-Clang-CXX.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Apple-Clang.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Darwin-Initialize.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Darwin.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/3.24.2/CMakeCCompiler.cmake CMakeFiles/3.24.2/CMakeCXXCompiler.cmake CMakeFiles/3.24.2/CMakeSystem.cmake
181
+ pool = console
182
+
183
+
184
+ #############################################
185
+ # A missing CMake input file is not an error.
186
+
187
+ build /Users/pschuster/Documents/4Players/Odin/odin-nodejs/CMakeLists.txt /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeCInformation.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeCXXInformation.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeCommonLanguageInclude.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeGenericSystem.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeInitializeConfigs.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeLanguageInformation.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeSystemSpecificInformation.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/CMakeSystemSpecificInitialize.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Compiler/AppleClang-C.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Compiler/AppleClang-CXX.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Compiler/Clang.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Compiler/GNU.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Apple-AppleClang-C.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Apple-AppleClang-CXX.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Apple-Clang-C.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Apple-Clang-CXX.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Apple-Clang.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Darwin-Initialize.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/Darwin.cmake /Users/pschuster/Library/Application$ Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8617.54/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/3.24.2/CMakeCCompiler.cmake CMakeFiles/3.24.2/CMakeCXXCompiler.cmake CMakeFiles/3.24.2/CMakeSystem.cmake: phony
188
+
189
+
190
+ #############################################
191
+ # Clean all the built files.
192
+
193
+ build clean: CLEAN
194
+
195
+
196
+ #############################################
197
+ # Print all primary targets available.
198
+
199
+ build help: HELP
200
+
201
+
202
+ #############################################
203
+ # Make the all target the default.
204
+
205
+ default all
@@ -0,0 +1,49 @@
1
+ # Install script for directory: /Users/pschuster/Documents/4Players/Odin/odin-nodejs
2
+
3
+ # Set the install prefix
4
+ if(NOT DEFINED CMAKE_INSTALL_PREFIX)
5
+ set(CMAKE_INSTALL_PREFIX "/usr/local")
6
+ endif()
7
+ string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
8
+
9
+ # Set the install configuration name.
10
+ if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
11
+ if(BUILD_TYPE)
12
+ string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
13
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
14
+ else()
15
+ set(CMAKE_INSTALL_CONFIG_NAME "Debug")
16
+ endif()
17
+ message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
18
+ endif()
19
+
20
+ # Set the component getting installed.
21
+ if(NOT CMAKE_INSTALL_COMPONENT)
22
+ if(COMPONENT)
23
+ message(STATUS "Install component: \"${COMPONENT}\"")
24
+ set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
25
+ else()
26
+ set(CMAKE_INSTALL_COMPONENT)
27
+ endif()
28
+ endif()
29
+
30
+ # Is this installation the result of a crosscompile?
31
+ if(NOT DEFINED CMAKE_CROSSCOMPILING)
32
+ set(CMAKE_CROSSCOMPILING "FALSE")
33
+ endif()
34
+
35
+ # Set default install directory permissions.
36
+ if(NOT DEFINED CMAKE_OBJDUMP)
37
+ set(CMAKE_OBJDUMP "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/objdump")
38
+ endif()
39
+
40
+ if(CMAKE_INSTALL_COMPONENT)
41
+ set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
42
+ else()
43
+ set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
44
+ endif()
45
+
46
+ string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
47
+ "${CMAKE_INSTALL_MANIFEST_FILES}")
48
+ file(WRITE "/Users/pschuster/Documents/4Players/Odin/odin-nodejs/cmake-build-debug/${CMAKE_INSTALL_MANIFEST}"
49
+ "${CMAKE_INSTALL_MANIFEST_CONTENT}")
@@ -0,0 +1,15 @@
1
+ /* cppsrc/main.cpp */
2
+ #include <napi.h>
3
+ #include "odinbindings.h"
4
+ #include "odinroom.h"
5
+ #include "odinmedia.h"
6
+ #include "odinclient.h"
7
+
8
+ Napi::Object InitAll(Napi::Env env, Napi::Object exports) {
9
+ OdinBindings::Init(env,exports);
10
+ OdinClient::Init(env, exports);
11
+ OdinMedia::Init(env, exports);
12
+ return OdinRoom::Init(env, exports);
13
+ }
14
+
15
+ NODE_API_MODULE(NODE_GYP_MODULE_NAME, InitAll)
@@ -0,0 +1,58 @@
1
+ //
2
+ // Created by Phillip Schuster on 08.03.23.
3
+ //
4
+ #include "odinbindings.h"
5
+
6
+ /**
7
+ * Wrapper function to generate an access token with access key, room id and user id
8
+ * @param info
9
+ * @return
10
+ */
11
+ Napi::String OdinBindings::GenerateAccessToken(const Napi::CallbackInfo &info)
12
+ {
13
+ Napi::Env env = info.Env();
14
+
15
+ if (info.Length() != 3 || !info[0].IsString() || !info[1].IsString() || !info[2].IsString()) {
16
+ Napi::TypeError::New(env, "Room and User Id expected").ThrowAsJavaScriptException();
17
+ }
18
+
19
+ std::string accessKey = info[0].ToString().Utf8Value();
20
+ std::string roomId = info[1].ToString().Utf8Value();
21
+ std::string userId = info[2].ToString().Utf8Value();
22
+
23
+ OdinTokenGenerator *generator = odin_token_generator_create(accessKey.c_str());
24
+ if (!generator)
25
+ {
26
+ Napi::TypeError::New(env, "Failed to initialize token generator, invalid access key").ThrowAsJavaScriptException();
27
+ }
28
+
29
+ /*
30
+ * Generate a new room token to access the ODIN network
31
+ */
32
+ char room_token[512];
33
+ OdinReturnCode error = odin_token_generator_create_token(generator, roomId.c_str(), userId.c_str(), room_token, sizeof(room_token));
34
+ if (odin_is_error(error))
35
+ {
36
+ Napi::TypeError::New(env, "Creating access token failed").ThrowAsJavaScriptException();
37
+ }
38
+
39
+ /*
40
+ * Destroy the token generator as we don't need it anymore
41
+ */
42
+ odin_token_generator_destroy(generator);
43
+
44
+ return Napi::String::New(env, room_token);
45
+ }
46
+
47
+ /**
48
+ * Initialize the bindings
49
+ * @param env
50
+ * @param exports
51
+ * @return
52
+ */
53
+ Napi::Object OdinBindings::Init(Napi::Env env, Napi::Object exports)
54
+ {
55
+ exports.Set("generateAccessToken", Napi::Function::New(env, OdinBindings::GenerateAccessToken));
56
+
57
+ return exports;
58
+ }
@@ -0,0 +1,9 @@
1
+ #include <napi.h>
2
+ #include <odin.h>
3
+ #include "odinroom.h"
4
+
5
+ namespace OdinBindings {
6
+ Napi::String GenerateAccessToken(const Napi::CallbackInfo& info);
7
+
8
+ Napi::Object Init(Napi::Env env, Napi::Object exports);
9
+ }
@@ -0,0 +1,162 @@
1
+ #include "odinclient.h"
2
+ #include <inttypes.h>
3
+ #include "odinroom.h"
4
+
5
+ /**
6
+ * Initialize the OdinClient class
7
+ * @param env
8
+ * @param exports
9
+ * @return
10
+ */
11
+ Napi::Object OdinClient::Init(Napi::Env env, Napi::Object exports) {
12
+ // This method is used to hook the accessor and method callbacks
13
+ Napi::Function func = DefineClass(env, "OdinClient", {
14
+ InstanceMethod<&OdinClient::GenerateAccessToken>("generateAccessToken", static_cast<napi_property_attributes>(napi_writable | napi_configurable)),
15
+ InstanceMethod<&OdinClient::CreateRoom>("createRoom", static_cast<napi_property_attributes>(napi_writable | napi_configurable))
16
+ });
17
+
18
+ Napi::FunctionReference* constructor = new Napi::FunctionReference();
19
+
20
+ // Create a persistent reference to the class constructor. This will allow
21
+ // a function called on a class prototype and a function
22
+ // called on instance of a class to be distinguished from each other.
23
+ *constructor = Napi::Persistent(func);
24
+ exports.Set("OdinClient", func);
25
+
26
+ // Store the constructor as the add-on instance data. This will allow this
27
+ // add-on to support multiple instances of itself running on multiple worker
28
+ // threads, as well as multiple instances of itself running in different
29
+ // contexts on the same thread.
30
+ //
31
+ // By default, the value set on the environment here will be destroyed when
32
+ // the add-on is unloaded using the `delete` operator, but it is also
33
+ // possible to supply a custom deleter.
34
+ env.SetInstanceData<Napi::FunctionReference>(constructor);
35
+
36
+ return exports;
37
+ }
38
+
39
+ /**
40
+ * OdinClient constructor, requires an access key as string as first parameter
41
+ * @param info
42
+ */
43
+ OdinClient::OdinClient(const Napi::CallbackInfo& info) : Napi::ObjectWrap<OdinClient>(info) {
44
+ Napi::Env env = info.Env();
45
+ Napi::HandleScope scope(env);
46
+
47
+ if (info.Length() < 1 || !info[0].IsString()) {
48
+ Napi::TypeError::New(env, "Access Key required as first parameter").ThrowAsJavaScriptException();
49
+ }
50
+
51
+ _accessKey = info[0].ToString().Utf8Value();
52
+ _sampleRate = 48000;
53
+ _numChannels = 1;
54
+
55
+ if (info.Length() >= 2) {
56
+ if (info[1].IsNumber()) {
57
+ _sampleRate = info[1].ToNumber();
58
+ } else {
59
+ Napi::TypeError::New(env, "Sample rate must be a number").ThrowAsJavaScriptException();
60
+ }
61
+ }
62
+
63
+ if (info.Length() >= 3) {
64
+ if (info[2].IsNumber()) {
65
+ _numChannels = info[2].ToNumber();
66
+ } else {
67
+ Napi::TypeError::New(env, "Channels must be a number").ThrowAsJavaScriptException();
68
+ }
69
+ }
70
+
71
+ #ifdef DEBUG
72
+ printf("Odin NodeJS Addon: Initializing Odin runtime (%s) with sample rate %f and %d channels\n", ODIN_VERSION, _sampleRate, _numChannels);
73
+ #endif
74
+
75
+ odin_startup_ex(ODIN_VERSION, _sampleRate, _numChannels == 1 ? OdinChannelLayout_Mono : OdinChannelLayout_Stereo);
76
+ }
77
+
78
+ /**
79
+ * OdinClient destructor
80
+ */
81
+ void OdinClient::Finalize(Napi::Env env) {
82
+
83
+ }
84
+
85
+ /**
86
+ * Generate an access token for a room, requires a room id and user id as string as first and second parameter, returns the access token as string
87
+ * @param info
88
+ * @return
89
+ */
90
+ Napi::Value OdinClient::GenerateAccessToken(const Napi::CallbackInfo &info)
91
+ {
92
+ Napi::Env env = info.Env();
93
+
94
+ if (info.Length() != 2 || !info[0].IsString() || !info[1].IsString()) {
95
+ Napi::TypeError::New(env, "Room and User Id expected").ThrowAsJavaScriptException();
96
+ }
97
+
98
+ std::string roomId = info[0].ToString().Utf8Value();
99
+ std::string userId = info[1].ToString().Utf8Value();
100
+
101
+ OdinTokenGenerator *generator = odin_token_generator_create(_accessKey.c_str());
102
+ if (!generator)
103
+ {
104
+ Napi::TypeError::New(env, "Failed to initialize token generator, invalid access key").ThrowAsJavaScriptException();
105
+ }
106
+
107
+ /*
108
+ * Generate a new room token to access the ODIN network
109
+ */
110
+ char room_token[512];
111
+ OdinReturnCode error = odin_token_generator_create_token(generator, roomId.c_str(), userId.c_str(), room_token, sizeof(room_token));
112
+ if (odin_is_error(error))
113
+ {
114
+ Napi::TypeError::New(env, "Creating access token failed").ThrowAsJavaScriptException();
115
+ }
116
+
117
+ /*
118
+ * Destroy the token generator as we don't need it anymore
119
+ */
120
+ odin_token_generator_destroy(generator);
121
+
122
+ return Napi::String::New(env, room_token);
123
+ }
124
+
125
+ /**
126
+ * Create a new room, requires a room id and user id as string as first and second parameter, returns the room instance
127
+ * @param info
128
+ * @return
129
+ */
130
+ Napi::Value OdinClient::CreateRoom(const Napi::CallbackInfo &info) {
131
+ Napi::Env env = info.Env();
132
+
133
+ if (info.Length() != 2 || !info[0].IsString() || !info[1].IsString()) {
134
+ Napi::TypeError::New(env, "Room and User Id expected").ThrowAsJavaScriptException();
135
+ }
136
+
137
+ std::string roomId = info[0].ToString().Utf8Value();
138
+ std::string userId = info[1].ToString().Utf8Value();
139
+
140
+ OdinTokenGenerator *generator = odin_token_generator_create(_accessKey.c_str());
141
+ if (!generator)
142
+ {
143
+ Napi::TypeError::New(env, "Failed to initialize token generator, invalid access key").ThrowAsJavaScriptException();
144
+ }
145
+
146
+ /*
147
+ * Generate a new room token to access the ODIN network
148
+ */
149
+ char room_token[512];
150
+ OdinReturnCode error = odin_token_generator_create_token(generator, roomId.c_str(), userId.c_str(), room_token, sizeof(room_token));
151
+ if (odin_is_error(error))
152
+ {
153
+ Napi::TypeError::New(env, "Creating access token failed").ThrowAsJavaScriptException();
154
+ }
155
+
156
+ /*
157
+ * Destroy the token generator as we don't need it anymore
158
+ */
159
+ odin_token_generator_destroy(generator);
160
+
161
+ return OdinRoom::NewInstance(Napi::String::New(env, room_token));
162
+ }
@@ -0,0 +1,17 @@
1
+ #include <napi.h>
2
+ #include <odin.h>
3
+
4
+ class OdinClient : public Napi::ObjectWrap<OdinClient> {
5
+ public:
6
+ static Napi::Object Init(Napi::Env env, Napi::Object exports); //Init function for setting the export key to JS
7
+ OdinClient(const Napi::CallbackInfo& info); //Constructor to initialise
8
+ void Finalize(Napi::Env env) override;
9
+ private:
10
+ Napi::Value GenerateAccessToken(const Napi::CallbackInfo& info);
11
+ Napi::Value CreateRoom(const Napi::CallbackInfo& info);
12
+
13
+ float _sampleRate;
14
+ uint32_t _numChannels;
15
+
16
+ std::string _accessKey;
17
+ };