using Newtonsoft.Json;
using RhythmBase.Converters;
using RhythmBase.Extensions;
namespace RhythmBase.Events
{
///
public class SetRowXs : BaseBeat
{
///
public SetRowXs() { }
///
public override EventType Type => EventType.SetRowXs;
///
/// Gets or sets the pattern.
///
[JsonConverter(typeof(PatternConverter))]
public Patterns[] Pattern
{
get => _pattern;
set => _pattern = value.Length == 6 ? value : throw new RhythmBase.Exceptions.RhythmBaseException();
}
///
/// Gets or sets the synco beat.
///
public sbyte SyncoBeat { get; set; } = -1;
///
/// Gets or sets the synco swing.
///
public float SyncoSwing { get; set; } = 0;
///
/// Gets or sets a value indicating whether to play the modifier sound.
///
public bool SyncoPlayModifierSound { get; set; }
///
/// Gets or sets the synco volume.
///
public int SyncoVolume { get; set; } = 100;
///
public override string ToString() => base.ToString() + string.Format(" {0}", this.GetPatternString());
private Patterns[] _pattern = new Patterns[6];
}
}