one 2.11.4 → 2.12.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 (194) hide show
  1. package/android/src/main/java/com/margelo/nitro/one/HybridOneAudio.kt +309 -124
  2. package/dist/cjs/cli/build.cjs +31 -33
  3. package/dist/cjs/cli/build.native.cjs +31 -33
  4. package/dist/cjs/cli/build.native.js +31 -33
  5. package/dist/cjs/cli/build.native.js.map +1 -1
  6. package/dist/cjs/cli/buildPage.cjs +11 -7
  7. package/dist/cjs/cli/buildPage.native.cjs +11 -7
  8. package/dist/cjs/cli/buildPage.native.js +11 -7
  9. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  10. package/dist/cjs/cli/buildPageWorker.cjs +1 -1
  11. package/dist/cjs/cli/buildPageWorker.native.cjs +1 -1
  12. package/dist/cjs/cli/buildPageWorker.native.js +1 -1
  13. package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
  14. package/dist/cjs/headless-server.cjs +2 -5
  15. package/dist/cjs/headless-server.native.cjs +2 -5
  16. package/dist/cjs/headless-server.native.js +2 -5
  17. package/dist/cjs/headless-server.native.js.map +1 -1
  18. package/dist/cjs/platform/audio/index.cjs +83 -76
  19. package/dist/cjs/platform/audio/index.native.cjs +2 -2
  20. package/dist/cjs/platform/audio/index.native.js +2 -2
  21. package/dist/cjs/platform/audio/index.native.js.map +1 -1
  22. package/dist/cjs/platform/audio/nowPlaying.cjs +126 -0
  23. package/dist/cjs/platform/audio/nowPlaying.native.cjs +160 -0
  24. package/dist/cjs/platform/audio/nowPlaying.native.js +162 -0
  25. package/dist/cjs/platform/audio/nowPlaying.native.js.map +1 -0
  26. package/dist/cjs/platform/audio/player.cjs +15 -0
  27. package/dist/cjs/platform/audio/player.native.cjs +14 -0
  28. package/dist/cjs/platform/audio/player.native.js +14 -0
  29. package/dist/cjs/platform/audio/player.native.js.map +1 -1
  30. package/dist/cjs/platform/audio/unavailable.cjs +1 -1
  31. package/dist/cjs/platform/audio/unavailable.native.cjs +1 -1
  32. package/dist/cjs/platform/audio/unavailable.native.js +1 -1
  33. package/dist/cjs/platform/audio/unavailable.native.js.map +1 -1
  34. package/dist/cjs/platform/location/index.native.cjs +9 -2
  35. package/dist/cjs/platform/location/index.native.js +9 -2
  36. package/dist/cjs/platform/location/index.native.js.map +1 -1
  37. package/dist/cjs/serve-worker.cjs +0 -3
  38. package/dist/cjs/serve-worker.native.cjs +0 -3
  39. package/dist/cjs/serve-worker.native.js +0 -3
  40. package/dist/cjs/serve-worker.native.js.map +1 -1
  41. package/dist/cjs/server/oneServe.cjs +0 -6
  42. package/dist/cjs/server/oneServe.native.cjs +0 -6
  43. package/dist/cjs/server/oneServe.native.js +0 -6
  44. package/dist/cjs/server/oneServe.native.js.map +1 -1
  45. package/dist/cjs/server/workerHandler.cjs +12 -10
  46. package/dist/cjs/server/workerHandler.native.cjs +14 -10
  47. package/dist/cjs/server/workerHandler.native.js +14 -10
  48. package/dist/cjs/server/workerHandler.native.js.map +1 -1
  49. package/dist/cjs/vite/plugins/workerdDevPlugin.cjs +33 -37
  50. package/dist/cjs/vite/plugins/workerdDevPlugin.native.cjs +33 -37
  51. package/dist/cjs/vite/plugins/workerdDevPlugin.native.js +33 -37
  52. package/dist/cjs/vite/plugins/workerdDevPlugin.native.js.map +1 -1
  53. package/dist/esm/cli/build.mjs +31 -33
  54. package/dist/esm/cli/build.mjs.map +1 -1
  55. package/dist/esm/cli/build.native.js +31 -33
  56. package/dist/esm/cli/build.native.js.map +1 -1
  57. package/dist/esm/cli/buildPage.mjs +11 -7
  58. package/dist/esm/cli/buildPage.mjs.map +1 -1
  59. package/dist/esm/cli/buildPage.native.js +11 -7
  60. package/dist/esm/cli/buildPage.native.js.map +1 -1
  61. package/dist/esm/cli/buildPageWorker.mjs +1 -1
  62. package/dist/esm/cli/buildPageWorker.mjs.map +1 -1
  63. package/dist/esm/cli/buildPageWorker.native.js +1 -1
  64. package/dist/esm/cli/buildPageWorker.native.js.map +1 -1
  65. package/dist/esm/headless-server.mjs +2 -3
  66. package/dist/esm/headless-server.mjs.map +1 -1
  67. package/dist/esm/headless-server.native.js +2 -3
  68. package/dist/esm/headless-server.native.js.map +1 -1
  69. package/dist/esm/platform/audio/index.mjs +83 -76
  70. package/dist/esm/platform/audio/index.mjs.map +1 -1
  71. package/dist/esm/platform/audio/index.native.js +2 -2
  72. package/dist/esm/platform/audio/index.native.js.map +1 -1
  73. package/dist/esm/platform/audio/nowPlaying.mjs +102 -0
  74. package/dist/esm/platform/audio/nowPlaying.mjs.map +1 -0
  75. package/dist/esm/platform/audio/nowPlaying.native.js +134 -0
  76. package/dist/esm/platform/audio/nowPlaying.native.js.map +1 -0
  77. package/dist/esm/platform/audio/player.mjs +15 -0
  78. package/dist/esm/platform/audio/player.mjs.map +1 -1
  79. package/dist/esm/platform/audio/player.native.js +14 -0
  80. package/dist/esm/platform/audio/player.native.js.map +1 -1
  81. package/dist/esm/platform/audio/unavailable.mjs +1 -1
  82. package/dist/esm/platform/audio/unavailable.mjs.map +1 -1
  83. package/dist/esm/platform/audio/unavailable.native.js +1 -1
  84. package/dist/esm/platform/audio/unavailable.native.js.map +1 -1
  85. package/dist/esm/platform/location/index.native.js +9 -2
  86. package/dist/esm/platform/location/index.native.js.map +1 -1
  87. package/dist/esm/serve-worker.mjs +1 -2
  88. package/dist/esm/serve-worker.mjs.map +1 -1
  89. package/dist/esm/serve-worker.native.js +1 -2
  90. package/dist/esm/serve-worker.native.js.map +1 -1
  91. package/dist/esm/server/oneServe.mjs +0 -6
  92. package/dist/esm/server/oneServe.mjs.map +1 -1
  93. package/dist/esm/server/oneServe.native.js +0 -6
  94. package/dist/esm/server/oneServe.native.js.map +1 -1
  95. package/dist/esm/server/workerHandler.mjs +12 -10
  96. package/dist/esm/server/workerHandler.mjs.map +1 -1
  97. package/dist/esm/server/workerHandler.native.js +14 -10
  98. package/dist/esm/server/workerHandler.native.js.map +1 -1
  99. package/dist/esm/vite/plugins/workerdDevPlugin.mjs +33 -37
  100. package/dist/esm/vite/plugins/workerdDevPlugin.mjs.map +1 -1
  101. package/dist/esm/vite/plugins/workerdDevPlugin.native.js +33 -37
  102. package/dist/esm/vite/plugins/workerdDevPlugin.native.js.map +1 -1
  103. package/ios/Nitro/HybridOneAudio.swift +309 -96
  104. package/nitrogen/generated/android/c++/JAudioPlayOptions.hpp +61 -0
  105. package/nitrogen/generated/android/c++/JAudioRemoteCommandEvent.hpp +8 -3
  106. package/nitrogen/generated/android/c++/JFunc_void_AudioRemoteCommandEvent.hpp +1 -0
  107. package/nitrogen/generated/android/c++/JHybridOneAudioSpec.cpp +37 -3
  108. package/nitrogen/generated/android/c++/JHybridOneAudioSpec.hpp +3 -1
  109. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/AudioPlayOptions.kt +56 -0
  110. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/AudioRemoteCommandEvent.kt +9 -4
  111. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/HybridOneAudioSpec.kt +40 -32
  112. package/nitrogen/generated/ios/One-Swift-Cxx-Umbrella.hpp +3 -0
  113. package/nitrogen/generated/ios/c++/HybridOneAudioSpecSwift.hpp +21 -2
  114. package/nitrogen/generated/ios/swift/AudioPlayOptions.swift +60 -0
  115. package/nitrogen/generated/ios/swift/AudioRemoteCommandEvent.swift +19 -1
  116. package/nitrogen/generated/ios/swift/HybridOneAudioSpec.swift +3 -1
  117. package/nitrogen/generated/ios/swift/HybridOneAudioSpec_cxx.swift +70 -32
  118. package/nitrogen/generated/shared/c++/AudioPlayOptions.hpp +87 -0
  119. package/nitrogen/generated/shared/c++/AudioRemoteCommandEvent.hpp +7 -2
  120. package/nitrogen/generated/shared/c++/HybridOneAudioSpec.cpp +2 -0
  121. package/nitrogen/generated/shared/c++/HybridOneAudioSpec.hpp +6 -1
  122. package/package.json +16 -16
  123. package/src/cli/build.ts +35 -32
  124. package/src/cli/buildPage.test.ts +152 -0
  125. package/src/cli/buildPage.ts +14 -9
  126. package/src/cli/buildPageWorker.ts +2 -1
  127. package/src/cli/workerPool.ts +1 -0
  128. package/src/headless-server.ts +2 -2
  129. package/src/index.ts +1 -0
  130. package/src/platform/audio/index.native.ts +4 -2
  131. package/src/platform/audio/index.ts +102 -74
  132. package/src/platform/audio/nowPlaying.ts +122 -0
  133. package/src/platform/audio/player.native.ts +17 -1
  134. package/src/platform/audio/player.ts +23 -1
  135. package/src/platform/audio/types.ts +6 -1
  136. package/src/platform/audio/unavailable.ts +3 -1
  137. package/src/platform/index.native.ts +1 -0
  138. package/src/platform/index.ts +1 -0
  139. package/src/platform/location/index.native.ts +14 -3
  140. package/src/platform/specs/OneAudio.nitro.ts +11 -1
  141. package/src/serve-worker.ts +2 -3
  142. package/src/server/oneServe.ts +0 -6
  143. package/src/server/workerHandler.ts +34 -18
  144. package/src/vite/plugins/workerdDevPlugin.ts +33 -37
  145. package/src/vite/resolveResponse.ts +2 -2
  146. package/types/cli/build.d.ts.map +1 -1
  147. package/types/cli/buildPage.d.ts +1 -1
  148. package/types/cli/buildPage.d.ts.map +1 -1
  149. package/types/cli/workerPool.d.ts +1 -0
  150. package/types/cli/workerPool.d.ts.map +1 -1
  151. package/types/headless-server.d.ts +3 -3
  152. package/types/headless-server.d.ts.map +1 -1
  153. package/types/index.d.ts +1 -1
  154. package/types/index.d.ts.map +1 -1
  155. package/types/platform/audio/index.d.ts +2 -2
  156. package/types/platform/audio/index.d.ts.map +1 -1
  157. package/types/platform/audio/index.native.d.ts +3 -3
  158. package/types/platform/audio/index.native.d.ts.map +1 -1
  159. package/types/platform/audio/nowPlaying.d.ts +12 -0
  160. package/types/platform/audio/nowPlaying.d.ts.map +1 -0
  161. package/types/platform/audio/player.d.ts +3 -1
  162. package/types/platform/audio/player.d.ts.map +1 -1
  163. package/types/platform/audio/player.native.d.ts +3 -1
  164. package/types/platform/audio/player.native.d.ts.map +1 -1
  165. package/types/platform/audio/types.d.ts +3 -1
  166. package/types/platform/audio/types.d.ts.map +1 -1
  167. package/types/platform/audio/unavailable.d.ts +3 -3
  168. package/types/platform/audio/unavailable.d.ts.map +1 -1
  169. package/types/platform/index.d.ts +1 -1
  170. package/types/platform/index.d.ts.map +1 -1
  171. package/types/platform/index.native.d.ts +1 -1
  172. package/types/platform/index.native.d.ts.map +1 -1
  173. package/types/platform/location/index.native.d.ts.map +1 -1
  174. package/types/platform/specs/OneAudio.nitro.d.ts +8 -1
  175. package/types/platform/specs/OneAudio.nitro.d.ts.map +1 -1
  176. package/types/serve-worker.d.ts +3 -3
  177. package/types/serve-worker.d.ts.map +1 -1
  178. package/types/server/oneServe.d.ts.map +1 -1
  179. package/types/server/workerHandler.d.ts +1 -1
  180. package/types/server/workerHandler.d.ts.map +1 -1
  181. package/types/vite/plugins/workerdDevPlugin.d.ts.map +1 -1
  182. package/types/vite/resolveResponse.d.ts +1 -1
  183. package/types/vite/resolveResponse.d.ts.map +1 -1
  184. package/dist/cjs/server/staticHtmlFetcher.cjs +0 -33
  185. package/dist/cjs/server/staticHtmlFetcher.native.cjs +0 -35
  186. package/dist/cjs/server/staticHtmlFetcher.native.js +0 -37
  187. package/dist/cjs/server/staticHtmlFetcher.native.js.map +0 -1
  188. package/dist/esm/server/staticHtmlFetcher.mjs +0 -10
  189. package/dist/esm/server/staticHtmlFetcher.mjs.map +0 -1
  190. package/dist/esm/server/staticHtmlFetcher.native.js +0 -10
  191. package/dist/esm/server/staticHtmlFetcher.native.js.map +0 -1
  192. package/src/server/staticHtmlFetcher.ts +0 -12
  193. package/types/server/staticHtmlFetcher.d.ts +0 -3
  194. package/types/server/staticHtmlFetcher.d.ts.map +0 -1
