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]; } }