package audio.jmikmod;
/*
Name:
MikCvtApp.java
Description:
The Applet class that creates an instance of clMikCvtMain and calls
clMikCvtMain.main() that operates all the runtime code. It calls it with the
necessary "char * argv[]"-like argument.
So far it's a console application (X-Windows need not be run on UNIXes) whose
output corresponds with the UNIX version.
Shlomi Fish <shlomif@ibm.net>
HISTORY (DD/MM/YY)
=======
v1.00 (20/Dec/96) - first "versioned" version
v1.01 (03/Jan/96) - Removed argc passing, because Java can tell what is the length
of an array length.
*/
import java.applet.*;
import java.awt.*;
import java.net.URL;
import audio.jmikmod.MikMod.*;
public class MikModApp extends Applet implements Runnable
{
Thread m_MikModApp = null;
boolean m_fStandAlone = false;
public URL url;
public static String [] my_argv = null;
// The main function of a standalone application.
public static void main(String args[])
{
MikModApp applet_MikModApp = new MikModApp();
applet_MikModApp.m_fStandAlone = true;
{
my_argv = new String[args.length+1];
my_argv[0] = new String("mikmod");
int i;
for(i=0;i<args.length;i++)
{
my_argv[i+1] = new String(args[i]);
}
}
applet_MikModApp.init();
applet_MikModApp.start();
}
public MikModApp()
{
}
// Return some text that identifies us
public String getAppletInfo()
{
return "Name: MikModApp: Java version of the mikmod MOD player\r\n" +
"Original Code: Jean-Paul Mikkers and others\r\n" +
"Java Porting: Shlomi Fish";
}
// init() is useful only for applets.
public void init()
{
}
public void destroy()
{
}
// This function is only used for applets, so it's not implemented
public void paint(Graphics g)
{
}
public void start()
{
if (m_MikModApp == null)
{
m_MikModApp = new Thread(this);
m_MikModApp.start();
}
}
public void stop()
{
if (m_MikModApp != null)
{
m_MikModApp.stop();
m_MikModApp = null;
}
}
public void run()
{
audio.jmikmod.MikMod.clMain theMikMod = new audio.jmikmod.MikMod.clMain();
theMikMod.main(my_argv, url);
stop();
}
}