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.

47 lines
1.1KB

  1. #include "app.hpp"
  2. namespace rack {
  3. std::string gApplicationName = "VCV Rack";
  4. std::string gApplicationVersion = TOSTRING(VERSION);
  5. std::string gApiHost = "https://api.vcvrack.com";
  6. // std::string gApiHost = "http://localhost:8081";
  7. RackWidget *gRackWidget = NULL;
  8. Toolbar *gToolbar = NULL;
  9. RackScene *gRackScene = NULL;
  10. void sceneInit() {
  11. gRackScene = new RackScene();
  12. gScene = gRackScene;
  13. }
  14. void sceneDestroy() {
  15. delete gScene;
  16. gScene = NULL;
  17. }
  18. json_t *colorToJson(NVGcolor color) {
  19. json_t *colorJ = json_object();
  20. json_object_set_new(colorJ, "r", json_real(color.r));
  21. json_object_set_new(colorJ, "g", json_real(color.g));
  22. json_object_set_new(colorJ, "b", json_real(color.b));
  23. json_object_set_new(colorJ, "a", json_real(color.a));
  24. return colorJ;
  25. }
  26. NVGcolor jsonToColor(json_t *colorJ) {
  27. NVGcolor color;
  28. color.r = json_number_value(json_object_get(colorJ, "r"));
  29. color.g = json_number_value(json_object_get(colorJ, "g"));
  30. color.b = json_number_value(json_object_get(colorJ, "b"));
  31. color.a = json_number_value(json_object_get(colorJ, "a"));
  32. return color;
  33. }
  34. } // namespace rack