11 years agopython access to operators now hides the _OT_ syntax, eg. SOME_OT_operator -> some...
Campbell Barton [Fri, 17 Jul 2009 12:26:40 +0000 (12:26 +0000)]
python access to operators now hides the _OT_ syntax, eg. SOME_OT_operator -> some.operator
this works for the calling operators from python and using the RNA api.

bpy.ops.CONSOLE_exec() is now bpy.ops.console.exec()

split.itemO("PARTICLE_OT_editable_set", text="Free Edit") becomes... split.itemO("particle.editable_set", text="Free Edit")

For now any operator thats called checks if its missing _OT_ and assumes its python syntax and converts it before doing the lookup.

bpy.ops is a python class in release/ui/ which does the fake submodules and conversion, the C operator api is at bpy.__ops__

personally Id still rather rename C id-names not to contain the _OT_ text which would avoid the conversion, its called a lot since the UI has to convert the operators.

11 years agoColour Management
Matt Ebb [Fri, 17 Jul 2009 02:43:15 +0000 (02:43 +0000)]
Colour Management

- 1st stage: Linear Workflow

This implements automatic linear workflow in Blender's renderer. With the
new Colour Management option on in the Render buttons, all inputs to the
renderer and compositor are converted to linear colour space before
rendering, and gamma corrected afterwards. In essence, this makes all
manual gamma correction with nodes, etc unnecessary, since it's done
automatically through the pipeline.

It's all explained much better in the notes/doc here, so please have a look:

And an example of the sort of difference it makes:

This also enables Colour Management in the default B.blend, and changes the
default lamp falloff to inverse square, which is more correct, and much
easier to use now it's all gamma corrected properly.

Next step is to look into profiles/soft proofing for the compositor.

Thanks to brecht for reviewing and fixing some oversights!

11 years agobpy rna
Campbell Barton [Fri, 17 Jul 2009 02:31:28 +0000 (02:31 +0000)]
bpy rna

Calling rna functions with invalid keywords, too many keywords and too many args would fail silently
- now raise an error with invalid keywords and a list of valid ones, raise an error when too many args are given.
- calling rna functions would alloc a ParameterList each time, changed to use a stack variable (2 pointers and an int).
- store the number of parameters ParameterList
- python exception types were wrong in many cases, (using attribute error rather then type error)
- fixes to small errors in python UI scripts.

11 years ago2.5 - 2 Tweaks
Joshua Leung [Fri, 17 Jul 2009 00:17:37 +0000 (00:17 +0000)]
2.5 - 2 Tweaks

* Comment re-formatting for keyframe drawing code
* Removed redundant frame number button from buttons view header.

11 years agogrr, py 2.5 2.6 and 3.x need different StringIO's
Campbell Barton [Thu, 16 Jul 2009 23:04:29 +0000 (23:04 +0000)]
grr, py 2.5 2.6 and 3.x need different StringIO's

11 years ago- Scrollbars for the console (use View2D functions)
Campbell Barton [Thu, 16 Jul 2009 22:47:27 +0000 (22:47 +0000)]
- Scrollbars for the console (use View2D functions)
- Set View2D operators not to register, got in the way a lot with the console.
- Made autocomplete Ctrl+Enter so Tab can be used.
- Should work with python 2.5 now. (patch from Vilda)
- Moved report struct definitions into DNA_windowmanager_types.h, could also have DNA_report_types.h however the reports are not saved, its just needed so the report list can be used in the wmWindowManager struct. Fixes a crash reported by ZanQdo.
- Store the report message length in the report so calculating the total height including word wrap is not so slow.

11 years agoSVN maintenance.
Guillermo S. Romero [Thu, 16 Jul 2009 22:06:04 +0000 (22:06 +0000)]
SVN maintenance.

11 years ago2.5 UI: Renaming cloth UI file to fit naming scheme
Daniel Genrich [Thu, 16 Jul 2009 21:22:52 +0000 (21:22 +0000)]
2.5 UI: Renaming cloth UI file to fit naming scheme

11 years ago* revert reversion by Genscher. This '/MT' business is now handled in
Nathan Letwory [Thu, 16 Jul 2009 20:00:15 +0000 (20:00 +0000)]
* revert reversion by Genscher. This '/MT' business is now handled in

11 years agoWin64: revert to use static msvc libs again
Daniel Genrich [Thu, 16 Jul 2009 19:56:47 +0000 (19:56 +0000)]
Win64: revert to use static msvc libs again

11 years agoSCons
Nathan Letwory [Thu, 16 Jul 2009 19:41:28 +0000 (19:41 +0000)]

* ensure all SConscripts are ready for win64-vc (where necessary).
* ensure we have proper _DEBUG flag for Python when we're doing a debug build.
* some cleaning up of linking etc.
* ensure /EHsc is there for game engine modules.

11 years agoAnother fluid + (little) cloth gui and settings update
Daniel Genrich [Thu, 16 Jul 2009 14:31:32 +0000 (14:31 +0000)]
Another fluid + (little) cloth gui and settings update

11 years ago2.5 - View2D fixes for User Prefs
Joshua Leung [Thu, 16 Jul 2009 11:05:16 +0000 (11:05 +0000)]
2.5 - View2D fixes for User Prefs

