You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
734B

  1. #include "engine.hpp"
  2. #include "gui.hpp"
  3. #include "app.hpp"
  4. #include "plugin.hpp"
  5. #include "settings.hpp"
  6. #include "asset.hpp"
  7. #include <unistd.h>
  8. using namespace rack;
  9. int main(int argc, char* argv[]) {
  10. char *cwd = getcwd(NULL, 0);
  11. printf("Current working directory is %s\n", cwd);
  12. free(cwd);
  13. pluginInit();
  14. engineInit();
  15. guiInit();
  16. sceneInit();
  17. settingsLoad(assetLocal("settings.json"));
  18. if (argc >= 2)
  19. gRackWidget->loadPatch(argv[1]);
  20. else
  21. gRackWidget->loadPatch(assetLocal("autosave.vcv"));
  22. engineStart();
  23. guiRun();
  24. engineStop();
  25. gRackWidget->savePatch(assetLocal("autosave.vcv"));
  26. settingsSave(assetLocal("settings.json"));
  27. sceneDestroy();
  28. guiDestroy();
  29. engineDestroy();
  30. pluginDestroy();
  31. return 0;
  32. }