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/SoftMixingMainMixer.java
/*
* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package com.sun.media.sound;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
/**
* Main mixer for SoftMixingMixer.
*
* @author Karl Helgason
*/
public final class SoftMixingMainMixer {
public static final int CHANNEL_LEFT = 0;
public static final int CHANNEL_RIGHT = 1;
public static final int CHANNEL_EFFECT1 = 2;
public static final int CHANNEL_EFFECT2 = 3;
public static final int CHANNEL_EFFECT3 = 4;
public static final int CHANNEL_EFFECT4 = 5;
public static final int CHANNEL_LEFT_DRY = 10;
public static final int CHANNEL_RIGHT_DRY = 11;
public static final int CHANNEL_SCRATCH1 = 12;
public static final int CHANNEL_SCRATCH2 = 13;
public static final int CHANNEL_CHANNELMIXER_LEFT = 14;
public static final int CHANNEL_CHANNELMIXER_RIGHT = 15;
private final SoftMixingMixer mixer;
private final AudioInputStream ais;
private final SoftAudioBuffer[] buffers;
private final SoftAudioProcessor reverb;
private final SoftAudioProcessor chorus;
private final SoftAudioProcessor agc;
private final int nrofchannels;
private final Object control_mutex;
private final List<SoftMixingDataLine> openLinesList = new ArrayList<>();
private SoftMixingDataLine[] openLines = new SoftMixingDataLine[0];
public AudioInputStream getInputStream() {
return ais;
}
void processAudioBuffers() {
for (int i = 0; i < buffers.length; i++) {
buffers[i].clear();
}
SoftMixingDataLine[] openLines;
synchronized (control_mutex) {
openLines = this.openLines;
for (int i = 0; i < openLines.length; i++) {
openLines[i].processControlLogic();
}
chorus.processControlLogic();
reverb.processControlLogic();
agc.processControlLogic();
}
for (int i = 0; i < openLines.length; i++) {
openLines[i].processAudioLogic(buffers);
}
chorus.processAudio();
reverb.processAudio();
agc.processAudio();
}
public SoftMixingMainMixer(SoftMixingMixer mixer) {
this.mixer = mixer;
nrofchannels = mixer.getFormat().getChannels();
int buffersize = (int) (mixer.getFormat().getSampleRate() / mixer
.getControlRate());
control_mutex = mixer.control_mutex;
buffers = new SoftAudioBuffer[16];
for (int i = 0; i < buffers.length; i++) {
buffers[i] = new SoftAudioBuffer(buffersize, mixer.getFormat());
}
reverb = new SoftReverb();
chorus = new SoftChorus();
agc = new SoftLimiter();
float samplerate = mixer.getFormat().getSampleRate();
float controlrate = mixer.getControlRate();
reverb.init(samplerate, controlrate);
chorus.init(samplerate, controlrate);
agc.init(samplerate, controlrate);
reverb.setMixMode(true);
chorus.setMixMode(true);
agc.setMixMode(false);
chorus.setInput(0, buffers[CHANNEL_EFFECT2]);
chorus.setOutput(0, buffers[CHANNEL_LEFT]);
if (nrofchannels != 1)
chorus.setOutput(1, buffers[CHANNEL_RIGHT]);
chorus.setOutput(2, buffers[CHANNEL_EFFECT1]);
reverb.setInput(0, buffers[CHANNEL_EFFECT1]);
reverb.setOutput(0, buffers[CHANNEL_LEFT]);
if (nrofchannels != 1)
reverb.setOutput(1, buffers[CHANNEL_RIGHT]);
agc.setInput(0, buffers[CHANNEL_LEFT]);
if (nrofchannels != 1)
agc.setInput(1, buffers[CHANNEL_RIGHT]);
agc.setOutput(0, buffers[CHANNEL_LEFT]);
if (nrofchannels != 1)
agc.setOutput(1, buffers[CHANNEL_RIGHT]);
InputStream in = new InputStream() {
private final SoftAudioBuffer[] buffers = SoftMixingMainMixer.this.buffers;
private final int nrofchannels = SoftMixingMainMixer.this.mixer
.getFormat().getChannels();
private final int buffersize = buffers[0].getSize();
private final byte[] bbuffer = new byte[buffersize
* (SoftMixingMainMixer.this.mixer.getFormat()
.getSampleSizeInBits() / 8) * nrofchannels];
private int bbuffer_pos = 0;
private final byte[] single = new byte[1];
public void fillBuffer() {
processAudioBuffers();
for (int i = 0; i < nrofchannels; i++)
buffers[i].get(bbuffer, i);
bbuffer_pos = 0;
}
@Override
public int read(byte[] b, int off, int len) {
int bbuffer_len = bbuffer.length;
int offlen = off + len;
byte[] bbuffer = this.bbuffer;
while (off < offlen)
if (available() == 0)
fillBuffer();
else {
int bbuffer_pos = this.bbuffer_pos;
while (off < offlen && bbuffer_pos < bbuffer_len)
b[off++] = bbuffer[bbuffer_pos++];
this.bbuffer_pos = bbuffer_pos;
}
return len;
}
@Override
public int read() throws IOException {
int ret = read(single);
if (ret == -1)
return -1;
return single[0] & 0xFF;
}
@Override
public int available() {
return bbuffer.length - bbuffer_pos;
}
@Override
public void close() {
SoftMixingMainMixer.this.mixer.close();
}
};
ais = new AudioInputStream(in, mixer.getFormat(),
AudioSystem.NOT_SPECIFIED);
}
public void openLine(SoftMixingDataLine line) {
synchronized (control_mutex) {
openLinesList.add(line);
openLines = openLinesList
.toArray(new SoftMixingDataLine[openLinesList.size()]);
}
}
public void closeLine(SoftMixingDataLine line) {
synchronized (control_mutex) {
openLinesList.remove(line);
openLines = openLinesList
.toArray(new SoftMixingDataLine[openLinesList.size()]);
if (openLines.length == 0)
if (mixer.implicitOpen)
mixer.close();
}
}
public SoftMixingDataLine[] getOpenLines() {
synchronized (control_mutex) {
return openLines;
}
}
public void close() {
SoftMixingDataLine[] openLines = this.openLines;
for (int i = 0; i < openLines.length; i++) {
openLines[i].close();
}
}
}
⏎ com/sun/media/sound/SoftMixingMainMixer.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, ≈826🔥, 5💬
Popular Posts:
JDK 8 jconsole.jar is the JAR file for JDK 8 JConsole, which is a graphical monitoring tool to monit...
What Is jms.jar? I heard it's related to JMS (Java Message Service) 1.1? The if you have an jms.jar ...
JDK 11 jdk.internal.vm.ci.jmod is the JMOD file for JDK 11 Internal VM CI module. JDK 11 Internal VM...
How to download and install ojdbc5.jar for Oracle 11g R1? ojdbc5.jar for Oracle 11g R1 is a Java 5 J...
ANTLR is a powerful parser generator for multiple programming languages including Java. ANTLR contai...