private SongNote GetNote(ZpeChord chord, ZpeChord nextChord) { SongNote note = new SongNote(); ZpeNote zNote = chord.Notes[0]; note.Fret = (sbyte)zNote.Fret; note.String = (byte)zNote.StringNo; note.Bend = 0; note.HammerOn = (zNote.IsTapNote || chord.IsHammerOn) ? (byte)1 : (byte)0; note.Harmonic = 0; note.Hopo = note.HammerOn; note.Ignore = 0; note.PalmMute = (zNote.IsXNote || chord.IsMute) ? (byte)1 : (byte)0; note.Sustain = (chord.EndTime - chord.StartTime > .5) ? chord.EndTime - chord.StartTime : 0; note.Time = (float)chord.StartTime; note.Tremolo = 0; if (chord.IsSlide && nextChord != null) { note.SlideTo = (sbyte)Math.Max(nextChord.Notes[0].Fret, 1); note.Sustain = chord.EndTime - chord.StartTime; note.HammerOn = note.Hopo = note.PalmMute = 0; } else { note.SlideTo = -1; } return(note); }
private static SongNote2014 GetNote(ZpeChord chord, ZpeChord nextChord, int zNoteIndex = 0) { SongNote2014 note = new SongNote2014(); ZpeNote zNote = chord.Notes[zNoteIndex]; note.Fret = (sbyte)zNote.Fret; note.String = (byte)zNote.StringNo; note.Time = (float)chord.StartTime; note.Accent = 0; note.Bend = 0; note.HammerOn = (zNote.IsTapNote || chord.IsHammerOn) ? (byte)1 : (byte)0; note.Harmonic = 0; note.HarmonicPinch = 0; note.Hopo = note.HammerOn; note.Ignore = 0; note.LinkNext = 0; note.LeftHand = -1; note.Mute = 0; note.PalmMute = (zNote.IsXNote || chord.IsMute) ? (byte)1 : (byte)0; note.Pluck = -1; note.PullOff = 0; note.RightHand = -1; note.Slap = -1; note.SlideUnpitchTo = -1; note.Sustain = (chord.EndTime - chord.StartTime > .5) ? chord.EndTime - chord.StartTime : 0; note.Tap = 0; note.Tremolo = 0; note.Vibrato = 0; if (chord.IsSlide && nextChord != null) { note.SlideTo = (sbyte)Math.Max(nextChord.Notes[0].Fret, 1); note.Sustain = chord.EndTime - chord.StartTime; note.HammerOn = note.Hopo = note.PalmMute = 0; } else { note.SlideTo = -1; } //// no advanced techniques for now //note.SlideTo = -1; //note.Sustain = 0; //note.PalmMute = 0; //note.HammerOn = 0; //note.Hopo = 0; return(note); }