for (Track track : sequence.getTracks()) { trackNumber++; System.out.println("Track " + trackNumber + ": size = " + track.size());
Sequence sequence = MidiSystem.getSequence(stream); Track[] tracks = sequence.getTracks(); metadata.set("tracks", String.valueOf(tracks.length)); Patch[] patches = sequence.getPatchList(); metadata.set("patches", String.valueOf(patches.length)); float type = sequence.getDivisionType(); if (type == Sequence.PPQ) { metadata.set("divisionType", "PPQ");
public Sequence getSequence(InputStream inputStream) throws InvalidMidiDataException, IOException { MidiFileFormat midiFileFormat = getMidiFileFormat(inputStream); Sequence sequence = new Sequence( midiFileFormat.getDivisionType(), midiFileFormat.getResolution()); DataInputStream dataInputStream = new DataInputStream(inputStream); int nNumTracks = ((TMidiFileFormat) midiFileFormat).getTrackCount(); for (int nTrack = 0; nTrack < nNumTracks; nTrack++) { Track track = sequence.createTrack(); readTrack(dataInputStream, track); } return sequence; }
JOptionPane.OK_CANCEL_OPTION); if (mirror == JOptionPane.OK_OPTION) { Track[] tracks = sequence.getTracks(); Track trk = sequence.createTrack(); for (Track track : tracks) { addNotesToTrack(track, trk);
Track[] aTracks = sequence.getTracks(); DataOutputStream dataOutputStream = new DataOutputStream(outputStream); dataOutputStream.writeInt(MidiConstants.HEADER_MAGIC); dataOutputStream.writeShort(nFileType); dataOutputStream.writeShort(aTracks.length); float fDivisionType = sequence.getDivisionType(); int nResolution = sequence.getResolution(); int nDivision = 0; if (fDivisionType == Sequence.PPQ)
sequencer=MidiSystem.getSequencer(); sequencer.open(); sequence=new Sequence(Sequence.PPQ,4); track=sequence.createTrack();sequencer.setTempoInBPM(120); int[] trackList=null; sequence.deleteTrack(track); track=sequence.createTrack();
// Open a connection to your input device inputDevice.open(); // Open a connection to the default sequencer (as specified by MidiSystem) sequencer.open(); // Get the transmitter class from your input device transmitter = inputDevice.getTransmitter(); // Get the receiver class from your sequencer receiver = sequencer.getReceiver(); // Bind the transmitter to the receiver so the receiver gets input from the transmitter transmitter.setReceiver(receiver); // Create a new sequence Sequence seq = new Sequence(Sequence.PPQ, 24); // And of course a track to record the input on Track currentTrack = seq.createTrack(); // Do some sequencer settings sequencer.setSequence(seq); sequencer.setTickPosition(0); sequencer.recordEnable(currentTrack, -1); // And start recording sequencer.startRecording();
Sequence sequence = new Sequence("Unspecified", result); ArrayList<Contig> contigs = sequence.getReadingFrames();
@Nonnull @Override public Duration getDuration() { return Duration.ofNanos(TimeUnit.MICROSECONDS.toNanos(sequence.getMicrosecondLength())); }
public long getTickLength() { long lLength = 0; if (getSequence() != null) { lLength = getSequence().getTickLength(); } return lLength; }
/** Returns the resolution (ticks per quarter) of the current sequence. If no sequence is set, a bogus default value != 0 is returned. */ protected int getResolution() { Sequence sequence = getSequence(); int nResolution; if (sequence != null) { nResolution = sequence.getResolution(); } else { nResolution = 1; } return nResolution; }
/** * @param key is the note that this starts with. 60 is middle C. * @param tempo is measured in beats per second */ public OldSong(int key, int tempo, int resolution) throws MidiUnavailableException, InvalidMidiDataException { this.resolution = resolution; Sequence sequence = new Sequence(Sequence.PPQ, resolution); track = sequence.createTrack(); makeSong(key); sequencer = MidiSystem.getSequencer(); sequencer.open(); sequencer.setSequence(sequence); sequencer.setTempoInBPM(tempo); }
throws InvalidMidiDataException, IOException { Sequence sequence = MidiSystem.getSequence(is); Track[] tracks = sequence.getTracks(); Track trk = sequence.createTrack(); for (Track track : tracks) { addNotesToTrack(track, trk);
Perhaps you could use the midi class too: Sequencer sequencer = MidiSystem.getSequencer(); sequencer.open(); Sequence sequence = new Sequence(Sequence.PPQ,4); Track track = sequence.createTrack(); ShortMessage a = new ShortMessage(); a.setMessage(144,9,56,100); MidiEvent event = new MidiEvent(a, 1); track.add(event); sequencer.setSequence(sequence); sequencer.start(); Thread.sleep(500); sequencer.close();
public long getMicrosecondLength() { long lLength = 0; if (getSequence() != null) { lLength = getSequence().getMicrosecondLength(); } return lLength; }
public long getTickLength() { long lLength = 0; if (getSequence() != null) { lLength = getSequence().getTickLength(); } return lLength; }
/** Returns the resolution (ticks per quarter) of the current sequence. If no sequence is set, a bogus default value != 0 is returned. */ protected int getResolution() { Sequence sequence = getSequence(); int nResolution; if (sequence != null) { nResolution = sequence.getResolution(); } else { nResolution = 1; } return nResolution; }
Sequence sequence = null; try { sequence = new Sequence(Sequence.SMPTE_30, 2); Track track = sequence.createTrack(); int note = 40; for (int tick = 0; tick < 215;) {
/** Return the supported MIDI file types for a given Sequence. This writer supports Standard MIDI File (SMF) types 0 and 1. Depending on the Sequence, either 0 or 1 is returned. @return and array of supported SMF types. It contains 0 if the Sequence has one track, 1 otherwise. */ public int[] getMidiFileTypes(Sequence sequence) { Track[] tracks = sequence.getTracks(); if (tracks.length == 1) { return new int[]{0}; } else { return new int[]{1}; } }
Sequence sequence = MidiSystem.getSequence(stream); Track[] tracks = sequence.getTracks(); metadata.set("tracks", String.valueOf(tracks.length)); Patch[] patches = sequence.getPatchList(); metadata.set("patches", String.valueOf(patches.length)); float type = sequence.getDivisionType(); if (type == Sequence.PPQ) { metadata.set("divisionType", "PPQ");