public void SetupBasePitch_Aysnc(AsyncWorkCallbackHandler CallBack, int NoteStartIndex = 0, int NoteEndIndex = -1)
 {
     Task.Factory.StartNew(() =>
     {
         SetupBasePitch(NoteStartIndex, NoteEndIndex);
         if (CallBack != null)
         {
             CallBack(NoteStartIndex, NoteEndIndex);
         }
     });
 }
        public void UpdateOutboundsLyric_Aysnc(AsyncWorkCallbackHandler CallBack, ref PartsObject parts, int NoteStartIndex = 0, int NoteEndIndex = -1)
        {
            PartsObject tParts = parts;

            System.Threading.Tasks.Task.Factory.StartNew(() =>
            {
                UpdateLyrics(ref tParts, NoteStartIndex, NoteEndIndex);
                if (CallBack != null)
                {
                    CallBack(tParts, NoteStartIndex, NoteEndIndex);
                }
            });
        }