blender.git
10 years agoNLA SoC: Added menus including the operators coded already
Joshua Leung [Fri, 12 Jun 2009 06:44:49 +0000 (06:44 +0000)]
NLA SoC: Added menus including the operators coded already

10 years agoNLA SoC: Fixes for crashes when selecting keyframes in object channels in DopeSheet
Joshua Leung [Fri, 12 Jun 2009 02:49:21 +0000 (02:49 +0000)]
NLA SoC: Fixes for crashes when selecting keyframes in object channels in DopeSheet

10 years agoNLA SoC: RNA Fixes
Joshua Leung [Thu, 11 Jun 2009 11:53:41 +0000 (11:53 +0000)]
NLA SoC: RNA Fixes

- Lower bound for start values has been expanded to -MAXFRAME, to avoid clipping problems when the strip is moved past frame 0

- Removed some obsolete (+ commented out) NLA wrapping in Object stuff

10 years agoNLA SoC: Channel ordering change
Joshua Leung [Thu, 11 Jun 2009 05:02:46 +0000 (05:02 +0000)]
NLA SoC: Channel ordering change

In response to user-feedback, I've changed the order in which channels appear. Now, the channel ordering is:

- Object/AnimData block
-- Active Action
-- Last NLA Track
..
..
-- First NLA Track

It is important to note several things still:
1) Active action is applied AFTER the NLA Tracks have been evaluated, not before
2) In this new order, the tracks+active action are shown in the evaluation-stack order, i.e. first thing applied is at the bottom, last is at the top.

As a result, I've switched the view-orientation back so that it works the same way as for DopeSheet/Graph editors (i.e. expands downwards not upwards). This may cause problems loading files saved with older builds of this branch. There are still some lingering problems due to this change which I'll fix in due course.

10 years agoNLA SoC: Operator for adding new NLA-Tracks
Joshua Leung [Thu, 11 Jun 2009 03:19:08 +0000 (03:19 +0000)]
NLA SoC: Operator for adding new NLA-Tracks

New tracks can be added in the following ways (with the mouse hovering over the channels-list):
* Shift-A - this will add a new track at the top of the stack (i.e. above all the existing NLA-tracks but below the Active Action) for every AnimData block where there was a selected NLA-Track

* Ctrl-Shift-A - this will add a new track above every selected one

10 years agoNLA SoC: 'Split' Operator (YKEY)
Joshua Leung [Thu, 11 Jun 2009 02:18:29 +0000 (02:18 +0000)]
NLA SoC: 'Split' Operator (YKEY)

Selected NLA Strips are split into two strips, each with half the length of the original strip.

Possible improvements subject to demand:
- multiple splits?
- splits with variable spacing? (i.e. 3:2, or 1:5).

10 years agoNLA SoC: Evaluation bugfixes
Joshua Leung [Thu, 11 Jun 2009 02:14:56 +0000 (02:14 +0000)]
NLA SoC: Evaluation bugfixes

* Strip scaling was being evaluated in the wrong way, resulting in scaled strips not being played too fast (for lengthened strips) or too slow (shortened strips)

* Also, verified that the 'reversed' option works correctly (no changes needed to be made here)

10 years agoF-Modifiers (in Nla branch):
Joshua Leung [Wed, 10 Jun 2009 05:03:27 +0000 (05:03 +0000)]
F-Modifiers (in Nla branch):

For fun, added 'sinc' (i.e. y = sin(pi*x)/(pi*x)) as a type of builtin function usable through the generator modifier. This makes a nice 'jolt' which tapers off.

10 years agoNLA SoC: Added BorderSelect operators (BKEY and Alt-BKEY)
Joshua Leung [Wed, 10 Jun 2009 04:43:18 +0000 (04:43 +0000)]
NLA SoC: Added BorderSelect operators (BKEY and Alt-BKEY)

These work in the same way as the ones in the Action Editor...

10 years agoNLA SoC: Merge from 2.5
Joshua Leung [Wed, 10 Jun 2009 03:36:28 +0000 (03:36 +0000)]
NLA SoC: Merge from 2.5

20669 to 20771

(sheesh, that took an hour, not including having to restart the whole process after TortoiseSVN bailed out midway through the first try)

10 years agopatch from Xavier Thomas, add back the sequencer snap operator
Campbell Barton [Tue, 9 Jun 2009 21:29:59 +0000 (21:29 +0000)]
patch from Xavier Thomas, add back the sequencer snap operator

10 years agoTimecode printing is more or less duplicated in two different places,
Guillermo S. Romero [Tue, 9 Jun 2009 20:03:52 +0000 (20:03 +0000)]
Timecode printing is more or less duplicated in two different places,
so make them both use the same style and note down for future.

10 years agoTexture panel tweaks by William.
Thomas Dinges [Tue, 9 Jun 2009 16:52:02 +0000 (16:52 +0000)]
Texture panel tweaks by William.

