node-red-contrib-tts-ultimate 1.0.53 → 1.0.55

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  [![Donate via PayPal](https://img.shields.io/badge/Donate-PayPal-blue.svg?style=flat-square)](https://www.paypal.me/techtoday)
4
4
 
5
+ <p>
6
+ <b>Version 1.0.55</b> March 2023<br/>
7
+ - Dedupes the players having the same IP, in the player's list.<br/>
8
+ </p>
9
+ <p>
10
+ <b>Version 1.0.54</b> February 2023<br/>
11
+ - OWNFILE: there was a 60 secs timeout, waiting for end play. Now it has been incfeased to 10 minutes.<br/>
12
+ </p>
5
13
  <p>
6
14
  <b>Version 1.0.53</b> February 2023<br/>
7
15
  - Now in the list of sonos player, you can see the single speakers belonging to a group as well.<br/>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-tts-ultimate",
3
- "version": "1.0.53",
3
+ "version": "1.0.55",
4
4
  "description": "Transforms the text in speech and hear it using Sonos player or generate an audio file to be used with third parties nodes. Works with voices from Amazon, Google (without credentials as well), Microsoft TTS Azure, or your own voice. You can also only create a TTS file to be read by third party nodes. Update of the popular SonosPollyTTS node.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -259,13 +259,14 @@ module.exports = function (RED) {
259
259
  //RED.log.warn('Groups ' + JSON.stringify(groups, null, 2))
260
260
  for (let index = 0; index < groups.length; index++) {
261
261
  const element = groups[index];
262
- jListGroups.push({ name: element.Name, host: element.host })
262
+ if (jListGroups.find(x => x.host === element.host) === undefined) jListGroups.push({ name: element.Name, host: element.host })
263
263
  // 02/03/2023 If there are speakers grouped, read the single speaker
264
264
  if (element.hasOwnProperty("ZoneGroupMember") && element.ZoneGroupMember.length > 0) {
265
265
  try {
266
266
  for (let i = 0; i < element.ZoneGroupMember.length; i++) {
267
267
  const single = element.ZoneGroupMember[i];
268
- jListGroups.push({ name: single.ZoneName, host: single.Location.split("//")[1].split(":")[0] }) // Get Name and IP from Location field
268
+ let sHost = single.Location.split("//")[1].split(":")[0]
269
+ if (jListGroups.find(x => x.host === sHost) === undefined) jListGroups.push({ name: single.ZoneName, host: sHost }) // Get Name and IP from Location field
269
270
  }
270
271
  } catch (error) {
271
272
  }
@@ -739,7 +739,7 @@ module.exports = function (RED) {
739
739
  state = "";
740
740
  node.timerbTimeOutPlay = setTimeout(() => {
741
741
  node.bTimeOutPlay = true;
742
- }, 60000);
742
+ }, 60000*10); // 10 minutes timeout
743
743
  while (state !== "stopped" && !node.bTimeOutPlay) {
744
744
  try {
745
745
  state = await getCurrentStateSync();