mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-17 18:10:47 -04:00
tts passthrough for all in queue
This commit is contained in:
@@ -243,7 +243,13 @@ function maybeSpeak(socket, message, ttsOptions) {
|
|||||||
const audio = record?.meta?.audio || {};
|
const audio = record?.meta?.audio || {};
|
||||||
const ttsEnabled = Boolean(audio.ttsEnabled);
|
const ttsEnabled = Boolean(audio.ttsEnabled);
|
||||||
if (!ttsEnabled) return;
|
if (!ttsEnabled) return;
|
||||||
if (!roverManager.canDrive(message.roverId, socket)) return;
|
const { isQueuedDriver } = require('./turnService');
|
||||||
|
if (
|
||||||
|
!roverManager.canDrive(message.roverId, socket) &&
|
||||||
|
!isQueuedDriver(message.roverId, socket?.id)
|
||||||
|
) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
issueCommand(message.roverId, {
|
issueCommand(message.roverId, {
|
||||||
type: 'tts',
|
type: 'tts',
|
||||||
|
|||||||
@@ -72,6 +72,13 @@ function canDrive(roverId, socket) {
|
|||||||
return activeDrivers.get(roverId) === socket.id;
|
return activeDrivers.get(roverId) === socket.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isQueuedDriver(roverId, socketId) {
|
||||||
|
if (!socketId) return false;
|
||||||
|
const queue = driverQueues.get(roverId);
|
||||||
|
if (!queue) return false;
|
||||||
|
return queue.queue.includes(socketId);
|
||||||
|
}
|
||||||
|
|
||||||
function ensureQueue(roverId) {
|
function ensureQueue(roverId) {
|
||||||
if (!driverQueues.has(roverId)) {
|
if (!driverQueues.has(roverId)) {
|
||||||
driverQueues.set(roverId, { queue: [], current: null, timer: null });
|
driverQueues.set(roverId, { queue: [], current: null, timer: null });
|
||||||
@@ -312,6 +319,7 @@ module.exports = {
|
|||||||
driverRemoved,
|
driverRemoved,
|
||||||
cleanupRover,
|
cleanupRover,
|
||||||
canDrive,
|
canDrive,
|
||||||
|
isQueuedDriver,
|
||||||
getActiveDrivers,
|
getActiveDrivers,
|
||||||
turnEvents,
|
turnEvents,
|
||||||
getTurnQueues,
|
getTurnQueues,
|
||||||
|
|||||||
Reference in New Issue
Block a user