10 years agoEdits from William, Xavier Thomas (xat) and myself
Campbell Barton [Tue, 9 Jun 2009 16:19:34 +0000 (16:19 +0000)]
Edits from William, Xavier Thomas (xat) and myself
- strip options in the sequencer view only.
- added a view panel for non-sequencer display modes.
- button adjustments

10 years ago2.5 Texture RNA:
Thomas Dinges [Tue, 9 Jun 2009 16:04:07 +0000 (16:04 +0000)]
2.5 Texture RNA:

* Wrapped some Mapping properties and added them into the layout.

10 years agoNLA SoC: Added simple delete-strips operator (XKEY/DELKEY)
Joshua Leung [Tue, 9 Jun 2009 12:28:49 +0000 (12:28 +0000)]
NLA SoC: Added simple delete-strips operator (XKEY/DELKEY)

10 years agoNLA SoC: Improved anim-channel filtering flags for NLA so that channels don't need...
Joshua Leung [Tue, 9 Jun 2009 12:28:10 +0000 (12:28 +0000)]
NLA SoC: Improved anim-channel filtering flags for NLA so that channels don't need to be checked to be NLA-Tracks before being used.

10 years agoNLA SoC: Transform tools for NLA
Joshua Leung [Tue, 9 Jun 2009 11:26:45 +0000 (11:26 +0000)]
NLA SoC: Transform tools for NLA

This commit restores transform support for NLA. Grab, scale, 'extend', and tweak (i.e. grab by just click+dragging) are implemented.

Notes:
- As soon as one end of a strip touches another adjacent strip (within the same track), that end stops moving. This has been done to avoid the situation where overlapping strips within the same track (which is not allowed) might be caused by transforms.
- Made some changes to the RNA setters for the strip extents so that the validation above could take place (and other necessary changes on a per-strip basis could also occur).

TODO's ?
- Strips cannot be transferred from track to track using transforms. I've yet to decide whether this needs to be done, or whether a separate operator will suffice.
- What happens to the range of Actions used when the strips change sizes unexpectedly (i.e. the no-overlap condition above)? Currently range stays the same, but this doesn't always seem desirable?

10 years ago2.5:
Brecht Van Lommel [Tue, 9 Jun 2009 10:30:16 +0000 (10:30 +0000)]
2.5:
* Fix compilation with FFMPEG.
* Ensure FFMPEG and similar flags are set during RNA compile,
  so the right output formats show.

10 years agoadded layout attribute for setting the operator execution context.
Campbell Barton [Tue, 9 Jun 2009 10:30:11 +0000 (10:30 +0000)]
added layout attribute for setting the operator execution context.
eg, layout.operator_context = 'INVOKE_REGION_WIN'

Needed to set the context that menu item operators are executed in.

fixed missing NULL check with anim system debug printing.

10 years agominor file selector changes
Campbell Barton [Tue, 9 Jun 2009 07:28:15 +0000 (07:28 +0000)]
minor file selector changes
- clamp the border to the region bounds when selecting files
- fix for border select past the end of the filelist selecting nothing.
- de-selecting files would still set the filename.

10 years ago- rna wrapped sequencer space
Campbell Barton [Tue, 9 Jun 2009 05:39:01 +0000 (05:39 +0000)]
- rna wrapped sequencer space
- uiItemEnumO_string, forgot to actually set the enum value
- added more sequencer header buttons (these should probably be moved to a view panel eventually)

10 years agoNLA SoC: Added buttons in NKEY region for NLA Editor
Joshua Leung [Tue, 9 Jun 2009 04:39:33 +0000 (04:39 +0000)]
NLA SoC: Added buttons in NKEY region for NLA Editor

- Most of the settings wrapped in RNA have been exposed here using the new layout engine stuff from Brecht (C-API). I've tried to maintain a hierarchy of high-level (owner, generic-settings) to low-level (children, specialised-settings) here, which seems to be the prevailing guidelines?
(It took a while to try to understand how this all fitted together, since there were no clear examples on how to use this anywhere)

- NLA-Strip Modifiers have not been exposed yet. They still use the old-style drawing, which may/may not be compatible here.

- Fixed a bug with how the notifiers from this panel get sent. I really don't know how the compiler would have missed the undeclared pointer that was being used ('ob').

10 years ago2.50:
Brecht Van Lommel [Mon, 8 Jun 2009 20:08:19 +0000 (20:08 +0000)]
2.50:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r19820:HEAD

Notes:
* Game and sequencer RNA, and sequencer header are now out of date
  a bit after changes in trunk.
* I didn't know how to port these bugfixes, most likely they are
  not needed anymore.
  * Fix "duplicate strip" always increase the user count for ipo.
  * IPO pinning on sequencer strips was lost during Undo.

10 years agoUI:
Brecht Van Lommel [Mon, 8 Jun 2009 19:44:07 +0000 (19:44 +0000)]
UI:
* Map panel in the Textures tab, patch by William.
  Note many properties here are not RNA wrapped yet.

