package org.open2jam;
import java.awt.EventQueue;
import java.io.File;
import java.util.logging.Handler;
import java.util.logging.Level;
import javax.swing.UIManager;
import org.open2jam.gui.Interface;
import org.open2jam.util.Logger;
public class Main implements Runnable
{
private static final String LIB_PATH =
System.getProperty("user.dir") + File.separator +
"lib" + File.separator +
"native" + File.separator +
getOS();
private static final String FMODEX_PATH =
System.getProperty("user.dir") + File.separator +
"lib" + File.separator +
"fmodex";
public static void main(String []args)
{
System.setProperty("org.lwjgl.librarypath", LIB_PATH);
System.setProperty("java.library.path", FMODEX_PATH);
Config.openDB();
setupLogging();
trySetLAF();
EventQueue.invokeLater(new Main());
}
@Override
public void run() {
new Interface().setVisible(true);
}
private static void setupLogging()
{
//Config c = Config.get();
//if(c.log_handle != null)Logger.global.addHandler(c.log_handle);
for(Handler h : Logger.global.getHandlers())h.setLevel(Level.INFO);
Logger.global.setLevel(Level.INFO);
}
private static void trySetLAF()
{
try {
for(UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels())
{
if("Nimbus".equals(info.getName())){
UIManager.setLookAndFeel(info.getClassName());
return;
}
}
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
Logger.global.info(e.toString());
}
}
private static String getOS()
{
String os = System.getProperty("os.name").toLowerCase();
if(os.contains("win")){
return "windows";
}else if(os.contains("mac")){
return "macosx";
}else if(os.contains("nix") || os.contains("nux")){
return "linux";
}else if(os.contains("solaris")){
return "solaris";
}else{
return os;
}
}
}