Package music.midi

Source Code of music.midi.MidiController

/*
*    Musical Skill Coach - An interactive midi device friendly program to help music students improve their skills
*    Copyright (C) 2011  Paul-Emile Gaudet
*
*    This program is free software: you can redistribute it and/or modify
*    it under the terms of the GNU General Public License as published by
*    the Free Software Foundation, either version 3 of the License, or
*    (at your option) any later version.
*
*    This program is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*    GNU General Public License for more details.
*
*    You should have received a copy of the GNU General Public License
*    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

package music.midi;

import javax.sound.midi.InvalidMidiDataException;
import javax.sound.midi.ShortMessage;

public class MidiController
{
  public static ShortMessage getProgramChange(int channel, int instrument)
  {
    if ((channel < 0) || (channel > 15) || (instrument < 0) || (instrument > 127))
      return null;
   
    ShortMessage message = new ShortMessage();

    try
    {
      message.setMessage(ShortMessage.PROGRAM_CHANGE, channel, instrument, 0);
    }
    catch (InvalidMidiDataException e)
    {
      message = null;
    }
   
    return message;
  }

  public static ShortMessage getNoteEvent(int channel, int note, int velocity)
  {
    if ((channel < 0) || (channel > 15) || (note < 0) || (note > 127) || (velocity < 0) || (velocity > 127))
      return null;
   
    ShortMessage message = new ShortMessage();

    try
    {
      if (velocity == 0)
        message.setMessage(ShortMessage.NOTE_OFF, channel, note, 0);
      else
        message.setMessage(ShortMessage.NOTE_ON, channel, note, velocity);
    }
    catch (InvalidMidiDataException e)
    {
      message = null;
    }
   
    return message;
  }
}
TOP

Related Classes of music.midi.MidiController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.