10 years agoChange separator to one that does not mean drop frame.
Guillermo S. Romero [Mon, 8 Jun 2009 17:46:29 +0000 (17:46 +0000)]
Change separator to one that does not mean drop frame.

10 years ago2.5: small fix to get context.texture_slot as the right
Brecht Van Lommel [Mon, 8 Jun 2009 16:55:43 +0000 (16:55 +0000)]
2.5: small fix to get context.texture_slot as the right
Material/World/LampTextureSlot type.

10 years agoSequencer WIP
Campbell Barton [Mon, 8 Jun 2009 16:48:12 +0000 (16:48 +0000)]
Sequencer WIP
- Move buttons into the sequencer Nkey region
- Made the header and menu items use the python api, still need to get more buttons working.
- Fixed some minor problems

10 years ago2.5
Ton Roosendaal [Mon, 8 Jun 2009 16:24:37 +0000 (16:24 +0000)]
2.5

Small fixes:

- Preview render now accepts resize of 1 pixel without re-render,
  solves re-renders on scrolling window or dragging panel, because
  of float rounding.
- Panel dragging outline was off 0.5 pixel, showed as fat AA lines
- On switching tab, the preview gets re-rendered

10 years ago2.5
Ton Roosendaal [Mon, 8 Jun 2009 12:39:39 +0000 (12:39 +0000)]
2.5

Down with smart, up with simple!
I now use the widget polygon code to generate a mask quad strip,
draw it over the image, and then the AA outline. Should work on
all systems.

10 years ago2.5
Ton Roosendaal [Mon, 8 Jun 2009 12:10:39 +0000 (12:10 +0000)]
2.5

Removed masking idea for preview draw, it appears Win32 && X11 windows
are 24 bits, not 32 bits with alpha. Not going to open that can of worm
to add this, will find a different masking method...

10 years ago2.5 Texture Buttons:
Thomas Dinges [Mon, 8 Jun 2009 12:01:17 +0000 (12:01 +0000)]
2.5 Texture Buttons:

Some tweaks by William Reynish. Thanks!

10 years agoWin GUI fix: maximize works again without distorted regions
Daniel Genrich [Mon, 8 Jun 2009 11:55:16 +0000 (11:55 +0000)]
Win GUI fix: maximize works again without distorted regions

10 years ago2.5
Ton Roosendaal [Mon, 8 Jun 2009 11:27:40 +0000 (11:27 +0000)]
2.5

Test commit: different treatment of drawing alpha mask...

10 years agoNLA SoC: Fixed Outliner drawing for NLA data, and set icons for RNA wrapping of this...
Joshua Leung [Mon, 8 Jun 2009 11:11:39 +0000 (11:11 +0000)]
NLA SoC: Fixed Outliner drawing for NLA data, and set icons for RNA wrapping of this data...

10 years ago2.5
Ton Roosendaal [Mon, 8 Jun 2009 10:41:52 +0000 (10:41 +0000)]
2.5

Forget 'svn add'...

10 years ago2.5
Ton Roosendaal [Mon, 8 Jun 2009 10:38:28 +0000 (10:38 +0000)]
2.5

Sequencer: added Nkey + UI region, with two empty panels to fill!

10 years ago2.5
Ton Roosendaal [Mon, 8 Jun 2009 10:00:14 +0000 (10:00 +0000)]
2.5

Preview renders:

- Added proper button type (BUT_EXTRA) for preview buttons, to
  handle drawing better. It now first draws an alpha mask, to
  ensure the preview is correctly fitting inside the widget style.
  It then draws the outline.
- Added protection for executing preview renders while regular
  rendering, that's not going to work...

10 years ago2.5 - Time indicator label for time-codes now draws in SMPTE format
Joshua Leung [Mon, 8 Jun 2009 02:33:24 +0000 (02:33 +0000)]
2.5 - Time indicator label for time-codes now draws in SMPTE format

When an Animation Editor is showing timing in 'seconds' (instead of frames), the indicator label is now drawn with the same style of timecodes as the scrollbar labels are.

10 years agoNLA SoC: Added button for entering/exiting TweakMode
Joshua Leung [Mon, 8 Jun 2009 01:07:19 +0000 (01:07 +0000)]
NLA SoC: Added button for entering/exiting TweakMode

- Should the icons used for this be reversed?

10 years agoWin GUI fix: Blender won't hide behind the taskbar anymore on startup (in non maximiz...
Daniel Genrich [Sun, 7 Jun 2009 23:36:34 +0000 (23:36 +0000)]
Win GUI fix: Blender won't hide behind the taskbar anymore on startup (in non maximized mode). Until now, the bottom of Blender always got hidden behind the taskbar - verified to fix at least Win7 + XP

- Windows devs (elubie, jesterKing): please check this fix.

10 years agoMultires/2.5:
Nicholas Bishop [Sun, 7 Jun 2009 21:02:54 +0000 (21:02 +0000)]
Multires/2.5:

