@kajidog/voicevox-client 0.4.1 → 0.6.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 (114) hide show
  1. package/LICENSE +14 -14
  2. package/dist/accent-utils.d.ts +93 -0
  3. package/dist/accent-utils.d.ts.map +1 -0
  4. package/dist/accent-utils.js +211 -0
  5. package/dist/accent-utils.js.map +1 -0
  6. package/dist/api.d.ts +40 -2
  7. package/dist/api.d.ts.map +1 -1
  8. package/dist/api.js +90 -0
  9. package/dist/api.js.map +1 -1
  10. package/dist/cache-policy.d.ts +21 -0
  11. package/dist/cache-policy.d.ts.map +1 -0
  12. package/dist/cache-policy.js +31 -0
  13. package/dist/cache-policy.js.map +1 -0
  14. package/dist/client.d.ts +28 -119
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +48 -417
  17. package/dist/client.js.map +1 -1
  18. package/dist/effect/config.d.ts +43 -0
  19. package/dist/effect/config.d.ts.map +1 -0
  20. package/dist/effect/config.js +45 -0
  21. package/dist/effect/config.js.map +1 -0
  22. package/dist/effect/context.d.ts +33 -0
  23. package/dist/effect/context.d.ts.map +1 -0
  24. package/dist/effect/context.js +10 -0
  25. package/dist/effect/context.js.map +1 -0
  26. package/dist/effect/errors.d.ts +130 -0
  27. package/dist/effect/errors.d.ts.map +1 -0
  28. package/dist/effect/errors.js +121 -0
  29. package/dist/effect/errors.js.map +1 -0
  30. package/dist/effect/index.d.ts +34 -0
  31. package/dist/effect/index.d.ts.map +1 -0
  32. package/dist/effect/index.js +67 -0
  33. package/dist/effect/index.js.map +1 -0
  34. package/dist/effect/queue-manager.d.ts +34 -0
  35. package/dist/effect/queue-manager.d.ts.map +1 -0
  36. package/dist/effect/queue-manager.js +59 -0
  37. package/dist/effect/queue-manager.js.map +1 -0
  38. package/dist/effect/services/api-service.d.ts +58 -0
  39. package/dist/effect/services/api-service.d.ts.map +1 -0
  40. package/dist/effect/services/api-service.js +90 -0
  41. package/dist/effect/services/api-service.js.map +1 -0
  42. package/dist/effect/services/audio-generator-service.d.ts +78 -0
  43. package/dist/effect/services/audio-generator-service.d.ts.map +1 -0
  44. package/dist/effect/services/audio-generator-service.js +187 -0
  45. package/dist/effect/services/audio-generator-service.js.map +1 -0
  46. package/dist/effect/services/audio-player-service.d.ts +101 -0
  47. package/dist/effect/services/audio-player-service.d.ts.map +1 -0
  48. package/dist/effect/services/audio-player-service.js +297 -0
  49. package/dist/effect/services/audio-player-service.js.map +1 -0
  50. package/dist/effect/services/event-manager-service.d.ts +96 -0
  51. package/dist/effect/services/event-manager-service.d.ts.map +1 -0
  52. package/dist/effect/services/event-manager-service.js +208 -0
  53. package/dist/effect/services/event-manager-service.js.map +1 -0
  54. package/dist/effect/services/file-manager-service.d.ts +91 -0
  55. package/dist/effect/services/file-manager-service.d.ts.map +1 -0
  56. package/dist/effect/services/file-manager-service.js +215 -0
  57. package/dist/effect/services/file-manager-service.js.map +1 -0
  58. package/dist/effect/utils.d.ts +118 -0
  59. package/dist/effect/utils.d.ts.map +1 -0
  60. package/dist/effect/utils.js +186 -0
  61. package/dist/effect/utils.js.map +1 -0
  62. package/dist/error.js.map +1 -1
  63. package/dist/index.d.ts +3 -1
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +3 -1
  66. package/dist/index.js.map +1 -1
  67. package/dist/playback/node-playback-strategy.d.ts.map +1 -1
  68. package/dist/playback/node-playback-strategy.js +2 -6
  69. package/dist/playback/node-playback-strategy.js.map +1 -1
  70. package/dist/player.d.ts +110 -0
  71. package/dist/player.d.ts.map +1 -0
  72. package/dist/player.js +183 -0
  73. package/dist/player.js.map +1 -0
  74. package/dist/queue/audio-player.d.ts +44 -0
  75. package/dist/queue/audio-player.d.ts.map +1 -0
  76. package/dist/queue/audio-player.js +344 -0
  77. package/dist/queue/audio-player.js.map +1 -0
  78. package/dist/queue/file-manager.js +9 -9
  79. package/dist/queue/file-manager.js.map +1 -1
  80. package/dist/queue/manager.d.ts +134 -0
  81. package/dist/queue/manager.d.ts.map +1 -0
  82. package/dist/queue/manager.js +564 -0
  83. package/dist/queue/manager.js.map +1 -0
  84. package/dist/queue/queue-service.d.ts.map +1 -1
  85. package/dist/queue/queue-service.js +20 -6
  86. package/dist/queue/queue-service.js.map +1 -1
  87. package/dist/queue/types.d.ts +3 -1
  88. package/dist/queue/types.d.ts.map +1 -1
  89. package/dist/queue/types.js.map +1 -1
  90. package/dist/services/dictionary-service.d.ts +35 -0
  91. package/dist/services/dictionary-service.d.ts.map +1 -0
  92. package/dist/services/dictionary-service.js +188 -0
  93. package/dist/services/dictionary-service.js.map +1 -0
  94. package/dist/services/speech-service.d.ts +43 -0
  95. package/dist/services/speech-service.d.ts.map +1 -0
  96. package/dist/services/speech-service.js +236 -0
  97. package/dist/services/speech-service.js.map +1 -0
  98. package/dist/shared-queue-manager.d.ts +119 -0
  99. package/dist/shared-queue-manager.d.ts.map +1 -0
  100. package/dist/shared-queue-manager.js +487 -0
  101. package/dist/shared-queue-manager.js.map +1 -0
  102. package/dist/state/queue-state-machine.d.ts.map +1 -1
  103. package/dist/state/queue-state-machine.js +13 -0
  104. package/dist/state/queue-state-machine.js.map +1 -1
  105. package/dist/state/types.d.ts +2 -0
  106. package/dist/state/types.d.ts.map +1 -1
  107. package/dist/state/types.js.map +1 -1
  108. package/dist/types.d.ts +28 -0
  109. package/dist/types.d.ts.map +1 -1
  110. package/dist/utils.d.ts +16 -0
  111. package/dist/utils.d.ts.map +1 -1
  112. package/dist/utils.js +36 -0
  113. package/dist/utils.js.map +1 -1
  114. package/package.json +1 -1
