summaryrefslogtreecommitdiff
path: root/songdbj/de/jarnbjo/util/audio/FadeableAudioInputStream.java
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2007-01-08 23:53:00 +0000
committerBjörn Stenberg <bjorn@haxx.se>2007-01-08 23:53:00 +0000
commit7039a05147b8bbfc829babea1c65bd436450b505 (patch)
tree4ba555eb84ed97b72b0575034d5b0530a393713e /songdbj/de/jarnbjo/util/audio/FadeableAudioInputStream.java
parent6d4c19707ef95942e323cbdc89fbbfdbe45e7cc5 (diff)
downloadrockbox-7039a05147b8bbfc829babea1c65bd436450b505.zip
rockbox-7039a05147b8bbfc829babea1c65bd436450b505.tar.gz
rockbox-7039a05147b8bbfc829babea1c65bd436450b505.tar.bz2
rockbox-7039a05147b8bbfc829babea1c65bd436450b505.tar.xz
Splitting out songdbj
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11953 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'songdbj/de/jarnbjo/util/audio/FadeableAudioInputStream.java')
-rw-r--r--songdbj/de/jarnbjo/util/audio/FadeableAudioInputStream.java62
1 files changed, 0 insertions, 62 deletions
diff --git a/songdbj/de/jarnbjo/util/audio/FadeableAudioInputStream.java b/songdbj/de/jarnbjo/util/audio/FadeableAudioInputStream.java
deleted file mode 100644
index 4916102..0000000
--- a/songdbj/de/jarnbjo/util/audio/FadeableAudioInputStream.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package de.jarnbjo.util.audio;
-
-import java.io.*;
-import javax.sound.sampled.*;
-
-public class FadeableAudioInputStream extends AudioInputStream {
-
- private AudioInputStream stream;
- private boolean fading=false;
- private double phi=0.0;
-
- public FadeableAudioInputStream(AudioInputStream stream) throws IOException {
- super(stream, stream.getFormat(), -1L);
- }
-
- public void fadeOut() {
- fading=true;
- phi=0.0;
- }
-
- public int read(byte[] b) throws IOException {
- return read(b, 0, b.length);
- }
-
- public int read(byte[] b, int offset, int length) throws IOException {
- int read=super.read(b, offset, length);
-
- //System.out.println("read "+read);
-
- if(fading) {
- int j=0, l=0, r=0;
- double gain=0.0;
-
- for(int i=offset; i<offset+read; i+=4) {
- j=i;
- l=((int)b[j++])&0xff;
- l|=((int)b[j++])<<8;
- r=((int)b[j++])&0xff;
- r|=((int)b[j])<<8;
-
- if(phi<Math.PI/2) {
- phi+=0.000015;
- }
-
- gain=Math.cos(phi);
- //System.out.println("gain "+gain);
-
- l=(int)(l*gain);
- r=(int)(r*gain);
-
- j=i;
- b[j++]=(byte)(l&0xff);
- b[j++]=(byte)((l>>8)&0xff);
- b[j++]=(byte)(r&0xff);
- b[j++]=(byte)((r>>8)&0xff);
- }
- }
-
- return read;
- }
-
-} \ No newline at end of file