1 /* Copyright (C) 2012, 2018  Olga Yakovleva <yakovleva.o.v@gmail.com> */
2 
3 /* This program is free software: you can redistribute it and/or modify */
4 /* it under the terms of the GNU Lesser General Public License as published by */
5 /* the Free Software Foundation, either version 2.1 of the License, or */
6 /* (at your option) any later version. */
7 
8 /* This program is distributed in the hope that it will be useful, */
9 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
10 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the */
11 /* GNU Lesser General Public License for more details. */
12 
13 /* You should have received a copy of the GNU Lesser General Public License */
14 /* along with this program.  If not, see <http://www.gnu.org/licenses/>. */
15 
16 #ifndef RHVOICE_TTS_MARKUP_HPP
17 #define RHVOICE_TTS_MARKUP_HPP
18 
19 #include <string>
20 #include "language.hpp"
21 #include "voice.hpp"
22 
23 namespace RHVoice
24 {
25   enum content_type
26     {
27       content_text,
28       content_char,
29       content_chars,
30       content_glyphs,
31       content_key,
32 content_emoji
33     };
34 
35   struct prosodic_attributes
36   {
37     double rate,pitch,volume;
38 
39     prosodic_attributes():
40       rate(1.0),
41       pitch(1.0),
42       volume(1.0)
43     {
44     }
45   };
46 
47   struct tts_markup
48   {
49     bool autosplit_sentences;
50     language_search_criteria language_criteria;
51     voice_search_criteria voice_criteria;
52     content_type say_as;
53     prosodic_attributes prosody;
54 
55     tts_markup():
56       autosplit_sentences(true),
57       say_as(content_text)
58     {
59     }
60   };
61 }
62 #endif
63