@@ -305,6 +305,7 @@ struct RackScene : Scene { | |||||
RackScene(); | RackScene(); | ||||
void step(); | void step(); | ||||
void draw(NVGcontext *vg); | void draw(NVGcontext *vg); | ||||
Widget *onHoverKey(Vec pos, int key); | |||||
}; | }; | ||||
//////////////////// | //////////////////// | ||||
@@ -29,5 +29,25 @@ void RackScene::draw(NVGcontext *vg) { | |||||
Scene::draw(vg); | Scene::draw(vg); | ||||
} | } | ||||
Widget *RackScene::onHoverKey(Vec pos, int key) { | |||||
switch (key) { | |||||
case GLFW_KEY_N: | |||||
if (guiIsModPressed()) { | |||||
gRackWidget->clear(); | |||||
return this; | |||||
} | |||||
break; | |||||
case GLFW_KEY_Q: | |||||
if (guiIsModPressed()) { | |||||
glfwSetWindowShouldClose(gWindow, GLFW_TRUE); | |||||
return this; | |||||
} | |||||
break; | |||||
} | |||||
return Widget::onHoverKey(pos, key); | |||||
} | |||||
} // namespace rack | } // namespace rack |
@@ -88,7 +88,7 @@ void fixCwd() { | |||||
using namespace rack; | using namespace rack; | ||||
int main() { | |||||
int main(int argc, char* argv[]) { | |||||
#if ARCH_MAC | #if ARCH_MAC | ||||
fixCwd(); | fixCwd(); | ||||
#endif | #endif | ||||
@@ -98,7 +98,10 @@ int main() { | |||||
guiInit(); | guiInit(); | ||||
sceneInit(); | sceneInit(); | ||||
settingsLoad("settings.json"); | settingsLoad("settings.json"); | ||||
gRackWidget->loadPatch("autosave.json"); | |||||
if (argc >= 2) | |||||
gRackWidget->loadPatch(argv[1]); | |||||
else | |||||
gRackWidget->loadPatch("autosave.json"); | |||||
engineStart(); | engineStart(); | ||||
guiRun(); | guiRun(); | ||||