Ejemplo n.º 1
0
        /** If we're paused, reshade the sheet music and piano. */
        private void ReShade(object sender, EventArgs args)
        {
            if (playstate == paused)
            {
                sheet.ShadeNotes((int)currentPulseTime, (int)-10, false);
                piano.ShadeNotes((int)currentPulseTime, (int)prevPulseTime);
            }
            Timer redrawTimer = (Timer)sender;

            redrawTimer.Stop();
            redrawTimer.Dispose();
        }
Ejemplo n.º 2
0
        /** The MidiFile and/or SheetMusic has changed. Stop any playback sound,
         *  and store the current midifile and sheet music.
         */
        public void SetMidiFile(MidiFile file, MidiOptions opt, SheetMusic s)
        {
            /* If we're paused, and using the same midi file, redraw the
             * highlighted notes.
             */
            if ((file == midifile && midifile != null && playstate == paused))
            {
                options = opt;
                sheet   = s;
                sheet.ShadeNotes((int)currentPulseTime, (int)-10, false);

                /* We have to wait some time (200 msec) for the sheet music
                 * to scroll and redraw, before we can re-shade.
                 */
                Timer redrawTimer = new Timer();
                redrawTimer.Interval = 200;
                redrawTimer.Tick    += new EventHandler(ReShade);
                redrawTimer.Enabled  = true;
                redrawTimer.Start();
            }
            else
            {
                this.Stop(null, null);
                midifile = file;
                options  = opt;
                sheet    = s;
            }
            this.DeleteSoundFile();
        }