@@ -12,6 +12,9 @@ namespace app { | |||||
struct CableWidget : widget::OpaqueWidget { | struct CableWidget : widget::OpaqueWidget { | ||||
struct Internal; | |||||
Internal* internal; | |||||
/** Owned. */ | /** Owned. */ | ||||
engine::Cable* cable = NULL; | engine::Cable* cable = NULL; | ||||
NVGcolor color; | NVGcolor color; | ||||
@@ -12,6 +12,9 @@ namespace app { | |||||
/** Manages an engine::Param on a ModuleWidget. */ | /** Manages an engine::Param on a ModuleWidget. */ | ||||
struct ParamWidget : widget::OpaqueWidget { | struct ParamWidget : widget::OpaqueWidget { | ||||
struct Internal; | |||||
Internal* internal; | |||||
engine::Module* module = NULL; | engine::Module* module = NULL; | ||||
int paramId = -1; | int paramId = -1; | ||||
@@ -19,6 +22,8 @@ struct ParamWidget : widget::OpaqueWidget { | |||||
/** For triggering the Change event. `*/ | /** For triggering the Change event. `*/ | ||||
float lastValue = NAN; | float lastValue = NAN; | ||||
ParamWidget(); | |||||
~ParamWidget(); | |||||
/** Configures ParamQuantity properties based on the type of ParamWidget. | /** Configures ParamQuantity properties based on the type of ParamWidget. | ||||
This seems a bit hacky, but it's easier than requiring plugin developers to set `ParamQuantity::randomizeEnabled`, etc. | This seems a bit hacky, but it's easier than requiring plugin developers to set `ParamQuantity::randomizeEnabled`, etc. | ||||
*/ | */ | ||||
@@ -13,6 +13,9 @@ namespace app { | |||||
/** Manages an engine::Port on a ModuleWidget. */ | /** Manages an engine::Port on a ModuleWidget. */ | ||||
struct PortWidget : widget::OpaqueWidget { | struct PortWidget : widget::OpaqueWidget { | ||||
struct Internal; | |||||
Internal* internal; | |||||
engine::Module* module = NULL; | engine::Module* module = NULL; | ||||
engine::Port::Type type = engine::Port::INPUT; | engine::Port::Type type = engine::Port::INPUT; | ||||
int portId = -1; | int portId = -1; | ||||
@@ -17,6 +17,9 @@ namespace app { | |||||
/** Container for ModuleWidget and CableWidget. */ | /** Container for ModuleWidget and CableWidget. */ | ||||
struct RackWidget : widget::OpaqueWidget { | struct RackWidget : widget::OpaqueWidget { | ||||
struct Internal; | |||||
Internal* internal; | |||||
widget::Widget* moduleContainer; | widget::Widget* moduleContainer; | ||||
widget::Widget* cableContainer; | widget::Widget* cableContainer; | ||||
CableWidget* incompleteCable = NULL; | CableWidget* incompleteCable = NULL; | ||||
@@ -8,6 +8,9 @@ namespace rack { | |||||
struct PatchManager { | struct PatchManager { | ||||
struct Internal; | |||||
Internal* internal; | |||||
/** The currently loaded patch file path */ | /** The currently loaded patch file path */ | ||||
std::string path; | std::string path; | ||||
/** Path to autosave folder */ | /** Path to autosave folder */ | ||||
@@ -12,6 +12,7 @@ | |||||
namespace rack { | namespace rack { | ||||
namespace app { | namespace app { | ||||
CableWidget::CableWidget() { | CableWidget::CableWidget() { | ||||
color = color::BLACK_TRANSPARENT; | color = color::BLACK_TRANSPARENT; | ||||
} | } | ||||
@@ -152,6 +152,9 @@ engine::ParamQuantity* ParamWidget::getParamQuantity() { | |||||
return module->paramQuantities[paramId]; | return module->paramQuantities[paramId]; | ||||
} | } | ||||
ParamWidget::ParamWidget() {} | |||||
ParamWidget::~ParamWidget() {} | |||||
void ParamWidget::createTooltip() { | void ParamWidget::createTooltip() { | ||||
if (!settings::tooltips) | if (!settings::tooltips) | ||||
return; | return; | ||||