Sunday, February 03, 2013

Python in Lynx (formerly known as Block)



This is a short demonstration of Python capabilities of the application. I had embedded Python into the application's core thus everything is accessible via Python language.

I have written the application in C++ and I used Qt framework. I have also used Python C API to embed python interpreter.

The application has a bridge to Autodesk Maya and it can easily be adapted to other applications like Side Effects Houdini.

For more information please visit Lynx's Web Page.

Ocean Box V2 Stand-alone Versioning Software



Ocean Box V2 is the newer version of Ocean Box stand-alone version control application. This version of the application is cross-platform unlike the previous version which I used .Net for its development back in the day. Biggest different of this version is that, I have written it by using Qt framework. Thus, it can easily be compiled for other OS's, like Linux and Mac OSX. I used C++ language for this version as well.

API
This version of the application comes with Python interpreter embedded which means Python language can be effectively used in the application. Custom plug-ins can be written and loaded in the application. Plug-in API is extremely simple, even novice Python users can develop plug-ins.

It also offers commands for all functionalities of the application for shell users. Moreover, Python API allows Python developers to embed Ocean Box V2 features into other tools and applications. Ocean Box V2 comes with implementation for Autodesk Maya that has been developed by using the powerful API of the application.

Documentation
You can reach the documentation here.

For more information please visit: Ocean Box V2 Web Page

Wednesday, October 03, 2012

Wing IDE


Well, I have to say something about Wing IDE. I have been thinking to write about it for a while here it is, but short one :)

I had to use different IDE's throughout the development projects I have worked on. Wing IDE is the best IDE I have ever used. If you are working on big projects it offers you perfect tools to get the work done. Check it out at http://wingware.com/


Wednesday, September 12, 2012

Qt 4.8.1 on Fedora 17 and libpng12.so.0 issue




I had come across with an issue right after I switched to Fedora 17. Qt 4.8.1 was complaining about missing libpng12.so.0. Fedora 17 ships with
libpng-1.5.10.

We can always downgrade it however I wanted to keep it as it is since I will need it for other applications. As a result, I have added libpng12.so.0 to my development environment as well. It's path gets included automatically based on the product I am developing.

You can obtain the package here https://www.dropbox.com/s/v1khn61flmel27k/libpng12.so.0.tgz?dl=0

You can also check the libpng reference library at http://www.libpng.org/pub/png/libpng.html

Tuesday, May 15, 2012

Storm Pipeline V3 Web Page Has Been Updated

Hi folks,

I finally had a chance to update the page of Storm V3 Rigging and Animation Pipeline. I have added 21 screenshots as well. Please visit it's web page to get more info.


Monday, May 14, 2012

Alias | Wavefront Maya 1998

I have uploaded several videos from Alias | Wavefront Maya 1998 Demo CD. You can check them out by clicking here.

Sunday, April 29, 2012

Block V3 Web Page Has Been Updated

Hi folks,

I have updated the web page of Block V3. I have added a demonstration video as well. You can check it out at it's web page.



Friday, April 27, 2012

Block V3 Node Based Rigging Application

Well, I am posting slower than I am developing. Last week I have posted regarding the Block V2 when I was about to release the third one. So here it is!

Since this is a major update I have edited the description as well, you can find it below or at the related page.



Block is a node based application specifically designed for task building. I have developed the application by using Qt frame work both in C++ and in Python.

Standalone version has been specifically designed for batch and system related task building while the PyQt version has been specifically designed for rigging and animation tasks in Autodesk Maya.

Block allows users to create nodes which are driven by any API developed by you or third party. Created graph can be run within the Block application or attached to any batch process as needed.

Reusable nodes benefit entire production team from modeling to rendering while it’s bringing the cost down. It’s visual, fast and very easy to use. It’s also extremely flexible to handle any kind of work type thanks to its scalable API.


We use the Block on our productions mainly for following tasks;

  • Rigging pipeline
  • Asset publishing
  • Rendering pipeline
  • Batch processes
  • Automated & repeated tasks
While I am using it for;

  • Doing system related tasks like renaming files (for personal work as well)
  • Compiling C++ codes
  • Sending email if required by the conditions I created


Feature List

  • Multi-Threaded
  • Content and data aware structure.
  • Dedicated attribute fields for types.
  • Arrays of data types.
  • Array capabilities for built-in Autodesk Maya types.
  • Data and code export abilities for additional pipeline purposes.
  • Node integration with Autodesk Maya.
  • Node creation integration for Autodesk Maya.
  • Layers.
  • Categorized blocks.
  • Reporting.
  • More built-in nodes.
  • More flexible outliner.
  • Color representation of data Types.
  • Fancy node representation.
  • Connection shape options.
  • Full screen mode.
  • Additional visual improvements.
  • Many others…
 The features above are also added to the API.



Data Types
Block is a data and content aware system. Single and array types of attributes are supported. Following data types are available. 

  • str: string
  • int: Integer.
  • float: Float.
  • bool: Boolean.
  • enum-str: String enumeration.
  • enum-int: Integer enumeration.
  • mayaNode: Data holds Autodesk Maya node(s).
  • Generic: Generic type is developed for handling any other kind of data type not listed above. This type is treated as typeless structure. You can connect or set any kind of data on them. Nodes intuitively convert it to required data type.


Attributes and Content Aware System
I have introduced several new cool features on the attributes in this version.

Attribute Features
Attributes may require additional features like browsing a file, directory, selecting a node in Autodesk Maya, even components like faces, edges, etc. So I have introduced feature set for attributes to offer more flexibility interaction.

Available features appear along side of attributes in the editor when a node selected. For instance; if an attribute represents a directory, “Browse for a directory” feature appears and allows users to interact with the attribute in efficient manner. Following features are also available and new features can be added very easily.

·         Browse for File
·         Browse for Directory
·         Select Maya Node
·         Select Maya Poly Face
·         Select Maya Poly Edge
·         Select Maya Poly Vertex
·         Select Maya Node Attribute

Color Coding
Color coding for data types which reflected on the plugs and on the connections has been added in previous version. I have also added color coding system on the attribute editing fields in this version. So user can distinct the data types far more easily by looking at the color of the attribute fields.

Dedicated Editing Fields
Unlike previous version, this version comes with dedicated attribute editing fields for each individual data types. Integer and float spinner boxes, combo boxes, etc.

Connections
Connections now can be broken by individually for incoming and outgoing plugs. In previous version this feature was designed to disconnect both at the same time. 


Feedback

Since feedback is extremely important in every aspect of the production there is no exception in the Block application.

User can watch feedback panel for any information that the Block emits. While feedback panel gives written information about the performed action, nodes have a new feature to inform users regarding their state.

I have introduced “Flag” system in this version. A flag basically informs users visually regarding the stage of the action of the node while it appears slightly above of the each node. Green play icon means everything executed perfectly while red stop icon draws users attention for any possible error and emits written feedback regarding it.


Platform
Block is running on both Microsoft Windows and Linux systems. It will be available for Mac OS in the future as well.