@@ -84,7 +84,7 @@ open class HybridOneAudioSpec_cxx {
84
84
  }
85
85
  }
86
86
 
87
-
87
+
88
88
 
89
89
  /**
90
90
  * Get the memory size of the Swift class (plus size of any other allocations)
@@ -121,7 +121,7 @@ open class HybridOneAudioSpec_cxx {
121
121
  }
122
122
 
123
123
  // Properties
124
-
124
+
125
125
 
126
126
  // Methods
127
127
  @inline(__always)
@@ -142,7 +142,7 @@ open class HybridOneAudioSpec_cxx {
142
142
  return bridge.create_Result_std__shared_ptr_Promise_AudioRecordingPermission___(__exceptionPtr)
143
143
  }
144
144
  }
145
-
145
+
146
146
  @inline(__always)
147
147
  public final func requestRecordingPermission() -> bridge.Result_std__shared_ptr_Promise_AudioRecordingPermission___ {
148
148
  do {
@@ -161,11 +161,11 @@ open class HybridOneAudioSpec_cxx {
161
161
  return bridge.create_Result_std__shared_ptr_Promise_AudioRecordingPermission___(__exceptionPtr)
162
162
  }
163
163
  }
164
-
164
+
165
165
  @inline(__always)
166
- public final func play(uri: std.string) -> bridge.Result_std__shared_ptr_Promise_AudioPlaybackStatus___ {
166
+ public final func play(uri: std.string, options: AudioPlayOptions) -> bridge.Result_std__shared_ptr_Promise_AudioPlaybackStatus___ {
167
167
  do {
168
- let __result = try self.__implementation.play(uri: String(uri))
168
+ let __result = try self.__implementation.play(uri: String(uri), options: options)
169
169
  let __resultCpp = { () -> bridge.std__shared_ptr_Promise_AudioPlaybackStatus__ in
170
170
  let __promise = bridge.create_std__shared_ptr_Promise_AudioPlaybackStatus__()
171
171
  let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_AudioPlaybackStatus__(__promise)
@@ -180,7 +180,7 @@ open class HybridOneAudioSpec_cxx {
180
180
  return bridge.create_Result_std__shared_ptr_Promise_AudioPlaybackStatus___(__exceptionPtr)
181
181
  }
182
182
  }
183
-
183
+
184
184
  @inline(__always)
185
185
  public final func getPlaybackStatus() -> bridge.Result_std__shared_ptr_Promise_AudioPlaybackStatus___ {
186
186
  do {
@@ -199,7 +199,7 @@ open class HybridOneAudioSpec_cxx {
199
199
  return bridge.create_Result_std__shared_ptr_Promise_AudioPlaybackStatus___(__exceptionPtr)
200
200
  }
201
201
  }
202
-
202
+
203
203
  @inline(__always)
204
204
  public final func pause() -> bridge.Result_std__shared_ptr_Promise_AudioPlaybackStatus___ {
205
205
  do {
@@ -218,7 +218,7 @@ open class HybridOneAudioSpec_cxx {
218
218
  return bridge.create_Result_std__shared_ptr_Promise_AudioPlaybackStatus___(__exceptionPtr)
219
219
  }
220
220
  }
221
-
221
+
222
222
  @inline(__always)
223
223
  public final func resume() -> bridge.Result_std__shared_ptr_Promise_AudioPlaybackStatus___ {
224
224
  do {
@@ -237,7 +237,7 @@ open class HybridOneAudioSpec_cxx {
237
237
  return bridge.create_Result_std__shared_ptr_Promise_AudioPlaybackStatus___(__exceptionPtr)
238
238
  }
239
239
  }
240
-
240
+
241
241
  @inline(__always)
242
242
  public final func seek(positionMs: Double) -> bridge.Result_std__shared_ptr_Promise_AudioPlaybackStatus___ {
243
243
  do {
@@ -256,7 +256,7 @@ open class HybridOneAudioSpec_cxx {
256
256
  return bridge.create_Result_std__shared_ptr_Promise_AudioPlaybackStatus___(__exceptionPtr)
257
257
  }
258
258
  }
259
-
259
+
260
260
  @inline(__always)
261
261
  public final func stop() -> bridge.Result_std__shared_ptr_Promise_void___ {
262
262
  do {
@@ -275,7 +275,7 @@ open class HybridOneAudioSpec_cxx {
275
275
  return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
276
276
  }
277
277
  }
278
-
278
+
279
279
  @inline(__always)
280
280
  public final func startRecording() -> bridge.Result_std__shared_ptr_Promise_AudioRecordingStatus___ {
281
281
  do {
@@ -294,7 +294,7 @@ open class HybridOneAudioSpec_cxx {
294
294
  return bridge.create_Result_std__shared_ptr_Promise_AudioRecordingStatus___(__exceptionPtr)
295
295
  }
296
296
  }
297
-
297
+
298
298
  @inline(__always)
299
299
  public final func getRecordingStatus() -> bridge.Result_std__shared_ptr_Promise_AudioRecordingStatus___ {
300
300
  do {
@@ -313,7 +313,7 @@ open class HybridOneAudioSpec_cxx {
313
313
  return bridge.create_Result_std__shared_ptr_Promise_AudioRecordingStatus___(__exceptionPtr)
314
314
  }
315
315
  }
316
-
316
+
317
317
  @inline(__always)
318
318
  public final func pauseRecording() -> bridge.Result_std__shared_ptr_Promise_AudioRecordingStatus___ {
319
319
  do {
@@ -332,7 +332,7 @@ open class HybridOneAudioSpec_cxx {
332
332
  return bridge.create_Result_std__shared_ptr_Promise_AudioRecordingStatus___(__exceptionPtr)
333
333
  }
334
334
  }
335
-
335
+
336
336
  @inline(__always)
337
337
  public final func resumeRecording() -> bridge.Result_std__shared_ptr_Promise_AudioRecordingStatus___ {
338
338
  do {
@@ -351,7 +351,7 @@ open class HybridOneAudioSpec_cxx {
351
351
  return bridge.create_Result_std__shared_ptr_Promise_AudioRecordingStatus___(__exceptionPtr)
352
352
  }
353
353
  }
354
-
354
+
355
355
  @inline(__always)
356
356
  public final func stopRecording() -> bridge.Result_std__shared_ptr_Promise_AudioRecordingResult___ {
357
357
  do {
@@ -370,7 +370,7 @@ open class HybridOneAudioSpec_cxx {
370
370
  return bridge.create_Result_std__shared_ptr_Promise_AudioRecordingResult___(__exceptionPtr)
371
371
  }
372
372
  }
373
-
373
+
374
374
  @inline(__always)
375
375
  public final func addInterruptionListener(onEvent: bridge.Func_void_AudioInterruptionEvent) -> bridge.Result_std__function_void____ {
376
376
  do {
@@ -390,7 +390,7 @@ open class HybridOneAudioSpec_cxx {
390
390
  return bridge.create_Result_std__function_void____(__exceptionPtr)
391
391
  }
392
392
  }
393
-
393
+
394
394
  @inline(__always)
395
395
  public final func setNowPlayingInfo(info: AudioNowPlayingInfo) -> bridge.Result_std__shared_ptr_Promise_void___ {
396
396
  do {
@@ -409,7 +409,7 @@ open class HybridOneAudioSpec_cxx {
409
409
  return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
410
410
  }
411
411
  }
412
-
412
+
413
413
  @inline(__always)
414
414
  public final func clearNowPlayingInfo() -> bridge.Result_std__shared_ptr_Promise_void___ {
415
415
  do {
@@ -428,7 +428,7 @@ open class HybridOneAudioSpec_cxx {
428
428
  return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
429
429
  }
430
430
  }
431
-
431
+
432
432
  @inline(__always)
433
433
  public final func addRemoteCommandListener(onEvent: bridge.Func_void_AudioRemoteCommandEvent) -> bridge.Result_std__function_void____ {
434
434
  do {
@@ -448,7 +448,7 @@ open class HybridOneAudioSpec_cxx {
448
448
  return bridge.create_Result_std__function_void____(__exceptionPtr)
449
449
  }
450
450
  }
451
-
451
+
452
452
  @inline(__always)
453
453
  public final func createPlayer(sourceUri: bridge.std__optional_std__string_, headers: bridge.std__optional_std__unordered_map_std__string__std__string__) -> bridge.Result_std__string_ {
454
454
  do {
@@ -482,7 +482,7 @@ open class HybridOneAudioSpec_cxx {
482
482
  return bridge.create_Result_std__string_(__exceptionPtr)
483
483
  }
484
484
  }
485
-
485
+
486
486
  @inline(__always)
487
487
  public final func playerPlay(playerId: std.string) -> bridge.Result_void_ {
488
488
  do {
@@ -493,7 +493,7 @@ open class HybridOneAudioSpec_cxx {
493
493
  return bridge.create_Result_void_(__exceptionPtr)
494
494
  }
495
495
  }
496
-
496
+
497
497
  @inline(__always)
498
498
  public final func playerPause(playerId: std.string) -> bridge.Result_void_ {
499
499
  do {
@@ -504,7 +504,7 @@ open class HybridOneAudioSpec_cxx {
504
504
  return bridge.create_Result_void_(__exceptionPtr)
505
505
  }
506
506
  }
507
-
507
+
508
508
  @inline(__always)
509
509
  public final func playerSeek(playerId: std.string, seconds: Double, toleranceBeforeMs: bridge.std__optional_double_, toleranceAfterMs: bridge.std__optional_double_) -> bridge.Result_std__shared_ptr_Promise_void___ {
510
510
  do {
@@ -537,7 +537,7 @@ open class HybridOneAudioSpec_cxx {
537
537
  return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
538
538
  }
539
539
  }
540
-
540
+
541
541
  @inline(__always)
542
542
  public final func playerReplace(playerId: std.string, sourceUri: bridge.std__optional_std__string_, headers: bridge.std__optional_std__unordered_map_std__string__std__string__) -> bridge.Result_void_ {
543
543
  do {
@@ -570,7 +570,7 @@ open class HybridOneAudioSpec_cxx {
570
570
  return bridge.create_Result_void_(__exceptionPtr)
571
571
  }
572
572
  }
573
-
573
+
574
574
  @inline(__always)
575
575
  public final func removePlayer(playerId: std.string) -> bridge.Result_void_ {
576
576
  do {
@@ -581,7 +581,45 @@ open class HybridOneAudioSpec_cxx {
581
581
  return bridge.create_Result_void_(__exceptionPtr)
582
582
  }
583
583
  }
584
-
584
+
585
+ @inline(__always)
586
+ public final func setPlayerNowPlayingInfo(playerId: std.string, info: AudioNowPlayingInfo) -> bridge.Result_std__shared_ptr_Promise_void___ {
587
+ do {
588
+ let __result = try self.__implementation.setPlayerNowPlayingInfo(playerId: String(playerId), info: info)
589
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_void__ in
590
+ let __promise = bridge.create_std__shared_ptr_Promise_void__()
591
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_void__(__promise)
592
+ __result
593
+ .then({ __result in __promiseHolder.resolve() })
594
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
595
+ return __promise
596
+ }()
597
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__resultCpp)
598
+ } catch (let __error) {
599
+ let __exceptionPtr = __error.toCpp()
600
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
601
+ }
602
+ }
603
+
604
+ @inline(__always)
605
+ public final func clearPlayerNowPlayingInfo(playerId: std.string) -> bridge.Result_std__shared_ptr_Promise_void___ {
606
+ do {
607
+ let __result = try self.__implementation.clearPlayerNowPlayingInfo(playerId: String(playerId))
608
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_void__ in
609
+ let __promise = bridge.create_std__shared_ptr_Promise_void__()
610
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_void__(__promise)
611
+ __result
612
+ .then({ __result in __promiseHolder.resolve() })
613
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
614
+ return __promise
615
+ }()
616
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__resultCpp)
617
+ } catch (let __error) {
618
+ let __exceptionPtr = __error.toCpp()
619
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
620
+ }
621
+ }
622
+
585
623
  @inline(__always)
586
624
  public final func getPlayerStatus(playerId: std.string) -> bridge.Result_AudioPlayerStatus_ {
587
625
  do {
@@ -593,7 +631,7 @@ open class HybridOneAudioSpec_cxx {
593
631
  return bridge.create_Result_AudioPlayerStatus_(__exceptionPtr)
594
632
  }
595
633
  }
596
-
634
+
597
635
  @inline(__always)
598
636
  public final func setPlayerRate(playerId: std.string, rate: Double, pitchQuality: bridge.std__optional_PitchCorrectionQuality_) -> bridge.Result_void_ {
599
637
  do {
@@ -604,7 +642,7 @@ open class HybridOneAudioSpec_cxx {
604
642
  return bridge.create_Result_void_(__exceptionPtr)
605
643
  }
606
644
  }
607
-
645
+
608
646
  @inline(__always)
609
647
  public final func setPlayerVolume(playerId: std.string, volume: Double) -> bridge.Result_void_ {
610
648
  do {
@@ -615,7 +653,7 @@ open class HybridOneAudioSpec_cxx {
615
653
  return bridge.create_Result_void_(__exceptionPtr)
616
654
  }
617
655
  }
618
-
656
+
619
657
  @inline(__always)
620
658
  public final func setPlayerMuted(playerId: std.string, muted: Bool) -> bridge.Result_void_ {
621
659
  do {
@@ -626,7 +664,7 @@ open class HybridOneAudioSpec_cxx {
626
664
  return bridge.create_Result_void_(__exceptionPtr)
627
665
  }
628
666
  }
629
-
667
+
630
668
  @inline(__always)
631
669
  public final func setPlayerLoop(playerId: std.string, loop: Bool) -> bridge.Result_void_ {
632
670
  do {
@@ -637,7 +675,7 @@ open class HybridOneAudioSpec_cxx {
637
675
  return bridge.create_Result_void_(__exceptionPtr)
638
676
  }
639
677
  }
640
-
678
+
641
679
  @inline(__always)
642
680
  public final func setPlayerPitchCorrection(playerId: std.string, enabled: Bool) -> bridge.Result_void_ {
643
681
  do {
@@ -0,0 +1,87 @@
1
+ ///
2
+ /// AudioPlayOptions.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
11
+ #include <NitroModules/JSIConverter.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
16
+ #include <NitroModules/NitroDefines.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
30
+
31
+
32
+
33
+ #include <optional>
34
+
35
+ namespace margelo::nitro::one {
36
+
37
+ /**
38
+ * A struct which can be represented as a JavaScript object (AudioPlayOptions).
39
+ */
40
+ struct AudioPlayOptions final {
41
+ public:
42
+ std::optional<double> positionMs SWIFT_PRIVATE;
43
+ std::optional<bool> paused SWIFT_PRIVATE;
44
+
45
+ public:
46
+ AudioPlayOptions() = default;
47
+ explicit AudioPlayOptions(std::optional<double> positionMs, std::optional<bool> paused): positionMs(positionMs), paused(paused) {}
48
+
49
+ public:
50
+ friend bool operator==(const AudioPlayOptions& lhs, const AudioPlayOptions& rhs) = default;
51
+ };
52
+
53
+ } // namespace margelo::nitro::one
54
+
55
+ namespace margelo::nitro {
56
+
57
+ // C++ AudioPlayOptions <> JS AudioPlayOptions (object)
58
+ template <>
59
+ struct JSIConverter<margelo::nitro::one::AudioPlayOptions> final {
60
+ static inline margelo::nitro::one::AudioPlayOptions fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
61
+ jsi::Object obj = arg.asObject(runtime);
62
+ return margelo::nitro::one::AudioPlayOptions(
63
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "positionMs"))),
64
+ JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "paused")))
65
+ );
66
+ }
67
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::one::AudioPlayOptions& arg) {
68
+ jsi::Object obj(runtime);
69
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "positionMs"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.positionMs));
70
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "paused"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.paused));
71
+ return obj;
72
+ }
73
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
74
+ if (!value.isObject()) {
75
+ return false;
76
+ }
77
+ jsi::Object obj = value.getObject(runtime);
78
+ if (!nitro::isPlainObject(runtime, obj)) {
79
+ return false;
80
+ }
81
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "positionMs")))) return false;
82
+ if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "paused")))) return false;
83
+ return true;
84
+ }
85
+ };
86
+
87
+ } // namespace margelo::nitro
@@ -33,6 +33,7 @@ namespace margelo::nitro::one { enum class AudioRemoteCommandType; }
33
33
 
