/*
* (c) 2000-2009 Carlos G�mez Rodr�guez, todos los derechos reservados / all rights reserved.
* Licencia en license/bsd.txt / License in license/bsd.txt
*/
package eu.irreality.age;
import java.net.*;
import java.io.*;
import java.util.*;
import javax.sound.midi.InvalidMidiDataException;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
public class AGESoundClientProxy implements ARSPConstants , SoundClient
{
Socket sock;
BufferedReader br;
PrintWriter pw;
InputStream is;
OutputStream os;
public AGESoundClientProxy ( java.net.Socket s )
{
this.sock = s;
try
{
if (s != null)
{
br = new BufferedReader(new InputStreamReader((is=new BufferedInputStream(sock.getInputStream(),100000))));
pw = new PrintWriter(new OutputStreamWriter((os=new BufferedOutputStream(sock.getOutputStream(),100000))));
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void midiInit()
{
pw.println(MIDI_INIT);
pw.flush();
}
public void midiPreload ( String f )
{
pw.println(MIDI_PRELOAD + " " + f);
pw.flush();
}
public void midiStart ( String f )
{
pw.println(MIDI_START + " " + f);
pw.flush();
}
public void midiOpen ( String f )
{
pw.println(MIDI_OPEN + " " + f);
pw.flush();
}
public void midiStop ( )
{
pw.println(MIDI_STOP);
pw.flush();
}
public void midiClose ( )
{
pw.println(MIDI_CLOSE);
pw.flush();
}
public void midiStart ( )
{
pw.println(MIDI_START);
pw.flush();
}
public void midiUnload ( String f )
{
pw.println(MIDI_UNLOAD + " " + f);
pw.flush();
}
public void audioPreload ( String f )
{
pw.println(AUDIO_PRELOAD + " " + f );
pw.flush();
}
public void audioUnload ( String f )
{
pw.println(AUDIO_UNLOAD + " " + f );
pw.flush();
}
public void audioStart ( String f )
{
pw.println(AUDIO_START + " " + f );
pw.flush();
}
public void audioStart ( String f , int loopTimes )
{
pw.println(AUDIO_START + loopTimes + " " + f );
pw.flush();
}
public void audioFadeIn ( String s , int loopTimes , double seconds , double delay )
{
pw.println(AUDIO_START + " " + loopTimes + " " + s + " " + seconds + " " + delay);
}
public void audioSetGain ( String s , double gain )
{
pw.println(AUDIO_SET_GAIN + " " + gain + " " + s);
}
public void audioStop ( String f )
{
pw.println(AUDIO_STOP + " " + f );
pw.flush();
}
public void audioFadeOut ( String f , double seconds )
{
pw.println(AUDIO_STOP + " " + f + " " + seconds);
pw.flush();
}
public void playMOD ( String f , int loopTimes )
{
pw.println(AUDIO_START + loopTimes + " " + f );
pw.flush();
}
public void stopMOD ( )
{
pw.println(AUDIO_STOP + " mod" );
pw.flush();
}
public void midiLoop() throws InvalidMidiDataException
{
pw.println(MIDI_START);
pw.flush();
}
public void midiLoop(int times) throws InvalidMidiDataException
{
pw.println(MIDI_START);
pw.flush();
}
public void stopAllSound()
{
pw.println(STOP_ALL_SOUND);
pw.flush();
}
}