Added NULL check for View2D code for invalid style pointer (this underlying problem should get addressed at some point), and reinstated the reinitialisation hack for panel regions.

11 years ago2.5 - User Preferences Layout patch from William
Joshua Leung [Thu, 16 Jul 2009 10:32:21 +0000 (10:32 +0000)]
2.5 - User Preferences Layout patch from William

Screenshot here:

11 years ago- use outliner colors (with subtle stripes) for report so you can see divisions betwe...
Campbell Barton [Thu, 16 Jul 2009 07:11:46 +0000 (07:11 +0000)]
- use outliner colors (with subtle stripes) for report so you can see divisions between operators with wrapping.
- added class option for PyOperators __register__ so you can set if py operators are logged in the console.
- PyOperators was refcounting in a more readable but incorrect way. in some cases would be possible to crash so better not drop the reference before using the value.
- console zoom operator was registering which meant zooming in to see some text would push it away :)

11 years ago2.5 - Silencing various compiler warnings (mingw)
Joshua Leung [Thu, 16 Jul 2009 04:45:52 +0000 (04:45 +0000)]
2.5 - Silencing various compiler warnings (mingw)

11 years agoExtrude along normals.
Martin Poirier [Thu, 16 Jul 2009 03:16:03 +0000 (03:16 +0000)]
Extrude along normals.

Note that this is on in all cases now, it needs to be restricted to face extrude only.

Some slight transform operator cleanup too.

11 years agoAdd Makefile build support for Console Space Type (added in r21611).
Guillermo S. Romero [Thu, 16 Jul 2009 03:11:21 +0000 (03:11 +0000)]
Add Makefile build support for Console Space Type (added in r21611).

11 years ago* Temporarily commented out a couple of lines from Brecht's User Prefs commit
Matt Ebb [Thu, 16 Jul 2009 02:29:49 +0000 (02:29 +0000)]
* Temporarily commented out a couple of lines from Brecht's User Prefs commit

Brecht: This makes Blender crash on startup for a few of us, so I'm just
disabling it for now until you have have a look at it

11 years agoSVN maintenance.
Guillermo S. Romero [Thu, 16 Jul 2009 02:04:31 +0000 (02:04 +0000)]
SVN maintenance.

11 years agoConsole Space Type
Campbell Barton [Thu, 16 Jul 2009 00:50:27 +0000 (00:50 +0000)]
Console Space Type
* interactive console python console.
* display reports and filter types. defaults to operator display so you can see the python commands for tools as you use them,
  eventually it should be possible to select commands and make macto/tools from them.

Example use of autocomp.  b<tab>, bpy.<tab>, bpy.<tab>,<tab> etc.

basic instructions are printed when opening the console.

* Console exec and autocomp are done with operators written in python.
* added CTX_wm_reports() to get the global report list.
* The window manager had a report ListBase but reports have their own struct, switched to allocate and assign when initializing the WM since the type is not available in DNA.
* changed report types flags for easier display filtering.
* added report type RPT_OPERATOR
* logging operators also adds a python-syntax report into CTX_wm_reports() so they can be displayed in the console as well as calling a notifier for console to redraw.
* RnaAPI context.area.tag_redraw() to redraw the current area from a python operator.

* better interactions with the console, scrolling, copy/paste.
* the text displayed doesnt load back.
* colors need to be themed.
* scroll limit needs to be a user pref.
* only tested with cmake and scons.

11 years agomake py3.1 default for mingw/scons too.
Nathan Letwory [Wed, 15 Jul 2009 23:26:24 +0000 (23:26 +0000)]
make py3.1 default for mingw/scons too.

11 years ago2.5: fix for uninitialized var in 3d view header template.
Brecht Van Lommel [Wed, 15 Jul 2009 23:24:51 +0000 (23:24 +0000)]
2.5: fix for uninitialized var in 3d view header template.

11 years ago2.5: fix for closed panels not resizing properly.
Brecht Van Lommel [Wed, 15 Jul 2009 22:58:34 +0000 (22:58 +0000)]
2.5: fix for closed panels not resizing properly.

11 years ago2.5: Defaults
Brecht Van Lommel [Wed, 15 Jul 2009 22:58:12 +0000 (22:58 +0000)]
2.5: Defaults

* Wave modifier speed 0.5 -> 0.25.

* Particles even and random distribution on.
* Particles normal velocity 0.0 -> 1.0.
* Particles size 1.0 -> 0.05.
* Particles draw emitter and material color on.

* Field strength 0.0 -> 1.0

* Object drawing without material was not consistent
  with default material.

* Panel title 13 -> 12 points.

11 years ago2.5 - Tweak to Action Constraint 'Transform Channel' order of options
Joshua Leung [Wed, 15 Jul 2009 22:51:47 +0000 (22:51 +0000)]
2.5 - Tweak to Action Constraint 'Transform Channel' order of options

11 years ago2.5
Brecht Van Lommel [Wed, 15 Jul 2009 19:20:59 +0000 (19:20 +0000)]

