< prev index next >

src/java.desktop/share/classes/com/sun/media/sound/SoftMainMixer.java

Print this page

        

*** 20,38 **** * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ package com.sun.media.sound; import java.io.IOException; import java.io.InputStream; import java.util.HashSet; import java.util.Iterator; import java.util.Set; import java.util.TreeMap; - import java.util.Map.Entry; import javax.sound.midi.MidiMessage; import javax.sound.midi.Patch; import javax.sound.midi.ShortMessage; import javax.sound.sampled.AudioInputStream; --- 20,39 ---- * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ + package com.sun.media.sound; import java.io.IOException; import java.io.InputStream; import java.util.HashSet; import java.util.Iterator; + import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap; import javax.sound.midi.MidiMessage; import javax.sound.midi.Patch; import javax.sound.midi.ShortMessage; import javax.sound.sampled.AudioInputStream;
*** 72,111 **** private boolean pusher_silent = false; private int pusher_silent_count = 0; private long sample_pos = 0; boolean readfully = true; private final Object control_mutex; ! private SoftSynthesizer synth; private float samplerate = 44100; private int nrofchannels = 2; private SoftVoice[] voicestatus = null; ! private SoftAudioBuffer[] buffers; ! private SoftReverb reverb; ! private SoftAudioProcessor chorus; ! private SoftAudioProcessor agc; private long msec_buffer_len = 0; private int buffer_len = 0; ! TreeMap<Long, Object> midimessages = new TreeMap<Long, Object>(); private int delay_midievent = 0; private int max_delay_midievent = 0; double last_volume_left = 1.0; double last_volume_right = 1.0; ! private double[] co_master_balance = new double[1]; ! private double[] co_master_volume = new double[1]; ! private double[] co_master_coarse_tuning = new double[1]; ! private double[] co_master_fine_tuning = new double[1]; ! private AudioInputStream ais; private Set<SoftChannelMixerContainer> registeredMixers = null; private Set<ModelChannelMixer> stoppedMixers = null; private SoftChannelMixerContainer[] cur_registeredMixers = null; SoftControl co_master = new SoftControl() { double[] balance = co_master_balance; double[] volume = co_master_volume; double[] coarse_tuning = co_master_coarse_tuning; double[] fine_tuning = co_master_fine_tuning; public double[] get(int instance, String name) { if (name == null) return null; if (name.equals("balance")) return balance; --- 73,113 ---- private boolean pusher_silent = false; private int pusher_silent_count = 0; private long sample_pos = 0; boolean readfully = true; private final Object control_mutex; ! private final SoftSynthesizer synth; private float samplerate = 44100; private int nrofchannels = 2; private SoftVoice[] voicestatus = null; ! private final SoftAudioBuffer[] buffers; ! private final SoftReverb reverb; ! private final SoftAudioProcessor chorus; ! private final SoftAudioProcessor agc; private long msec_buffer_len = 0; private int buffer_len = 0; ! TreeMap<Long, Object> midimessages = new TreeMap<>(); private int delay_midievent = 0; private int max_delay_midievent = 0; double last_volume_left = 1.0; double last_volume_right = 1.0; ! private final double[] co_master_balance = new double[1]; ! private final double[] co_master_volume = new double[1]; ! private final double[] co_master_coarse_tuning = new double[1]; ! private final double[] co_master_fine_tuning = new double[1]; ! private final AudioInputStream ais; private Set<SoftChannelMixerContainer> registeredMixers = null; private Set<ModelChannelMixer> stoppedMixers = null; private SoftChannelMixerContainer[] cur_registeredMixers = null; SoftControl co_master = new SoftControl() { double[] balance = co_master_balance; double[] volume = co_master_volume; double[] coarse_tuning = co_master_coarse_tuning; double[] fine_tuning = co_master_fine_tuning; + @Override public double[] get(int instance, String name) { if (name == null) return null; if (name.equals("balance")) return balance;
*** 775,791 **** * (1000000.0 / samplerate)); } public void stopMixer(ModelChannelMixer mixer) { if (stoppedMixers == null) ! stoppedMixers = new HashSet<ModelChannelMixer>(); stoppedMixers.add(mixer); } public void registerMixer(ModelChannelMixer mixer) { if (registeredMixers == null) ! registeredMixers = new HashSet<SoftChannelMixerContainer>(); SoftChannelMixerContainer mixercontainer = new SoftChannelMixerContainer(); mixercontainer.buffers = new SoftAudioBuffer[6]; for (int i = 0; i < mixercontainer.buffers.length; i++) { mixercontainer.buffers[i] = new SoftAudioBuffer(buffer_len, synth.getFormat()); --- 777,793 ---- * (1000000.0 / samplerate)); } public void stopMixer(ModelChannelMixer mixer) { if (stoppedMixers == null) ! stoppedMixers = new HashSet<>(); stoppedMixers.add(mixer); } public void registerMixer(ModelChannelMixer mixer) { if (registeredMixers == null) ! registeredMixers = new HashSet<>(); SoftChannelMixerContainer mixercontainer = new SoftChannelMixerContainer(); mixercontainer.buffers = new SoftAudioBuffer[6]; for (int i = 0; i < mixercontainer.buffers.length; i++) { mixercontainer.buffers[i] = new SoftAudioBuffer(buffer_len, synth.getFormat());
*** 881,890 **** --- 883,893 ---- 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; int orgoff = off; byte[] bbuffer = this.bbuffer;
*** 901,921 **** --- 904,927 ---- } } 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() { SoftMainMixer.this.synth.close(); } };
< prev index next >