Changes for New Naming Scheme

Name Changes

To successfully compile your plugin with the new naming scheme, you will need to rename some types, methods and constants. See List Of Name Changes in R15 API.

Memory Management

  • gNew/gDelete have been replaced with NewObj/DeleteObj. NewObj however does not clear the memory of the object (if you need that, call NewObjClear instead), so you have to make sure that the class has a clean constructor.
  • bNew/bDelete should be replaced by maxon::BaseArray. You can still use bNewDeprecatedUseArraysInstead(), but the maxon::BaseArray offers the same performance (bNew and the maxon::BaseArray both require one memory allocation) and the benefit of better debug options (range check) plus automatic release of the memory block.
  • GeAlloc/GeAllocNC/GeFree have been replaced by NewMemClear/NewMem/DeleteMem. NewMem does not clear the memory on allocation, use NewMemClear if you need that. The other change is that while GeAlloc would return nullptr for size 0, NewMem/NewMemClear will return a valid address (like malloc).

String Conversions

String::ToReal() has been renamed to call String::ParseToFloat(). The name comes from the fact that a full formula parsing evaluation is done within the routine, which makes it slow. If you just need a regular number conversion use the faster routine String::ToFloat() instead.
The same happened to String::ToLong() which is now String::ParseToInt32(). The routine is/was limited to 32-bits integers. Use String::ToInt(), String::ToInt32(), String::ToInt64(), String::ToUInt(), String::ToUInt32() or String::ToUInt64() instead.