Bugfix, restoring sculpting from undo data should mark the multires DM as modified.

10 years agoBugfix: WITH_BF_OPENMP=0 wasn't respected anymore, removed LARGEADRESSAWARE (does...
Daniel Genrich [Sun, 7 Jun 2009 19:51:52 +0000 (19:51 +0000)]
Bugfix: WITH_BF_OPENMP=0 wasn't respected anymore, removed LARGEADRESSAWARE (does make no sense on 64bit)

10 years ago* Added some Image Format Options to the the scene output panel. Patch by William...
Thomas Dinges [Sun, 7 Jun 2009 19:18:20 +0000 (19:18 +0000)]
* Added some Image Format Options to the the scene output panel. Patch by William Reynish. Thanks!
* Added missing Notifiers for Subsurface Scattering.

10 years agoMultires/2.5:
Nicholas Bishop [Sun, 7 Jun 2009 18:09:22 +0000 (18:09 +0000)]
Multires/2.5:

Attempt to make multires updating a little cleaner by
assuming that no update needs to be performed, and only
doing the update when the modified flag is set (either
by sculpting or using some other tool that needs an update.)

10 years agoUse the local context pointer for the multires subdivide operator, rather than search...
Nicholas Bishop [Sun, 7 Jun 2009 17:36:31 +0000 (17:36 +0000)]
Use the local context pointer for the multires subdivide operator, rather than searching for a multires modifier in the modifier list.

10 years ago2.5 Buttons:
Thomas Dinges [Sun, 7 Jun 2009 15:40:14 +0000 (15:40 +0000)]
2.5 Buttons:

* Small stamp tweaks by William Reynish.

* Moved the modifier tab next to constraints.

10 years agoadded item_enumO() so python menu items can call enum types with string args.
Campbell Barton [Sun, 7 Jun 2009 14:53:08 +0000 (14:53 +0000)]
added item_enumO() so python menu items can call enum types with string args.

Example sequencer menu
self.layout.column()
self.layout.item_enumO("SEQUENCER_OT_effect_strip_add", property='type', value='ADD', text="Effect Strip (Add)")

10 years agoUI Buttons:
Brecht Van Lommel [Sun, 7 Jun 2009 13:36:12 +0000 (13:36 +0000)]
UI Buttons:
* Context now allows pinning a datablock, independent of
  selection.
* Initial ID browse buttons for most buttons tabs.
* Browsing from world to texture now displays world textures
  again, but is a bit of a hack, not sure there is a right
  way to do this.
* There's a button to switch between active materials and
  textures now, only temporary though.
* There's some code to put context part in own region,
  disabled still because it doesn't work that well yet.

10 years ago2.5 RNA:
Thomas Dinges [Sun, 7 Jun 2009 13:35:39 +0000 (13:35 +0000)]
2.5 RNA:

* Some more Notifiers for the world properties.

10 years agoUI:
Brecht Van Lommel [Sun, 7 Jun 2009 13:20:41 +0000 (13:20 +0000)]
UI:
* layout.split() now takes a percentage argument to control
  the split position.
* ID template now works for more than just the Text ID type,
  includes and icon, and some other fixes.

10 years ago2.5
Ton Roosendaal [Sun, 7 Jun 2009 13:16:31 +0000 (13:16 +0000)]
2.5

Preview renders now re-use a rendered buffer when size is same.
Looks nicer while sliding, and no memory free/allocating.

10 years agoRNA:
Brecht Van Lommel [Sun, 7 Jun 2009 13:09:18 +0000 (13:09 +0000)]
RNA:
* Accept None as NULL pointers through python function calls.
* Added type callback for pointers back, it's useful still in
  some cases. Made Object.data editable using this, the pointer
  type varying based on object type.
* Wrap pin ID pointer in buttons space.
* Added subclasses for text and surface curve ID blocks, to
  organize data better and get proper icons.
* Added RNA_type_to_ID_code and ID_code_to_RNA_type functions.
* Update RNA_access.h with new RNA types.

10 years ago2.5 Preview render:
Thomas Dinges [Sun, 7 Jun 2009 12:34:38 +0000 (12:34 +0000)]
2.5 Preview render:

* Added missing redraw tags for lamp and texture.
* Added Texture Notifiers.

10 years ago2.5
Ton Roosendaal [Sun, 7 Jun 2009 12:12:55 +0000 (12:12 +0000)]
2.5

Quick test commit to check on crashing previews; ignore warning about
implicit declaration...  here in OSX i can't get this crash!

10 years ago2.5 Preview render
Thomas Dinges [Sun, 7 Jun 2009 11:42:13 +0000 (11:42 +0000)]
2.5 Preview render

* Added Preview panel to the lamp buttons.

10 years agoNLA SoC: Adding skeleton code for a buttons region in NLA
Joshua Leung [Sun, 7 Jun 2009 11:37:15 +0000 (11:37 +0000)]
NLA SoC: Adding skeleton code for a buttons region in NLA