* Some changes to make lamp and world textures editing work.
  You may have to click on another texture slot once before
  being able to add a texture, and the layout is messy. Added
  this so lightenv project isn't blocked by this being missing.
* Adding a new material slot now doesn't create a new material
  anymore, to avoid creating unused materials.
* Tiny changes to scene/object buttons.

11 years ago2.5: User Preferences
Brecht Van Lommel [Wed, 15 Jul 2009 19:19:43 +0000 (19:19 +0000)]
2.5: User Preferences

* Added basic infrastructure to layout user preferences. The
  intention is that you open a user preferences space in place
  of the buttons space, and have panels there.
* The existing sections don't have to be followed, it's easy
  to create different ones, just change the user_pref_sections
  enum in RNA.
* This will get separated from the info header later.

11 years agotiny fix: stamp alpha color was lacking range parameter
Dalai Felinto [Wed, 15 Jul 2009 03:47:05 +0000 (03:47 +0000)]
tiny fix: stamp alpha color was lacking range parameter

I was going to commit it later with other changes, but I'm changing other stuff at rna_scene.c for the gamedata, and didn't want to mix it up.

11 years ago* set py 3.1 as default for windows
Nathan Letwory [Tue, 14 Jul 2009 23:26:26 +0000 (23:26 +0000)]
* set py 3.1 as default for windows
* add some ignores for some warnings (which seem to be ignored on nixes already).
* add zips for py 3.0 and py 3.1. Note: py 3.1 zip contains entire Lib

11 years ago2.5: added panel with IK settings for bone.
Brecht Van Lommel [Tue, 14 Jul 2009 22:11:25 +0000 (22:11 +0000)]
2.5: added panel with IK settings for bone.

11 years ago2.5: small tweaks for scene and object layouts.
Brecht Van Lommel [Tue, 14 Jul 2009 20:38:21 +0000 (20:38 +0000)]
2.5: small tweaks for scene and object layouts.

11 years ago2.5: Objects
Brecht Van Lommel [Tue, 14 Jul 2009 20:27:28 +0000 (20:27 +0000)]
2.5: Objects

* Added Relations panel with layers, pass_index, parent.
* Groups panel now can do add to group/remove from group.
* Parent, parent type, track are now editable.
* Separate constraint add operator for object and bones.

11 years ago2.5: Armature
Brecht Van Lommel [Tue, 14 Jul 2009 17:59:26 +0000 (17:59 +0000)]
2.5: Armature

* Bone Transform panel now works, using appropriate EditBone or
  PoseChannel properties.
* Bone name and parent are now editable.
* Some other tweaks to the UI layouts for Armature and Bone.
* Notifiers for armature/editbone properties.

11 years agoRNA
Brecht Van Lommel [Tue, 14 Jul 2009 17:35:07 +0000 (17:35 +0000)]

* RNA_enum_items_add_value and RNA_enum_item_add_separator utility
  functions, to add an item from an existing array with a certain
  value, and to add a separator.

11 years ago2.5 Scene Buttons:
Thomas Dinges [Tue, 14 Jul 2009 13:20:46 +0000 (13:20 +0000)]
2.5 Scene Buttons:

* Replaced Render Layer Dot Icons with X ones. Patch by William Reynish.

11 years ago2.5 Buttons:
Thomas Dinges [Tue, 14 Jul 2009 12:32:19 +0000 (12:32 +0000)]
2.5 Buttons:

* Some Updates for n-key Areas in View3D and Image Editor and some tweaks in bone panels. Patch by William Reynish. Thanks!

11 years ago2.5 Outliner - Restored all the 'toggle' operators
Joshua Leung [Tue, 14 Jul 2009 12:23:08 +0000 (12:23 +0000)]
2.5 Outliner - Restored all the 'toggle' operators

* AKEY - Toggle Outliner Selection (*1)
* Shift-AKEY - Expand/Collapse All
* RKEY - Toggle Renderability
* SKEY - Toggle Selectability
* VKEY - Toggle Visiblity

