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 17 java.desktop.jmod - Desktop Module
JDK 17 java.desktop.jmod is the JMOD file for JDK 17 Desktop module.
JDK 17 Desktop module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\java.desktop.jmod.
JDK 17 Desktop module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Desktop module source code files are stored in \fyicenter\jdk-17.0.5\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/ModelStandardIndexedDirector.java
/* * Copyright (c) 2010, 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.util.Arrays; /** * A standard indexed director who chooses performers * by there keyfrom,keyto,velfrom,velto properties. * * @author Karl Helgason */ public final class ModelStandardIndexedDirector implements ModelDirector { private final ModelPerformer[] performers; private final ModelDirectedPlayer player; private boolean noteOnUsed = false; private boolean noteOffUsed = false; // Variables needed for index private byte[][] trantables; private int[] counters; private int[][] mat; public ModelStandardIndexedDirector(final ModelPerformer[] performers, final ModelDirectedPlayer player) { this.performers = Arrays.copyOf(performers, performers.length); this.player = player; for (final ModelPerformer p : this.performers) { if (p.isReleaseTriggered()) { noteOffUsed = true; } else { noteOnUsed = true; } } buildindex(); } private int[] lookupIndex(int x, int y) { if ((x >= 0) && (x < 128) && (y >= 0) && (y < 128)) { int xt = trantables[0][x]; int yt = trantables[1][y]; if (xt != -1 && yt != -1) { return mat[xt + yt * counters[0]]; } } return null; } private int restrict(int value) { if(value < 0) return 0; if(value > 127) return 127; return value; } private void buildindex() { trantables = new byte[2][129]; counters = new int[trantables.length]; for (ModelPerformer performer : performers) { int keyFrom = performer.getKeyFrom(); int keyTo = performer.getKeyTo(); int velFrom = performer.getVelFrom(); int velTo = performer.getVelTo(); if (keyFrom > keyTo) continue; if (velFrom > velTo) continue; keyFrom = restrict(keyFrom); keyTo = restrict(keyTo); velFrom = restrict(velFrom); velTo = restrict(velTo); trantables[0][keyFrom] = 1; trantables[0][keyTo + 1] = 1; trantables[1][velFrom] = 1; trantables[1][velTo + 1] = 1; } for (int d = 0; d < trantables.length; d++) { byte[] trantable = trantables[d]; int transize = trantable.length; for (int i = transize - 1; i >= 0; i--) { if (trantable[i] == 1) { trantable[i] = -1; break; } trantable[i] = -1; } int counter = -1; for (int i = 0; i < transize; i++) { if (trantable[i] != 0) { counter++; if (trantable[i] == -1) break; } trantable[i] = (byte) counter; } counters[d] = counter; } mat = new int[counters[0] * counters[1]][]; int ix = 0; for (ModelPerformer performer : performers) { int keyFrom = performer.getKeyFrom(); int keyTo = performer.getKeyTo(); int velFrom = performer.getVelFrom(); int velTo = performer.getVelTo(); if (keyFrom > keyTo) continue; if (velFrom > velTo) continue; keyFrom = restrict(keyFrom); keyTo = restrict(keyTo); velFrom = restrict(velFrom); velTo = restrict(velTo); int x_from = trantables[0][keyFrom]; int x_to = trantables[0][keyTo + 1]; int y_from = trantables[1][velFrom]; int y_to = trantables[1][velTo + 1]; if (x_to == -1) x_to = counters[0]; if (y_to == -1) y_to = counters[1]; for (int y = y_from; y < y_to; y++) { int i = x_from + y * counters[0]; for (int x = x_from; x < x_to; x++) { int[] mprev = mat[i]; if (mprev == null) { mat[i] = new int[] { ix }; } else { int[] mnew = new int[mprev.length + 1]; mnew[mnew.length - 1] = ix; for (int k = 0; k < mprev.length; k++) mnew[k] = mprev[k]; mat[i] = mnew; } i++; } } ix++; } } @Override public void close() { } @Override public void noteOff(int noteNumber, int velocity) { if (!noteOffUsed) return; int[] plist = lookupIndex(noteNumber, velocity); if(plist == null) return; for (int i : plist) { ModelPerformer p = performers[i]; if (p.isReleaseTriggered()) { player.play(i, null); } } } @Override public void noteOn(int noteNumber, int velocity) { if (!noteOnUsed) return; int[] plist = lookupIndex(noteNumber, velocity); if(plist == null) return; for (int i : plist) { ModelPerformer p = performers[i]; if (!p.isReleaseTriggered()) { player.play(i, null); } } } }
⏎ com/sun/media/sound/ModelStandardIndexedDirector.java
Or download all of them as a single archive file:
File name: java.desktop-17.0.5-src.zip File size: 9152233 bytes Release date: 2022-09-13 Download
⇒ JDK 17 java.instrument.jmod - Instrument Module
2023-09-16, 33422👍, 0💬
Popular Posts:
JDK 11 java.base.jmod is the JMOD file for JDK 11 Base module. JDK 11 Base module compiled class fil...
What is the sax\Counter.java provided in the Apache Xerces package? I have Apache Xerces 2.11.0 inst...
The Jakarta-ORO Java classes are a set of text-processing Java classes that provide Perl5 compatible...
itextpdf.jar is a component in iText 5 Java library to provide core functionalities. iText Java libr...
JLayer is a library that decodes/plays/converts MPEG 1/2/2.5 Layer 1/2/3 (i.e. MP3) in real time for...