示例#1
0
 void GetNewLineState(const TrackModelState& state, AYM::TrackBuilder& track)
 {
   if (const Line::Ptr line = state.LineObject())
   {
     for (uint_t chan = 0; chan != PlayerState.size(); ++chan)
     {
       if (const Cell::Ptr src = line->GetChannel(chan))
       {
         GetNewChannelState(*src, PlayerState[chan], track);
       }
     }
   }
 }
示例#2
0
 void GetNewLineState(const TrackModelState& state, DAC::TrackBuilder& track)
 {
   if (const auto line = state.LineObject())
   {
     for (uint_t chan = 0; chan != CHANNELS_COUNT; ++chan)
     {
       if (const auto src = line->GetChannel(chan))
       {
         DAC::ChannelDataBuilder builder = track.GetChannel(chan);
         GetNewChannelState(*src, Volumes[chan], builder);
       }
     }
   }
 }
示例#3
0
 void GetNewLineState(const TrackModelState& state, AYM::TrackBuilder& track)
 {
   if (0 == state.Line())
   {
     std::for_each(PlayerState.begin(), PlayerState.end(), std::mem_fun_ref(&ChannelState::ResetBaseNoise));
   }
   if (const Line::Ptr line = state.LineObject())
   {
     for (uint_t chan = 0; chan != PlayerState.size(); ++chan)
     {
       if (const Cell::Ptr src = line->GetChannel(chan))
       {
         GetNewChannelState(*src, PlayerState[chan], track);
       }
     }
   }
 }