Beispiel #1
0
        public static GuitarTempo GetTempo(GuitarTrack track, double tempo)
        {
            var ret = new GuitarTempo(track.Messages, null);

            ret.Tempo = tempo;
            return(ret);
        }
Beispiel #2
0
        IEnumerable <GuitarTempo> internalGetTempo(GuitarMessageList owner, Track tempoTrack)
        {
            var ret = new List <GuitarTempo>();

            if (tempoTrack != null && tempoTrack.Tempo.Any())
            {
                ret.AddRange(
                    tempoTrack.Tempo.Select(x =>
                                            new GuitarTempo(owner, x)));
            }
            else
            {
                ret.Add(GuitarTempo.GetTempo(this, Utility.DummyTempo));
            }
            return(ret);
        }
 public static GuitarTempo GetTempo(GuitarTrack track, double tempo)
 {
     var ret = new GuitarTempo(track.Messages, null);
     ret.Tempo = tempo;
     return ret;
 }
        private void DrawNoteGrid(Graphics g, GuitarTempo bp)
        {
            if (bp != null)
            {
                var nb = Utility.beatPen;

                double ct = bp.StartTime;

                while (true)
                {
                    double increment = guitarTrack.SecondsPerBeat(bp.DownTick,GridScalar);

                    var stH = GetScreenPointFromTime(ct);

                    var se = GetScreenPointFromTime(bp.EndTime);

                    if (stH >= se)
                        break;

                    if (stH > 0 && stH < this.Width)
                    {
                        g.DrawLine(nb, stH, 0, stH, this.Height);
                    }
                    if (stH >= this.Width)
                        break;

                    ct += increment;
                }
            }
        }
        private void DrawBeat5(Graphics g, GuitarTempo bp)
        {
            if (bp != null)
            {
                var nb = Utility.beatPen;

                double ct = bp.StartTime;

                while (true)
                {
                    double increment = guitarTrack.SecondsPerBeatQuarterNote(bp.DownTick);

                    increment /= 4.0;
                    increment *= guitarTrack.GetTimeSignature(bp.DownTick).Numerator;

                    var st = GetScreenPointFromTime(ct);
                    var se = GetScreenPointFromTime(bp.EndTime);

                    if (st >= se)
                        break;

                    var stH = st;
                    if (stH > 0 && stH < this.Width)
                    {
                        g.DrawLine(nb, stH, 0, stH, this.Height);
                    }
                    if (stH >= this.Width)
                        break;

                    ct += increment;
                }
                ct = bp.StartTime;

                nb = Utility.barPen;
                while (true)
                {
                    double increment = guitarTrack.SecondsPerBar(bp.DownTick);

                    var st = GetScreenPointFromTime(ct);
                    var se = GetScreenPointFromTime(bp.EndTime);

                    if (st >= se)
                        break;

                    var stH = st ;
                    if (stH > 0 && stH < this.Width)
                    {
                        g.DrawLine(nb, stH+1, 0, stH+1, this.Height);
                    }
                    if (stH >= this.Width)
                        break;

                    ct += increment;
                }
            }
        }