void SynthesizeChannelsData(DAC::TrackBuilder& track) { for (uint_t chan = 0; chan != CHANNELS_COUNT; ++chan) { OrnamentState& ornament = Ornaments[chan]; ornament.Update(); DAC::ChannelDataBuilder builder = track.GetChannel(chan); builder.SetNoteSlide(ornament.GetOffset()); } }
void SynthesizeChannelsData(DAC::TrackBuilder& track) { for (uint_t chan = 0; chan != CHANNELS_COUNT; ++chan) { VolumeState& vol = Volumes[chan]; if (vol.Update()) { DAC::ChannelDataBuilder builder = track.GetChannel(chan); builder.SetLevelInPercents(100 * vol.Value / 16); } } }
void SynthesizeChannelsData(DAC::TrackBuilder& track) { for (uint_t chan = 0; chan != CHANNELS_COUNT; ++chan) { GlissData& gliss(Gliss[chan]); if (gliss.Update()) { DAC::ChannelDataBuilder builder = track.GetChannel(chan); builder.SetFreqSlideHz(StepToHz(gliss.Sliding)); } } }
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); } } } }