@@ -0,0 +1,487 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SharedQueueManager = void 0;
4
+ const uuid_1 = require("uuid");
5
+ const types_1 = require("./queue/types");
6
+ const file_manager_1 = require("./queue/file-manager");
7
+ const event_manager_1 = require("./queue/event-manager");
8
+ const audio_player_1 = require("./queue/audio-player");
9
+ const utils_1 = require("./utils");
10
+ /**
11
+ * 複数のVoicevoxClientインスタンス間で共有されるキューマネージャー
12
+ * 各エンジン固有のAPI呼び出しを受け取り、統一キューで管理する
13
+ */
14
+ class SharedQueueManager {
15
+ /**
16
+ * コンストラクタ
17
+ * @param prefetchSize 事前生成するアイテム数
18
+ */
19
+ constructor(prefetchSize = 2) {
20
+ this.queue = [];
21
+ this.isPlaying = false;
22
+ this.isPaused = false;
23
+ this.prefetchSize = 2;
24
+ this.currentPlayingItem = null;
25
+ this.immediatePlayIntervals = new Set();
26
+ this.prefetchSize = prefetchSize;
27
+ // 依存コンポーネントを初期化
28
+ this.fileManager = new file_manager_1.AudioFileManager();
29
+ this.eventManager = new event_manager_1.EventManager();
30
+ this.audioPlayer = new audio_player_1.AudioPlayer();
31
+ this.immediatePlayer = new audio_player_1.AudioPlayer(); // 即時再生用プレイヤー
32
+ }
33
+ /**
34
+ * キューに新しいテキストを追加(オプション付き)
35
+ * エンジン情報とAPIインスタンスを指定して音声生成を行う
36
+ */
37
+ async enqueueTextWithOptions(text, speaker, engineName, apiInstance, options) {
38
+ const playbackPromiseResolvers = {};
39
+ const promises = {};
40
+ // 待機オプションに応じてPromiseを作成
41
+ if (options?.waitForStart) {
42
+ promises.start = new Promise((resolve) => {
43
+ playbackPromiseResolvers.startResolve = resolve;
44
+ });
45
+ }
46
+ if (options?.waitForEnd) {
47
+ promises.end = new Promise((resolve) => {
48
+ playbackPromiseResolvers.endResolve = resolve;
49
+ });
50
+ }
51
+ const item = {
52
+ id: (0, uuid_1.v4)(),
53
+ text: text,
54
+ speaker,
55
+ status: types_1.QueueItemStatus.PENDING,
56
+ createdAt: new Date(),
57
+ options: options || {},
58
+ playbackPromiseResolvers,
59
+ engineName,
60
+ apiInstance,
61
+ };
62
+ this.queue.push(item);
63
+ this.eventManager.emitEvent(types_1.QueueEventType.ITEM_ADDED, item);
64
+ try {
65
+ // 非同期で音声生成を開始
66
+ this.updateItemStatus(item, types_1.QueueItemStatus.GENERATING);
67
+ const query = await apiInstance.generateQuery(text, speaker);
68
+ item.query = query;
69
+ // AudioGeneratorを使わずに直接音声生成
70
+ await this.generateAudioFromQuery(item, apiInstance);
71
+ // immediateオプションがtrueの場合は即座に再生
72
+ if (options?.immediate === true) {
73
+ // 即時再生の処理
74
+ this.playImmediately(item);
75
+ }
76
+ else if (options?.immediate !== false) {
77
+ // immediateが未設定またはfalse以外の場合は通常のキュー処理
78
+ this.processQueue();
79
+ }
80
+ return { item, promises };
81
+ }
82
+ catch (error) {
83
+ // エラー発生時の処理
84
+ item.error = error instanceof Error ? error : new Error(String(error));
85
+ this.updateItemStatus(item, types_1.QueueItemStatus.ERROR);
86
+ this.eventManager.emitEvent(types_1.QueueEventType.ERROR, item);
87
+ // エラー発生時はキューからアイテムを削除
88
+ const itemIndex = this.queue.findIndex((i) => i.id === item.id);
89
+ if (itemIndex !== -1) {
90
+ this.queue.splice(itemIndex, 1);
91
+ }
92
+ this.eventManager.emitEvent(types_1.QueueEventType.ITEM_REMOVED, item);
93
+ throw error; // エラーを再スロー
94
+ }
95
+ }
96
+ /**
97
+ * キューに音声合成用クエリを追加(オプション付き)
98
+ */
99
+ async enqueueQueryWithOptions(query, speaker, engineName, apiInstance, options) {
100
+ const playbackPromiseResolvers = {};
101
+ const promises = {};
102
+ // 待機オプションに応じてPromiseを作成
103
+ if (options?.waitForStart) {
104
+ promises.start = new Promise((resolve) => {
105
+ playbackPromiseResolvers.startResolve = resolve;
106
+ });
107
+ }
108
+ if (options?.waitForEnd) {
109
+ promises.end = new Promise((resolve) => {
110
+ playbackPromiseResolvers.endResolve = resolve;
111
+ });
112
+ }
113
+ const item = {
114
+ id: (0, uuid_1.v4)(),
115
+ text: "(クエリから生成)",
116
+ speaker,
117
+ status: types_1.QueueItemStatus.PENDING,
118
+ createdAt: new Date(),
119
+ query,
120
+ options: options || {},
121
+ playbackPromiseResolvers,
122
+ engineName,
123
+ apiInstance,
124
+ };
125
+ this.queue.push(item);
126
+ this.eventManager.emitEvent(types_1.QueueEventType.ITEM_ADDED, item);
127
+ // 非同期で音声生成を開始
128
+ this.generateAudioFromQuery(item, apiInstance)
129
+ .catch((e) => {
130
+ console.error("Unhandled error during generateAudioFromQuery:", e);
131
+ });
132
+ // immediateオプションがtrueの場合は即座に再生
133
+ if (options?.immediate === true) {
134
+ // 即時再生の処理
135
+ this.playImmediately(item);
136
+ }
137
+ else if (options?.immediate !== false) {
138
+ // immediateが未設定またはfalse以外の場合は通常のキュー処理
139
+ this.processQueue();
140
+ }
141
+ return { item, promises };
142
+ }
143
+ /**
144
+ * 互換性のためのメソッド - SharedQueueManagerでは使用しない
145
+ */
146
+ async enqueueText(text, speaker) {
147
+ throw new Error("SharedQueueManager.enqueueText is not supported. Use enqueueTextWithOptions instead.");
148
+ }
149
+ /**
150
+ * 互換性のためのメソッド - SharedQueueManagerでは使用しない
151
+ */
152
+ async enqueueQuery(query, speaker) {
153
+ throw new Error("SharedQueueManager.enqueueQuery is not supported. Use enqueueQueryWithOptions instead.");
154
+ }
155
+ /**
156
+ * クエリから音声データを生成
157
+ */
158
+ async generateAudioFromQuery(item, apiInstance) {
159
+ if (!item.query) {
160
+ throw new Error("Query is required for audio generation");
161
+ }
162
+ try {
163
+ this.updateItemStatus(item, types_1.QueueItemStatus.GENERATING);
164
+ // 音声合成
165
+ const audioData = await apiInstance.synthesize(item.query, item.speaker);
166
+ item.audioData = audioData;
167
+ // 一時ファイルに保存
168
+ const tempFile = await this.fileManager.saveTempAudioFile(audioData);
169
+ item.tempFile = tempFile;
170
+ this.updateItemStatus(item, types_1.QueueItemStatus.READY);
171
+ }
172
+ catch (error) {
173
+ item.error = error instanceof Error ? error : new Error(String(error));
174
+ this.updateItemStatus(item, types_1.QueueItemStatus.ERROR);
175
+ this.eventManager.emitEvent(types_1.QueueEventType.ERROR, item);
176
+ throw error;
177
+ }
178
+ }
179
+ /**
180
+ * キューからアイテムを削除
181
+ */
182
+ async removeItem(itemId) {
183
+ const index = this.queue.findIndex((item) => item.id === itemId);
184
+ if (index === -1) {
185
+ return false;
186
+ }
187
+ const item = this.queue[index];
188
+ // 一時ファイルがあれば削除
189
+ if (item.tempFile) {
190
+ await this.fileManager.deleteTempFile(item.tempFile);
191
+ }
192
+ // キューから削除
193
+ const removedItem = this.queue.splice(index, 1)[0];
194
+ this.eventManager.emitEvent(types_1.QueueEventType.ITEM_REMOVED, removedItem);
195
+ // もし削除されたアイテムが再生中だったら停止
196
+ if (this.currentPlayingItem?.id === itemId) {
197
+ this.currentPlayingItem = null;
198
+ }
199
+ return true;
200
+ }
201
+ /**
202
+ * キューをクリア
203
+ */
204
+ async clearQueue() {
205
+ // 削除処理中にキューが変更される可能性があるので、先にIDリストを取得
206
+ const itemIdsToDelete = this.queue.map((item) => item.id);
207
+ // 各アイテムに対して削除処理(一時ファイル削除含む)を実行
208
+ await Promise.all(itemIdsToDelete.map((id) => this.removeItem(id)));
209
+ // 念のためキューを空にする(removeItemで空になっているはずだが)
210
+ this.queue = [];
211
+ // 再生状態をリセット
212
+ this.isPlaying = false;
213
+ this.isPaused = false;
214
+ if (this.currentPlayingItem) {
215
+ this.currentPlayingItem = null;
216
+ }
217
+ this.eventManager.emitEvent(types_1.QueueEventType.QUEUE_CLEARED);
218
+ }
219
+ // --- 再生制御 ---
220
+ async startPlayback() {
221
+ if (!this.isPlaying) {
222
+ this.isPlaying = true;
223
+ this.isPaused = false;
224
+ this.eventManager.emitEvent(types_1.QueueEventType.PLAYBACK_STARTED);
225
+ this.processQueue();
226
+ }
227
+ }
228
+ async pausePlayback() {
229
+ if (this.isPlaying && !this.isPaused) {
230
+ this.isPaused = true;
231
+ // 再生中のアイテムがあれば状態をPAUSEDに変更
232
+ if (this.currentPlayingItem) {
233
+ this.updateItemStatus(this.currentPlayingItem, types_1.QueueItemStatus.PAUSED);
234
+ }
235
+ this.eventManager.emitEvent(types_1.QueueEventType.PLAYBACK_PAUSED);
236
+ }
237
+ }
238
+ async resumePlayback() {
239
+ if (this.isPlaying && this.isPaused) {
240
+ this.isPaused = false;
241
+ // 一時停止中のアイテムがあれば状態をPLAYINGに戻す
242
+ if (this.currentPlayingItem) {
243
+ this.updateItemStatus(this.currentPlayingItem, types_1.QueueItemStatus.PLAYING);
244
+ }
245
+ this.eventManager.emitEvent(types_1.QueueEventType.PLAYBACK_RESUMED);
246
+ this.processQueue();
247
+ }
248
+ }
249
+ /**
250
+ * 次のアイテムを再生する
251
+ */
252
+ async playNext() {
253
+ if (!this.isPlaying) {
254
+ this.isPlaying = true;
255
+ }
256
+ this.isPaused = false;
257
+ // キュー処理を開始
258
+ this.processQueue();
259
+ }
260
+ /**
261
+ * イベントリスナーを追加
262
+ */
263
+ addEventListener(event, listener) {
264
+ this.eventManager.addEventListener(event, listener);
265
+ }
266
+ /**
267
+ * イベントリスナーを削除
268
+ */
269
+ removeEventListener(event, listener) {
270
+ this.eventManager.removeEventListener(event, listener);
271
+ }
272
+ /**
273
+ * 現在のキュー内のアイテムを取得
274
+ */
275
+ getQueue() {
276
+ // 不変性を保つためにコピーを返す
277
+ return [...this.queue];
278
+ }
279
+ /**
280
+ * 特定のアイテムの状態を取得
281
+ */
282
+ getItemStatus(itemId) {
283
+ const item = this.queue.find((item) => item.id === itemId);
284
+ return item ? item.status : null;
285
+ }
286
+ /**
287
+ * 即時再生処理
288
+ * キューを経由せず直接音声を再生
289
+ */
290
+ async playImmediately(item) {
291
+ // 音声ファイルが生成されるまで待機
292
+ const checkInterval = setInterval(async () => {
293
+ if (item.status === types_1.QueueItemStatus.READY && item.tempFile) {
294
+ clearInterval(checkInterval);
295
+ this.immediatePlayIntervals.delete(checkInterval);
296
+ // 再生開始の通知
297
+ if (item.playbackPromiseResolvers?.startResolve) {
298
+ item.playbackPromiseResolvers.startResolve();
299
+ }
300
+ try {
301
+ // 即時再生用プレイヤーで再生
302
+ this.updateItemStatus(item, types_1.QueueItemStatus.PLAYING);
303
+ await this.immediatePlayer.playAudio(item.tempFile);
304
+ // 再生完了
305
+ this.updateItemStatus(item, types_1.QueueItemStatus.DONE);
306
+ this.eventManager.emitEvent(types_1.QueueEventType.ITEM_COMPLETED, item);
307
+ // 再生終了の通知
308
+ if (item.playbackPromiseResolvers?.endResolve) {
309
+ item.playbackPromiseResolvers.endResolve();
310
+ }
311
+ // 一時ファイルを削除
312
+ if (item.tempFile) {
313
+ await this.fileManager.deleteTempFile(item.tempFile);
314
+ }
315
+ // キューから削除
316
+ const itemIndex = this.queue.findIndex((i) => i.id === item.id);
317
+ if (itemIndex !== -1) {
318
+ this.queue.splice(itemIndex, 1);
319
+ }
320
+ }
321
+ catch (error) {
322
+ console.error(`Error playing audio immediately:`, error);
323
+ this.updateItemStatus(item, types_1.QueueItemStatus.ERROR);
324
+ item.error = error instanceof Error ? error : new Error(String(error));
325
+ this.eventManager.emitEvent(types_1.QueueEventType.ERROR, item);
326
+ // エラー時もキューから削除
327
+ const itemIndex = this.queue.findIndex((i) => i.id === item.id);
328
+ if (itemIndex !== -1) {
329
+ this.queue.splice(itemIndex, 1);
330
+ }
331
+ }
332
+ }
333
+ else if (item.status === types_1.QueueItemStatus.ERROR) {
334
+ clearInterval(checkInterval);
335
+ this.immediatePlayIntervals.delete(checkInterval);
336
+ // エラー時の処理は既に音声生成時に行われているはず
337
+ }
338
+ }, 50); // 50msごとにチェック
339
+ this.immediatePlayIntervals.add(checkInterval);
340
+ }
341
+ /**
342
+ * キュー処理実行
343
+ * キューにある音声の生成と再生を処理
344
+ */
345
+ async processQueue() {
346
+ // 再生を停止中またはポーズ中は何もしない
347
+ if (!this.isPlaying || this.isPaused) {
348
+ return;
349
+ }
350
+ // 現在再生中のアイテムがあれば再生中のまま
351
+ if (this.currentPlayingItem?.status === types_1.QueueItemStatus.PLAYING) {
352
+ return;
353
+ }
354
+ // 前回再生したアイテムの後処理
355
+ if (this.currentPlayingItem &&
356
+ this.currentPlayingItem.status === types_1.QueueItemStatus.DONE) {
357
+ // 再生完了したアイテムの一時ファイルを削除
358
+ if (this.currentPlayingItem.tempFile) {
359
+ await this.fileManager.deleteTempFile(this.currentPlayingItem.tempFile);
360
+ this.currentPlayingItem.tempFile = undefined; // 削除後に参照を消す
361
+ }
362
+ this.currentPlayingItem = null;
363
+ }
364
+ // 再生可能なアイテムを探す
365
+ const nextItem = this.queue.find((item) => item.status === types_1.QueueItemStatus.READY);
366
+ if (!nextItem) {
367
+ // 再生可能なアイテムがなければ、事前生成を開始して終了
368
+ this.prefetchAudio();
369
+ return;
370
+ }
371
+ this.currentPlayingItem = nextItem;
372
+ this.updateItemStatus(nextItem, types_1.QueueItemStatus.PLAYING);
373
+ // 再生開始の通知(waitForStartオプション対応)
374
+ if (nextItem.playbackPromiseResolvers?.startResolve) {
375
+ nextItem.playbackPromiseResolvers.startResolve();
376
+ }
377
+ try {
378
+ if (!nextItem.tempFile) {
379
+ throw new Error("再生対象の一時ファイルが見つかりません");
380
+ }
381
+ await this.audioPlayer.playAudio(nextItem.tempFile);
382
+ // 再生完了
383
+ this.updateItemStatus(nextItem, types_1.QueueItemStatus.DONE);
384
+ this.eventManager.emitEvent(types_1.QueueEventType.ITEM_COMPLETED, nextItem);
385
+ // 再生終了の通知(waitForEndオプション対応)
386
+ if (nextItem.playbackPromiseResolvers?.endResolve) {
387
+ nextItem.playbackPromiseResolvers.endResolve();
388
+ }
389
+ // キューから削除
390
+ const itemIndex = this.queue.findIndex((i) => i.id === nextItem.id);
391
+ if (itemIndex !== -1) {
392
+ this.queue.splice(itemIndex, 1);
393
+ }
394
+ // 続けて次のアイテムを再生
395
+ this.currentPlayingItem = null;
396
+ this.processQueue();
397
+ }
398
+ catch (error) {
399
+ console.error(`Error playing audio:`, error);
400
+ this.updateItemStatus(nextItem, types_1.QueueItemStatus.ERROR);
401
+ nextItem.error =
402
+ error instanceof Error ? error : new Error(String(error));
403
+ this.eventManager.emitEvent(types_1.QueueEventType.ERROR, nextItem);
404
+ // エラー発生時もキューからアイテムを削除
405
+ const itemIndex = this.queue.findIndex((i) => i.id === nextItem.id);
406
+ if (itemIndex !== -1) {
407
+ this.queue.splice(itemIndex, 1);
408
+ }
409
+ // エラー発生時でも次のアイテムを再生
410
+ this.currentPlayingItem = null;
411
+ this.processQueue();
412
+ }
413
+ // 次回の音声を事前生成
414
+ this.prefetchAudio();
415
+ }
416
+ /**
417
+ * 次のアイテムの音声を事前に生成 (プリフェッチ)
418
+ */
419
+ async prefetchAudio() {
420
+ const pendingItems = this.queue.filter((item) => item.status === types_1.QueueItemStatus.PENDING);
421
+ const processingOrReadyCount = this.queue.filter((item) => item.status === types_1.QueueItemStatus.READY ||
422
+ item.status === types_1.QueueItemStatus.GENERATING).length;
423
+ const prefetchNeeded = this.prefetchSize - processingOrReadyCount;
424
+ if (prefetchNeeded > 0 && pendingItems.length > 0) {
425
+ const itemsToPrefetch = pendingItems.slice(0, prefetchNeeded);
426
+ await Promise.all(itemsToPrefetch.map((item) => {
427
+ if (item.query && item.apiInstance) {
428
+ return this.generateAudioFromQuery(item, item.apiInstance)
429
+ .catch((e) => console.error("Prefetch error:", e));
430
+ }
431
+ return Promise.resolve();
432
+ }));
433
+ }
434
+ }
435
+ /**
436
+ * アイテムの状態を更新し、イベントを発火
437
+ */
438
+ updateItemStatus(item, status) {
439
+ item.status = status;
440
+ // 状態変更イベントを発火
441
+ this.eventManager.emitEvent(types_1.QueueEventType.ITEM_STATUS_CHANGED, item);
442
+ // READYになったらプリフェッチとキュー処理をトリガー
443
+ if (status === types_1.QueueItemStatus.READY) {
444
+ this.prefetchAudio();
445
+ this.processQueue();
446
+ }
447
+ }
448
+ /**
449
+ * バイナリーデータを一時ファイルに保存
450
+ */
451
+ async saveTempAudioFile(audioData) {
452
+ return this.fileManager.saveTempAudioFile(audioData);
453
+ }
454
+ /**
455
+ * FileManagerインスタンスを取得
456
+ */
457
+ getFileManager() {
458
+ return this.fileManager;
459
+ }
460
+ /**
461
+ * 全てのリソースをクリーンアップ
462
+ */
463
+ cleanup() {
464
+ // すべてのblobURLをリリース
465
+ if ((0, utils_1.isBrowser)()) {
466
+ this.fileManager.releaseAllBlobUrls();
467
+ }
468
+ // 一時ファイルがあれば削除
469
+ this.queue.forEach((item) => {
470
+ if (item.tempFile) {
471
+ this.fileManager.deleteTempFile(item.tempFile);
472
+ }
473
+ });
474
+ // 即時再生用のインターバルをクリア
475
+ this.immediatePlayIntervals.forEach((interval) => {
476
+ clearInterval(interval);
477
+ });
478
+ this.immediatePlayIntervals.clear();
479
+ // キューをクリア
480
+ this.queue = [];
481
+ this.isPlaying = false;
482
+ this.isPaused = false;
483
+ this.currentPlayingItem = null;
484
+ }
485
+ }
486
+ exports.SharedQueueManager = SharedQueueManager;
487
+ //# sourceMappingURL=shared-queue-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-queue-manager.js","sourceRoot":"","sources":["../src/shared-queue-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queue-state-machine.d.ts","sourceRoot":"","sources":["../../src/state/queue-state-machine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,aAAa,EAElB,UAAU,EACV,KAAK,wBAAwB,EAC9B,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAC3C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAC3C,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAC7C,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAC/C,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAClD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACrD,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,iBAAiB,CAA2C;IACpE,OAAO,CAAC,KAAK,CAAe,CAAC,gCAAc;IAC3C,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA0B;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAE/C,YAAY,SAAS,GAAE,mBAAwB,EAAE,aAAa,CAAC,EAAE,wBAAwB,EAGxF;IAED;;OAEG;IACH,QAAQ,IAAI,UAAU,CAErB;IAED;;OAEG;IACH,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAEvC;IAED;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEjD;IAED;;OAEG;IACH,WAAW,IAAI,aAAa,EAAE,CAE7B;IAED;;OAEG;IACH,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAQ5C;IAED;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAiClC;IAED;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEhE;IAED;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAKhE;IAED,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,WAAW;IA+BnB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,oBAAoB;CA2B7B"}
1
+ {"version":3,"file":"queue-state-machine.d.ts","sourceRoot":"","sources":["../../src/state/queue-state-machine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,aAAa,EAElB,UAAU,EACV,KAAK,wBAAwB,EAC9B,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAC3C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAC3C,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAC7C,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAC/C,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAClD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACrD,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,iBAAiB,CAA2C;IACpE,OAAO,CAAC,KAAK,CAAe,CAAC,gCAAc;IAC3C,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA0B;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAE/C,YAAY,SAAS,GAAE,mBAAwB,EAAE,aAAa,CAAC,EAAE,wBAAwB,EAGxF;IAED;;OAEG;IACH,QAAQ,IAAI,UAAU,CAErB;IAED;;OAEG;IACH,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAEvC;IAED;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEjD;IAED;;OAEG;IACH,WAAW,IAAI,aAAa,EAAE,CAE7B;IAED;;OAEG;IACH,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAQ5C;IAED;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAiClC;IAED;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEhE;IAED;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAKhE;IAED,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,WAAW;IAuCnB,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,oBAAoB;CA2B7B"}
@@ -187,6 +187,13 @@ export class QueueStateMachine {
187
187
  }
188
188
  }
