Package sidplay.audio
Klasse ProxyDriver
java.lang.Object
sidplay.audio.ProxyDriver
- Alle implementierten Schnittstellen:
Consumer<VIC>,SIDListener,IMOS6510Extension,AudioDriver,VideoDriver
public class ProxyDriver
extends Object
implements AudioDriver, VideoDriver, SIDListener, IMOS6510Extension
Proxy driver to use two different sound or video drivers at the same time.
Note: Both driver's sample buffer must be equal in size.
- Autor:
- Ken Händel
-
Feldübersicht
Felder -
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungProxyDriver(AudioDriver driver1, AudioDriver driver2) Create a proxy driver -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoidPropagates VIC pixel data for video drivers.
Pixels can be accessed using vic.getPALEmulation().getPixels() Note: Pixel format is ARGB and is updated frequently at a rate of screen refresh rate.buffer()Driver one's buffer gets filled, while driver two gets a copy in method write()voidclose()Free the audio device.booleanvoidjmpJsr()<T extends AudioDriver>
Optional<T> voidopen(IAudioSection audioSection, String recordingFilename, CPUClock cpuClock, EventScheduler context) Open audio interface.voidpause()Temporarily cease audio production, for instance if user paused the application.voidwrite()Write the complete contents of ByteBuffer to audio device.voidwrite(int addr, byte data)
-
Felddetails
-
driverOne
-
driverTwo
-
-
Konstruktordetails
-
ProxyDriver
Create a proxy driver- Parameter:
driver1- sound driver, that buffer gets filleddriver2- sound driver, that gets the copied sample buffer
-
-
Methodendetails
-
open
public void open(IAudioSection audioSection, String recordingFilename, CPUClock cpuClock, EventScheduler context) throws IOException, LineUnavailableException, InterruptedException Beschreibung aus Schnittstelle kopiert:AudioDriverOpen audio interface.- Angegeben von:
openin SchnittstelleAudioDriver- Parameter:
audioSection- audio configurationrecordingFilename- name for a recordingcpuClock- CPU clockcontext- event context- Löst aus:
IOExceptionLineUnavailableExceptionInterruptedException
-
pause
public void pause()Beschreibung aus Schnittstelle kopiert:AudioDriverTemporarily cease audio production, for instance if user paused the application. Some backends such as DirectSound end up looping the audio unless explicitly told to pause. Audio will be resumed automatically on next write().- Angegeben von:
pausein SchnittstelleAudioDriver
-
write
Beschreibung aus Schnittstelle kopiert:AudioDriverWrite the complete contents of ByteBuffer to audio device.- Angegeben von:
writein SchnittstelleAudioDriver- Löst aus:
InterruptedException
-
accept
Beschreibung aus Schnittstelle kopiert:VideoDriverPropagates VIC pixel data for video drivers.
Pixels can be accessed using vic.getPALEmulation().getPixels() Note: Pixel format is ARGB and is updated frequently at a rate of screen refresh rate.CPUClock.getScreenRefresh()- Angegeben von:
acceptin SchnittstelleConsumer<VIC>- Angegeben von:
acceptin SchnittstelleVideoDriver
-
write
public void write(int addr, byte data) - Angegeben von:
writein SchnittstelleSIDListener
-
jmpJsr
public void jmpJsr()- Angegeben von:
jmpJsrin SchnittstelleIMOS6510Extension
-
close
public void close()Beschreibung aus Schnittstelle kopiert:AudioDriverFree the audio device. (Counterpart of open().)- Angegeben von:
closein SchnittstelleAudioDriver
-
buffer
Driver one's buffer gets filled, while driver two gets a copy in method write()- Angegeben von:
bufferin SchnittstelleAudioDriver- Gibt zurück:
- The buffer to write audio to.
-
isRecording
public boolean isRecording()- Angegeben von:
isRecordingin SchnittstelleAudioDriver- Gibt zurück:
- is this audio driver recording tunes?
-
getExtension
- Angegeben von:
getExtensionin SchnittstelleAudioDriver- Gibt zurück:
- file extension for recordings
-
lookup
- Angegeben von:
lookupin SchnittstelleAudioDriver- Gibt zurück:
- concrete audio driver, if proxied
-
getDriverOne
-
getDriverTwo
-