From 14f6626e0abb11a884b398e5ee692e01ffd544d2 Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Thu, 19 Mar 2020 13:43:45 -0500 Subject: [PATCH] Add sanity checks for rate set, and scale JavaScript rate so users can set something fast. --- TTS.gd | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/TTS.gd b/TTS.gd index c7fa5e4..5c7f644 100644 --- a/TTS.gd +++ b/TTS.gd @@ -20,6 +20,10 @@ func _ready(): var javascript_rate = 50 func set_rate(rate): + if rate < 0: + rate = 0 + elif rate > 100: + rate = 100 if tts != null: tts.rate = rate elif OS.has_feature('JavaScript'): @@ -39,7 +43,12 @@ func speak(text, interrupt := true): if tts != null: tts.speak(text, interrupt) elif OS.has_feature('JavaScript'): - var scaled_rate = javascript_rate / 25 + var scaled_rate + if javascript_rate <= 50: + scaled_rate = javascript_rate / 50 + else: + scaled_rate = javascript_rate - 50 + scaled_rate = 1 + (scaled_rate / 5) var code = """ let utterance = new SpeechSynthesisUtterance("%s") utterance.rate = %s