当前位置: 首页>>代码示例>>C++>>正文


C++ MIDITimedBigMessage::SetDataEnd方法代码示例

本文整理汇总了C++中MIDITimedBigMessage::SetDataEnd方法的典型用法代码示例。如果您正苦于以下问题:C++ MIDITimedBigMessage::SetDataEnd方法的具体用法?C++ MIDITimedBigMessage::SetDataEnd怎么用?C++ MIDITimedBigMessage::SetDataEnd使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MIDITimedBigMessage的用法示例。


在下文中一共展示了MIDITimedBigMessage::SetDataEnd方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Clear


//.........这里部分代码省略.........
     }
     
     // skip any NOPs on track 2
     
     if( has_ev2 && ev2->IsNoOp() )
     {
       cur_trk2ev++;
       continue;
     }
     
     // skip all data end
     
     if( has_ev1 && ev1->IsDataEnd() )
     {
       if( ev1->GetTime() > last_data_end_time )
       {
         last_data_end_time = ev1->GetTime();
       }
       cur_trk1ev++;
       continue;
     }
     
     if( has_ev2 && ev2->IsDataEnd() )
     {
       if( ev2->GetTime() > last_data_end_time )
       {
         last_data_end_time = ev2->GetTime();
       }
       cur_trk2ev++;
       continue;
     }
     
     if( (has_ev1 && !has_ev2) )
     {
       // nothing left on trk 2
       
       if( !ev1->IsNoOp())
       {
         if( ev1->GetTime() > last_data_end_time )
         {
           last_data_end_time = ev1->GetTime();
         }
         
         PutEvent( *ev1 );
         ++cur_trk1ev;
       }
     } else if( (!has_ev1 && has_ev2) )
     {
       // nothing left on trk 1
       if( !ev2->IsNoOp() )
       {
         PutEvent( *ev2 );
         ++cur_trk2ev;
       }
     } else if( has_ev1 && has_ev2 )
     {
       int trk=1;
       
       if( (ev1->GetTime() <= ev2->GetTime()) )
       {
         trk=1;
       }
       else
       {
         trk=2;
       }
       
       if( trk==1 )
       {
         if( ev1->GetTime() > last_data_end_time )
         {
           last_data_end_time = ev1->GetTime();
         }
         
         PutEvent( *ev1 );
         
         ++cur_trk1ev;
       }
       else
       {
         if( ev2->GetTime() > last_data_end_time )
         {
           last_data_end_time = ev2->GetTime();
         }
         
         PutEvent( *ev2 );
         ++cur_trk2ev;
       }
     }
   }
   
   // put single final data end event
   
   MIDITimedBigMessage dataend;
   
   dataend.SetTime( last_data_end_time );
   dataend.SetDataEnd();
   
   PutEvent( dataend );
 }
开发者ID:MisterZeus,项目名称:SNES-Tracker,代码行数:101,代码来源:jdkmidi_track.cpp


注:本文中的MIDITimedBigMessage::SetDataEnd方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。