From 9fee0ec4ca0c5b7a334cc29dbb58e76c7a4c736e Mon Sep 17 00:00:00 2001 From: Michiel Van Der Kolk Date: Mon, 11 Jul 2005 15:42:37 +0000 Subject: Songdb java version, source. only 1.5 compatible git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7101 a1c6a512-1295-4272-9138-f99709370657 --- .../tritonus/share/sampled/AudioSystemShadow.java | 115 +++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 songdbj/org/tritonus/share/sampled/AudioSystemShadow.java (limited to 'songdbj/org/tritonus/share/sampled/AudioSystemShadow.java') diff --git a/songdbj/org/tritonus/share/sampled/AudioSystemShadow.java b/songdbj/org/tritonus/share/sampled/AudioSystemShadow.java new file mode 100644 index 0000000000..70b4e9ebd7 --- /dev/null +++ b/songdbj/org/tritonus/share/sampled/AudioSystemShadow.java @@ -0,0 +1,115 @@ +/* + * AudioSystemShadow.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999, 2000 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package org.tritonus.share.sampled; + +import java.io.File; +import java.io.OutputStream; +import java.io.IOException; + +import javax.sound.sampled.AudioFileFormat; +import javax.sound.sampled.AudioFormat; + +import org.tritonus.share.sampled.file.AudioOutputStream; +import org.tritonus.share.sampled.file.TDataOutputStream; +import org.tritonus.share.sampled.file.TSeekableDataOutputStream; +import org.tritonus.share.sampled.file.TNonSeekableDataOutputStream; +import org.tritonus.sampled.file.AiffAudioOutputStream; +import org.tritonus.sampled.file.AuAudioOutputStream; +import org.tritonus.sampled.file.WaveAudioOutputStream; + + + +/** Experminatal area for AudioSystem. + * This class is used to host features that may become part of the + * Java Sound API (In which case they will be moved to AudioSystem). + */ +public class AudioSystemShadow +{ + public static TDataOutputStream getDataOutputStream(File file) + throws IOException + { + return new TSeekableDataOutputStream(file); + } + + + + public static TDataOutputStream getDataOutputStream(OutputStream stream) + throws IOException + { + return new TNonSeekableDataOutputStream(stream); + } + + + + // TODO: lLengthInBytes actually should be lLengthInFrames (design problem of A.O.S.) + public static AudioOutputStream getAudioOutputStream(AudioFileFormat.Type type, AudioFormat audioFormat, long lLengthInBytes, TDataOutputStream dataOutputStream) + { + AudioOutputStream audioOutputStream = null; + + if (type.equals(AudioFileFormat.Type.AIFF) || + type.equals(AudioFileFormat.Type.AIFF)) + { + audioOutputStream = new AiffAudioOutputStream(audioFormat, type, lLengthInBytes, dataOutputStream); + } + else if (type.equals(AudioFileFormat.Type.AU)) + { + audioOutputStream = new AuAudioOutputStream(audioFormat, lLengthInBytes, dataOutputStream); + } + else if (type.equals(AudioFileFormat.Type.WAVE)) + { + audioOutputStream = new WaveAudioOutputStream(audioFormat, lLengthInBytes, dataOutputStream); + } + return audioOutputStream; + } + + + + public static AudioOutputStream getAudioOutputStream(AudioFileFormat.Type type, AudioFormat audioFormat, long lLengthInBytes, File file) + throws IOException + { + TDataOutputStream dataOutputStream = getDataOutputStream(file); + AudioOutputStream audioOutputStream = getAudioOutputStream(type, audioFormat, lLengthInBytes, dataOutputStream); + return audioOutputStream; + } + + + + public static AudioOutputStream getAudioOutputStream(AudioFileFormat.Type type, AudioFormat audioFormat, long lLengthInBytes, OutputStream outputStream) + throws IOException + { + TDataOutputStream dataOutputStream = getDataOutputStream(outputStream); + AudioOutputStream audioOutputStream = getAudioOutputStream(type, audioFormat, lLengthInBytes, dataOutputStream); + return audioOutputStream; + } +} + + +/*** AudioSystemShadow.java ***/ -- cgit v1.2.3