@@ -195,7 +195,7 @@ endif | |||||
ifeq ($(ARCH), win) | ifeq ($(ARCH), win) | ||||
cp libRack.a dist/Rack-SDK/ | cp libRack.a dist/Rack-SDK/ | ||||
endif | endif | ||||
cd dist && zip -5 -r Rack-SDK-$(VERSION)-$(ARCH).zip Rack-SDK | |||||
cd dist && zip -5 -r Rack-SDK-$(VERSION).zip Rack-SDK | |||||
# Obviously this will only work if you have the private keys to my server | # Obviously this will only work if you have the private keys to my server | ||||
@@ -11,6 +11,7 @@ static const float MM_PER_IN = 25.4; | |||||
namespace rack { | namespace rack { | ||||
inline float in2px(float inches) { | inline float in2px(float inches) { | ||||
return inches * SVG_DPI; | return inches * SVG_DPI; | ||||
} | } | ||||
@@ -7,14 +7,11 @@ | |||||
namespace rack { | namespace rack { | ||||
/** Returns the path of a global resource. Read-only | |||||
*/ | |||||
/** Returns the path of a global resource. Should only read files from this location. */ | |||||
std::string assetGlobal(std::string filename); | std::string assetGlobal(std::string filename); | ||||
/** Returns the path of a local resource. Read/write | |||||
*/ | |||||
/** Returns the path of a local resource. Can read and write files to this location. */ | |||||
std::string assetLocal(std::string filename); | std::string assetLocal(std::string filename); | ||||
/** Returns the path of a resource in the plugin's folder. Read-only | |||||
*/ | |||||
/** Returns the path of a resource in the plugin's folder. Should only read files from this location. */ | |||||
std::string assetPlugin(Plugin *plugin, std::string filename); | std::string assetPlugin(Plugin *plugin, std::string filename); | ||||
@@ -121,8 +121,8 @@ float engineGetSampleRate(); | |||||
float engineGetSampleTime(); | float engineGetSampleTime(); | ||||
extern bool gPaused; | extern bool gPaused; | ||||
/** If plugins begin using this in harmful ways, I will remove it and break your API. | |||||
To avoid spoiling the fun for everyone, make sure your plugins demonstrate good behavior by not being "surprising" to the user. Your plugin needs to have a clear purpose for manipulating other modules and wires and must be done with a good UX. | |||||
/** Plugins should not manipulate other modules or wires unless that is the entire purpose of the module. | |||||
Your plugin needs to have a clear purpose for manipulating other modules and wires and must be done with a good UX. | |||||
*/ | */ | ||||
extern std::vector<Module*> gModules; | extern std::vector<Module*> gModules; | ||||
extern std::vector<Wire*> gWires; | extern std::vector<Wire*> gWires; | ||||
@@ -101,7 +101,7 @@ DeferWrapper<F> deferWrapper(F f) { | |||||
return DeferWrapper<F>(f); | return DeferWrapper<F>(f); | ||||
} | } | ||||
#define defer(code) auto CONCAT(x, __COUNTER__) = deferWrapper([&]() code) | |||||
#define defer(code) auto CONCAT(_defer_, __COUNTER__) = deferWrapper([&]() code) | |||||
//////////////////// | //////////////////// | ||||
// Random number generator | // Random number generator | ||||