The Indiegogo campaign has been ended as there seems to be little interest is such tools. Indiegogo has promised that they will refund the backers to the original source of payment.
OSCar is an acronym for On Screen Controls And Rigging.
It is a group of filters of on screen controls to be used with parameter linking to assist template creators in presenting an even better user experience to their customers.
Look to the OSCar Radius example at the bottom for applicable use of a custom OSC. OSCar Rectangle is a cool, robust example of a custom OSC but does not provide for a really good viable use example ( working on that with the source image well but may not be finished by Monday ).
A word on this project: OSCar Rectangle is a test of the architecture and technologies built to support enumerable OSCs for Apple Motion and Final Cut Pro. There will be many more OSCs in the release version that will be updated in the beta toolset along the way. I welcome any input as this is my first commercial software project ( I consider commercial if it is funded for the small amount requested ). Email support@lukesgotbrains.com with any bugs or feature suggestions.
Beta Info: The beta of OSCar is built without Apple Certificate or Notarization. This means it is not guaranteed by Apple to be clean. The builds you find here are clean and do not even access the internet for any reason. I would suggest if you download the beta to run virus check on it for peace of mind.
Once the beta is downloaded and uncompressed you will need to run a terminal command on it to run or you will get an error on launch. Go to terminal and paste xattr -c into the terminal. Then drag the OSCar Installer from the finder to the terminal window. Select terminal window and press return. The beta should then run. Again, this is bypassing OSX GateKeeper. Stay vigilant, keep your Mac clean.
BETA no longer available.
What is the point?
OSC Rectangle was originally written to further my personal knowledge of the FXPlug SDK. I now believe it to be an adequate example of my skillset to bring valuable diverse on screen controls to Apple Motion and Final Cut Pro.
It is my work example for you to judge to see if you feel it is worthy to invest in having more tools in this vein. A big value add is the magnification of anchor adjustments.
Why didn’t I finish it already?
I will lose access to the development machine I am using and now need to raise funds to purchase a system ( looking at a MacBook Air that costs approximately $3200 ). I also need a paid Apple Developer Account ( $100 ). The fundraiser that I will be making public soon will make approximately that after taxes and fees.
What happens if the project is funded?
First and foremost the project with the following points is finished and released free of charge to the community as a plugin with an installer. New betas will be released allowing users to test and see how the tools can fit into their individual workflows. This will lead to opportunities for future community supported projects such as the formidable LukesGotGroups which provides for motion groups to be publishable to Final Cut Pro with full hiearchy support and some special bonuses that make it all worth it. There is also the other on screen controls and expression support.
Known Issues ( These will be corrected if project is funded ):
Estimated time of resolution for known issues is four weeks.
The installer isn’t notarized by Apple as I don’t have a paid developer account.
You will see warnings when installing.
When selecting inspector while OSC visible there is a frame where the OSC disappears.
On rare occasion when moving the complete rectangle by dragging center in the OSC the rectangle coordinates with twitch between two positions. It is caused by a flipped coordinate state that accidentally gets set.
When editing corner radius with cursor or in combination with command option shift the radius will drop to zero and only be editable with the parameter in the inspector.
Multiple Selected Filters ( one works others are confused and draw incorrectly ). Happens intermittently when moving lower points up or down. Simple parameter update issue.
When using the corner radius cursor it will update correctly when moving cursor over it but when dragging it the update will take a few moments to update.
I tried everything I could think of but this seems to be an intrisic issue in Apple Motion.
The OSC slow when editing while playing. This is due to existance of the parameterChanged method in the Fliter and the number of parameters set per element changed. It is also may be related to thread locking while changing parameters. Will resolve.
Magnification:
The synchronization is off from time to time between the on screen control and the magnified texture. This may reveal the magnified texture edge without the ring looking odd. Solution is evident by forcing a redraw of the magnification ring for one step after the magnification went away in parameters.
The magnification ring may also be offset drastically initially.
On rare occasion the zoomed in texture will remain after the ring goes away until acted on again. This is related to the synchronization and will be resolved when synchronization is finished.
Coordinates of anchor are offset from cursor when zoom in more then 6000%.
Behaviors set primary parameter correctly but does not update OSC or parameters that are dependent on this change
Undo of parameter in inspector can at times require two undos or may not work at all ( slider, edit box, and scaling edit value ). The reason is that there is no way to add the additional parameters that are set when a value is changed in the inspector to be ignored by parameterChanged. The solution is to create a custom parameter so that the additional parameters can be ignored ( they are added to the undo stack individually which causes innumerable issues ). The solution causes issues with not being able to set behaviors for the parameter. Best practive for now is to assume the parameters will not be set in the inspector for the OSC. I have considered creating custom parameters for the user to set that would trigger the ignore methods with additional exposed parameters that will be set internally so they may be used with behaviors. This is still under consideration and any input would be helpful. Still researching the use of a custom undo stack in parameterChanged. It did not work on initial attempt.
Reintegrate custom attributes for corner radius.
••• Finish implementing Margin coordinates for use with text paragraphs. Apple Motion text generator does not support behaviors such as Link required for using Margin Insets in the OSC.
Potential Improvements:
Add Render to final for fills, strokes and anchors.
Add Image Well to allow the Rectangle OSC to adopt the source images dimensions and constrain scaling to be proportional in all dimension altering cases. Allow for a modifier key to implement cropping. Ability to render a cropped version of source. Would also crop to the corner radius and render a stroke if selected.
Support document and object coordinate spaces ( defaults to object now ).
Also use filter source layer to transform coordinates so rectangle OSC visually matches screen coordinates of object.
The mouse down position should be relative to the selected handle position.
Now it pops to the position of the mouse when magnified. Open for discussion but I believe it should be relative not absolute.
Magnification:
Slow down movement of mouse relative to magnification scale. This would allow for easier placement of the anchor point.
The width and offset of the magnification ring as well as the scale of the magnified texture mask are look up tables as an equation didn’t quite get it. You may find that certain magnification values look odd. Please report them as they easily fixed.
Add contextual menus with an option control modifier mouse lick that would allow for things such as in view numeric input for coordinates, radius, stroke width parameters and popup color inspectors. This would allow for a more intuitive expereince when in full screen mode.
Generators for all quadrics ( rectangle, line, circle, triangle ). Simple but something I wish was there as I am not keen on the available options.
Other examples:
OSCar Elements . Filter with dynamic, editable list of OSCs that also have a first pass at Expressions in the OSCs.
OSCar Radius . First OSC built. The magnification is a first pass. Look to the latest Rectangle example for better magnification example.
Leave a Reply