From Ali Raza:
I have designed and developed this application for Desktop Platforms (Windows and Mac) with Italian Engineers for One of Marani Audio’s Hardware Products.
It took 239 Hours to complete this product from scratch, involving areas such as hardware interaction, multithreading, custom designed scaleable ui, caching, data storage, data visualization, realtime chart plotting, and so on.
Available on Windows & Mac*
Application is currently available on windows for all Marani customers. It also works on Mac. However, hardware integration was not done due to lack of Mac based customers.
Custom Hardware Integration
Unlike mobile device features such as camera, accelerometer etc, custom hardware with such scale turned out to be one of the most difficult yet learning wise rewarding programming experiences of my life. Passing values from software to hardware require a delay, e.g. send a value, wait for the response, and then next information. While at the same time there was a serious challenge to keep UI experience fluid, let user make all the changes and then sync those changes with a slow hardware device.
There are hundreds if not thousands of variables in one screen, affecting each other’s control, as well as chart series. Chart series is not a simple variable change over time but result of some intensive calculations that make application slow when changing slider value which dispatches continuous events and the chart has to show changes in real time. So, I had to put calculation works on a separate thread and update UI based in result by taking care of all the pitfalls of multi-threading programming
Audio related operations, filters and components are visualized by plotting charts with multiple series along with annotation. Transparency was used to identify overlapping series.
Just like Mobile Platforms with different DPIs, I used the same scalable approach for this app, so whether you are on Old School Square Monitor, a Standard Windows Pc, Retina Windows (Bootcamp), Retina Mac, or even a TV screen, you will see the whole app in its full glory without any scroll bars.
What is a NURBS surface?
NURBS or Non-Uniform Rational Basis Spline surfaces, as with Bezier Patches, are defined by a net of control points however also have other characteristics which allow them to construct more more complex geometrical shapes with greater control.
Built with classic Display List.
Application utilizes bitmap operations - comparing specific pixels, studying their color and transparency, creating on the basis of the strokes and masks, which will eventually serve submitting several graphics in one image.
All items of clothing so that interact with each other, the upper parts cut the bottom, bottom to fit the outlines of the same model. This requires keeping a fairly large quantity of coordinates of each piece of garment outlines and their comparison.
Stage3D on mobile - part #1