[jmsl] JMSL And JavaSound
Java Music Specification Language
jmsl at music.columbia.edu
Fri Jul 31 19:29:15 EDT 2009
Hi,
Can somebody help me? I can't get JMSL to work with JavaSound! I get the
following error.
Device 0 = Fast Track Pro MIDI In ...
com.sun.media.sound.MidiInDevice at 9f2a0b
0) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=-1
Device 1 = Microsoft MIDI Mapper ...
com.sun.media.sound.MidiOutDevice at 7b7072
1) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=-1
Device 2 = SB X-Fi Synth A [BC00] ...
com.sun.media.sound.MidiOutDevice at 136228
2) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=-1
Device 3 = SB X-Fi Synth B [BC00] ...
com.sun.media.sound.MidiOutDevice at 913750
3) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=-1
Device 4 = Microsoft GS Wavetable SW Synth ...
com.sun.media.sound.MidiOutDevice at 1c672d0
4) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=-1
Device 5 = Fast Track Pro MIDI Out ...
com.sun.media.sound.MidiOutDevice at 19bd03e
5) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=-1
Device 6 = Real Time Sequencer ...
com.sun.media.sound.RealTimeSequencer at 2a340e
6) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=0
Device 7 = Java Sound Synthesizer ... com.sun.media.sound.MixerSynth at 19fcc69
7) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=-1
MidiIO open()
MidiMixer start()
javax.sound.midi.MidiUnavailableException: MIDI IN receiver not available
at com.sun.media.sound.AbstractMidiDevice.createReceiver(Unknown Source)
at com.sun.media.sound.AbstractMidiDevice.getReceiver(Unknown Source)
at com.softsynth.jmsl.midi.MidiIO_JavaSound.c(MidiIO_JavaSound.java)
at
com.softsynth.jmsl.midi.MidiIO_JavaSound.sendMessage(MidiIO_JavaSound.java)
at com.softsynth.jmsl.midi.MidiIO.control(MidiIO.java)
at com.softsynth.jmsl.midi.MidiMixer.panAmpChange(MidiMixer.java)
at com.softsynth.jmsl.midi.MidiMixer.start(MidiMixer.java)
at com.softsynth.jmsl.JMSLMixerContainer.start(JMSLMixerContainer.java)
at
com.softsynth.jmsl.JMSLMixerContainer.addInstrument(JMSLMixerContainer.java)
at
com.softsynth.jmsl.JMSLMixerContainer.addInstrument(JMSLMixerContainer.java)
at Test.TestJmslJavaSound.<init>(TestJmslJavaSound.java:33)
at Test.TestJmslJavaSound.main(TestJmslJavaSound.java:45)
javax.sound.midi.MidiUnavailableException: MIDI IN receiver not available
Here is my simple testing code:
package Test;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import javax.swing.JFrame;
import com.softsynth.jmsl.EventScheduler;
import com.softsynth.jmsl.JMSL;
import com.softsynth.jmsl.JMSLMixerContainer;
import com.softsynth.jmsl.MusicShape;
import com.softsynth.jmsl.ParallelCollection;
import com.softsynth.jmsl.midi.MidiIO_JavaSound;
import com.softsynth.jmsl.midi.MidiInstrument;
public class TestJmslJavaSound extends JFrame {
private MidiInstrument ins;
private MusicShape ms;
private ParallelCollection pc;
private JMSLMixerContainer mixer;
public TestJmslJavaSound() {
JMSL.scheduler = new EventScheduler();
JMSL.scheduler.start();
JMSL.clock.setAdvance(0.1);
JMSL.midi = MidiIO_JavaSound.instance();
((MidiIO_JavaSound) JMSL.midi).setSoundbankFile(new
File("javasound/soundbank.gm"));
JMSL.midi.open();
ins = new MidiInstrument(1);
mixer = new JMSLMixerContainer();
mixer.start();
mixer.addInstrument(ins);
ms = new MusicShape(ins.getDimensionNameSpace());
ms.setInstrument(ins);
ms.add(1, 70, 0.5, 0.5);
pc = new ParallelCollection();
pc.add(ms);
pc.setRepeats(Integer.MAX_VALUE);
pc.launch(JMSL.now());
}
public static void main(String[] args) {
TestJmslJavaSound frame = new TestJmslJavaSound();
frame.setTitle("Wii Test");
frame.pack();
frame.setVisible(true);
frame.setSize(320, 240);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
Btw, where can I download the latest JMSL build?
Thanks,
Chi
----- Original Message -----
From: "Nick Didkovsky" <didkovn at mail.rockefeller.edu>
To: "Chi Kim" <chigookkim at hotmail.com>
Sent: Saturday, May 16, 2009 12:32 AM
Subject: Re: JavaSound With External Midi
> Hi Chi
>
> Watch for a message from "ELF" with new jmsl and jscore jar files
>
> This version of JMSL implements the "sparse MIDI program" change idea.
>
> To use it:
> MidiInstrument.useSparseMIDIProgramChange(true);
>
> To clear it before launch():
> MidiInstrument.clearMIDIProgramChangeTracker()
>
> It is very verbose now: MidiInstrument.open() prints messages indicating
> it's executing, and prints whether or not it's sending program change.
>
> Verify this works as you expect and I will build a non-verbose release for
> you
>
> Thanks!
> Nick
>
>
> Chi Kim wrote:
>> JMSL.midi.programChange(1,80);
>>
>> It seems to have no effect on JavaSound with an external midi device.
>>
>> What component did you use to pop up the midi output dialog?
>>
>> JMSL.midi.edit(new java.awt.Frame());
>>
>> Is it JDialog?
>>
>> Thanks,
>>
>>
>>
>> Chi
>>
>> ----- Original Message -----
>> From: "Nick Didkovsky" <didkovn at mail.rockefeller.edu>
>> To: "Chi Kim" <chigookkim at hotmail.com>
>> Sent: Saturday, April 25, 2009 11:48 AM
>> Subject: Re: JavaSound With External Midi
>>
>>
>>> What happens if you write a little test program that simply opens
>>> JavaSound MIDI device and sends a couple of program changes this way:
>>> JMSL.midi.programChange(int channel, int index_0_127)
>>> ???
>>> Nick
>>>
>>> Chi Kim wrote:
>>>> Yep, it's the same case like noteoff. JavaSound Synthesizer and
>>>> MidiShare work, but not JavaSound external midi.
>>>> Thanks,
>>>>
>>>> Chi
>>>> ----- Original Message ----- From: "Nick Didkovsky"
>>>> <didkovn at mail.rockefeller.edu>
>>>> To: "Chi Kim" <chigookkim at hotmail.com>
>>>> Sent: Friday, April 24, 2009 3:33 PM
>>>> Subject: Re: JavaSound With External Midi
>>>>
>>>>
>>>>> Thanks, again please let me know if JavaSound Synthesizer works ok but
>>>>> external does not.
>>>>> Does program change work with MidiShare?
>>>>> Thanks
>>>>> Nick
>>>>>
>>>>> Chi Kim wrote:
>>>>>> Yea, it works now. Thank you very much.
>>>>>> Another problem I found is that program change messages are not
>>>>>> working when using JMSL with external midi device. Even though I set
>>>>>> midiInstrument.setProgram(80), They all play with piano sound.
>>>>>> Internal Java Synth works though.
>>>>>>
>>>>>> Chi
>>>>>> ----- Original Message ----- From: "Nick Didkovsky"
>>>>>> <didkovn at mail.rockefeller.edu>
>>>>>> To: "Chi Kim" <chigookkim at hotmail.com>
>>>>>> Sent: Friday, April 24, 2009 12:45 PM
>>>>>> Subject: Re: Embedding Applet Using JMSL On Html?
>>>>>>
>>>>>>
>>>>>>> The jre version is the first line of the error msg below ( Java
>>>>>>> Plug-in 1.6.0_03 )
>>>>>>>
>>>>>>> I found the noteoff bug in MidiIO_JavaSound and fixed it
>>>>>>> New prerelease at http://www.algomusic.com/prerelease/
>>>>>>>
>>>>>>> I do not have any external MIDI devices handy which I can test with,
>>>>>>> sorry!
>>>>>>>
>>>>>>> thanks
>>>>>>> Nick
>>>>>>>
>>>>>>> Chi Kim wrote:
>>>>>>>> Which jre do you use? I have java 6 aka jre 1.6.0_13. I get no
>>>>>>>> error, but try to refresh http://chikim.com/Random/Random.html.
>>>>>>>> I compiled with jdk1.5.0_17 with which is the lowest I can compile.
>>>>>>>> Java synth doesn't have the problem with sustaining; however all
>>>>>>>> other external devices seem to have the problem. Just click play
>>>>>>>> (from the tool bar), open up the Midi Output dialog (global Menu ->
>>>>>>>> Midi Output), and just switch to different outputs one by one and
>>>>>>>> see if you have the same problem with external devices.
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> Chi
>>>>>>>> ----- Original Message ----- From: "Nick Didkovsky"
>>>>>>>> <didkovn at mail.rockefeller.edu>
>>>>>>>> To: "Chi Kim" <chigookkim at hotmail.com>
>>>>>>>> Sent: Friday, April 24, 2009 12:03 PM
>>>>>>>> Subject: Re: Embedding Applet Using JMSL On Html?
>>>>>>>>
>>>>>>>>
>>>>>>>>> Under Windows I see the GUI but get a ton (I mean a real flood;
>>>>>>>>> below is only the tip of the iceberg) of "MIDI IN receiver not
>>>>>>>>> available" errors in Java console, pasted below...
>>>>>>>>> Not sure whose bug this is...
>>>>>>>>> NIck
>>>>>>>>>
>>>>>>>>> Java Plug-in 1.6.0_03
>>>>>>>>> Using JRE version 1.6.0_03 Java HotSpot(TM) Client VM
>>>>>>>>> User home directory = C:\Documents and
>>>>>>>>> Settings\Nick.PUNOS-F12CF7479
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ----------------------------------------------------
>>>>>>>>> c: clear console window
>>>>>>>>> f: finalize objects on finalization queue
>>>>>>>>> g: garbage collect
>>>>>>>>> h: display this help message
>>>>>>>>> l: dump classloader list
>>>>>>>>> m: print memory usage
>>>>>>>>> o: trigger logging
>>>>>>>>> p: reload proxy configuration
>>>>>>>>> q: hide console
>>>>>>>>> r: reload policy configuration
>>>>>>>>> s: dump system and deployment properties
>>>>>>>>> t: dump thread list
>>>>>>>>> v: dump thread stack
>>>>>>>>> x: clear classloader cache
>>>>>>>>> 0-5: set trace level to <n>
>>>>>>>>> ----------------------------------------------------
>>>>>>>>>
>>>>>>>>> JMSL version 1.039 build 20090414, (C) 2002-2005 Nick Didkovsky
>>>>>>>>> and Phil Burk , All Rights Reserved, visit www.algomusic.com
>>>>>>>>> JMSL
>>>>>>>>> JMSL is running as an Applet
>>>>>>>>>
>>>>>>>>> Device 0 = PreSonus FIREPOD MIDI In ...
>>>>>>>>> com.sun.media.sound.MidiInDevice at 482923
>>>>>>>>> 0) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=-1
>>>>>>>>>
>>>>>>>>> Device 1 = Microsoft MIDI Mapper ...
>>>>>>>>> com.sun.media.sound.MidiOutDevice at 1b383e9
>>>>>>>>> 1) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=-1
>>>>>>>>>
>>>>>>>>> Device 2 = Microsoft GS Wavetable SW Synth ...
>>>>>>>>> com.sun.media.sound.MidiOutDevice at 99681b
>>>>>>>>> 2) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=-1
>>>>>>>>>
>>>>>>>>> Device 3 = PreSonus FIREPOD MIDI Out ...
>>>>>>>>> com.sun.media.sound.MidiOutDevice at 181edf4
>>>>>>>>> 3) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=-1
>>>>>>>>>
>>>>>>>>> Device 4 = Real Time Sequencer ...
>>>>>>>>> com.sun.media.sound.RealTimeSequencer at 2f1921
>>>>>>>>> 4) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=0
>>>>>>>>>
>>>>>>>>> Device 5 = Java Sound Synthesizer ...
>>>>>>>>> com.sun.media.sound.MixerSynth at 1808199
>>>>>>>>> 5) MidiIO_JavaSound, MidiDevice getMicrosecondPosition=-1
>>>>>>>>> MidiIO open()
>>>>>>>>> MidiMixer start()
>>>>>>>>> javax.sound.midi.MidiUnavailableException: MIDI IN receiver not
>>>>>>>>> available
>>>>>>>>> at
>>>>>>>>> com.sun.media.sound.AbstractMidiDevice.createReceiver(Unknown
>>>>>>>>> Source)
>>>>>>>>> at com.sun.media.sound.AbstractMidiDevice.getReceiver(Unknown
>>>>>>>>> Source)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.midi.MidiIO_JavaSound.c(MidiIO_JavaSound.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.midi.MidiIO_JavaSound.sendMessage(MidiIO_JavaSound.java)
>>>>>>>>> at com.softsynth.jmsl.midi.MidiIO.control(MidiIO.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.midi.MidiMixer.panAmpChange(MidiMixer.java)
>>>>>>>>> at com.softsynth.jmsl.midi.MidiMixer.start(MidiMixer.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.JMSLMixerContainer.start(JMSLMixerContainer.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.JMSLMixerContainer.addInstrument(JMSLMixerContainer.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.JMSLMixerContainer.addInstrument(JMSLMixerContainer.java)
>>>>>>>>> at Random.Random.initInstrument(Random.java:121)
>>>>>>>>> at Random.Random.start(Random.java:79)
>>>>>>>>> at sun.applet.AppletPanel.run(Unknown Source)
>>>>>>>>> at java.lang.Thread.run(Unknown Source)
>>>>>>>>> javax.sound.midi.MidiUnavailableException: MIDI IN receiver not
>>>>>>>>> available
>>>>>>>>> at
>>>>>>>>> com.sun.media.sound.AbstractMidiDevice.createReceiver(Unknown
>>>>>>>>> Source)
>>>>>>>>> at com.sun.media.sound.AbstractMidiDevice.getReceiver(Unknown
>>>>>>>>> Source)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.midi.MidiIO_JavaSound.c(MidiIO_JavaSound.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.midi.MidiIO_JavaSound.sendMessage(MidiIO_JavaSound.java)
>>>>>>>>> at com.softsynth.jmsl.midi.MidiIO.control(MidiIO.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.midi.MidiMixer.panAmpChange(MidiMixer.java)
>>>>>>>>> at com.softsynth.jmsl.midi.MidiMixer.start(MidiMixer.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.JMSLMixerContainer.start(JMSLMixerContainer.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.JMSLMixerContainer.addInstrument(JMSLMixerContainer.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.JMSLMixerContainer.addInstrument(JMSLMixerContainer.java)
>>>>>>>>> at Random.Random.initInstrument(Random.java:121)
>>>>>>>>> at Random.Random.start(Random.java:79)
>>>>>>>>> at sun.applet.AppletPanel.run(Unknown Source)
>>>>>>>>> at java.lang.Thread.run(Unknown Source)
>>>>>>>>> MidiMixer start()
>>>>>>>>> javax.sound.midi.MidiUnavailableException: MIDI IN receiver not
>>>>>>>>> available
>>>>>>>>> at
>>>>>>>>> com.sun.media.sound.AbstractMidiDevice.createReceiver(Unknown
>>>>>>>>> Source)
>>>>>>>>> at com.sun.media.sound.AbstractMidiDevice.getReceiver(Unknown
>>>>>>>>> Source)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.midi.MidiIO_JavaSound.c(MidiIO_JavaSound.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.midi.MidiIO_JavaSound.sendMessage(MidiIO_JavaSound.java)
>>>>>>>>> at com.softsynth.jmsl.midi.MidiIO.control(MidiIO.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.midi.MidiMixer.panAmpChange(MidiMixer.java)
>>>>>>>>> at com.softsynth.jmsl.midi.MidiMixer.start(MidiMixer.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.JMSLMixerContainer.start(JMSLMixerContainer.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.JMSLMixerContainer.addInstrument(JMSLMixerContainer.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.JMSLMixerContainer.addInstrument(JMSLMixerContainer.java)
>>>>>>>>> at Random.Random.initInstrument(Random.java:122)
>>>>>>>>> at Random.Random.start(Random.java:79)
>>>>>>>>> at sun.applet.AppletPanel.run(Unknown Source)
>>>>>>>>> at java.lang.Thread.run(Unknown Source)
>>>>>>>>> javax.sound.midi.MidiUnavailableException: MIDI IN receiver not
>>>>>>>>> available
>>>>>>>>> at
>>>>>>>>> com.sun.media.sound.AbstractMidiDevice.createReceiver(Unknown
>>>>>>>>> Source)
>>>>>>>>> at com.sun.media.sound.AbstractMidiDevice.getReceiver(Unknown
>>>>>>>>> Source)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.midi.MidiIO_JavaSound.c(MidiIO_JavaSound.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.midi.MidiIO_JavaSound.sendMessage(MidiIO_JavaSound.java)
>>>>>>>>> at com.softsynth.jmsl.midi.MidiIO.control(MidiIO.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.midi.MidiMixer.panAmpChange(MidiMixer.java)
>>>>>>>>> at com.softsynth.jmsl.midi.MidiMixer.start(MidiMixer.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.JMSLMixerContainer.start(JMSLMixerContainer.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.JMSLMixerContainer.addInstrument(JMSLMixerContainer.java)
>>>>>>>>> at
>>>>>>>>> com.softsynth.jmsl.JMSLMixerContainer.addInstrument(JMSLMixerContainer.java)
>>>>>>>>> at Random.Random.initInstrument(Random.java:122)
>>>>>>>>> at Random.Random.start(Random.java:79)
>>>>>>>>> at sun.applet.AppletPanel.run(Unknown Source)
>>>>>>>>> at java.lang.Thread.run(Unknown Source)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Chi Kim wrote:
>>>>>>>>>> You can find it at
>>>>>>>>>> http://chikim.com/Random/Random.html
>>>>>>>>>> Thanks,
>>>>>>>>>>
>>>>>>>>>> Chi
>>>>>>>>>> ----- Original Message ----- From: "Nick Didkovsky"
>>>>>>>>>> <didkovn at mail.rockefeller.edu>
>>>>>>>>>> To: "Chi Kim" <chigookkim at hotmail.com>
>>>>>>>>>> Sent: Thursday, April 23, 2009 5:14 PM
>>>>>>>>>> Subject: Re: Embedding Applet Using JMSL On Html?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Do you have this posted online somewhere I can visit?
>>>>>>>>>>> Thanks
>>>>>>>>>>> Nick
>>>>>>>>>>>
>>>>>>>>>>> Chi Kim wrote:
>>>>>>>>>>>> Ah, found the problem. The trick I picked up from a website to
>>>>>>>>>>>> test if it's runnning in mac or pc was failing.
>>>>>>>>>>>> if (System.getProperty("mrj.version") != null) // running in
>>>>>>>>>>>> mac.
>>>>>>>>>>>>
>>>>>>>>>>>> There's no error now, but my gui isn't showing up after closing
>>>>>>>>>>>> the midi selection dialog.
>>>>>>>>>>>>
>>>>>>>>>>>> I tried so that midi selection dialog doesn't show up first
>>>>>>>>>>>> before loading the gui. However, it's same whether midi dialog
>>>>>>>>>>>> comes up or not. The entire gui isn't showing up. It's very
>>>>>>>>>>>> strange. I've attached my project, and the jar file along with
>>>>>>>>>>>> the html file you can open.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> P.S. It seems like external midi devices are accessible in web
>>>>>>>>>>>> browser without any security setting.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Chi
>>>>>>>>>>>>
>>>>>>>>>>>> ----- Original Message -----
>>>>>>>>>>>> From: "Nick Didkovsky" <didkovn at mail.rockefeller.edu>
>>>>>>>>>>>> To: "Chi Kim" <chigookkim at hotmail.com>
>>>>>>>>>>>> Sent: Thursday, April 23, 2009 6:21 AM
>>>>>>>>>>>> Subject: Re: Embedding Applet Using JMSL On Html?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Chi
>>>>>>>>>>>>>
>>>>>>>>>>>>> Something like:
>>>>>>>>>>>>>
>>>>>>>>>>>>> <applet code="myapplet.class"
>>>>>>>>>>>>> codebase="directoryContainingJars"
>>>>>>>>>>>>> archive ="jmsl.jar,myproject.jar"
>>>>>>>>>>>>> height="1024"
>>>>>>>>>>>>> width="1280">
>>>>>>>>>>>>>
>>>>>>>>>>>>> You need a Java-enabled browser to view this applet.
>>>>>>>>>>>>>
>>>>>>>>>>>>> </applet>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> Nick
>>>>>>>>>>>>>
>>>>>>>>>>>>> Chi Kim wrote:
>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> How can I embed my whole project on a html? I tried export as
>>>>>>>>>>>>>> a runnable jar
>>>>>>>>>>>>>> and include the tag, but it doesn't seem to work.
>>>>>>>>>>>>>> <applet code="random.jar" height="1024"" width="1280">You do
>>>>>>>>>>>>>> not have <a
>>>>>>>>>>>>>> href="http://www.java.com">Java</a> installed.</applet>
>>>>>>>>>>>>>> I've attached the entire project including the jar and the
>>>>>>>>>>>>>> html file.
>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Chi
>>>>>>>>>>>>>
>>>>
More information about the jmsl
mailing list