#include "core/appContext.h"
#include "gui/mainWindow/mainWindow.h"

#include <iostream>
#include <quokka_gfx.h>
#include <sdi_toolBox/desktop/msw/win32Console.h>

using namespace std;
//--------------------------------------------------------------
int main(int argc, char *argv[])
{
  // Enable debug console for Windows platform
#ifdef DEBUG
  sdi_toolBox::desktop::msw::Win32Console::initConsole();
  // cout << "Debug mode enabled" << endl;
#endif

  // Main initialization
  AppContext appContext;

  // appContext.m_hServer->enable("127.0.0.1", 4000);

  appContext.m_hTrack->loadFromFile("testFile.mid");
  // appContext.m_hTrack->debug();

  // Create an instance of the GUI application class
  quokka_gfx::Application app;
  const auto             &winManager = app.GetWindowManager();

  // Create and show the main window
  const auto mainWindow = new MainWindow(appContext, app);
  mainWindow->Show();

  // Start the main event loop
  cout << "System ready !" << endl;
  app.Run();

  return 0;
}
//--------------------------------------------------------------
