本文整理汇总了C#中AlphaTab.Model.Beat.Clone方法的典型用法代码示例。如果您正苦于以下问题:C# Beat.Clone方法的具体用法?C# Beat.Clone怎么用?C# Beat.Clone使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AlphaTab.Model.Beat
的用法示例。
在下文中一共展示了Beat.Clone方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Beat
//.........这里部分代码省略.........
default:
Error("duration", AlphaTexSymbols.Number, false);
break;
}
NewSy();
return;
}
var beat = new Beat();
voice.AddBeat(beat);
if (voice.Bar.MasterBar.TempoAutomation != null && voice.Beats.Count == 1)
{
beat.Automations.Add(voice.Bar.MasterBar.TempoAutomation);
}
// notes
if (_sy == AlphaTexSymbols.LParensis)
{
NewSy();
Note(beat);
while (_sy != AlphaTexSymbols.RParensis && _sy != AlphaTexSymbols.Eof)
{
Note(beat);
}
if (_sy != AlphaTexSymbols.RParensis)
{
Error("note-list", AlphaTexSymbols.RParensis);
}
NewSy();
}
// rest
else if (_sy == AlphaTexSymbols.String && _syData.ToString().ToLower() == "r")
{
// rest voice -> no notes
NewSy();
}
else
{
Note(beat);
}
// new duration
if (_sy == AlphaTexSymbols.Dot)
{
NewSy();
if (_sy != AlphaTexSymbols.Number)
{
Error("duration", AlphaTexSymbols.Number);
}
var duration = (int)_syData;
switch (duration)
{
case 1:
case 2:
case 4:
case 8:
case 16:
case 32:
case 64:
_currentDuration = ParseDuration((int)_syData);
break;
default:
Error("duration", AlphaTexSymbols.Number, false);
break;
}
NewSy();
}
beat.Duration = _currentDuration;
// beat multiplier (repeat beat n times)
var beatRepeat = 1;
if (_sy == AlphaTexSymbols.Multiply)
{
NewSy();
// multiplier count
if (_sy != AlphaTexSymbols.Number)
{
Error("multiplier", AlphaTexSymbols.Number);
}
else
{
beatRepeat = (int)_syData;
}
NewSy();
}
BeatEffects(beat);
for (var i = 0; i < beatRepeat - 1; i++)
{
voice.AddBeat(beat.Clone());
}
}