Package javax.sound.midi

Examples of javax.sound.midi.ShortMessage


        MidiEvent midiEvent = midiTrack.get(midiEventIndex);

        MidiMessage midiMessage = midiEvent.getMessage();
        if (midiMessage instanceof ShortMessage) {
            // note
            ShortMessage shortMessage = (ShortMessage) midiMessage;
            int channel = shortMessage.getChannel();
           
            delta = retrieveAdjustedDelta(retrieveSmafTrack(channel), midiEvent.getTick());
        } else if (midiMessage instanceof MetaMessage && ((MetaMessage) midiMessage).getType() == 81) {
            // tempo
            delta = retrieveAdjustedDelta(smafTrackNumber, midiEvent.getTick()); // TODO smafTrackNumber �ł����̂��H
View Full Code Here


     * @throws NoSuchElementException ���� MIDI �C�x���g���Ȃ�
     * @throws IllegalStateException ���݂̃C�x���g�� ShortMessage �ł͂Ȃ�
     */
    public MidiEvent getNextMidiEvent() throws NoSuchElementException {

        ShortMessage shortMessage = null;

        MidiEvent midiEvent = midiTrack.get(midiEventIndex);
        MidiMessage midiMessage = midiEvent.getMessage();
        if (midiMessage instanceof ShortMessage) {
            shortMessage = (ShortMessage) midiMessage;
        } else {
            throw new IllegalStateException("current is not ShortMessage");
        }

        int channel = shortMessage.getChannel();
        int data1 = shortMessage.getData1();

        for (int i = midiEventIndex + 1; i < midiTrack.size(); i++) {
            midiEvent = midiTrack.get(i);
            midiMessage = midiEvent.getMessage();
            if (midiMessage instanceof ShortMessage) {
                shortMessage = (ShortMessage) midiMessage;
                if (shortMessage.getChannel() == channel &&
                    shortMessage.getCommand() == ShortMessage.NOTE_ON &&
                    shortMessage.getData1() != data1) {
Debug.println("next: " + shortMessage.getChannel() + "ch, " + shortMessage.getData1());
                    return midiEvent;
                }
            }
        }

View Full Code Here

     * @throws NoSuchElementException �΂� NoteOff �C�x���g���Ȃ�
     * @throws IllegalStateException ���݂̃C�x���g�� ShortMessage �ł͂Ȃ�
     */
    public MidiEvent getNoteOffMidiEvent() throws NoSuchElementException {

        ShortMessage shortMessage = null;

        MidiEvent midiEvent = midiTrack.get(midiEventIndex);
        MidiMessage midiMessage = midiEvent.getMessage();
        if (midiMessage instanceof ShortMessage) {
            shortMessage = (ShortMessage) midiMessage;
        } else {
            throw new IllegalStateException("current is not ShortMessage");
        }

        int channel = shortMessage.getChannel();
        int data1 = shortMessage.getData1();

        for (int i = midiEventIndex + 1; i < midiTrack.size(); i++) {
            midiEvent = midiTrack.get(i);
            midiMessage = midiEvent.getMessage();
            if (midiMessage instanceof ShortMessage) {
                shortMessage = (ShortMessage) midiMessage;
                if (shortMessage.getChannel() == channel &&
                    shortMessage.getData1() == data1) {

                    noteOffEventUsed.set(i)// ����t���O on
                    return midiEvent;
                }
            }
View Full Code Here

    /** bank, rpn, nrpn */
    public SmafEvent[] getSmafEvents(MidiEvent midiEvent, SmafContext context)
        throws InvalidSmafDataException {

        ShortMessage shortMessage = (ShortMessage) midiEvent.getMessage();
        int channel = shortMessage.getChannel();
//        int command = shortMessage.getCommand();
        int data1 = shortMessage.getData1();
        int data2 = shortMessage.getData2();

        switch (data1) {
        case 0:    // �o���N�Z���N�g MSB
            bankMSB[channel] = data2;
            break;
View Full Code Here

        int pitch = context.retrievePitch(this.channel, getNote());
        int midiChannel = context.retrieveChannel(this.channel);
        int velocity = this.velocity == -1 ? context.getVelocity(this.channel) : context.setVelocity(this.channel, this.velocity);

        MidiEvent[] events = new MidiEvent[2];
        ShortMessage shortMessage = new ShortMessage();
        shortMessage.setMessage(ShortMessage.NOTE_ON,
                                midiChannel,
                                pitch,
                                velocity);
//Debug.println("note: " + channel + ": " + pitch);
        events[0] = new MidiEvent(shortMessage, context.getCurrentTick());

        shortMessage = new ShortMessage();
        shortMessage.setMessage(ShortMessage.NOTE_OFF,
                                midiChannel,
                                pitch,
                                0);
        events[1] = new MidiEvent(shortMessage, context.getCurrentTick() + length);
View Full Code Here

     * TODO ���̉��܂ŗ]�T����������L�΂��āA����������؂�H(������)
     */
    public SmafEvent[] getSmafEvents(MidiEvent midiEvent, SmafContext context)
        throws InvalidSmafDataException {

        ShortMessage shortMessage = (ShortMessage) midiEvent.getMessage();
        int channel = shortMessage.getChannel();
        int command = shortMessage.getCommand();
        int data1 = shortMessage.getData1();
        int data2 = shortMessage.getData2();
//Debug.println(midiEvent.getTick() + ", " + channel + ", " + command + ", " + (context.retrievePitch(channel, data1) + 45) + ", " + (data2 / 2));

        if (command == ShortMessage.NOTE_OFF ||
            // note on �� velocity 0 �̏ꍇ
            (command == ShortMessage.NOTE_ON && data2 == 0)) {
View Full Code Here

            return null;
        } else {
            int midiChannel = context.retrieveChannel(this.channel);

            MidiEvent[] events = new MidiEvent[1];
          ShortMessage shortMessage = new ShortMessage();
          shortMessage.setMessage(ShortMessage.CONTROL_CHANGE,
                                    midiChannel,
                            7// ���C���{�����[�� MSB
                            volume);
          events[0] = new MidiEvent(shortMessage, context.getCurrentTick());
            return events;
View Full Code Here

    /** */
    public SmafEvent[] getSmafEvents(MidiEvent midiEvent, SmafContext context)
        throws InvalidSmafDataException {

        ShortMessage shortMessage = (ShortMessage) midiEvent.getMessage();
        int channel = shortMessage.getChannel();
        int data2 = shortMessage.getData2();

        int track = context.retrieveSmafTrack(channel);
        int voice = context.retrieveVoice(channel);

        VolumeMessage smafMessage = new VolumeMessage();
View Full Code Here

        if (context.getFormatType() == FormatType.HandyPhoneStandard &&
            context.getDrum(this.channel) == ChannelConfiguration.PERCUSSION &&
            context.getSmafTrackNumber() * 4 + this.channel != MidiContext.CHANNEL_DRUM) {
            return null;
        } else {
            ShortMessage shortMessage = new ShortMessage();
            shortMessage.setMessage(ShortMessage.PROGRAM_CHANGE,
                                    midiChannel,
                                    program,
                                    0);
            return new MidiEvent[] {
                new MidiEvent(shortMessage, context.getCurrentTick())
View Full Code Here

    /** TODO */
    public SmafEvent[] getSmafEvents(MidiEvent midiEvent, SmafContext context)
        throws InvalidSmafDataException {

        ShortMessage shortMessage = (ShortMessage) midiEvent.getMessage();
        int channel = shortMessage.getChannel();
        int data1 = shortMessage.getData1();

        int track = context.retrieveSmafTrack(channel);
        int voice = context.retrieveVoice(channel);

        ProgramChangeMessage changeVoiceMessage = new ProgramChangeMessage();
View Full Code Here

TOP

Related Classes of javax.sound.midi.ShortMessage

Copyright © 2018 www.massapicom. 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.