34
34
  #include "AudioRemoteCommandType.hpp"
35
35
  #include <optional>
36
+ #include <string>
36
37
 
37
38
  namespace margelo::nitro::one {
38
39
 
@@ -43,10 +44,11 @@ namespace margelo::nitro::one {
43
44
  public:
44
45
  AudioRemoteCommandType type SWIFT_PRIVATE;
45
46
  std::optional<double> positionMs SWIFT_PRIVATE;
47
+ std::optional<std::string> playerId SWIFT_PRIVATE;
46
48
 
47
49
  public:
48
50
  AudioRemoteCommandEvent() = default;
49
- explicit AudioRemoteCommandEvent(AudioRemoteCommandType type, std::optional<double> positionMs): type(type), positionMs(positionMs) {}
51
+ explicit AudioRemoteCommandEvent(AudioRemoteCommandType type, std::optional<double> positionMs, std::optional<std::string> playerId): type(type), positionMs(positionMs), playerId(playerId) {}
50
52
 
51
53
  public:
52
54
  friend bool operator==(const AudioRemoteCommandEvent& lhs, const AudioRemoteCommandEvent& rhs) = default;
@@ -63,13 +65,15 @@ namespace margelo::nitro {
63
65
  jsi::Object obj = arg.asObject(runtime);
64
66
  return margelo::nitro::one::AudioRemoteCommandEvent(
65
67
  JSIConverter<margelo::nitro::one::AudioRemoteCommandType>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "type"))),
66
- JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "positionMs")))
68
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "positionMs"))),
69
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "playerId")))
67
70
  );
