Examples of MidiEvent


Examples of javax.sound.midi.MidiEvent

//Debug.println("Expression: [" + duration + "] " + channel + "ch, " + volume);
        shortMessage.setMessage(ShortMessage.CONTROL_CHANGE,
                                midiChannel,
                                11// �G�N�X�v���b�V���� MSB
                                volume);
        events[0] = new MidiEvent(shortMessage, context.getCurrentTick());
        return events;
    }
View Full Code Here

Examples of javax.sound.midi.MidiEvent

        metaMessage.setMessage(MidiConstants.META_NAME,    // �V�[�P���X��/�g���b�N��
                               getData(),
                               getDataLength());

        return new MidiEvent[] {
            new MidiEvent(metaMessage, context.getCurrent())
        };
    }
View Full Code Here

Examples of javax.sound.midi.MidiEvent

     */
    public SmafEvent[] getIntervalSmafEvents() {

        int interval = 0;
        int track = 0;
        MidiEvent midiEvent = midiTrack.get(midiEventIndex);

        MidiMessage midiMessage = midiEvent.getMessage();
        if (midiMessage instanceof ShortMessage) {
            // note
            ShortMessage shortMessage = (ShortMessage) midiMessage;
            int channel = shortMessage.getChannel();

            track = retrieveSmafTrack(channel);
            interval = retrieveDelta(track, midiEvent.getTick());
        } else if (midiMessage instanceof MetaMessage && ((MetaMessage) midiMessage).getType() == 81) {
            // tempo
            track = smafTrackNumber;
            interval = retrieveDelta(track, midiEvent.getTick());
Debug.println("interval for tempo[" + smafTrackNumber + "]: " + interval);
        } else if (midiMessage instanceof MetaMessage && ((MetaMessage) midiMessage).getType() == 47) {
            // eot
            track = smafTrackNumber;
            interval = retrieveDelta(track, midiEvent.getTick());
Debug.println("interval for EOT[" + smafTrackNumber + "]: " + interval);
        } else if (midiMessage instanceof SysexMessage) {
            return null;
        } else {
Debug.println(Level.WARNING, "not supported message: " + midiMessage);
View Full Code Here

Examples of javax.sound.midi.MidiEvent

     * �Ԃ��悤�ɂ��Ă����ĉ������B
     */
    public int getDuration() {

        int delta = 0;
        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
Debug.println("delta for tempo[" + smafTrackNumber + "]: " + delta);
        } else {
Debug.println("no delta defined for: " + midiMessage);
        }

View Full Code Here

Examples of javax.sound.midi.MidiEvent

     */
    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) {
View Full Code Here

Examples of javax.sound.midi.MidiEvent

     */
    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) {

View Full Code Here

Examples of javax.sound.midi.MidiEvent

        metaMessage.setMessage(MidiConstants.META_TEXT_EVENT, // �e�L�X�g
                               getData(),
                               getDataLength());

        return new MidiEvent[] {
            new MidiEvent(metaMessage, context.getCurrent())
        };
    }
View Full Code Here

Examples of javax.sound.midi.MidiEvent

        MetaMessage metaMessage = new MetaMessage();
        metaMessage.setMessage(MidiConstants.META_NAME,
                               data,
                               data.length);
        return new MidiEvent[] {
            new MidiEvent(metaMessage, 0)
        };
    }
View Full Code Here

Examples of javax.sound.midi.MidiEvent

        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);

        return events;
    }
View Full Code Here

Examples of javax.sound.midi.MidiEvent

            }

            return null;
        } else /* if (command == ShortMessage.NOTE_ON) */ {

            MidiEvent noteOffEvent = null;

            try {
                noteOffEvent = context.getNoteOffMidiEvent();
            } catch (NoSuchElementException e) {
Debug.println(Level.WARNING, "[" + context.getMidiEventIndex() + "] no pair of OFF for: " + channel + "ch, " + data1);
                return null;
            }

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

            double scale = context.getScale();

            long currentTick = midiEvent.getTick();
            long noteOffTick = noteOffEvent.getTick();
            int length = (int) Math.round((noteOffTick - currentTick) / scale);

            int delta = context.getDuration();

            int onLength = (length + 254) / 255;
View Full Code Here
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.