예제 #1
0
 internal clsPlayKeyboard(int lastwhitekeyon, int lastwhitepitchon, clsPlay oldplay)
     : base(oldplay) //switch
     //frmSC = oldplay.frmSC;
     //CF = frmSC.CF;
     //dShowChord = new MPlay.clsPlayKeyboard.delegShowChord(ShowChord);
 {
     P.frmSC.PlayMode = Forms.frmSC.ePlayMode.KB;
     LastKeyOn        = lastwhitekeyon;
     LastPitchOn      = lastwhitepitchon;
     LastPitchOnTime  = null;
     if (P.frmSC.chkAutoCapitalize.Checked)
     {
         Forms.frmSC.CapitalizeRootsStatic = false;
     }
     P.frmSC.chkShowTracks.Enabled = true;
     InitPlayEvents();
     CF.SyncEvsToKeys();
     //CheckSyncs();
     P.frmSC.ShowRanges(); //P.frmSC.InvokeShowPlayMode();
 }
예제 #2
0
 internal clsPlayChords(int lastwhitekeyon, int lastwhitepitchon, clsPlay oldplay)
     : base(oldplay) //switch
     //* switch
     //frmSC = oldplay.frmSC;
     //CF = frmSC.CF;
 {
     P.frmSC.PlayMode = Forms.frmSC.ePlayMode.Chords;
     LastWhiteKeyOn   = lastwhitekeyon;
     LastWhitePitchOn = lastwhitepitchon;
     if (P.frmSC.chkAutoCapitalize.Checked)
     {
         Forms.frmSC.CapitalizeRootsStatic = true;
     }
     P.frmSC.chkShowTracks.Enabled = false;
     InitAlign();
     //frmSC.nudTransposeKB.Enabled = true;
     CF.SyncEvsToKeys();
     //CheckSyncs();
     P.frmSC.ShowRanges(); //P.frmSC.InvokeShowPlayMode();
 }
예제 #3
0
            internal clsChordEv(clsPlay play, int[] chord, bool rootexists)
            {
                Chord      = chord; //CF.Ev[i].PlayChord
                RootExists = rootexists;
                if (RootExists)
                {
                    ChordPCAbs = new bool[12];
                    ChordPCRel = new bool[12];
                    foreach (int c in Chord)
                    {
                        ChordPCAbs[c] = true;
                        ChordPCRel[(c - Chord[0]).Mod12()] = true;
                    }
                }
                Play = play;
                int kb    = KBMid;
                int pitch = PitchMid;

                Align(pitch, kb);
                Status = eStatus.Play;
            }
예제 #4
0
 internal clsChordEvTimed(clsPlay play, clsCFPC.clsEv ev, int[] chord) : base(play, chord, ev.Root)
 {
     OnTime = ev.OnTime;
 }