Comments (1)
You can make the TTS more 'dynamic" and "confortable" by stopping any current TTS text being rendered when you send a new one to be spoken (when you type a new request). This way you can avoid listening to the same WHOLE text you already heard before when REENTERING a "room", as a new "command" will "discard the queued sentences being spoken". This is easily done by changing the source code in "FrotzSound.cpp" in two points:
typedef enum SPEAKFLAGS {
SPF_ASYNC = (1L<<0),
SPF_PURGEBEFORESPEAK = (1L << 1)
} SPEAKFLAGS;
and
// Speak some text
void TextToSpeech::Speak(LPCWSTR speech)
{
if (m_voice != NULL)
m_voice->Speak(speech,SPF_ASYNC | SPF_PURGEBEFORESPEAK,NULL);
}
and just to deal correctly with the loading of a "new adventure", just change FrotzApp.cpp like this:
// Load a new game
void FrotzApp::OnFileNew()
{
if (PromptForGame(false))
{
// code added
FrotzSound::ShutDown();
m_spokenIndex = 0;
//
StoreWindowSize();
m_wantRestart = true;
theWnd->InputType(FrotzWnd::Input::CheckRestart);
}
}
from windows-frotz.
Related Issues (20)
- Inconsistent delays between repeated sample plays in one turn HOT 5
- Continuous integration using appveyor HOT 6
- Final output not shown if the last character printed is not a carriage return HOT 1
- @print_table doesn't treat input as ZSCII HOT 1
- Investigate reports of errors with Arthur HOT 1
- Improve font substitution logic with fixed-width font HOT 1
- Document build procedure HOT 1
- @output_stream handled improperly HOT 1
- Screen width HOT 1
- [Screen too narrow.] in Trinity HOT 7
- Bug in the unsorted dictionary code HOT 8
- Missing Transcript file (Windows 10) HOT 2
- Error when print_addr gets a string that goes past 64K HOT 1
- Frotz 1.24: cant set Fixed width font HOT 1
- Windows-Frotz doesn't work under Wine properly HOT 7
- Add Tolk for Screen Reader Output HOT 2
- Fatal error on simple command- help person. HOT 1
- Use relevant Infocom game patches from Bocfel
- "Write out a script" appends but message box says it replaces HOT 1
- Time is reported as "Moves" HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from windows-frotz.