189
189
  this.callbacks.onError?.(item, error);
190
+ // 待機中のPromiseをrejectする
191
+ if (item?.playbackPromiseResolvers?.startReject) {
192
+ item.playbackPromiseResolvers.startReject(error);
193
+ }
194
+ if (item?.playbackPromiseResolvers?.endReject) {
195
+ item.playbackPromiseResolvers.endReject(error);
196
+ }
190
197
  // キューから削除
191
198
  this.removeFromQueue(itemId);
192
199
  // 現在の再生をクリア
@@ -197,6 +204,12 @@ export class QueueStateMachine {
197
204
  this.tryStartNextPlayback();
198
205
  }
199
206
  handleClear() {
207
+ // 待機中のPromiseをrejectする
208
+ const clearError = new Error('Queue cleared');
209
+ for (const item of this.items.values()) {
210
+ item.playbackPromiseResolvers?.startReject?.(clearError);
211
+ item.playbackPromiseResolvers?.endReject?.(clearError);
212
+ }
200
213
  this.items.clear();
201
214
  this.itemStateMachines.clear();
202
215
  this.queue = [];
@@ -1 +1 @@
1
- {"version":3,"file":"queue-state-machine.js","sourceRoot":"","sources":["../../src/state/queue-state-machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue-state-machine.js","sourceRoot":"","sources":["../../src/state/queue-state-machine.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,9 @@ export interface QueueItemData {
73
73
  options?: PlaybackOptions;
74
74
  playbackPromiseResolvers?: {
75
75
  startResolve?: () => void;
76
+ startReject?: (error: Error) => void;
76
77
  endResolve?: () => void;
78
+ endReject?: (error: Error) => void;
77
79
  };
78
80
  }
79
81
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE9D;;GAEG;AACH,oBAAY,eAAe;IACzB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,kBAAkB,GAClB,eAAe,GACf,OAAO,GACP,QAAQ,GACR,kBAAkB,GAClB,gBAAgB,CAAA;AAEpB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,eAAe,CAAA;IACrB,EAAE,EAAE,eAAe,CAAA;IACnB,MAAM,EAAE,UAAU,CAAA;CACnB;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAA;AAErB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;IACvB,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,wBAAwB,CAAC,EAAE;QACzB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;QACzB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;KACxB,CAAA;CACF;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,KAAK,IAAI,CAAA;AAElH;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE9D;;GAEG;AACH,oBAAY,eAAe;IACzB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,kBAAkB,GAClB,eAAe,GACf,OAAO,GACP,QAAQ,GACR,kBAAkB,GAClB,gBAAgB,CAAA;AAEpB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,eAAe,CAAA;IACrB,EAAE,EAAE,eAAe,CAAA;IACnB,MAAM,EAAE,UAAU,CAAA;CACnB;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAA;AAErB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;IACvB,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,wBAAwB,CAAC,EAAE;QACzB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;QACzB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;QACpC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;QACvB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;KACnC,CAAA;CACF;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,KAAK,IAAI,CAAA;AAElH;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"SAKY,eAAe;AAH3B;;GAEG;AACH,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,4CAAyB,CAAA;IACzB,kCAAe,CAAA;IACf,sCAAmB,CAAA;IACnB,gCAAa,CAAA;IACb,oCAAiB,CAAA;IACjB,kCAAe,CAAA;AAAC,CAAC,EAPP,eAAe,KAAf,eAAe,QAQ1B;SA2BW,UAAU;AAHtB;;GAEG;AACH,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,uCAAyB,CAAA;IACzB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;AAAC,CAAC,EAJT,UAAU,KAAV,UAAU,QAKrB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"SAKY,eAAe;AAH3B;;GAEG;AACH,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,4CAAyB,CAAA;IACzB,kCAAe,CAAA;IACf,sCAAmB,CAAA;IACnB,gCAAa,CAAA;IACb,oCAAiB,CAAA;IACjB,kCAAe,CAAA;AAAC,CAClB,EARY,eAAe,KAAf,eAAe,QAQ1B;SA2BW,UAAU;AAHtB;;GAEG;AACH,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,uCAAyB,CAAA;IACzB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;AAAC,CACpB,EALY,UAAU,KAAV,UAAU,QAKrB"}