If anyone's doing any testing at this point, please check if this works ok for files with new/old NLA Editors, as I was having some problems with one of my testing (saved from this branch) files with this.

10 years ago2.5 RNA:
Thomas Dinges [Sun, 7 Jun 2009 11:18:32 +0000 (11:18 +0000)]
2.5 RNA:

* Wrapped some image output settings (Tiff, Cineon, OpenEXR, Jpeg 2000 and DPX)

10 years ago2.5
Ton Roosendaal [Sun, 7 Jun 2009 11:12:55 +0000 (11:12 +0000)]
2.5

New preview.blend

10 years ago2.5
Ton Roosendaal [Sun, 7 Jun 2009 11:12:35 +0000 (11:12 +0000)]
2.5

Nice goodie: Preview renders!

- Added new preview.blend, allowing super wide cinemascope previews
- Draws nicely blended inside widget type, rounded corners
- Preview now renders using all available cpus/cores.
- Uses - hopefully rock stable - method, which doesn't copy or
  allocate anything for previews, but just uses render API calls.
- Multiple previews are possible! But, added provision in Jobs
  manager to only render one preview job at a time. If you start
  more preview jobs, they're suspended until it's their turn.

Bugfix: new buttons context code crashed when going full-window.

Tweaks are still needed for notifiers. I have to figure out still
how to retrieve SpaceButs button view types...

10 years agoNLA SoC: 2 little tweaks
Joshua Leung [Sun, 7 Jun 2009 07:04:31 +0000 (07:04 +0000)]
NLA SoC: 2 little tweaks

- Evaluation times for strips are now strictly clamped to the endpoints of the strips - i.e. if a strip has 'extend' on, the strip's evaluation time won't continue to change as time changes

- New NLA Editor instances now have auto-snapping turned on by default (as they should)

10 years agoNLA SoC: RNA wrapping for NLA Data
Joshua Leung [Sun, 7 Jun 2009 06:49:04 +0000 (06:49 +0000)]
NLA SoC: RNA wrapping for NLA Data

Most of the relevant properties have been wrapped.
- There are still some properties I'm not sure about whether they should be exposed at all (which have been left out for now). Most of these are really internal flags which are used in a few select places.
- To maintain the integrity of the settings, I've included some custom code for a few of the setters (i.e. scale/end-frame) where changing one should result in a change in the other and vica-versa.

Also, tweaked the wrapping for a few other types.

Another side effect of this commit is that I can now uncommented some code for using F-Curves to control the influence and time of the strips. These F-Curves would need to be specifically attached to the NLA-Strip they affect for now (TODO: I need to review this again...), and as such, cannot be used yet since there's no (end-user-accessible) way to do this :)

10 years agoForgot to update this file. Constraints now go into the new constraint tab. :)
Thomas Dinges [Sat, 6 Jun 2009 22:14:45 +0000 (22:14 +0000)]
Forgot to update this file. Constraints now go into the new constraint tab. :)

10 years agoBugfix for crash on constraints
Daniel Genrich [Sat, 6 Jun 2009 19:32:18 +0000 (19:32 +0000)]
Bugfix for crash on constraints

10 years agoMerged code passing context to python operator from soc-2009-kazanbas
Arystanbek Dyussenov [Sat, 6 Jun 2009 17:32:06 +0000 (17:32 +0000)]
Merged code passing context to python operator from soc-2009-kazanbas
branch.

10 years ago2.5 RNA:
Thomas Dinges [Sat, 6 Jun 2009 16:39:41 +0000 (16:39 +0000)]
2.5 RNA:

* Deleted some wrong properties from the blend mode enum.

10 years ago2.5 Interface:
Thomas Dinges [Sat, 6 Jun 2009 16:18:19 +0000 (16:18 +0000)]
2.5 Interface:

* Added a constraint tab in the buttons window.

* Added more sequencer buttons (effect strips).
Note: Sequencer buttons will go into the sequencer itself (n-key Panel) later.

* Particle button tweaks by William Reynish. Thanks!

* Some RNA fixes and new properties.

10 years ago2.5
Ton Roosendaal [Sat, 6 Jun 2009 13:35:04 +0000 (13:35 +0000)]
2.5

Several usablity tweaks:

- Search menu allows ScrollWheel to view items

- Tooltip on button on bottom of window showed wrong
- Tooltips were popping up while draggin (MMB) or scrolling
  (wheel). Now they stay away.

- Stolen from Gimp (blame venomgfx for hint!): ScrollWheel allows
  to go over menu items and use number buttons, only on mouse-over.

Note for devs: the WM_event_add_mousemove() call (to add a fake
event to bring UI back alive after view changes) now works much
more reliably. It ensures the mouse move is only handled after all
notifiers/redraws were done.

