Something went wrong on our end
Select Git revision
NativeAudioMacHandlerConnect.java
NativeAudioMacHandlerConnect.java 2.32 KiB
package de.tobias.playpad.namac;
import java.util.HashMap;
import de.tobias.playpad.NativeAudio;
import de.tobias.playpad.NativeAudio.NativeAudioDelegate;
import de.tobias.playpad.audio.AudioCapability;
import de.tobias.playpad.audio.AudioHandler;
import de.tobias.playpad.audio.AudioHandlerConnect;
import de.tobias.playpad.audio.Peakable.Channel;
import de.tobias.playpad.pad.PadStatus;
import de.tobias.playpad.pad.conntent.PadContent;
import de.tobias.playpad.viewcontroller.AudioHandlerViewController;
import javafx.util.Duration;
public class NativeAudioMacHandlerConnect extends AudioHandlerConnect implements NativeAudioDelegate {
private static final HashMap<Integer, NativeAudioMacHandler> handlers = new HashMap<>();
public NativeAudioMacHandlerConnect() {
NativeAudio.initialize();
NativeAudio.setDelegate(this);
}
@Override
public AudioHandler createAudioHandler(PadContent content) {
NativeAudioMacHandler nativeAudioMacHandler = new NativeAudioMacHandler(content);
handlers.put(nativeAudioMacHandler.getId(), nativeAudioMacHandler);
return nativeAudioMacHandler;
}
@Override
public AudioHandlerViewController getAudioHandlerSettingsViewController() {
return null;
}
@Override
public String getType() {
return "Native";
}
@Override
public void onFinish(int id) {
NativeAudioMacHandler nativeAudioMacHandler = handlers.get(id);
if (nativeAudioMacHandler != null) {
PadContent content = nativeAudioMacHandler.getContent();
if (content != null) {
content.getPad().setStatus(PadStatus.STOP);
}
}
}
@Override
public void onPositionChanged(int id, double position) {
NativeAudioMacHandler nativeAudioMacHandler = handlers.get(id);
if (nativeAudioMacHandler != null) {
nativeAudioMacHandler.positionProperty.set(Duration.seconds(position));
}
}
@Override
public void onPeakMeter(int id, float left, float right) {
NativeAudioMacHandler nativeAudioMacHandler = handlers.get(id);
if (nativeAudioMacHandler != null) {
nativeAudioMacHandler.audioLevelProperty(Channel.LEFT).set(left);
nativeAudioMacHandler.audioLevelProperty(Channel.RIGHT).set(right);
}
}
@Override