Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
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 (309)
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, 163484👍, 5💬
Popular Posts:
ANTLR is a powerful parser generator for multiple programming languages including Java. ANTLR contai...
xml-commons Resolver Source Code Files are provided in the source package file, xml-commons-resolver...
Apache Avalon began in 1999 as the Java Apache Server Framework and in late 2002 separated from the ...
JDOM provides a solution for using XML from Java that is as simple as Java itself. There is no compe...
What Is XMLBeans xbean.jar 2.6.0? XMLBeans xbean.jar 2.6.0 is the JAR file for Apache XMLBeans 2.6.0...