10 years agoparticle buttons gave errors when there was no particle system on an object.
Campbell Barton [Sat, 6 Jun 2009 12:48:56 +0000 (12:48 +0000)]
particle buttons gave errors when there was no particle system on an object.

10 years ago2.5 Buttons Window
Thomas Dinges [Sat, 6 Jun 2009 11:56:59 +0000 (11:56 +0000)]
2.5 Buttons Window

Bugfix: World Tab wasn't accessible after deleting an object.

10 years agoinitial support for sequencer UI layout, anyone wants some monkey-work there are...
Campbell Barton [Sat, 6 Jun 2009 11:34:18 +0000 (11:34 +0000)]
initial support for sequencer UI layout, anyone wants some monkey-work there are quite a few effects panels to do.
- buttons_context_path_sequencer() is a place holder
- ipo_frame_locked renamed to frame_locked
- added scene.sequence_editor.active_strip

10 years agoNLA SoC: Various user-counts and file IO bugfixes for tweaking actions...
Joshua Leung [Sat, 6 Jun 2009 05:06:46 +0000 (05:06 +0000)]
NLA SoC: Various user-counts and file IO bugfixes for tweaking actions...

10 years agoNLA SoC: Merge from 2.5
Joshua Leung [Sat, 6 Jun 2009 05:00:40 +0000 (05:00 +0000)]
NLA SoC: Merge from 2.5

20571 to 20667

10 years agoNLA SoC: Action-line is now drawn with green colouring when a strip is being tweaked...
Joshua Leung [Sat, 6 Jun 2009 04:44:18 +0000 (04:44 +0000)]
NLA SoC: Action-line is now drawn with green colouring when a strip is being tweaked to show the relationship between them.

10 years agoFirst new particle code:
Janne Karhu [Fri, 5 Jun 2009 23:59:33 +0000 (23:59 +0000)]
First new particle code:
-Many things not yet working properly :)
-Experimental new (hopefully more logical) categorization of buttons, feedback on this is very welcome.
-Separate render & draw types, for example now there is actually a render option "halo" instead of all the different point draw types.
-Particles get recalculated only from buttons that actually change something that has to be recalculated, for example changing visualization doesn't reset particles any more.
-Boid physics buttons are still missing as I'm currently redoing the whole boids code.
-Point caching is still very wip, so baking is not possible for example, but I added a few cache baking flags for rna that were/will be needed for particle buttons logic.

10 years agofix for printing operator collection values, also set some freed pointers to NULL
Campbell Barton [Fri, 5 Jun 2009 19:43:33 +0000 (19:43 +0000)]
fix for printing operator collection values, also set some freed pointers to NULL

10 years agoBlender file selector support for setting multiple selected files/dirs which operator...
Campbell Barton [Fri, 5 Jun 2009 16:11:35 +0000 (16:11 +0000)]
Blender file selector support for setting multiple selected files/dirs which operators can use.
This allows the sequencers Add-Image strip to work like it does in 2.4x.

- as well as setting the "filename" operator property, operators can have collections called "files" and "dirs" which are set when available.
- RNA_OperatorFileListElement as new collection type, its a bit redundant since each item only has a "name" property but its needed since we don't have a string array type.
- the file selector now prints operators it runs.

Tested with python, adding a list of images works to the sequencer works.
bpy.ops.SEQUENCER_OT_image_strip_add(name="MyImages", start_frame=54, channel=2, filename="/somedir/", replace_sel=True, files=[{"name":"test1.png"}, {"name":"test2.png"}])

10 years ago2.5
Ton Roosendaal [Fri, 5 Jun 2009 16:11:18 +0000 (16:11 +0000)]
2.5

Search menu:

- Made nicer drawing for popup version of search. It now uses
  entire backdrop like pulldowns.
  Search boxes for text buttons will use different style still;
  if we use this option all over it shouldn't look too intrusive.

- Search menu allows scroll, to view all items. It doesn't cycle
  anymore.

- Click outside search menu now cancels

- If a match is in search button, it highlights it. This also
  allows ALT+CTRL+F - Enter to redo last op.

- Search popup draws higher when no no space below. No order
  flipping!

10 years agoMSVC cries of uninitialized param
Shaul Kedem [Fri, 5 Jun 2009 13:20:42 +0000 (13:20 +0000)]
MSVC cries of uninitialized param

10 years agoPyRNA
Campbell Barton [Fri, 5 Jun 2009 12:48:58 +0000 (12:48 +0000)]
PyRNA
- Support for python to convert a PyObject into a collection (uses a list of dicts - quite verbose :/)
- Operators can now take collection args when called from python.
- Support for printing operators that use collections (macro recording).
- Added RNA_pointer_as_string which prints all pointer prop values as a python dict.

Example that can run in the in test.py (F7 key)
bpy.ops.VIEW3D_OT_select_lasso(path=[{"loc":(0, 0), "time":0}, {"loc":(1000, 0), "time":0}, {"loc":(1000, 1000), "time":0}], type='SELECT')

