FxPlug Developers,
As you've probably heard by now, we announced new hardware this morning at WWDC which includes a Retina Display for the new MacBook Pro. The apps have been updated to support this, and are now live in the app store. (Though I'm told it may take a short time for caches around the globe to be refreshed.)
We've made one addition to the FxPlug API related to this that I wanted to tell you about. We haven't yet updated the SDK, but I thought I'd set you up in the meantime. For onscreen control plug-ins, you can now get the backing scale factor of the display (which will be 1.0 for normal displays and 2.0 for retina displays) by calling this method on the FxOnscreenControlAPI_v3:
@protocol FxOnScreenControlAPI_v3 <FxOnScreenControlAPI_v2>
/*!
@method backingScaleFactor
@abstract Returns the scale factor for drawing the OSC to the screen it's current on. Vertex
coordinates will already scale properly, but this method can be used for other
types of drawing (for example, if you are preparing a texture on the CPU and
uploading it, this can tell you how large to make the texture before uploading it).
*/
- (double)backingScaleFactor;
@end
You can add the above code snippet to a header file, and retrieve the API object by doing the usual:
id<FxOnScreenControlAPI_v3> oscAPI = [_apiManager apiForProtocol:@protocol(FxOnscreenControlAPI_v3)];
Once you have the object, you can call the -backingScaleFactor method on it.
Note that in general, vertex coordinates are already scaled properly for you when we call you to draw. If you're only drawing using points, lines and polygons via OpenGL, you don't need to do anything new for your OSCs to be at the higher resolution. But if you're using textures in your drawing, you'll want to load assets that are at the higher resolution when appropriate.
And because I know you'll ask - there were 2 bug fixes, as well. We updated the TemporalAPI and Parameter API to return correct information about whether images are flipped or not when getting images at non-render time, and to return full-height fields (so it matches the plug-in's input images).
Let me know if you have any questions!
Darrin