for (int i=0; i < track.size(); i++) { MidiEvent event = track.get(i); System.out.print("@" + event.getTick() + " "); MidiMessage message = event.getMessage(); if (message instanceof ShortMessage) { ShortMessage sm = (ShortMessage) message;
for (int ii = 0; ii < track.size(); ii++) { MidiEvent me = track.get(ii); MidiMessage mm = me.getMessage(); if (mm instanceof ShortMessage) { ShortMessage sm = (ShortMessage) mm; int l = (b == null ? 0 : b.length); MetaMessage metaMessage = new MetaMessage(com, b, l); MidiEvent me2 = new MidiEvent(metaMessage, me.getTick()); trk.add(me2);
xhtml.startElement("p"); for (int i = 0; i < track.size(); i++) { MidiMessage message = track.get(i).getMessage(); if (message instanceof MetaMessage) { MetaMessage meta = (MetaMessage) message;
/** Returns the corresponding midi events for a tempo change. */ public MidiEvent[] getMidiEventsFor(Tempo tempo, long lastPosInTicks) throws InvalidMidiDataException { TempoMessage mt = new TempoMessage(tempo); MidiEvent me = new MidiEvent(mt,lastPosInTicks); MidiEvent[] events = null;//{me, new MidiEvent(new TempoMessageWA(), lastPosInTicks)}; return events; }
for (int ii = 0; ii < track.size(); ii++) { MidiEvent me = track.get(ii); MidiMessage mm = me.getMessage(); if (mm instanceof ShortMessage) { ShortMessage sm = (ShortMessage) mm; b, l); MidiEvent me2 = new MidiEvent(metaMessage, me.getTick()); trk.add(me2);
xhtml.startElement("p"); for (int i = 0; i < track.size(); i++) { MidiMessage message = track.get(i).getMessage(); if (message instanceof MetaMessage) { MetaMessage meta = (MetaMessage) message;
private void addTempoEventsFor(Track track, long timeReference, MidiMessage[] messages) { for (int i=0; i<messages.length; i++) { MidiEvent me = new MidiEvent(messages[i], timeReference); //MidiEvent[] events = {me, new MidiEvent(new TempoMessageWA(), timeReference)}; addEventsToTrack(track, me); } }
public void analyzeTracks() { Track[] tracks = mySequence.getTracks(); getLogger().info("My seq has {} tracks: {}", tracks.length, tracks); for (int tidx = 0; tidx < tracks.length; tidx++) { Track tr = tracks[tidx]; long tickCount = tr.ticks(); int eventCount = tr.size(); getLogger().info("Track[{}] has {} events and {} ticks", tidx, eventCount, tickCount); for(int eidx = 0; eidx < 8; eidx++) { if (eidx >= eventCount) { break; } MidiEvent mev = tr.get(eidx); long evTick = mev.getTick(); MidiMessage msg = mev.getMessage(); getLogger().info("Event[{}] at tick={} has msg={}", eidx, evTick, msg); } } } private void listenForSeqrEvents(final Sequencer seqr) throws Throwable {
xhtml.startElement("p"); for (int i = 0; i < track.size(); i++) { MidiMessage message = track.get(i).getMessage(); if (message instanceof MetaMessage) { MetaMessage meta = (MetaMessage) message;
private static void addNoteOnEventsFor(Track track, long timeReference, MidiMessage[] messages) { MidiMessage myNoteOn = messages[0]; MidiEvent[] events = new MidiEvent[1]; events[0] = new MidiEvent(myNoteOn,timeReference); addEventsToTrack(track, events); }
if (previousEvent != null) lTickDelta = event.getTick() - previousEvent.getTick(); MidiMessage message = event.getMessage();
private void addNoteOffEventsFor(Track track, long timeReference, MidiMessage[] messages) { MidiMessage myNoteOn = messages[0]; MidiEvent[] events = new MidiEvent[1]; events[0] = new MidiEvent(myNoteOn,timeReference); addEventsToTrack(track, events); }
for(int j=0;j<S.getTracks().length;j++){ if(playheads[j]==S.getTracks()[j].size()){playheads[j]=0;}; while(playheads[j]<S.getTracks()[j].size() && S.getTracks()[j].get(playheads[j]).getTick()==counter){ message_buffer.add(S.getTracks()[j].get(playheads[j]).getMessage()); playheads[j]=playheads[j]+1;
/** * We assume that we are holding the "this" monitor */ private void addStopEvent(int note) throws InvalidMidiDataException { assert Thread.holdsLock(this); ShortMessage message = new ShortMessage(); message.setMessage(ShortMessage.NOTE_OFF, 0, note, 0); track.add(new MidiEvent(message, pos)); } }
/** * We assume that we are holding the "this" monitor */ private void addStartEvent(int note) throws InvalidMidiDataException { assert Thread.holdsLock(this); ShortMessage message = new ShortMessage(); message.setMessage(ShortMessage.NOTE_ON, 0, note, volume()); track.add(new MidiEvent(message, pos)); }
protected void playMultiNote(MultiNote multiNote, int indexInScore, KeySignature currentKey, long reference, Track track, Music staff) throws InvalidMidiDataException { //System.out.println("play multiNote " + multiNote); //MidiEvent[] array = {new MidiEvent(new NotationMarkerMessage((PositionableInCharStream)multiNote), reference)}; MidiEvent[] array = {new MidiEvent(new NoteIndexMessage(indexInScore), reference)}; addEventsToTrack(track, array); super.playMultiNote(multiNote, indexInScore, currentKey, reference, track, staff); }
private static MidiEvent createNoteEvent(int nCommand, int nKey, int nVelocity, long lTick) { ShortMessage message = new ShortMessage(); try { message.setMessage(nCommand, 0, // always on channel 1 nKey, nVelocity); } catch (InvalidMidiDataException e) { e.printStackTrace(); return null; } MidiEvent event = new MidiEvent(message, lTick); return event; }
protected void playNote(Note note, int indexInScore, KeySignature currentKey, long reference, long duration, Track track) throws InvalidMidiDataException { //System.out.println("play note " + note); //MidiEvent[] array = {new MidiEvent(new NotationMarkerMessage((PositionableInCharStream)note), reference)}; MidiEvent[] array = {new MidiEvent(new NoteIndexMessage(indexInScore), reference)}; addEventsToTrack(track, array); super.playNote(note, indexInScore, currentKey, reference, duration, track); }