for some reason lasso locations always print as 0,0. Need to look into why this is.

10 years agoNLA SoC: NLA-Evaluation Bugfixes
Joshua Leung [Fri, 5 Jun 2009 11:51:27 +0000 (11:51 +0000)]
NLA SoC: NLA-Evaluation Bugfixes

* Fixed an evil bug where the last frame of a strip was always incorrectly evaluated.
This was because these frames were not being included in the strip's 'range' as defined by the IN_RANGE() testing macro, which only considers the given range as an open interval (i.e. non-inclusive of boundary points). I've added a new macro, IN_RANGE_INCL(), which is inclusive of boundary points, since this is a common test in many other parts of the code.

* When an AnimData block is in 'tweaking' mode, the tracks following (and including the active track) are now correctly skipped during evaluation.

* Finished coding the option of setting a single NLA-track per NLA-block to play 'solo' (i.e. only that track is enabled for evaluation).
To enable this, simply click on one of the grey 'dots' beside the NLA-track names, turning this dot yellow. The 'yellow' dot means that the track will play by itself (even the 'active action' gets silenced). Only one track per AnimData block can play solo at a time. To disable, simply click on the 'yellow' dot again.
NOTE: this currently uses the View3D layer-status icons. We probably need some special ones for these later (coloured vs grey star?)

* Also (not related to evaluation) made the selection operators for the NLA Editor only work when not in tweaking mode, since in tweaking mode they can potentially result in data being resolved inappropriately when leaving tweaking mode.

10 years agoNLA SoC: Operators for 'tweaking' strip actions (TAB-Key for both)
Joshua Leung [Fri, 5 Jun 2009 05:18:07 +0000 (05:18 +0000)]
NLA SoC: Operators for 'tweaking' strip actions (TAB-Key for both)

In this commit, I've introduced the mechanism by which actions already referenced by strips used in the NLA can be edited (or 'tweaked'). To use, simply select a strip you wish to edit, and hit that TAB key to start tweaking that strip's action, and hit TAB again once you're done.

What happens when you enter 'tweak mode':
1) The action of the active strip temporarily becomes the 'active action' of the AnimData block. You are now able to edit this in one of the Animation Editors (DopeSheet/Action, Graph Editors) as per normal (i.e. sliding keyframes around, inserting keyframes, etc.). The 'action-line' will therefore get drawn immediately above the active track containing the active strip, so that it's clear that that's what we're editing.

2) All the NLA-tracks (and all the strips within them) that occur after the track that the active strip lived in get disabled while you're in tweakmode. This is equivalent to travelling back to an earlier state in a construction history stack.

3) The active NLA track also gets disabled while in tweakmode, since it would otherwise interfere with the correct functioning of the tweaking for the action of interest.

4) The 'real' active action (i.e. the one displaced by the active strip's action) gets put into temp storage, and will be restored after you exit tweakmode.

5) Any strips which also reference the action being tweaked will get highlighted in red shading to indicate that you may be making some changes to the action which you don't really want to make for the other users too.

Please note though, that this is only a rough prototype of this functionality, with some niceties still to come. i.e.:
* NLA-tracks after the active track should still get drawn above the 'tweaking action line', but perhaps with different appearance?
* Various tools will still need awareness of this to prevent corrupting operations from taking place. How to proceed is still undecided...
* When exiting tweak-mode, the strip the action came from still needs some form of syncing with the modified action... there are a few tricky issues here that will need to be solved
* Evaluation code doesn't totally take this into account yet...

---
Also, fixed a number of bugs with various code (notably selection, and also a few drawing bugs)

10 years agoUI:
Brecht Van Lommel [Fri, 5 Jun 2009 00:39:42 +0000 (00:39 +0000)]
UI:
* Make ESC-key close the search popup menu.
* Also make ESC-key cancel number button dragging.

10 years ago2.5 filebrowser
Andrea Weikert [Thu, 4 Jun 2009 20:07:06 +0000 (20:07 +0000)]
2.5 filebrowser
* code cleanup: removed unused fileselect mode (type)
* brought back 'hide dot files', needs proper storing of the settings still.

10 years ago2.5 MSVC projectfiles
Andrea Weikert [Thu, 4 Jun 2009 20:05:08 +0000 (20:05 +0000)]
2.5 MSVC projectfiles
* added file editors/space_buttons/buttons_context.c
* removed BRE_yafray project

10 years ago2.5
Ton Roosendaal [Thu, 4 Jun 2009 18:38:10 +0000 (18:38 +0000)]
2.5

Just a minor tweak in menu draw, makes Search menu a tinsy prettier.
Tomorrow more!

10 years ago2.5
Ton Roosendaal [Thu, 4 Jun 2009 15:19:48 +0000 (15:19 +0000)]
2.5

Bugfix: Icons were drawing on wrong subpixel positions, distorting
badly. Now it's crispy and tasty!

Noticed there's a magnifier icon already, using it for the search
option.

