コード例 #1
0
ファイル: speech_processor.cpp プロジェクト: A-L-E-X/RHVoice
 void speech_processor::process(sample_ptr samples,std::size_t count)
 {
   sample_ptr start=samples;
   sample_ptr end=start+count;
   while(fill_input_buffer(start,end))
     {
       on_input();
       input.clear();
       if(is_stopped())
         return;
       on_output();
       if(is_stopped())
         return;
       if(!next)
         continue;
       if(!insertion.empty())
         {
           next->insert(&insertion[0],insertion.size());
           insertion.clear();
           if(is_stopped())
             {
               output.clear();
               return;
             }
         }
       if(output.empty())
         continue;
       next->process(&output[0],output.size());
       output.clear();
       if(is_stopped())
         return;
     }
 }
コード例 #2
0
ファイル: speech_processor.cpp プロジェクト: A-L-E-X/RHVoice
 void speech_processor::finish()
 {
   if(!input.empty())
     {
       on_input();
       input.clear();
       if(is_stopped())
         return;
     }
   on_end_of_input();
   if(is_stopped())
     return;
   on_output();
   if(is_stopped())
     return;
   if(!next)
     {
       on_finished();
       return;
     }
   if(!insertion.empty())
     {
       next->insert(&insertion[0],insertion.size());
       insertion.clear();
       if(is_stopped())
         {
           output.clear();
           return;
         }
     }
   if(!output.empty())
     {
       next->process(&output[0],output.size());
       output.clear();
     }
   if(is_stopped())
     return;
   next->finish();
   if(is_stopped())
     return;
   on_finished();
 }
コード例 #3
0
ファイル: compiler.hpp プロジェクト: omaskery/lhdl
		inline void output(std::iostream &_output) const {
			if(!mHasValidated)
				throw exception("output called before successful validate call");
			on_output(_output);
		}