68
71
  }
69
72
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::one::AudioRemoteCommandEvent& arg) {
70
73
  jsi::Object obj(runtime);
71
74
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "type"), JSIConverter<margelo::nitro::one::AudioRemoteCommandType>::toJSI(runtime, arg.type));
72
75
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "positionMs"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.positionMs));
76
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "playerId"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.playerId));
73
77
  return obj;
74
78
  }
75
79
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -82,6 +86,7 @@ namespace margelo::nitro {
82
86
  }
83
87
  if (!JSIConverter<margelo::nitro::one::AudioRemoteCommandType>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "type")))) return false;
84
88
  if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "positionMs")))) return false;
89
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "playerId")))) return false;
85
90
  return true;
86
91
  }
87
92
  };
@@ -37,6 +37,8 @@ namespace margelo::nitro::one {
37
37
  prototype.registerHybridMethod("playerSeek", &HybridOneAudioSpec::playerSeek);
38
38
  prototype.registerHybridMethod("playerReplace", &HybridOneAudioSpec::playerReplace);
39
39
  prototype.registerHybridMethod("removePlayer", &HybridOneAudioSpec::removePlayer);
40
+ prototype.registerHybridMethod("setPlayerNowPlayingInfo", &HybridOneAudioSpec::setPlayerNowPlayingInfo);
41
+ prototype.registerHybridMethod("clearPlayerNowPlayingInfo", &HybridOneAudioSpec::clearPlayerNowPlayingInfo);
40
42
  prototype.registerHybridMethod("getPlayerStatus", &HybridOneAudioSpec::getPlayerStatus);
41
43
  prototype.registerHybridMethod("setPlayerRate", &HybridOneAudioSpec::setPlayerRate);
42
44
  prototype.registerHybridMethod("setPlayerVolume", &HybridOneAudioSpec::setPlayerVolume);
@@ -17,6 +17,8 @@
17
17
  namespace margelo::nitro::one { enum class AudioRecordingPermission; }
18
18
  // Forward declaration of `AudioPlaybackStatus` to properly resolve imports.
19
19
  namespace margelo::nitro::one { struct AudioPlaybackStatus; }
20
+ // Forward declaration of `AudioPlayOptions` to properly resolve imports.
21
+ namespace margelo::nitro::one { struct AudioPlayOptions; }
20
22
  // Forward declaration of `AudioRecordingStatus` to properly resolve imports.
21
23
  namespace margelo::nitro::one { struct AudioRecordingStatus; }
22
24
  // Forward declaration of `AudioRecordingResult` to properly resolve imports.
@@ -36,6 +38,7 @@ namespace margelo::nitro::one { enum class PitchCorrectionQuality; }
36
38
  #include <NitroModules/Promise.hpp>
37
39
  #include "AudioPlaybackStatus.hpp"
38
40
  #include <string>
41
+ #include "AudioPlayOptions.hpp"
39
42
  #include "AudioRecordingStatus.hpp"
40
43
  #include "AudioRecordingResult.hpp"
41
44
  #include <functional>
@@ -80,7 +83,7 @@ namespace margelo::nitro::one {
80
83
  // Methods
81
84
  virtual std::shared_ptr<Promise<AudioRecordingPermission>> getRecordingPermissionStatus() = 0;
82
85
  virtual std::shared_ptr<Promise<AudioRecordingPermission>> requestRecordingPermission() = 0;
83
- virtual std::shared_ptr<Promise<AudioPlaybackStatus>> play(const std::string& uri) = 0;
86
+ virtual std::shared_ptr<Promise<AudioPlaybackStatus>> play(const std::string& uri, const AudioPlayOptions& options) = 0;
84
87
  virtual std::shared_ptr<Promise<AudioPlaybackStatus>> getPlaybackStatus() = 0;
85
88
  virtual std::shared_ptr<Promise<AudioPlaybackStatus>> pause() = 0;
86
89
  virtual std::shared_ptr<Promise<AudioPlaybackStatus>> resume() = 0;
@@ -101,6 +104,8 @@ namespace margelo::nitro::one {
101
104
  virtual std::shared_ptr<Promise<void>> playerSeek(const std::string& playerId, double seconds, std::optional<double> toleranceBeforeMs, std::optional<double> toleranceAfterMs) = 0;
102
105
  virtual void playerReplace(const std::string& playerId, const std::optional<std::string>& sourceUri, const std::optional<std::unordered_map<std::string, std::string>>& headers) = 0;
103
106
  virtual void removePlayer(const std::string& playerId) = 0;
107
+ virtual std::shared_ptr<Promise<void>> setPlayerNowPlayingInfo(const std::string& playerId, const AudioNowPlayingInfo& info) = 0;
108
+ virtual std::shared_ptr<Promise<void>> clearPlayerNowPlayingInfo(const std::string& playerId) = 0;
104
109
  virtual AudioPlayerStatus getPlayerStatus(const std::string& playerId) = 0;
105
110
  virtual void setPlayerRate(const std::string& playerId, double rate, std::optional<PitchCorrectionQuality> pitchQuality) = 0;
106
111
  virtual void setPlayerVolume(const std::string& playerId, double volume) = 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "2.11.4",
3
+ "version": "2.12.0",
4
4
  "description": "One is a React framework for web, iOS, and Android apps.",
5
5
  "license": "BSD-3-Clause",
6
6
  "sideEffects": [
@@ -282,15 +282,15 @@
282
282
  "@react-navigation/routers": "8.0.0-alpha.21",
283
283
  "@rozenite/middleware": "^2.5.0",
284
284
  "@ungap/structured-clone": "^1.2.0",
285
- "@vxrn/color-scheme": "2.11.4",
286
- "@vxrn/compiler": "2.11.4",
287
- "@vxrn/resolve": "2.11.4",
288
- "@vxrn/tslib-lite": "2.11.4",
289
- "@vxrn/use-isomorphic-layout-effect": "2.11.4",
290
- "@vxrn/utils": "2.11.4",
285
+ "@vxrn/color-scheme": "2.12.0",
286
+ "@vxrn/compiler": "2.12.0",
287
+ "@vxrn/resolve": "2.12.0",
288
+ "@vxrn/tslib-lite": "2.12.0",
289
+ "@vxrn/use-isomorphic-layout-effect": "2.12.0",
290
+ "@vxrn/utils": "2.12.0",
291
291
  "citty": "^0.1.6",
292
292
  "core-js": "^3.38.1",
293
- "create-vxrn": "2.11.4",
293
+ "create-vxrn": "2.12.0",
294
294
  "escape-string-regexp": "^5.0.0",
295
295
  "fast-deep-equal": "^3.1.3",
296
296
  "fast-glob": "^3.3.3",
@@ -312,7 +312,7 @@
312
312
  "tsconfig-paths": "^4",
313
313
  "use-latest-callback": "^0.3.5",
314
314
  "vite": "^8.2.2",
315
- "vxrn": "2.11.4",
315
+ "vxrn": "2.12.0",
316
316
  "web-streams-polyfill": "^4.3.0",
317
317
  "ws": "^8.21.0",
318
318
  "xxhashjs": "^0.2.2"
@@ -342,7 +342,7 @@
342
342
  "@babel/types": "^7.28.5",
343
343
  "babel-dead-code-elimination": "1.0.10",
344
344
  "babel-plugin-module-resolver": "^5.0.2",
345
- "@vxrn/vite-plugin-metro": "2.11.4"
345
+ "@vxrn/vite-plugin-metro": "2.12.0"
346
346
  },
347
347
  "peerDependenciesMeta": {
348
348
  "@react-native/babel-preset": {
@@ -404,19 +404,19 @@
404
404
  }
405
405
  },
406
406
  "devDependencies": {
407
- "@tamagui/sheet": "3.1.5",
407
+ "@tamagui/sheet": "3.1.6",
408
408
  "@callstack/liquid-glass": "^0.8.1",
409
409
  "@react-native/babel-plugin-codegen": "0.88.0",
410
410
  "@react-native/codegen": "^0.88.0",
411
411
  "@react-navigation/core": "8.0.0-alpha.41",
412
412
  "@react-navigation/drawer": "8.0.0-alpha.58",
413
413
  "@react-navigation/native": "8.0.0-alpha.51",
414
- "@tamagui/build": "3.1.5",
414
+ "@tamagui/build": "3.1.6",
415
415
  "@types/node": "^24.10.0",
416
416
  "@types/react-dom": "^19.3.0",
417
417
  "@types/react-test-renderer": "^19.1.0",
418
418
  "@types/xxhashjs": "^0.2.4",
419
- "@vxrn/emitter": "2.11.4",
419
+ "@vxrn/emitter": "2.12.0",
420
420
  "depcheck": "^1.4.7",
421
421
  "esbuild": "^0.25.12",
422
422
  "immer": "^10.1.1",
@@ -435,7 +435,7 @@
435
435
  "typescript": "7.0.2",
436
436
  "vitest": "^4.1.0",
437
437
  "yoga-layout": "^3.2.1",
438
- "@tamagui/web": "3.1.5",
438
+ "@tamagui/web": "3.1.6",
439
439
  "@babel/core": "^7.28.5",
440
440
  "@babel/generator": "7.29.7",
441
441
  "@babel/parser": "^7.28.5",
@@ -444,7 +444,7 @@
444
444
  "@babel/types": "^7.28.5",
445
445
  "babel-dead-code-elimination": "1.0.10",
446
446
  "babel-plugin-module-resolver": "^5.0.2",
447
- "@vxrn/vite-plugin-metro": "2.11.4"
447
+ "@vxrn/vite-plugin-metro": "2.12.0"
448
448
  },
449
449
  "publishConfig": {
450
450
  "access": "public"
@@ -611,7 +611,7 @@
611
611
  }
612
612
  }
613
613
  },
614
- "releaseSourceCommit": "928442bed53b60b6986ccbbc3186719df374b50d",
614
+ "releaseSourceCommit": "401b27ed31db57e74fad9be55075b521f20bdafa",
615
615
  "repository": {
616
616
  "type": "git",
617
617
  "url": "git+https://github.com/onejs/one.git",