10 years ago2.5
Ton Roosendaal [Thu, 4 Jun 2009 14:32:10 +0000 (14:32 +0000)]
2.5

Two small fixes;
- Search menu options text could overlap with hotkey
- Operator "duplicate area into window" didnt work for non-actionzone

10 years agoCleaned up the node wrapping code
Robin Allen [Thu, 4 Jun 2009 14:11:39 +0000 (14:11 +0000)]
Cleaned up the node wrapping code

10 years agoAll nodes are now wrapped! Some still need limits and extra logic though.
Robin Allen [Thu, 4 Jun 2009 13:55:02 +0000 (13:55 +0000)]
All nodes are now wrapped! Some still need limits and extra logic though.

10 years ago2.5 RNA:
Thomas Dinges [Thu, 4 Jun 2009 11:16:56 +0000 (11:16 +0000)]
2.5 RNA:

* Found more bugs in factor properties.

10 years ago2.5 RNA:
Thomas Dinges [Thu, 4 Jun 2009 11:05:36 +0000 (11:05 +0000)]
2.5 RNA:

Bugfix: Smooth Modifier didn't accept negative factor values.
Patch by Wahooney. Thanks!

10 years ago2.5 RNA:
Thomas Dinges [Thu, 4 Jun 2009 10:56:39 +0000 (10:56 +0000)]
2.5 RNA:

* Wrapped some more object force properties.
* Fixed a bug in the field_type_items.

10 years agoUI:
Brecht Van Lommel [Wed, 3 Jun 2009 23:33:56 +0000 (23:33 +0000)]
UI:
* First step for buttons context browsing, read-only still.
* Drawn in a panel now, though this should become a separate region.
* Path of the context is constructed as an array of RNA pointers and
  then used for drawing and context lookups from python.

10 years agoRNA:
Brecht Van Lommel [Wed, 3 Jun 2009 23:22:43 +0000 (23:22 +0000)]
RNA:
* Added a MaterialSlot collection in Object rather than giving
  the list of materials immediately. This should more correctly
  reflect how this data is organized, even though there is no
  equivalent C struct.

* Added name properties to MaterialSlot/TextureSlot/ParticleSystem.

10 years agoUI/RNA:
Brecht Van Lommel [Wed, 3 Jun 2009 23:16:51 +0000 (23:16 +0000)]
UI/RNA:
* Added an icon entry to RNA structs, instead of the UI_GetIconRNA
  function, to keep code together a bit more and make the lookup
  faster.

10 years ago2.5 RNA:
Thomas Dinges [Wed, 3 Jun 2009 22:19:04 +0000 (22:19 +0000)]
2.5 RNA:

* Started wrapping object force.
* Added "absorption" property in Collision Modifier RNA.

10 years ago2.5
Ton Roosendaal [Wed, 3 Jun 2009 18:31:37 +0000 (18:31 +0000)]
2.5

Further work on new "text search" button.

- Now allows to browse items (mouse, arrow key)
- Assigns active value
- Uses different backdrop to distinguish from popup menus
- Cleaned API for it, so it can be used nicely generic

Also added a search menu, which shows all currently working
operators: CTRL+ALT+F. (mind the looks, it needs some tweaks!)

To make a menu activating a button I've added a new event...
could use some tweaks.

Important note: the callback to pass on "old string" for text
button (bone rename) couldn't work yet, added first code for new
callback, but has to be worked on further. When bone rename gets
added it can be tested.

10 years agoNLA SoC: More Drawing Tweaks
Joshua Leung [Wed, 3 Jun 2009 11:22:49 +0000 (11:22 +0000)]
NLA SoC: More Drawing Tweaks

* Following user feedback, I've increased the separation between normal NLA-tracks and the 'action lines' to try and differentiate them more. This hopefully this will be sufficient, otherwise, I'm going to have to abandon the use of nice, generic channel-identification code for lists of channels...

* Improved drawing of 'active' strips.
- Now, the active strip (when NOT being 'tweaked') will be simply drawn as a yellow strip + a white border.
- The active strip (when BEING 'tweaked') will now be greenish + a white border. The colour here may be tweakable, but we'll see...

* Strip extrapolation modes (hold, etc.) are now visualised as rects with alpha and the same colour as the strip they belong to.

* Selecting strips now makes them 'active' (and deactivates the others). Only one strip can be active at a time. Still need to figure out precisely how this will work with multiple AnimData blocks + NLA-'tweaking'.

* Fixed view-matrix bug introduced in last commit for text drawing. For now, we'll just reset the view matrix after doing that, since it's not too acceptable to move these calls to the end yet, as they should get overlapped by some other editor features (such as the Current Frame indicator)

10 years agoCloth Buttons:
Thomas Dinges [Wed, 3 Jun 2009 09:06:32 +0000 (09:06 +0000)]
Cloth Buttons:

Cloth Collision settings dindt't use the new button space context data.