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
2010-02-12correct fsf addressCampbell Barton
2010-02-11More tooltip editingDaniel Salazar
2010-02-11batch remove .'s used with RNA_def_struct_ui_textCampbell Barton
2010-02-08Graph editor, when 'Only Selected Handles' is enabled, dont allow selecting ↵Campbell Barton
a handle unless they key is alredy partially selected.
2010-02-082.5 Audio:Joerg Mueller
- recode of the whole sequencer audio handling - encode audio flag removed, instead you choose None as audio codec, added None for video codec too - ffmpeg formats/codecs: enabled: theora, ogg, vorbis; added: matroska, flac (not working, who can fix?), mp3, wav - sequencer wave drawing - volume animation (now also working when mixing down to a file!) - made sequencer strip position and length values unanimatable
2010-02-08Operator Execution Contexts Bugfix:Joshua Leung
This commit adds a few more execution contexts for operators, given the increasing tendency for some special regiontypes to exist within areas that must have their own set of special operators. Examples of these include the "channel" operators in the Animation Editors (i.e. those in the 'Channels' menu), and the "Fit to Preview Window" operator for the Sequencer. Previously, operators such as these would not function when clicked on from the menus, and they would not show the hotkeys they were mapped to. Also, fixed a few operator definitions in the Animation Editors which were missing ot->prop defines. This meant that some hotkeys (mainly selection) were shown incorrectly in the menus.
2010-02-07DopeSheet and Graph Editors: Select More/Less OperatorsJoshua Leung
This commit introduces the Select More/Less Operators (Ctrl +/-) for keyframes. This works like the ones for curves, by only selecting/deselecting keyframes lying in the same F-Curve. Inter F-Curve selection is not done by this operator. That is the job for another one. This is especially useful for F-Curves set in the 0-1-0 pattern (i.e. 3 keyframes forming localised peaks), where the peaks can be selected by clicking on them individually, and immediately surrounding '0' values are selected too using "Select More".
2010-02-03Bugfix #19970: auto-clamped / auto working strangly in f-curve editorJoshua Leung
Thanks to a great doc from Bassam (slikdigit) on the different types of handles (which should probably become/be part of future 2.5 docs), I've revised the code again so that this works well again. The doc: http://docs.google.com/View?id=dvgkxj6_1d8cpfw79
2010-02-01Bugfix #19970: auto-clamped / auto working strangly in f-curve editorJoshua Leung
Fixed the operators for DopeSheet/Graph Editors responsible for setting the "auto-clamped". This option is actually per F-Curve instead of per handle, and the code here should function like it did in 2.4x However, despite this, it still appears to work oddly IMO. Any comments Bassam or animators familiar with the intentions of this?
2010-02-01Renamed the FILE_OPEN option for the file browser to FILE_OPENFILE to ↵Joshua Leung
cleanup compiler warnings about redefined definitions (mingw)
2010-01-31Bugfixes:Joshua Leung
* Old files imported to 2.5 with curves that got cycles FModifiers added during version patching, would not have their keyframes shown for editing. * #20893: Can't see/show the Properties area in the NLA I don't know why this worked on a few of my test files several months ago, and yet now fails for many files today.
2010-01-30[#20892] Locking animation curves with Tab Key don't hide the curves handlesCampbell Barton
drawing handles for fcurves wasnt checking ((fcu->grp) && (fcu->grp->flag & AGRP_PROTECTED))
2010-01-30View2D/TimeCode Drawing:Joshua Leung
This commit introduces a few cleanups and tweaks to the way that timecodes (i.e. the timing indications used instead of frame numbers) get displayed. 1. Custom Spacing of TimeCodes/Gridlines Made the minimum number of pixels between gridlines/timecode indications a user-preference, instead of being a hardcoded constant. This allows to set the spacing tighter/looser than the defaults, and is also used for the other changes. 2. Default timecode display style, (now named 'minimal') uses '+' as the delimeter for the sub-second frames. This hopefully makes it a bit clearer what those values represent, as opposed to the '!', which can sometimes look too much like a colon. 3. Added various timecode display styles as user-preference. - These include always displaying full SMPTE, to showing milliseconds instead of frams for sub-second times, and also an option to just show the times as seconds only. - When changing the timecode style, the spacing setting is automatically modified so that the timecodes are spaced far apart enough so that they won't clash (under most circumstances). This automatic modification is only done if the spacing is too tight for the style being set. 4. Unified the code for generating timecode strings between the View2D scrollbar drawing and the current frame indicator drawing.
2010-01-27[#20728] "Export UV Layout" overwrites existing files (without feedback)Matt Ebb
The 'save over' popup was only appearing based on a string comparison of the operator name ("Save"). Changed this to use a hidden operator property: "check_existing". Python operators must have this property for the file selector confirmation too. This property can also be set to false, to prevent checking for existing files, useful in the File->Save menu item to prevent the dangerously missable confirmation popup.
2010-01-26Drag and drop 2.5 integration! Finally, slashdot regulars can useTon Roosendaal
Blender too now! :) ** Drag works as follows: - drag-able items are defined by the standard interface ui toolkit - each button can get this feature, via uiButSetDragXXX(but, ...). There are calls to define drag-able images, ID blocks, RNA paths, file paths, and so on. By default you drag an icon, exceptionally an ImBuf - Drag items are registered centrally in the WM, it allows more drag items simultaneous too, but not implemented ** Drop works as follows: - On mouse release, and if drag items exist in the WM, it converts the mouse event to an EVT_DROP type. This event then gets the full drag info as customdata - drop regions are defined with WM_dropbox_add(), similar to keymaps you can make a "drop map" this way, which become 'drop map handlers' in the queues. - next to that the UI kit handles some common button types (like accepting ID or names) to be catching a drop event too. - Every "drop box" has two callbacks: - poll() = check if the event drag data is relevant for this box - copy() = fill in custom properties in the dropbox to initialize an operator - The dropbox handler then calls its standard Operator with its dropbox properties. ** Currently implemented Drag items: - ID icons in browse buttons - ID icons in context menu of properties region - ID icons in outliner and rna viewer - FileBrowser icons - FileBrowser preview images Drag-able icons are subtly visualized by making them brighter a bit on mouse-over. In case the icon is a button or UI element too (most cases), the drag-able feature will make the item react to mouse-release instead of mouse-press. Drop options: - UI buttons: ID and text buttons (paste name) - View3d: Object ID drop copies object - View3d: Material ID drop assigns to object under cursor - View3d: Image ID drop assigns to object UV texture under cursor - Sequencer: Path drop will add either Image or Movie strip - Image window: Path drop will open image ** Drag and drop Notes: - Dropping into another Blender window (from same application) works too. I've added code that passes on mousemoves and clicks to other windows, without activating them though. This does make using multi-window Blender a bit friendler. - Dropping a file path to an image, is not the same as dropping an Image ID... keep this in mind. Sequencer for example wants paths to be dropped, textures in 3d window wants an Image ID. - Although drop boxes could be defined via Python, I suggest they're part of the UI and editor design (= how we want an editor to work), and not default offered configurable like keymaps. - At the moment only one item can be dragged at a time. This is for several reasons.... For one, Blender doesn't have a well defined uniform way to define "what is selected" (files, outliner items, etc). Secondly there's potential conflicts on what todo when you drop mixed drag sets on spots. All undefined stuff... nice for later. - Example to bypass the above: a collection of images that form a strip, should be represented in filewindow as a single sequence anyway. This then will fit well and gets handled neatly by design. - Another option to check is to allow multiple options per drop... it could show the operator as a sort of menu, allowing arrow or scrollwheel to choose. For time being I'd prefer to try to design a singular drop though, just offer only one drop action per data type on given spots. - What does work already, but a tad slow, is to use a function that detects an object (type) under cursor, so a drag item's option can be further refined (like drop object on object = parent). (disabled) ** More notes - Added saving for Region layouts (like split points for toolbar) - Label buttons now handle mouse over - File list: added full path entry for drop feature. - Filesel bugfix: wm_operator_exec() got called there and fully handled, while WM event code tried same. Added new OPERATOR_HANDLED flag for this. Maybe python needs it too? - Cocoa: added window move event, so multi-win setups work OK (didnt save). - Interface_handlers.c: removed win->active - Severe area copy bug: area handlers were not set to NULL - Filesel bugfix: next/prev folder list was not copied on area copies ** Leftover todos - Cocoa windows seem to hang on cases still... needs check - Cocoa 'draw overlap' swap doesn't work - Cocoa window loses focus permanently on using Spotlight (for these reasons, makefile building has Carbon as default atm) - ListView templates in UI cannot become dragged yet, needs review... it consists of two overlapping UI elements, preventing handling icon clicks. - There's already Ghost library code to handle dropping from OS into Blender window. I've noticed this code is unfinished for Macs, but seems to be complete for Windows. Needs test... currently, an external drop event will print in console when succesfully delivered to Blender's WM.
2010-01-26Assorted Bugfixes:Joshua Leung
* Adding new Keying Set paths didn't initialise the id-type setting. Make this default to Object * Fixed bad poll callbacks for Graph Editor operators working on keyframes, which were expecting F-Curves to be selected too to be eligible for editing. This was often too restrictive, resulting in nothing happening. * Fixed error with default property for Debug Redraw-Timer Operator not being set. However, this operator is currently still no use, since the info popups are now disabled.
2010-01-26Finishing off the Transform code changes for Degrees/Radians:Joshua Leung
Added flags for the mapping function offering more control over what values were affected and when. In the WIP code, the values for unselected verts were getting the restoration conversion being repeatedly applied, resulting in the values tending to zero.
2010-01-26WIP commit - degree conversions for transform fcurve editing - grabbing a ↵Matt Ebb
point works fine, but still issues with grabbing a single handle. Using the Radians unit setting still goes fine though so you can use that for now.
2010-01-26Radians vs Degrees: The Second AttemptJoshua Leung
F-Curves now internally store radians again instead of degrees. - This solves problems with inconsistencies when working with drivers. - No need to version patch old files, potentially screwing them up. As such, removed the version patching for F-Curves. - Is better suited to optionally showing radians throughout the UI instead or degrees. As a result, values are now converted on the fly in the Graph Editor for display and operators that operate on values. I've made the conversion system for this rather general, so that other unit type conversions can also be hooked up with the type conversion backend. Also, made some tweaks to F-Curve RNA wrapping to make it represent the data better. TODO: - Transform code currently still needs to be corrected to work with these changes. Currently moving keyframes for rotation curves will make them change too rapidly vertically when using degrees.
2010-01-26Bugfix #20817: Graph Editor, Drivers: Driving a Shapekey by a bone rotation: ↵Joshua Leung
Unable to add modifiers Wrong filters were used for F-Curves for adding the modifiers. Now the Graph Editor curve visibility settings are only taken into account for this when the hotkey version (i.e. only_active == False) is used, which means that the button works again.
2010-01-25Remove unneeded notifier data added in revision 26219.Martin Poirier
Fix a lot of notifier calls to stop abusing ND_TRANSFORM and use more appropriate data flags.
2010-01-25Durian Request/Bugfixes: Graph Editor Zooming doesn't go far enoughJoshua Leung
Pushed limits for Graph Editor view extents to proper limits, and fixed clamping used in View2D code which was preventing height of View2D viewports from getting below 1.0
2010-01-24View3d transform was sending a too-general notifier to redraw, causing ↵Joseph Eagar
several animation editors and the property editor to redraw too, which can really slow things down. added a more specific ND_VIEW3D_TRANSFORM notifier to solve this.
2010-01-23Durian Request: Expansion of Action Groups not linked between DopeSheet ↵Joshua Leung
editors and the Graph Editor Action Groups can now be expanded/collapsed in DopeSheet editors without the same thing happening in the Graph Editor, and visa versa. This should help improve the workflow, since the channel lists are generally kept more compact in the DopeSheet, while they are more expanded in the Graph Editor, so less time is spent expanding/collapsing stuff. Also this should hopefully alleviate some of the errors from accidentally deleting and then having to restore channels that were not intended to be deleted. Also, switched the order of the expand/collapse hotkeys (in the channels list region) for channels so that Ctrl +/- now expands/collapses selected channels only, while +/- expands/collapses all channels. This should make it more convenient to quickly open up all groups to select F-Curves for the Graph Editor.
2010-01-23Graph Editor: Bugfixes for option where only the keyframes of selected ↵Joshua Leung
F-Curves are shown * Selected keyframes in unselected F-Curves were still being modified, although not shown * Selection tools for keyframes were changing the selection status of F-Curves, making keyframes sometimes disappear after trying to select another keyframe * Warning fixes in a few other files
2010-01-20Drivers UI: Debug InfoJoshua Leung
Feature request for ZanQdo, which shows the intermediate values used in driver calculations (i.e. current value of driver, and current value of variables), allowing drivers expressions to be debugged. This is a per-driver setting...
2010-01-19Preview Range Tweak:Joshua Leung
Made preview range be turned on/off using a proper flag instead of just relying on checking for start-frame = 0. It is no longer satisfactory to do that since we can have negative frame numbers, and also having it as a proper flag means that the range can be toggled on/off non-destructively.
2010-01-19Small tweaks to 26108 - Graph Select Borderselect:Joshua Leung
Campbell's fix was ok, but just added a few comments as to why the previous way didn't work. Also, fixed the bug where borderselect would make all F-Curves selected regardless of whether any keyframes on those curves were selected.
2010-01-19Aligorith: please check. this was copied from mouse select. however ↵Campbell Barton
BKE_nla_tweakedit_remap(adt, rectf.xmin, NLATIME_CONVERT_UNMAP) is running which looks like it should be doing the remapping. however both functions are needed for this to work. Committing since Lee wants border select to work in the graph editor but feel free to revert.
2010-01-16generic operator menu was searching for "type" and using the first enum ↵Campbell Barton
property if it wasnt found. this is too arbitrary and could break if roperty order is changed. store the property in the operator type that is to be used for menu and enum search func's. python function for searching operator enums on invoke. (just need dynamic python enums now) wm.invoke_search_popup(self)
2010-01-15Reverting changes made in r25940 with the NLA unmapping. Joshua Leung
The reverted code was just blindly restoring the old state of the keyframes; changes to selection state, value changes, handle type, etc. were overridden, and the cases where keyframes were deliberately retimed or otherwise were also ignored. I'm not sure what problems these changes were meant to be solving, but will reassess the situation when I get more info on this.
2010-01-13NLA: fix keyframes getting messed up when making strips longer. For drawingBrecht Van Lommel
and other operations the nla mapping would be applied to the curves, but not restored correctly. The unmap function was not the inverse of the map function, and it's not clear to me it's even possible to make it so due to repeat, so now the old coordinates are backed up in a list and then restored afterwards.
2010-01-11Graph Editor: Snapping + CursorJoshua Leung
Added buttons beside the numeric inputs for cursor location to make it more obvious how the cursor can be used for numeric manipulation of selected keyframes.
2010-01-05Quick fix for layout of Transform Channel var type, since on smaller ↵Joshua Leung
regions, the widget sizes were too small to be useful.
2010-01-05More Driver Fixes:Joshua Leung
* Fixed Driver version-patching code to work correctly again with the new system. * Fix for bug #20484, by adding a new driver variable type ('Transform Channel') which makes it easier to use object/bone transforms as in the past. The main differences with using this (compared with the 'Single Prop' type) are that this allows for 'final' transforms to get used instead (i.e. constraints are also taken into account), and also that this variable type can only be used for transforms (more limited scope -> less flexibility -> point-n-click goodies can follow). Mancandy now loads correctly again. * Added toggle for local vs worldspace transforms when working with Rot/Loc Diff variable types, and also for the newly added Transform Channel * Removed some dead code from sequencer...
2010-01-05Durian Request: Drivers RecodeJoshua Leung
Highlights: * Support for Multi-Target Variables This was the main reason for this recode. Previously, variables could only be used to give some RNA property used as an input source to the driver a name. However, this meant that effects such as Rotational Difference couldn't be used in conjunction with other effects and/or settings to achieve the powerful results. Now, a variable can take several input targets, perform some interesting operations on them, and spit out a representative value based on that. * New Variable Types With the introduction of multi-target variables, there are now 3 types of variable that can be used: single property (i.e. the only type previously), Rotational Difference (angle between two bones), and Distance (distance between two objects or bones). * New Driver Types In addition to the existing 'Average', 'Sum', and 'Expression' types, there is now the additional options of 'Minimum' and 'Maximum'. These take the smallest/largest value that one of the variables evaluates to. * Fix for Driver F-Curve colouring bug Newly added drivers did not get automatically coloured in the Graph Editor properly. Was caused by inappropriate notifiers being used. Notes: * This commit breaks existing 2.5 files with drivers (in other words, they are lost forever). * Rigify has been corrected to work with the new system. The PyAPI for accessing targets used for the variables could still be made nicer (using subclassing to directly access?), but that is left for later. * Version patching for 2.49 files still needs to be put back in place.
2010-01-02Add audaspace includes. And some reorg/cleaning.Guillermo S. Romero
2010-01-01Added another three effects that you can use with the Sound to F-Curve ↵Joerg Mueller
modifier, have fun!
2010-01-01Scons compiling fix fox neXyon's new-year audio commitJoshua Leung
2010-01-01Huge new year audio commit!Joerg Mueller
* Refactored the whole audaspace library to use float as sample format over all readers. * Added new Readers like the linear resampler, envelope, lowpass, highpass and butterworth. * Note: The butterworth filter isn't working correctly, some bug in there... Maybe also true for the envelope. * Added a sound to f-curve operator that behaves mostly like the soundtracker script of technoestupido.
2009-12-27DopeSheet + Graph Editor hotkey tweak:Joshua Leung
Made the TAB key toggle the editability of selected channels in the keyframes area in addition to the channels list.
2009-12-24Reverted the addition of the f-curve sound modifier (was added in revision ↵Joerg Mueller
24759) due to unusability and performance issues. The ability to use a sound as animation source will be added as an import operator later that renders a sound to an f-curve which brings the advantage that you can edit the generated curve later and the disadvantage it is not automatically updated when the sound changes.
2009-12-24Key map related things:Matt Ebb
* Moved 'change shortcut' (previously directly RMB on menu items) to a context-menu item, and added Remove Shortcut and Add Shortcut. This is all available now in a RMB context menu for operator buttons and menu entries. * Renamed a bunch of key maps to be consistent with UI names, and human-readable. Since these key map names are now being directly used in the UI for people to find things, they should be understandable and in plain language. This renaming may break some older saved key map setups - though previously saved .b25.blends should convert over ok. Exported .py files may need some find/replacing - in this commit check the changes in resources.c to see what's changed.
2009-12-23Bugfix #20463: In graph editor bone channels cannot be selected with 'A' or ↵Joshua Leung
'B' border select This bug was caused by my recent commit to get bone select -> selection syncing working. The selection flushing was occurring too readily, blocking any selection tools from having any visible effect. Now this syncing is only triggered when appropriate notifiers+flags have been set.
2009-12-21Animation Editors - Durian Request - Selection Syncing:Joshua Leung
This commit brings back the functionality whereby the selection of F-Curves and/or relevant Group(s) is synced with the selection status of the corresponding bones when the bones are selected/deselected.
2009-12-20Animation Editor Code Cleanups:Joshua Leung
Removing some unused functions that have become redundant in recent times.
2009-12-20Add missing names to SpaceTypesMartin Poirier
2009-12-17Durian request:Matt Ebb
Extend the 'only selected' property in the graph editor to only show curves from selected sequence strips and nodes as well.
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-14patch [#20342] Notifier patch for modifier rename and particle system renameMatt Ebb
by 'ThatHaze'. thanks!