Friday, 20 June 2014

More Audio goodness

I've just added extra functionality to the Audio handlers in Red9 that hopefully you'll all find useful. 

Firstly I've expanded on the conversion tools to handling timecode, we now have the full complement:

milliseconds_to_Timecode(milliseconds, smpte=True, framerate=None)
milliseconds_to_frame(milliseconds, framerate=None)
timecode_to_milliseconds(timecode, smpte=True, framerate=None)
timecode_to_frame(timecode, smpte=True, framerate=None)
frame_to_timecode(frame, smpte=True, framerate=None)
frame_to_milliseconds(frame, framerate=None)

We're using these internally to process timecode around our MoCap deliveries, converting time to the relevant units as and when required.



I've also added a new function to the Red9_Sound menu in the Trax Editor, 'Sync_BWavs' which is designed to automatically sync multiple BWav files to their internal timecode. BWav's are Braodcast Wav's used when recording audio with timecode as it embeds the data into the wav's header, very useful in production.

The new function processes either the selected audio nodes in Trax, or ALL wavs in the scene, depending on selection. It then inspects the internal BWav's timecode, and if found and valid it will shift the audio nodes in Maya to match their original timecode's, re-syncing them to the original shoots timelines. 

I've also done a few fixes to the AudioNode class, adding the setters that were missing in some of the properties.

cheers

Mark

Thursday, 5 June 2014

New AnimUI functions....


So a few updates. I've been working on the back-end to the AnimUI a fair bit recently and have exposed a few new options that should be useful to you all.

First one is the matchMethod - this is the code that takes 2 hierarchies and matches them, node for node to them process correctly. This is used by all the anim code calls, copyAttrs/Keys, poseLoad etc so it's a really low level feature. Now this has been there for a while but it wasn't actually hooked up correctly...ooops! There's been a flag to control the matchMethod but it was missing an option, and that in turn has caused a few of you issues.

The new option is 'index' and that turns OFF all the matching code and just takes the 2 hierarchies that the filter found, and zips them together in the order they were found. Why? well this is what Maya native does on all hierarchies, absolutely no intelligence just one to one mapping. It will now allow things like this to match:

AlphaRig_WristCtrl == BetaRig_WristCtrl

previously this would never match as there's no naming match there, other than me allowing you to enter a search and replace to the UI. With the index option it will match, as that node was found as the 4th child of the hierarchy in both rigs. This also means that the Pose's stored for Alpha_Rig will load correctly to Beta_Rig ;)

So what else, well I've added sort logic to the poseUI. You can do a number of new things in there. Firstly the searchBox takes comma separated searches, so you can add "walk,run,idle' and it will show those as a filter. You'll also notice there's 2 new icons, sort by name, and sort by date. This has been getting on my nerves as my facial library at work is 80+ shapes and if I add a new one I have a lot of scrolling to do!! So sort by date is a godsend.

These are in the GitHub branch and will shortly go into another live release, after testing ;)

cheers

Mark