Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-01-24Raise an exception when registering classes with ID names which are too ↵Campbell Barton
long. (related to bug ), found while looking into bug [#25776].
2011-01-19Added missing updates for NLA RNA settingsJoshua Leung
2011-01-13remove/comment unused varsCampbell Barton
also removed unnecessary NULL checks (where the pointer was used later without checking).
2011-01-12modification to Joshua's commit r34270,Campbell Barton
replace NlaTrack.active() function with a property, since this is used everywhere else.
2011-01-12Patch [#24763] NLA Track & Strip methodsJoshua Leung
Submitted by: Dan Eicher (dna) <quote> Adds: AnimData.nla_tracks.new(prev) * (optional) prev -- add new track after this track AnimData.nla_tracks.remove(track) AnimData.nla_tracks.active(track) * (optional) track -- track to set active * returns active track NlaTrack.strips.new(name, start, action) NOTE: fails if the strip can't fit in the track as opposed to the operator which will create a new track and add the strip to that. * name -- name for new strip * start -- start frame of new strip * action -- action to assign to strip NlaTrack.strips.remove(strip) </quote> --- I've resolved the issue (noted in the original patch) regarding the validation of the created strip by creating and using a "dummy AnimData" block to solve the missing dependencies.
2011-01-10comment/remove various unused vars,Campbell Barton
also make rna function for new images require width and hight args.
2011-01-07remove references to BKE_utildefines where its not needed.Campbell Barton
- move GS() define into DNA_ID.h - add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07split BKE_utildefines.h, now it only has blender specific defines like GS() ↵Campbell Barton
MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h. no functional changes.
2010-12-29Bugfix [#24163] Unable to animate INSIDE a group node in theJoshua Leung
compositor This commit fixes the original bug reported here by adding some methods to move the relevant F-Curves (and drivers) over to the new Node-Tree's (i.e. group-node) AnimData. Animated nodes which subsequently get grouped will still be able to animate as a result of this commit. TODO's: - Ungrouping now will not yet merge the animation back (or at least copy it) - Buttons for nodes freshly grouped do not correctly show animated status indicators for some reason, yet normal animation does
2010-12-28- Typo fixesJoshua Leung
- Visual Location Keying Set was still using the old-style flag defines
2010-12-07pass along the context to extension functions, this was already being done ↵Campbell Barton
in all cases except for the render engine. this allows python to NULL its internal context while scripts are not running.
2010-12-04Give functions that use printf style formatting GCC format attributes so if ↵Campbell Barton
incorrect formatting is used the compiler will warn of this. found & fixed 2x incorrect formatting args.
2010-11-17use 'const char *' by default with RNA functions except when the value is ↵Campbell Barton
flagged as PROP_THICK_WRAP. Also use const char in many other parts of blenders code. Currently this gives warnings for setting operator id, label and description since these are an exception and allocated beforehand.
2010-11-14bugfix [#24668] Deleting armature objects removes a user from its action, ↵Campbell Barton
eventually leading to data loss
2010-10-16most unused arg warnings corrected.Campbell Barton
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating). - mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
2010-09-23bugfix [#23795] Insert Visual Loc/Rot Keyframe of Armature Bones BrokenCampbell Barton
- converted 3 options in keying sets to use bl_options like panels & operators - removed function arguments for new keying sets, better adjust these after to avoid duplicating properties in function arguments (they were not used).
2010-08-24py/rna remove functions now all work in a similar way.Campbell Barton
- some remove() functions took an int argument rather then the item to remove. - disallow None argument. - raise an error if the item isnt in the collection.
2010-08-24move more active variables to be nested in collections.Campbell Barton
2010-08-24- move more active properties into their collections:Campbell Barton
scene.active_keying_set --> scene.keying_sets.active ...same for active_uv_texture. active_vertex_color, active_keyconfig, - move mesh.add_uv_layer() and mesh.add_vertex_color() into their collections also have them return the newly created layer and dont set the layer active. uvtex = mesh.uv_layers.new(name) vcol = mesh.vertex_colors.new(name)
2010-08-18rna naming mainly for Scene/IK/KeyingSet'sCampbell Barton
2010-08-18rna renaming, still only adjusting properties that wont be animated (at ↵Campbell Barton
least its very unlikely).
2010-08-17apply UserPrefs and Theme rna naming changes.Campbell Barton
2010-08-03rna pointer poll function, not used yet.Campbell Barton
2010-05-20Bugfix #22374: index=-1 not work for keyingset.paths.add() functionJoshua Leung
Simple typo which meant that paths with 'Entire array' set could not be reimported properly.
2010-05-04Great patch by Harley Acheson fixing about 80 typos and spellingDaniel Salazar
mistakes in makesrna
2010-04-04make keying set path functions members of the paths collectionCampbell Barton
2010-03-25More assorted Keying Sets changes for Cessen (mainly api stuff):Joshua Leung
* Added operator (Ctrl Shift Alt I) to show menu for changing the active Keying Set in the 3D view (todo item from last commit) * KeyingSetInfo (i.e. the Builtin Keying Set classes) can now be accessed from Keying Set instances with ks.type_info * Added ks.remove_all_paths() function to remove all the paths for a Keying Set. --- These two changes mean that builtin Keying Sets could be refreshed in response to context changes by doing: <code> ks = bpy.context.scene.active_keying_set if ks.absolute==False and ks.type_info: ksi = ks.type_info # remove existing paths to fill with new ks.remove_all_paths() # check if Keying Set can be used in current context if ksi.poll(bpy.context): # call iterator() which calls generate() and re-populates paths list ksi.iterator(bpy.context, ks) </code> And then, once this has been done, the paths that the Keying Set will operate on can be accessed as <code> paths = bpy.context.scene.active_keying_set.paths </code>
2010-03-24Keying Sets - PyAPI consistency issues:Joshua Leung
* Added 'id_name' property, which is used as the "typeinfo_name" by Keying Set instances. This is simply the name of the relevant KeyingSetInfo classes. * Renamed the 'array_index' arg for ks.add_path() to 'index'. Also removed the 'entire array' toggle arg in favour of just passing -1 to index. However, Keying Sets in general still maintain their 'entire array' toggle flags for now, it's just that the API function does conversion between the two.
2010-03-24remove unused rna includesCampbell Barton
2010-03-23Keying Sets: BuiltIn vs Absolute TweaksJoshua Leung
This commit clarifies the somewhat "murky" separation between "builtin" and "absolute" KeyingSets as a result of discussions with Cessen. * "Builtin" Keying Sets are now just the Keying Sets which in the past have been known as PyKeyingSets or Relative KeyingSets. These are registered from Py Scripts at startup, and will use the context info to determine what data they should be keyframing. These are stored per Blender session, independent of files, since usually these will be coded specific to sets of rigs used at a studio. * "Absolute" Keying Sets are the ones that you can create from the Scene buttons and/or KKEY or RMB over any property. They specify the exact set of properties which should always get keyframed together. These are stored in the scene. In relation to this, I've made it possible to now set one of the builtin Keying Set types as the active Keying Set. * For now, this can only be done via the box beside the insert/delete key operator buttons on the TimeLine header (now complete with an recycled icon - HINT TO ICON DESIGNERS, to make this a bit more obvious). Later on I'll commit an operator to set this via a hotkey. * The "IKEY" menu will only show up when there is no active Keying Set. When there is one, keying will happen silently (with info notice at the top of the screen). Later on, I'll hook this menu up to a hotkey, so that that active Keying Set can be changed without inserting keyframes or clearing active Keying Set... * By default, there isn't any default Keying Set enabled. IMO, this is probably a good default, though some might like to have LocRotScale instead. * I'm not terribly impressed with the search menu for the items being SORTED (and of all things, alphabetically!) currently, since this does break muscle-memory with the menu (and jumbles up order of closely related vs not closely related). * The Scene buttons for KeyingSets still need some changes to fully cope with users setting builtin KeyingSets as active sometimes. Controls which are useless or shouldn't be used when a builtin set is shown are being shown. Builtin set registrations have been tweaked a bit: * Renamed "bl_idname" to "bl_label" for consistency with rest of API. Note that this is the identifier used by Blender internally when searching for the KeyingSet, and is also what the user sees.
2010-03-18Bugfix: Autokeying was non-functional after the Keying Sets refactorJoshua Leung
- The RNA wrapping for the generate callback was still wrong, with the primary effect being that C-code calling this had unexpected consequences that were hard to debug. - Fixed some defective checks that meant that when specifying the RNA-pointers for the Keying Set to use (rather than using the Keying Set's own iterator callback) would never add any info.
2010-03-17PyKeyingSet Bugfixes:Joshua Leung
* With multiple objects selected, only one of the objects got keyframed. The code which was checking for duplicate paths was wrongly assuming to ignore the ID-block used still. * Not registering a Keying Set as 'builtin' would crash on startup. I've made all Keying Sets fallback to adding as if they were local for now, but a better solution is coming soon. * Fixed a typo in RNA function wrappers for the generator callback, since it was looking for the iterator only. This doesn't seem to have caused any problems (thankfully).
2010-03-16== Massive Keying Sets Recode ==Joshua Leung
After a few days of wrong turns and learning the finer points of RNA-type-subclassing the hard way, this commit finally presents a refactored version of the Keying Sets system (now version 2) based on some requirements from Cessen. For a more thorough discussion of this commit, see http://sites.google.com/site/aligorith/keyingsets_2.pdf?attredirects=0&d=1 ------ The main highlight of this refactor is that relative Keying Sets have now been recoded so that Python callbacks are run to generate the Keying Set's list of paths everytime the Keying Set is used (to insert or delete keyframes), allowing complex heuristics to be used to determine whether a property gets keyframed based on the current context. These checks may include checking on selection status of related entities, or transform locks. Built-In KeyingSets have also been recoded, and moved from C and out into Python. These are now coded as Relative Keying Sets, and can to some extent serve as basis for adding new relative Keying Sets. However, these have mostly been coded in a slightly 'modular' way which may be confusing for those not so familiar with Python in general. A usable template will be added soon for more general usage. Keyframing settings (i.e. 'visual', 'needed') can now be specified on a per-path basis now, which is especially useful for Absolute Keying Sets, where control over this is often beneficial. Most of the places where Auto-Keyframing is performed have been tidied up for consistency. I'm sure quite a few issues still exist there, but these I'll clean up over the next few days.
2010-02-27* Renaming some Keying Sets API functions to make the terminology more ↵Joshua Leung
consistent in the UI * Fixed bug with hotkeys for adding properties to Keying Sets using the KKEY over the relevant buttons. Was calling the remove callback instead.
2010-02-12correct fsf addressCampbell Barton
2010-02-11batch remove .'s used with RNA_def_struct_ui_textCampbell Barton
2009-12-14Keyframing Bugfixes and Feature Requests:Joshua Leung
* Added a User-Pref option for the "XYZ to RGB" colour-mode setting for new F-Curves to compliment the one used for Keying Sets. With this option enabled, the builtin Keying Sets also can obey this option. * Made all places that were previously manually checking the flags for keyframing to use a standard API function to do this now. * Fixed bug introduced earlier today in commit 25353 by reverting the changes to keyingsets.c. Forgot that delete_keyframe doesn't handle do the "entire array" hack with array_index = -1 * Fixed bug with the insert-keyframe code for the array_index = -1 case, where too many channels were being keyed (i.e. an imaginary channel was often keyed in addition to the valid ones)
2009-12-11* rename 'rna_path' --> 'data_path', rna and dna are for internal use and ↵Campbell Barton
are not descriptive. * armature.pose_position: POSE_POSITION, REST_POSITION --> POSE, REST * rigify now forces rest pose mode * updated neck_flex to keep original bones unchanged
2009-12-10Durian Request: Default F-Curve Auto-Colour ModesJoshua Leung
Added option to KeyingSets+Keyframing Functions which makes newly added F-Curves for Transforms + Colours to use the colour mode which uses the array index to determine the colour of the F-Curve. The main implication of this is that when this option is enabled for a KeyingSet, all sets of XYZ F-Curves (i.e. location, rotation, scale) for transforms will be shown in Red/Green/Blue instead of some automatically determined "rainbow" colour. Useful for animators far too used to Maya's Graph Editor :P This setting is named, "XYZ to RGB", though that doesn't make its purpose entirely clear.
2009-11-13Driver Editing Tweaks:Joshua Leung
* Updating dependencies for drivers now clears the disabled status of the relevant Driver FCurve too * Changing the type of ID-block used for Driver Targets and Keying Set Paths will now clear the pointer to the ID-block if it is of the wrong type.
2009-10-14UI Templates: ('Any ID' Selector)Joshua Leung
Added new template for choosing to use any type of ID-block. The first combo box allows you to choose the type of ID-block that gets used, and the second box allows you to choose the ID-block of the type specified by the first one. This is currently used for setting the ID-block used for Keying Sets, but the main user for this was intended to be the Drivers UI. However, I still need to clear up a few button-event issues there before I can port this over. Additional Bugfixes: * Adding new Keying Set path was setting the active path wrong, meaning that you had to click on the list to get some response after adding * Bone Groups list was being drawn too long by default (when empty)
2009-10-03Keying Sets UI:Joshua Leung
Added a way to view and edit Keying Sets via the Scene Buttons. These are still some tweaks needed to make this really workable, but should still work well enough for simply viewing and tweaking existing Keying Sets created using other means. Additional bugfixes: * Adjusted the size of labels on properties that had a 'label' for their name. Now it uses 1/3 of the total width instead, which looks much better for most cases. * Added missing entries for adding Force Fields from the Info-header 'Add' menu. At some point we should unify this menu with the popup operator's one, since this is exactly the kind of situation we had hoped in avoid with new UI architectures. * Moved all the operator defines for keyframing stuff to the 'intern' anim header instead
2009-09-272.5 - Assorted Animation UI/Editing TweaksJoshua Leung
Main Feature: * It is now possible to choose which AnimData block is the 'active' one for editing, and/or select them too. AnimData blocks are generally the dark blue and lighter-blue expanders (i.e. Scene, Object, Camera, Lamp, Curve, Armature, etc.) * Objects are no longer selected/deselected when AKEY is used to toggle selection of channels. This was getting a bit annoying. * Following on from selection of AnimData blocks, it is now possible to select/make active an AnimData block in the animation editors, and change the active action for that block via the 'Animation Data' panel in NLA Editor's properties region. --> Be aware that user-counts are not totally handled correctly there yet, so some funky behaviour might be seen... --> It is possible to assign a new action, or to assign an existing one, allowing to switch between actions as in the past with Actions/IPO Editors... Other tweaks: * Some code tweaks towards making the 'Euler Filter' feature for Graph Editor working sometime soon * Added some backend code for snapping the values of keyframes to a single value. Still need to work out some UI for it though. * Shuffled the code for ACT_OT_new() around, and removed the poll() callback so that it worked in NLA too. * Fixed some more notifier bugs with deleting bones and a few other editmode operations for Armatures.
2009-09-14use static functions where possible for some local functions.Campbell Barton
2009-08-27Grease Pencil: RNA WrappingJoshua Leung
* Wrapped Grease Pencil datatypes in RNA. * Hooked up Grease Pencil access in RNA (i.e. via Main, ID, and Scene) TODO: Updates to properties are currently lacking property-update calls, since there's no good notifier for this.
2009-08-252.5 - Keying Sets API (now usable from Py-Scripts)Joshua Leung
Wrapped the Keying Sets API with RNA Functions so that they can now be called from Py-Scripts. This will ultimately be useful for riggers to create Keying Sets which can get loaded up/created for animators to use after importing their rig. I've created a demo for this, which can be found at: http://www.pasteall.org/blend/552 Notes: - Kazanbas, I've had to create a rna_scene_api.c here to hold some of the relevant functions. Hopefully this won't cause you too much pain when you do your next merge from 2.5 to your branch ;) - I've noticed that there seem to be a few cases mentioned in the demo which don't totally work yet. I'll commit some fixes for those later.
2009-08-02NLA Tweaks:Joshua Leung
* "Pushing down" the action to make a new strip will now make the new strip the 'active' one. * 'Active Action' field in Animation Data panel is now editable as long as we aren't in "tweakmode"
2009-07-31Animato - NLA + Realtime Animating Goodies Joshua Leung
* When doing realtime recording of animation (i.e. transforming objects + bones while animation playback is running, and auto-keying is enabled), animation will be added to a new NLA Track+Strip combo everytime a single 'loop' of the frame range has finished. This will allow 'passes' over the animation to be less destructive. * Made the evaluation of the active action (when NLA data is present), be handled as part of the normal NLA system evaluation code (as if it were just another strip in a track at the end). The immediate benefit is that there are now some settings (available in the "Animation Data" panel in the NLA Editor with a strip selected) which allow for the way the active action is combined with the NLA stack results. For instance, the way that the action extrapolates is used in the recording tweaks above.
2009-06-202.5 merged 20773:21020Martin Poirier
2009-06-16RNABrecht Van Lommel
* Added icon to property and enum property items. The latter is responsible for the large number of files changed. * For RNA functions, added PROP_RNAPTR flag to ask for a PointerRNA as argument instead of a C pointer, instead of doing it implicitly with the AnyType type. * Material: properly wrap diffuse/specular param variables, and rename some things for consistency. * MaterialTextureSlot: added "enabled" property (ma->septex). * Image: make animated property editable. * Image Editor: make some things editable, notifiers, respect state. * Context: fix issue with screen not being set as ID.