Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
JDK 11 java.desktop.jmod - Desktop Module
JDK 11 java.desktop.jmod is the JMOD file for JDK 11 Desktop module.
JDK 11 Desktop module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\java.desktop.jmod.
JDK 11 Desktop module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Desktop module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\java.desktop.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ com/sun/media/sound/MidiInDevice.java
/*
* Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package com.sun.media.sound;
import javax.sound.midi.MidiUnavailableException;
import javax.sound.midi.Transmitter;
/**
* MidiInDevice class representing functionality of MidiIn devices.
*
* @author David Rivas
* @author Kara Kytle
* @author Florian Bomers
*/
final class MidiInDevice extends AbstractMidiDevice implements Runnable {
private volatile Thread midiInThread;
MidiInDevice(AbstractMidiDeviceProvider.Info info) {
super(info);
if(Printer.trace) Printer.trace("MidiInDevice CONSTRUCTOR");
}
// $$kk: 06.24.99: i have this both opening and starting the midi in device.
// may want to separate these??
@Override
protected synchronized void implOpen() throws MidiUnavailableException {
if (Printer.trace) Printer.trace("> MidiInDevice: implOpen()");
int index = ((MidiInDeviceProvider.MidiInDeviceInfo)getDeviceInfo()).getIndex();
id = nOpen(index); // can throw MidiUnavailableException
if (id == 0) {
throw new MidiUnavailableException("Unable to open native device");
}
// create / start a thread to get messages
if (midiInThread == null) {
midiInThread = JSSecurityManager.createThread(this,
"Java Sound MidiInDevice Thread", // name
false, // daemon
-1, // priority
true); // doStart
}
nStart(id); // can throw MidiUnavailableException
if (Printer.trace) Printer.trace("< MidiInDevice: implOpen() completed");
}
// $$kk: 06.24.99: i have this both stopping and closing the midi in device.
// may want to separate these??
@Override
protected synchronized void implClose() {
if (Printer.trace) Printer.trace("> MidiInDevice: implClose()");
long oldId = id;
id = 0;
super.implClose();
// close the device
nStop(oldId);
if (midiInThread != null) {
try {
midiInThread.join(1000);
} catch (InterruptedException e) {
// IGNORE EXCEPTION
}
}
nClose(oldId);
if (Printer.trace) Printer.trace("< MidiInDevice: implClose() completed");
}
@Override
public long getMicrosecondPosition() {
long timestamp = -1;
if (isOpen()) {
timestamp = nGetTimeStamp(id);
}
return timestamp;
}
// OVERRIDES OF ABSTRACT MIDI DEVICE METHODS
@Override
protected boolean hasTransmitters() {
return true;
}
@Override
protected Transmitter createTransmitter() {
return new MidiInTransmitter();
}
/**
* An own class to distinguish the class name from
* the transmitter of other devices.
*/
private final class MidiInTransmitter extends BasicTransmitter {
private MidiInTransmitter() {
super();
}
}
@Override
public void run() {
// while the device is started, keep trying to get messages.
// this thread returns from native code whenever stop() or close() is called
while (id!=0) {
// go into native code and retrieve messages
nGetMessages(id);
if (id!=0) {
try {
Thread.sleep(1);
} catch (InterruptedException e) {}
}
}
if(Printer.verbose) Printer.verbose("MidiInDevice Thread exit");
// let the thread exit
midiInThread = null;
}
/**
* Callback from native code when a short MIDI event is received from hardware.
* @param packedMsg: status | data1 << 8 | data2 << 8
* @param timeStamp time-stamp in microseconds
*/
void callbackShortMessage(int packedMsg, long timeStamp) {
if (packedMsg == 0 || id == 0) {
return;
}
/*if(Printer.verbose) {
int status = packedMsg & 0xFF;
int data1 = (packedMsg & 0xFF00)>>8;
int data2 = (packedMsg & 0xFF0000)>>16;
Printer.verbose(">> MidiInDevice callbackShortMessage: status: " + status + " data1: " + data1 + " data2: " + data2 + " timeStamp: " + timeStamp);
}*/
getTransmitterList().sendMessage(packedMsg, timeStamp);
}
void callbackLongMessage(byte[] data, long timeStamp) {
if (id == 0 || data == null) {
return;
}
getTransmitterList().sendMessage(data, timeStamp);
}
private native long nOpen(int index) throws MidiUnavailableException;
private native void nClose(long id);
private native void nStart(long id) throws MidiUnavailableException;
private native void nStop(long id);
private native long nGetTimeStamp(long id);
// go into native code and get messages. May be blocking
private native void nGetMessages(long id);
}
⏎ com/sun/media/sound/MidiInDevice.java
Or download all of them as a single archive file:
File name: java.desktop-11.0.1-src.zip File size: 7974380 bytes Release date: 2018-11-04 Download
⇒ JDK 11 java.instrument.jmod - Instrument Module
2022-08-06, ≈839🔥, 5💬
Popular Posts:
Apache Commons Lang 3 is the 3rd version of Apache Commons Lang, which provides a host of helper uti...
commons-net-1.4.1.jar is the JAR file for Apache Commons Net 1.4.1, which implements the client side...
HttpComponents Client Source Code Files are provided in the source package file, httpcomponents-clie...
Where to get the Java source code for Connector/J 8.0 Core Impl module? Java source code files for C...
If you are a Java developer, it is very often that you need to use some 3rd party libraries to perfo...