(*1) - The keymap-order of these has been swapped from the ones used in 2.4x. The old keys used here were inconsistent with the rest of Blender (at least I found myself always getting annoyed that I'd accidentally collapsed/expanded all items by hitting AKEY many times).

11 years ago2.5 Outliner - Restoring a few operators
Joshua Leung [Tue, 14 Jul 2009 11:56:24 +0000 (11:56 +0000)]
2.5 Outliner - Restoring a few operators

Restored the following operators
* Show Hierarchy (HomeKey)
* Show/Hide One Level (+/- Keys)
* Show Active (Numpad .)

11 years ago2.5 - Scrollbars are now shown when a list of panels can't fit in view
Joshua Leung [Tue, 14 Jul 2009 10:59:21 +0000 (10:59 +0000)]
2.5 - Scrollbars are now shown when a list of panels can't fit in view

- These may be taking up a bit too much room in some situations. Perhaps an option to turn these on/off is needed?
- I've added a quick hack in area.c -> ED_region_panels_init() to set the flags to make scrollbars show up in regions whose View2D data has already been initialised. This is primarily aimed at the Buttons Window in the 2.5 defaults file, which seems to have been saved in 2.5 or so
- The expand icons on either end of the scrollers don't really seem to be necessary? (or not working yet)

11 years agoRNA/button tweaks:
Matt Ebb [Tue, 14 Jul 2009 04:13:04 +0000 (04:13 +0000)]
RNA/button tweaks:
* Texture -> renamed 'no rgb' to 'rgb to intensity' (btw it's not just for
 image textures )

* Render -> stamp closed by default - not taking effect, because saved in
.B.blend. How do we fix this?

* Material -> removed 'Buffer Bias' dependency - it's for receiving shadows,
not casting them

* Material -> Ray Shadow bias renamed 'Auto Ray bias' - switches between an
 automatically calculated value vs the specified value

11 years agoFix cloth UI + tooltips - patch provided by nudelZ
Daniel Genrich [Mon, 13 Jul 2009 22:35:04 +0000 (22:35 +0000)]
Fix cloth UI + tooltips - patch provided by nudelZ

11 years agoRNA & PyAPI
Campbell Barton [Mon, 13 Jul 2009 19:33:59 +0000 (19:33 +0000)]
* support for dynamic enums to be inspected enumProp.items() from python.
* fix, enums check for a separator was flipped, meant no enums were in docs.
* dynamic enum functions now check for a NULL context and return all possible options for the "items" attribute used for docs.
* added an arg for rna arrays to free the array there looping over (needed to free dynamically allocated enum items)
* python api checks for NULL items since this can happen in some cases.
* python api, When getting an enum ID from an int in an array - If it failed it would get the first enum identifier and return that. Brecht? dont understand, making it return an empty string in these cases.

11 years ago2.5: fix for last commit, missing ffmpeg #ifdef.
Brecht Van Lommel [Mon, 13 Jul 2009 19:17:52 +0000 (19:17 +0000)]
2.5: fix for last commit, missing ffmpeg #ifdef.

11 years ago2.5: and the B.blend.c to go with the last commit.
Brecht Van Lommel [Mon, 13 Jul 2009 19:10:35 +0000 (19:10 +0000)]
2.5: and the B.blend.c to go with the last commit.

11 years ago2.5: Render
Brecht Van Lommel [Mon, 13 Jul 2009 19:09:13 +0000 (19:09 +0000)]
2.5: Render

* UI layout for scene buttons has quite some changes, I tried to
  better organize things according to the pipeline, and also showing
  important properties by default, and collapsing less important ones.

Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
  do something when there is a node tree using nodes, or a strip in the
  sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
  does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
  but still using FFMPEG. Unfortunately Ogg is broken at the moment
  (also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
  maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
  it work.
* Organized file format menu by image/movie types.

* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.

Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.

11 years ago2.5: bugfix for BLI_is_writable, made render with Save Buffers
Brecht Van Lommel [Mon, 13 Jul 2009 18:47:08 +0000 (18:47 +0000)]
2.5: bugfix for BLI_is_writable, made render with Save Buffers
not work anymore. Now it first tries to open the file without
truncating, and only then tries to create a new file.

11 years agomathutils types didnt work properly in python2x. vec*matrix failed for eg.
Campbell Barton [Mon, 13 Jul 2009 12:17:07 +0000 (12:17 +0000)]
mathutils types didnt work properly in python2x. vec*matrix failed for eg.

Now with KX_Python.h line 35 commented YoFrankie 1.1 should run unmodified in blender2.5

11 years agoDrawing a string longer then 255 chars wasnt working.
Campbell Barton [Mon, 13 Jul 2009 11:41:24 +0000 (11:41 +0000)]
Drawing a string longer then 255 chars wasnt working.

changes to flatten_string_append(...), probably only brecht is interested.
- It was copying from the old malloc'd buffer but never the fixed buffer - the reason >255 length strings didnt render.
- on first malloc for the FlatString allocate 512 rather then 256 chars since the fixed string is 256 chars.
- if the char was '\0' fs->pos was set to 0, not sure why since char cant be '\0' because of the loop that calls flatten_string_append, removed.

11 years agoConsole Autocomplete (Alt+Enter in the text editor), should be moved out of the text...
Campbell Barton [Mon, 13 Jul 2009 09:31:35 +0000 (09:31 +0000)]
Console Autocomplete (Alt+Enter in the text editor), should be moved out of the text editor soon.

The autocomplete function is generic and could be made into its own module.
 b -> bpy ->

 bpy.ops.OB -> bpy.ops.OBJECT_OT_[0].a -> (options)
active_material, active_material_index, active_particle_system, active_particle_system_index, active_shape_key, active_shape_key_index, active_vertex_group, active_vertex_group_index, animation_data

11 years agocalling operators from python was raising an error without returning an error value.
Campbell Barton [Mon, 13 Jul 2009 08:33:51 +0000 (08:33 +0000)]
calling operators from python was raising an error without returning an error value.

brecht, switched the order back to fix this, added an argument for WM_operatortype_find() to fail without printing an error.

11 years ago2.5
Brecht Van Lommel [Mon, 13 Jul 2009 00:40:20 +0000 (00:40 +0000)]

* Objects now support up to 32767 material slots. It's easy to
  increase this further, but I prefer not to increase the memory
  usage of mesh faces, it seems unlikely that someone would
  create 32767 distinct materials?
* Forward compatibility: the only thing you can potentially lose
  reading a 2.5 file in 2.4 is object linking (instead of default
  data), though usually that will go fine too. Reading files with
  > 32 material slots in 2.4 can start giving issues.

* The ob->colbits variable is deprecated by the array ob->matbits
  but I didn't remove the ob->colbits updates in very few places
  it is set.
* I hope I changed all the relevant things, various places just
  hardcoded the number 16 instead of using the MAXMAT define.

* Join Objects operator back. This is using the version from the
  animsys2 branch coded by Joshua, which means it now supports
  joining of shape keys.

* Fix for crash reading file saved during render.

11 years agoKeyed physics refresh:
Janne Karhu [Sun, 12 Jul 2009 23:38:47 +0000 (23:38 +0000)]
Keyed physics refresh:
- Keyed targets in one list instead of "chaining", this opens up many more possibilities than before and is much less obscure.
- Better keyed timing possibilities (time & duration in frames).
- Looping over keyed targets list.

Other changes:
- New child setting "length" with threshold (great for guard & underfur with a single particle system)
- Modularization of path interpolation code.
- Cleared "animateable" flags from many particle settings that shouldn't be animateable.

- Keyed particles weren't copied properly (ancient bug).
- Hair rotations depended on global z-axis for root rotation so downward facing strands could flip rotation randomly. Now initial hair rotation is derived from face dependent hair matrix. (This caused for example ugly flipping of child strands on some cases).
- Children from faces weren't calculated straight after activating them.
- Multiple disk cache fixes:
* Disk cache didn't work correctly with frame steps.
* Conversion from memory cache to disk cache didn't work with cloth.
* Disk cache crashed on some frames trying to close an already closed cache file.
* Trails didn't work with disk cached particles.
- Child rough effects were effected by emitter object loc/rot making them next to useless with animation, why didn't anybody tell me this!!
- Lots of random code cleanup.

11 years ago2.5 filebrowser
Andrea Weikert [Sun, 12 Jul 2009 13:06:52 +0000 (13:06 +0000)]
2.5 filebrowser
* bugfix: parent on linux didn't account for first slash
* added some BLI_cleanup_dir to prevent weird directory names
* revert to old directory if user types bogus text.

11 years agopython console in ~80 lines
Campbell Barton [Sun, 12 Jul 2009 12:47:34 +0000 (12:47 +0000)]
python console in ~80 lines
Shift+Enter in the text editor executes the TEXT_OT_line_console operator defined in

The operator's class stores a namespace for each text block.

Eventually this should have its own input rather then using the text editor.

Tested with py3.1 and 2.6

TEXT_OT_insert was only using the first char from a string, added support for inserting strings.

11 years ago2.5 file browser
Andrea Weikert [Sun, 12 Jul 2009 09:03:09 +0000 (09:03 +0000)]
2.5 file browser
* tweak for autocomplete, only update live if live_update and TAB key is hit. (Brecht, please check if it's ok, otherwise will revert and we'll find another way)
* adding slash at the end of directory to allow for faster autocomplete
* bugfix: directory name buton had wrong length

11 years ago2.5 file browser
Andrea Weikert [Sun, 12 Jul 2009 08:12:22 +0000 (08:12 +0000)]
2.5 file browser
* bugfix: adding back adding the region on read of old files
* tweak: buttons for increment/decrement file number now have icons and size adjusted to UI_UNIT_X/UI_UNIT_Y

11 years agomade text editor margin work with different font sizes.
Campbell Barton [Sun, 12 Jul 2009 07:37:25 +0000 (07:37 +0000)]
made text editor margin work with different font sizes.
also made it draw the width needed, was fixed at 4.

11 years ago2.5 - Tweaks for Split Strips in NLA and Graph Editor view ranges
Joshua Leung [Sun, 12 Jul 2009 07:28:25 +0000 (07:28 +0000)]
2.5 - Tweaks for Split Strips in NLA and Graph Editor view ranges

* Split strips now uses the current frame as the splitting-point for selected strips if the current frame falls within in the bounds of the strip. Otherwise, the code defaults to splitting by the midpoints of the strips.

* Time-range for Graph Editor is saner now when there is only a single keyframe or none at all.

11 years agoNLA Bugfixes:
Joshua Leung [Sun, 12 Jul 2009 04:29:36 +0000 (04:29 +0000)]
NLA Bugfixes:

* Fixed crash when anim-playback is running and a strip beside a transition gets transformed.
Transition strips no-longer assume that their neighbours are action-clips, using the standard NLA-strip evaluation function instead to evaluate their neighbours. However, a check for ping-pong recursion needed to be added there, so that a transition beside a meta-strip, with the meta having a transition nested at the start of one of its levels, wouldn't fail with stack overflow.

* Moved 'Tweak Mode' menu entry to Edit menu, since it's not really that modal.

11 years ago2.5 - Editing Animation data (keyframes/nla-strips) using transform tools now refresh...
Joshua Leung [Sun, 12 Jul 2009 03:42:39 +0000 (03:42 +0000)]
2.5 - Editing Animation data (keyframes/nla-strips) using transform tools now refreshes the 3d-view in realtime.

For now, this directly sets the update flags, though this really should be calling the Depsgraph API instead.

11 years ago2.5: Couple of small fun features
Brecht Van Lommel [Sun, 12 Jul 2009 02:06:15 +0000 (02:06 +0000)]
2.5: Couple of small fun features

* Text window font size now supports full range 8-32, instead of
  just 12 and 15. I added BLF_fixed_width to get the character
  width of a fixed size font.

* Buttons do undo push on change again.

* Animated/Keyframe/Driver colors are now themable, with blend
  value to blend with original color. Set this to 0.5 now to
  give colors less constrast.
* Fix tooltip popping up with RMB menu open, and missing redraw.

* Autokeyframe now works for buttons.

* Driver expressions can be edited in place in a button now.
  (still some refresh issues).
* Also made python driver default for the Add Driver function
  in the RMB button. This way you don't have to open a Graph
  editor if you just want to type an expression. Also, the
  default expression then is the current value.

* Tooltips now show some extra info, not sure what is good to
  have, but currently I added:
  * Shortcut key for operator buttons.
  * Python struct & property name for RNA buttons.
  * Expression for driven values.
  * Value for text/search/pointer buttons.

11 years agoCleaning up manipulator code a bit
Martin Poirier [Sun, 12 Jul 2009 02:01:13 +0000 (02:01 +0000)]
Cleaning up manipulator code a bit

Made transform confirm or cancel on mouse up. More inline with button clicking and better for tablets.

Add operator params to make sure Rip and Extrude turn off PET and Mirror correctly.

Note: sorry for all the whitespace changes, I need to reconfigure this editor not to do autocleanup.

11 years agoSVN maintenance.
Guillermo S. Romero [Sat, 11 Jul 2009 22:22:53 +0000 (22:22 +0000)]
SVN maintenance.

11 years ago2.5 MSVC projectfiles
Andrea Weikert [Sat, 11 Jul 2009 17:29:53 +0000 (17:29 +0000)]
2.5 MSVC projectfiles
* update for NLA merge from Aligorith

11 years ago2.5: X11
Brecht Van Lommel [Sat, 11 Jul 2009 14:51:13 +0000 (14:51 +0000)]
2.5: X11

* Cursor grabbing is now done only if the OPTYPE_BLOCKING flag
  is set for the operator, since for e.g. render it should not

11 years ago2.5: use primitive icons in the Add Object menu.
Brecht Van Lommel [Sat, 11 Jul 2009 14:50:12 +0000 (14:50 +0000)]
2.5: use primitive icons in the Add Object menu.

11 years agoPyApi
Campbell Barton [Sat, 11 Jul 2009 13:57:56 +0000 (13:57 +0000)]
* refcount error if StringIO or io modules could not be imported
* importing python modules like math didnt work because the script registration overwrote the script path. now just prepend the path.

11 years ago2.5:
Brecht Van Lommel [Sat, 11 Jul 2009 13:32:20 +0000 (13:32 +0000)]

* Code to start moving 3D view header and panels to python, at
  the moment the View menu and one empty panel is in python. The
  C header code is wrapped in one template, so parts of that can
  be moved over while still keeping things working.
* Fix for mistake in RNA enum commit yesterday, and some warning

11 years ago2.5 - Made more operators for constraint buttons
Joshua Leung [Sat, 11 Jul 2009 12:54:17 +0000 (12:54 +0000)]
2.5 - Made more operators for constraint buttons

* Move Up/Down and Delete are now operators
* Made TrackTo constraint use expanded enum toggles for up axis too.
--> BUG ALERT: specifying name and expand in the arguments to itemR doesn't work (name gets skipped)

11 years ago2.5 - Restored Set/Clear Inverse Buttons for ChildOf Constraint
Joshua Leung [Sat, 11 Jul 2009 11:52:20 +0000 (11:52 +0000)]
2.5 - Restored Set/Clear Inverse Buttons for ChildOf Constraint

I've tagged these operators with CONSTRAINT_OT_* not OBJECT_OT_constraint_* since constraints can operate on Bones too (and do so more often)

11 years agoObject mode select grouped operator (Shift+G and Select manu)
Campbell Barton [Sat, 11 Jul 2009 11:31:49 +0000 (11:31 +0000)]
Object mode select grouped operator (Shift+G and Select manu)
Group option currently doesnt handle multiple groups.

Set makefiles python version to 2.6 for linux since its common now.

11 years ago2.5 - Fixing some typos for name of Graph Editor operator
Joshua Leung [Sat, 11 Jul 2009 10:23:07 +0000 (10:23 +0000)]
2.5 - Fixing some typos for name of Graph Editor operator

An error that slipped in during the merge process?

11 years ago2.5 - Added descriptions to all Animation Editor operators
Joshua Leung [Sat, 11 Jul 2009 10:20:48 +0000 (10:20 +0000)]
2.5 - Added descriptions to all Animation Editor operators

DopeSheet and Graph Editor operators were missing these, since many of these operators were written before that field was added.
NLA Editor's operators already have them.

11 years agoremove duplicate function.
Campbell Barton [Sat, 11 Jul 2009 07:46:11 +0000 (07:46 +0000)]
remove duplicate function.

11 years ago2.5 - NLA SoC Branch Merged to 2.5!
Joshua Leung [Sat, 11 Jul 2009 05:41:21 +0000 (05:41 +0000)]
2.5 - NLA SoC Branch Merged to 2.5!
(19863 to 21513)

Highlights of the new NLA System (and related Animation System changes):
* NLA Data is stored in AnimData alongside Action and Drivers. The NLA stack is evaluated before the Action, with the Action always overriding the results of the stack.
* NLA Data is arranged in 'Tracks', which act like PhotoShop layers. These can be muted, protected, and/or made to be played back by themselves
* Within each track, there can be multiple 'Strips'. There are 3 types of strip -> Action Clip (references some action), Transition (blends between the endpoints of two strips), and Meta (container for several strips that occur sequentially)
* FModifiers can be applied to strips, and strips can have animated influence/time controls. Playback for strips can also be backwards now!
* Playback can now go in forward and backwards directions.
* Animation Editors have been polished (unfinished features added, existing features cleaned up and made more consistent)

Notes for BuildSystem Maintainers:
* Only scons has been actively tested. Makefiles should work fine.
* MSVC ProjectFiles are broken due to the very way they work.
* CMake status unknown...

Other notes:
* Hopefully I haven't made any mistakes while doing the merge. More files than expected were showing some weird conflicts, so you may have some broken code...
* Not all old files (with NLA) data load exactly the same anymore. However, the bulk of the files out there should be ok (I hope)

11 years agoNLA SoC: Merge from 2.5
Joshua Leung [Sat, 11 Jul 2009 03:23:45 +0000 (03:23 +0000)]
NLA SoC: Merge from 2.5

21470 to 21512

Next up, NLA-branch to 2.5 :)

11 years agoNLA SoC: Quick commit of skeleton of auto-blending setting code to be completed later...
Joshua Leung [Sat, 11 Jul 2009 03:09:44 +0000 (03:09 +0000)]
NLA SoC: Quick commit of skeleton of auto-blending setting code to be completed later...

11 years agoNLA SoC: Names for NLA Strips
Joshua Leung [Fri, 10 Jul 2009 23:25:30 +0000 (23:25 +0000)]
NLA SoC: Names for NLA Strips

In order to be able to better identify NLA Strips (and to reduce the complexity of the text on them), I've implemented a name property for the strips. The names are made to be unique within the AnimData block the strip comes from, though this may not always happen if not enough relevant context info is present to validate this.

11 years agoAllow the user set which style to use for the kerning value.
Diego Borghetti [Fri, 10 Jul 2009 22:16:25 +0000 (22:16 +0000)]
Allow the user set which style to use for the kerning value.

This are freetype2 options:
 Unfitted - Scaled but un-grid-fitted kerning distances
 Default - Scaled and grid-fitted kerning distances

We always use Unfitted, but the "Default" style give better result here,
so please test and if nobody complain we can set this style as the default.

11 years ago2.5:
Brecht Van Lommel [Fri, 10 Jul 2009 20:43:32 +0000 (20:43 +0000)]

* Default panel zoom level user preference, when creating
  new button windows or pressing home-key to reset. Patch
  by Matt D., thanks!

11 years agoYes!! a nice font again!!
Diego Borghetti [Fri, 10 Jul 2009 20:18:19 +0000 (20:18 +0000)]
Yes!! a nice font again!!

Matt, I found the problem in one of my previous commit, so I revert
all my changes and now the font look good again.

Also remove all the options (kerning, overlap and user kerning), I want
to make this a little better.

11 years agoRNA
Brecht Van Lommel [Fri, 10 Jul 2009 19:56:13 +0000 (19:56 +0000)]

* Enums can now be dynamically created in the _itemf callback,
  using RNA_enum_item(s)_add, RNA_enum_item_end. All places asking
  for enum items now need to potentially free the items.
* This callback now also gets context, this was added specifically
  for operators. This doesn't fit design well at all, needed to do
  some ugly hacks, but can't find a good solution at the moment.
* All enums must have a default list of items too, even with an
  _itemf callback, for docs and fallback in case there is no context.

* Used by MESH_OT_merge, MESH_OT_select_similar, TFM_OT_select_orientation.
* Also changes some operator properties that were enums to booleas
  (unselected, deselect), to make them consistent with other ops.

11 years ago2.5 file browser
Andrea Weikert [Fri, 10 Jul 2009 19:52:00 +0000 (19:52 +0000)]
2.5 file browser
* bugfix: set the directory to the default root when directory button is empty

11 years ago2.5 filebrowser
Andrea Weikert [Fri, 10 Jul 2009 19:19:54 +0000 (19:19 +0000)]
2.5 filebrowser
* bugfix: don't allow parent dir to go beyond root
* bugfix: only attempt to change directory if it exists

New (WIP) feature: autocomplete for directory
* works on TAB
* so far only one level (in current directory)

11 years ago2.5 Buttons:
Thomas Dinges [Fri, 10 Jul 2009 19:11:22 +0000 (19:11 +0000)]
2.5 Buttons:
Small fixes:

* Removed Particle System Context header
* Lamp Type is a menu now, better for small displays.

11 years ago2.5:
Brecht Van Lommel [Fri, 10 Jul 2009 18:10:40 +0000 (18:10 +0000)]

* Fix missing update when browsing to different text.
* Fix wrong spacing in font size 15 drawing in the text editor.
* Fix numbers not updating in color picker buttons.

11 years agoUse python subtypes so bpy.types.Mesh is a subtype of bpy.types.ID
Campbell Barton [Fri, 10 Jul 2009 18:09:53 +0000 (18:09 +0000)]
Use python subtypes so bpy.types.Mesh is a subtype of bpy.types.ID

This means checks like this work.
 isinstance([0], bpy.types.ID)

 bpy.types.Mesh.__base__ == bpy.types.ID

11 years ago2.5 file browser
Andrea Weikert [Fri, 10 Jul 2009 17:26:19 +0000 (17:26 +0000)]
2.5 file browser
* buttons for increment/decrement number in filename
Patch provided by Johannes Meng, many thanks!

11 years ago2.5 file browser
Andrea Weikert [Fri, 10 Jul 2009 17:05:04 +0000 (17:05 +0000)]
2.5 file browser
* directory button enabled again, c code for now, can later become nicer operator
* filename button enabled (pattern match for selection)
* RNA completed (title, file and directory)
* some unused code removal.

11 years ago2.5
Ton Roosendaal [Fri, 10 Jul 2009 16:56:20 +0000 (16:56 +0000)]

UI script for setting render output

11 years ago2.5
Ton Roosendaal [Fri, 10 Jul 2009 16:55:49 +0000 (16:55 +0000)]

Render usability:

- Option back to render to imagewindow, or fullscreen.
  The latter is default. Setting is stored in Scene.
- Added button in output panel, the option "to new window" will follow!
- F11 again toggles render view
  (moved MS Windows "full screen" to shift+F11 for now)

11 years ago2.5:
Brecht Van Lommel [Fri, 10 Jul 2009 13:56:29 +0000 (13:56 +0000)]

* 3D view Object menu works again, many operators missing still
  because they are not yet implemented.
* Constraint types now have separator, and fix too much spacing
  in the constraints header.

11 years agoNLA SoC: Attempt at solving the jumping-views problem
Joshua Leung [Fri, 10 Jul 2009 12:42:17 +0000 (12:42 +0000)]
NLA SoC: Attempt at solving the jumping-views problem

The 'jumping-views' problem affected the NLA and DopeSheet editors, whereby the channels-list and the data-area would get out of sync (vertically) due to the size calculations of the two being done differently.

11 years agoNLA SoC: Delete Channels operator
Joshua Leung [Fri, 10 Jul 2009 12:11:00 +0000 (12:11 +0000)]
NLA SoC: Delete Channels operator

F-Curves and Groups can now be deleted again from DopeSheet/Graph Editors.

11 years ago2.5: fix to allow python panels to override C panels with
Brecht Van Lommel [Fri, 10 Jul 2009 11:59:45 +0000 (11:59 +0000)]
2.5: fix to allow python panels to override C panels with
the same name.

11 years ago2.5:
Brecht Van Lommel [Fri, 10 Jul 2009 11:36:02 +0000 (11:36 +0000)]

* RNA: enum items with "" indentifier are now interpreted as separators.
* Add Object menu: added consistent names, separators.

11 years ago2.5: Fix for crash on reload file. Cursor grab should not
Brecht Van Lommel [Fri, 10 Jul 2009 11:33:01 +0000 (11:33 +0000)]
2.5: Fix for crash on reload file. Cursor grab should not
assume there to be a window, but also reload file exec was
not returing an OPERATOR_* value.

11 years agoNLA SoC: Notifier Fixes for Animation Editors
Joshua Leung [Fri, 10 Jul 2009 10:48:25 +0000 (10:48 +0000)]
NLA SoC: Notifier Fixes for Animation Editors

I've gone through all the Animation Editor operators, making sure they send appropriate notifiers, and that these notifiers are handled.

* Added a separate category for animation-related notifiers, since the old-style ones attached to specific datatypes only was turning out to be not too feasible.

* For now, the focus has been on making sure that all Animation Editors update when there have been any potentially suitable changes at all. Later on, we can filter these more carefully to only take the ones we really need (for optimisation purposes)

11 years agoPyRNA api wasnt using python subclasses most of the time.
Campbell Barton [Fri, 10 Jul 2009 04:25:49 +0000 (04:25 +0000)]
PyRNA api wasnt using python subclasses most of the time.

Now this will return True
 isinstance([0], bpy.types.Mesh)

Use the StructRNA identifier for the new classes name properties because classes were being named by the data names rather then the type names.

Set the __module__ for the new type which makes printing the class not use the script name where the type is first initialized.
 eg: bpy.types.Mesh instead of buttons_object.Mesh

This still isnt quite right since opertators and panels all get their own type, when they should all use an operator type.