Beispiel #1
0
        public bool ValueEquals(RhythmTemplateSegment other)
        {
            if (other == null)
            {
                return(false);
            }

            if (this.BassVoice != null && other.BassVoice != null)
            {
                if (!this.BassVoice.ValueEquals(other.BassVoice))
                {
                    return(false);
                }
            }

            if (this.BassVoice != null || other.BassVoice != null)
            {
                return(false);
            }

            if (this.TrebleVoice != null && other.TrebleVoice != null)
            {
                if (!this.TrebleVoice.ValueEquals(other.TrebleVoice))
                {
                    return(false);
                }
            }

            if (this.TrebleVoice != null || other.TrebleVoice != null)
            {
                return(false);
            }

            return(true);
        }
Beispiel #2
0
        public bool ToDocumentElement(TablatureContext context, ILogger logger, out RhythmTemplateSegment rhythmSegment)
        {
            rhythmSegment = new RhythmTemplateSegment
            {
                Range = this.Range
            };

            return(this.FillRhythmSegmentVoices(context, logger, rhythmSegment));
        }
        public RhythmSegment Instantialize()
        {
            var segment = new RhythmSegment();  // do not set Range

            if (this.TrebleVoice != null)
            {
                segment.TrebleVoice = RhythmTemplateSegment.InstantializeVoice(this.TrebleVoice);
            }

            if (this.BassVoice != null)
            {
                segment.BassVoice = RhythmTemplateSegment.InstantializeVoice(this.BassVoice);
            }

            return(segment);
        }