Choreonoid  1.5
LipSyncTranslator.h
Go to the documentation of this file.
1 
6 #ifndef CNOID_CHOREOGRAPHY_LIP_SYNC_TRANSLATOR_H_INCLUDED
7 #define CNOID_CHOREOGRAPHY_LIP_SYNC_TRANSLATOR_H_INCLUDED
8 
9 #include <list>
10 #include <string>
11 #include "exportdecl.h"
12 
13 namespace cnoid {
14 
15 class PoseSeq;
16 
18 {
19 public:
20 
21  enum LipShapeId {
22  LS_A, LS_I, LS_U, LS_E, LS_O, LS_N,
23  LS_a, LS_i, LS_u, LS_e, LS_o,
24  NUM_LIP_SHAPES
25  };
26 
27  struct Phoneme {
28  double time;
29  int shapeId;
30  };
31 
32  typedef std::list<Phoneme>::iterator iterator;
33  typedef std::list<Phoneme>::const_iterator const_iterator;
34 
36 
37  void translatePoseSeq(PoseSeq& poseSeq);
38 
39  bool appendSyllable(double time, const std::string& syllable);
40 
41  bool exportSeqFileForFaceController(const std::string& filename);
42 
43  void enableMaxTransitionTime(bool on){
44  isMaxTransitionTimeEnabled_ = on;
45  }
46 
48  return isMaxTransitionTimeEnabled_;
49  }
50 
51  void setMaxTransitionTime(double ttime) {
52  maxTransitionTime_ = ttime;
53  }
54 
55  double maxTransitionTime() const {
56  return maxTransitionTime_;
57  }
58 
59  void clear();
60 
61  inline bool empty() const {
62  return seq.empty();
63  }
64 
65  inline std::list<Phoneme>::size_type size() const {
66  return seq.size();
67  }
68 
69  inline iterator begin(){
70  return seq.begin();
71  }
72 
73  inline const_iterator begin() const {
74  return seq.begin();
75  }
76 
77  inline iterator end(){
78  return seq.end();
79  }
80 
81  inline const_iterator end() const {
82  return seq.end();
83  }
84 
85 private:
86 
87  typedef std::list<Phoneme> PhonemeList;
88  PhonemeList seq;
89 
90  bool isMaxTransitionTimeEnabled_;
91  double maxTransitionTime_;
92 };
93 }
94 
95 #endif
LipShapeId
Definition: LipSyncTranslator.h:21
const_iterator begin() const
Definition: LipSyncTranslator.h:73
void enableMaxTransitionTime(bool on)
Definition: LipSyncTranslator.h:43
Definition: LipSyncTranslator.h:22
std::list< Phoneme >::iterator iterator
Definition: LipSyncTranslator.h:32
void setMaxTransitionTime(double ttime)
Definition: LipSyncTranslator.h:51
double time
Definition: LipSyncTranslator.h:28
Definition: LipSyncTranslator.h:23
Definition: LipSyncTranslator.h:17
Definition: LipSyncTranslator.h:27
std::list< Phoneme >::size_type size() const
Definition: LipSyncTranslator.h:65
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
bool isMaxTransitionTimeEnabled() const
Definition: LipSyncTranslator.h:47
const_iterator end() const
Definition: LipSyncTranslator.h:81
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
Definition: PoseSeq.h:77
int shapeId
Definition: LipSyncTranslator.h:29
double maxTransitionTime() const
Definition: LipSyncTranslator.h:55
std::list< Phoneme >::const_iterator const_iterator
Definition: LipSyncTranslator.h:33
bool empty() const
Definition: LipSyncTranslator.h:61
iterator end()
Definition: LipSyncTranslator.h:77
iterator begin()
Definition: LipSyncTranslator.h:69