hello when i run my client i get this error:
Code:
'Legendzz' is not recognized as an internal or external command,
operable program or batch file.
javax.sound.midi.MidiUnavailableException: A device ID has been used that is out
 of range for your system.
        at com.sun.media.sound.MidiOutDevice.nOpen(Native Method)
        at com.sun.media.sound.MidiOutDevice.implOpen(Unknown Source)
        at com.sun.media.sound.AbstractMidiDevice.doOpen(Unknown Source)
        at com.sun.media.sound.AbstractMidiDevice.openInternal(Unknown Source)
        at com.sun.media.sound.AbstractMidiDevice.getReceiverReferenceCounting(U
nknown Source)
        at javax.sound.midi.MidiSystem.getReceiver(Unknown Source)
        at javax.sound.midi.MidiSystem.getSequencer(Unknown Source)
        at javax.sound.midi.MidiSystem.getSequencer(Unknown Source)
        at sign.signlink.run(signlink.java:207)
        at java.lang.Thread.run(Unknown Source)
and i think i found were the problem is:
Code:
    public void run()
    {
        active = true;
        String s = findcachedir();
        uid = getuid(s);
        try
        {
            File file = new File(s + "main_file_cache.dat");
            if(file.exists() && file.length() > 0x3200000L)
                file.delete();
            cache_dat = new RandomAccessFile(s + "main_file_cache.dat", "rw");
            for(int j = 0; j < 5; j++)
                cache_idx[j] = new RandomAccessFile(s + "main_file_cache.idx" + j, "rw");
//cache_idx[4] = new RandomAccessFile("C:\\filll\\aam.dat","rw");
        }
        catch(Exception exception)
        {
            exception.printStackTrace();
        }
        for(int i = threadliveid; threadliveid == i;)
        {
            if(socketreq != 0)
            {
                try
                {
                    socket = new Socket(socketip, socketreq);
                }
                catch(Exception _ex)
                {
                    socket = null;
                }
                socketreq = 0;
            } else
            if(threadreq != null)
            {
                Thread thread = new Thread(threadreq);
                thread.setDaemon(true);
                thread.start();
                thread.setPriority(threadreqpri);
                threadreq = null;
            } else
            if(dnsreq != null)
            {
                try
                {
                    dns = InetAddress.getByName(dnsreq).getHostName();
                }
                catch(Exception _ex)
                {
                    dns = "unknown";
                }
                dnsreq = null;
            } else
            if(savereq != null)
            {
                if(savebuf != null)
                    try
                    {
                        FileOutputStream fileoutputstream = new FileOutputStream(s + savereq);
                        fileoutputstream.write(savebuf, 0, savelen);
                        fileoutputstream.close();
                    }
                    catch(Exception _ex) { }
                if(waveplay)
                {

                    String wave = s + savereq;
                    waveplay = false;




System.out.println("WAVE "+wave);
		AudioInputStream audioInputStream = null;
		try {
			audioInputStream = AudioSystem.getAudioInputStream(new File(wave/*soundFile*/));
		} catch (UnsupportedAudioFileException e1) {
			e1.printStackTrace();
			return;
		} catch (IOException e1) {
			e1.printStackTrace();
			return;
		}
 
		AudioFormat format = audioInputStream.getFormat();
		SourceDataLine auline = null;
		DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);
 
		try {
			auline = (SourceDataLine) AudioSystem.getLine(info);
			auline.open(format);
		} catch (LineUnavailableException e) {
			e.printStackTrace();
			return;
		} catch (Exception e) {
			e.printStackTrace();
			return;
		}
 
		if (auline.isControlSupported(FloatControl.Type.PAN)) {
			FloatControl pan = (FloatControl) auline
					.getControl(FloatControl.Type.PAN);
			if (curPosition == Position.RIGHT)
				pan.setValue(1.0f);
			else if (curPosition == Position.LEFT)
				pan.setValue(-1.0f);
		} 
 
		auline.start();
		int nBytesRead = 0;
		byte[] abData = new byte[EXTERNAL_BUFFER_SIZE];
 
		try {
			while (nBytesRead != -1) {
				nBytesRead = audioInputStream.read(abData, 0, abData.length);
				if (nBytesRead >= 0)
					auline.write(abData, 0, nBytesRead);
			}
		} catch (IOException e) {
			e.printStackTrace();
			return;
		} finally {
			auline.drain();
			auline.close();
		}
 
	
 


                }
                if(midiplay)
                {
/*
                    midi = s + savereq;
                    midiplay = false;
*/

                    midi = s + savereq;
                                try {
                                    //System.out.println("Play MIDI " + midi);
                                    if (musicSr != null)
                                    {
                                        musicSr.stop();
                                        musicSr.close();
                                    }
                                    musicSr = null;
                                    musicS = null;
                                    
                                    File music = new File(midi);
                                    if(music.exists())
                                    {
                                        musicS = MidiSystem.getSequence(music);
                                    }

                                    // Create a sequencer for the sequence
                                    musicSr = MidiSystem.getSequencer();
                                    musicSr.open();
                                    musicSr.setSequence(musicS);
                                    musicSr.setLoopCount(musicSr.LOOP_CONTINUOUSLY);
                                    musicSr.start();
                                    
                                } catch (Exception ex) {
                                    ex.printStackTrace();
                                }
                    
                    
                    midiplay = false;
                
                }
                savereq = null;
            } else
            if(urlreq != null)
            {
                try
                {
                    System.out.println("urlstream");
                    urlstream = new DataInputStream((new URL(mainapp.getCodeBase(), urlreq)).openStream());
                }
                catch(Exception _ex)
                {
                    urlstream = null;
                }
                urlreq = null;
            }
            try
            {
                Thread.sleep(50L);
            }
            catch(Exception _ex) { }
        }

    }
but i dont know wat is the problem...so can someone help me please