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-03-08move render operators into their own files, render_internal.c & ↵Campbell Barton
render_opengl.c, rather then have them in the screen module. also rename render operators SCREEN_OT_ --> RENDER_OT_
2010-02-13Added support for animated texture draw, GLSL textures.Ton Roosendaal
Note, this is not like GE ffmpg, but Blender Image Texture display for GLSL materials. Speed can be disappointing, use smaller images for realtime edits.
2010-02-12correct fsf addressCampbell Barton
2010-02-12Bugfix #21051: Restored 'Playback FPS'Joshua Leung
This commit restores the 'Playback FPS' option which showed an indicator of the frame rate of animation playback in the 3D-View. The info for this is now stored in a temp struct in scene data, with the status info being updated by the "animation step" operator instead of relying on globals as the old code did. This seems a lot more stable than in 2.49, but the accuracy is still questionable.
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-22Cleaned up some printfs in editors/ - converted some to reports, hid others ↵Matt Ebb
behind G_DEBUG.
2010-01-14[#20112] User Preferences window causes a crashMartin Poirier
Opened preference window caused a crash (context pointing to freed screen) when Load UI was turned off.
2010-01-13[#20093] Consistent Crash in properties windowMartin Poirier
Fun bug, took me the better part of the day to track down. Happens because maximizing swaps spacedata lists between the old area and the newly created maximized area (this one being empty) while ui handlers are still hanging with references to the first area (then trying to access spacedata when handled). And then only if a maximizing operator was run before the UI realign timer event from the previous maximize was handled (fun, I told you). After discussion with Matt on irc, we decided the best way to deal with that was to remove ui handlers that reference areas of a screen that is no longer used. That solution reflects the fact that the bug is more general that the reproducing steps would lead to believe. There's also absolutely no reason to run UI handlers on invisible areas.
2009-12-26- closing the user prefs accessed the temp screen after removing it.Campbell Barton
- colorband drawing could use un-initialized vars (probably wouldnt crash)
2009-12-21- camera switching didnt work for openGL renderCampbell Barton
- UV Project (Bounds) wasnt in the menu
2009-12-17Fix [#20397] Saving with F2 on multiple windows layout crashesMatt Ebb
2009-12-16camera switching via markersCampbell Barton
Currently access by selecting a marking and binding with the active camera from the view menu. Note: after long discussion we decieded there is no nice way to do this.. animate pointers? animate multiple camera visibility?, use sequencer? use NLA?.... have a kind of event system (like framechange scriptlinks)... etc so this is ifdef'd with DURIAN_CAMERA_SWITCH
2009-12-11Tweak to make temp 'fullscreen' screens be alphabetically similar to the ↵Matt Ebb
previous ones that spawned them, so you can switch screens (ctrl left and right arrow) more smoothly ( [#20301] Screens and Fullscreen still doesn't work )
2009-12-09Whoops, silly typoMatt Ebb
2009-12-09Various more screen-related fixes including:Matt Ebb
[#20271] File Browser - Wont show when area is fullscreen
2009-12-08RNA:Brecht Van Lommel
* Property update functions no longer get context, instead they get only Main and Scene. The RNA api was intended to be as context-less as possible, since it doesn't really matter who is changing the property, everything that uses the property should be updated. * There's still one exception case that use it now, screen operations still depend on context too much. It also revealed a few places using context where they shouldn't. * Ideally Scene shouldn't be passed, but much of Blender still depends on it, should be dropped when we try to support multiple scene editing. Change was planned for a while, but need this now to be able to call update without a context pointer.
2009-12-08Various changes to screen-related code, aiming to fix a few problems and ↵Matt Ebb
usability issues with 'temp' screen layouts. Now, temp screens are hidden from being accessed directly, with a new 'Back to Previous' button appearing in place of the screen menu when (for example) fullscreen render image areas are present. Window type menus also get disabled here too, to prevent things from getting too mixed up.
2009-12-04This commit deletes temporary "temp" screen layouts when the windows using ↵Joshua Leung
them get closed.
2009-12-04Cleaning: update a couple of functions to use scene from context instead of ↵Martin Poirier
from screen.
2009-11-27Animation Playback - Return to original frameJoshua Leung
Playback of animation will now be restored to the frame that playback started on when stopping if the SCREEN_OT_animation_cancel operator is used (i.e. ESCKEY). All other ways of stopping playback (pause button, alt-a) should act more like toggles, and do not reset the playhead.
2009-11-05Fix #19763: crash with tooltip open & maximizing area to fullscreen.Brecht Van Lommel
2009-11-04Fix bug #19749: browsing path in user preferences would crash.Brecht Van Lommel
2009-10-27- Right click menu can open links directly to API reference docs (rna and ↵Campbell Barton
operators) - Generated and uploaded api docs - http://www.blender.org/documentation/250PythonDoc - Added Edit docs menu item & operators as discussed with Mindrones, Brecht, Stani & Letterip @ bconf, needs some web backend. python operator can aparently use xml/rpc to upload docstrings. - Added operator invoke function - context.manager.invoke_props_popup(self.__operator__, event) this calls a popup for invoke by default (which intern calls execute()) - Own recent commit to game framing applied to non-camera views too. - v3d->persp is deprecated but still used in some places. - Transforming strips could overlap 1 frame if moving them below frame 0 - Transforming overlapping strips could go into an eternal loop (though overlapping strips should not exist)
2009-10-26Bugfix: opening file browser or starting render with mouse outsideBrecht Van Lommel
of window could crash, these functions relied too much on context.
2009-10-20Auto SaveBrecht Van Lommel
Auto save is now working again in 2.5. It will also remember now what the location of the original file was when recovering it, so that library links still work and saving the restored file does not save to the temp directory. There is also a new Recover Auto Save operator which will open the filebrowser in the temp directory and show the auto saved .blends. Implemenation Notes: * Timer storage was moved from window to windowmanager, so we can have windowmanager level timers too now, doesn't make sense to have autosave timer attached to a particular window. * FileGlobal now has a filename field storing where the file was saved. Note that this is only used when loading a file through the recover operators, regular file read doesn't use it, so copying the quit.blend manually over the original file will still work as expected. * Jobs timer no longer uses operator now, this seems more like an internal thing, changing keymaps should not make it possible to break the jobs manager. * Autosave is postponed by 10 seconds when a modal operator is running, e.g. transform or file browsing. * Moved setting G.sce in setup_app_data before depsgraph updates, these can use the filename for pointcaches.
2009-09-16UI: fix region edges cursor to show the right direction,Brecht Van Lommel
was always vertical now.
2009-09-14Depsgraph:Brecht Van Lommel
* Move function to compute visible screen layers to BKE. * Use this now in the depsgraph, was still using this all layers to flush. Still missing a way to get the current scene in background mode.. * Also two more function to not require a scene pointer anymore: * DAG_object_update_flags is now DAG_id_update_flags. * DAG_ids_flush_update is now available next to DAG_scene_flush_update.
2009-08-18Bugfix for time line: Fixing usage of uninitialized memory which resulted in ↵Daniel Genrich
e.g. backward playing time line.
2009-08-172.5 - Bugfixes:Joshua Leung
* Reverse playback works again. Flag was getting overriden before it had a chance to do anything * Active KeyingSet field in TimeLine header should now only be marked as editable when there are some Keying Sets. However, there still seems to be a bug when trying to change this... TODO (Brecht?): it would be nice to be able to specify a list/collection of data for pointer-buttons that aren't ID's.
2009-08-172.5: Fix timeline space redraw properties, these were not RNA wrappedBrecht Van Lommel
correct, and were missing update. Also moved this update code to screen_edit.c, next to the other animation play stuff.
2009-08-172.5Brecht Van Lommel
* Use scene->r.audio instead of scene->audio everywhere, was using both still. * Fix time_top_left_3dwindow link error, not sure why this happens, somehow with scons building it seems that files (like time_header.c) wich are not called from the same .a module get stripped?
2009-08-172.5: SoundBrecht Van Lommel
* Move sound_init to make sure it gets called everytime user preferences is reloaded. * Merged sound_reinit and sound_init. One used user preferences while the other did not, don't see the point of this, so just made it always use user preferences now. * Timeline header audio sync option now controls scene flag rather than timeline flag. Since it uses the same playback operator now, there is no distinction anymore. * Added boolean property sync to animation play operator, to sync with audio or not. Uses scene setting if property is not set. * Playback stop button in info header now calls operator, so sounds stop playing too.
2009-08-152.5: Screen/Scene New/Delete operators.Brecht Van Lommel
Implementation Note: * Moved the scene copy/unlink code back into blenkernel, with the exception of the copy single user stuff which is still in object_edit.c. * Uses SCREENDELETE notifier like SCREENBROWSE, seems only clean way to do this now.
2009-08-102.5 audio cleanup:Joerg Mueller
* Removed CD Actuator * Removed bSample and bSoundListener * Removed SoundSystem * Removed -noaudio parameter
2009-07-31Animato - NLA + Realtime Animating Goodies Joshua Leung
* When doing realtime recording of animation (i.e. transforming objects + bones while animation playback is running, and auto-keying is enabled), animation will be added to a new NLA Track+Strip combo everytime a single 'loop' of the frame range has finished. This will allow 'passes' over the animation to be less destructive. * Made the evaluation of the active action (when NLA data is present), be handled as part of the normal NLA system evaluation code (as if it were just another strip in a track at the end). The immediate benefit is that there are now some settings (available in the "Animation Data" panel in the NLA Editor with a strip selected) which allow for the way the active action is combined with the NLA stack results. For instance, the way that the action extrapolates is used in the recording tweaks above.
2009-07-302.5: Buttons ViewBrecht Van Lommel
* When resizing the window, the top position is now preserved, instead of the center position. * Fix zoom level not being preserved in various cases, when changing both with and height. This replaces some earlier code which did this at screen level but wasn't very reliable. * Different tabs now each preserve their own scroll. * When switching between tabs, it now scrolls to show as many buttons as possible, instead of possibly showing empty space. There is a trade-off here between doing that keeping the buttons in the same place, no ideal solution exists I think. * Change zooming in/out to be symmetric, for example doing numpad + then - did not give the original zoom level back. * Added some calls to avoid hanging tooltips when manipulating the view. Internals: * Added V2D_KEEPOFS_X and V2D_KEEPOFS_Y to keep the top/bottom rather than the center. * Renamed V2D_KEEPZOOM to V2D_LIMITZOOM (seems more appropriate), and make V2D_KEEPZOOM preserve the zoom level.
2009-07-242.5Ton Roosendaal
New feature: allowing to open temporarily windows for output. Implemented for: - Render output (use output menu "new window" option). - User Preferences (alt+U, plus added in 'File' menu) Currently the window opens where your mouse is. The Render window works as usual, with ESC or F11 moving it to back or front again. That allows the window position to remain where you moved it on new renders. If you close a render window when it renders, the render thread will be killed. User prefs show 'info window' now... i thought we'd use outliner? Anyhoo, I've made the 'save settings' to close the 2nd window as well. Opening a secondary file window for save I'll check on later, this has to be checked with the current event system still. the WM_window_open_temp() api call for this maintains currently a *single* temp window. If you have a render window open, and call for the preferences, the render window will be used for it. And the other way around. On closing the blender window, the temp windows close automatically when there's no regular window open, and blender quits.
2009-07-22remove scriptlinks,Campbell Barton
they were not working and we have plans for better script integration in 2.5
2009-07-192.5Ton Roosendaal
Requested UI feature: when scaling Blender window, the buttons view keeps scale (in visible pixels) as previously. Also works for the .B25.blend, which currently will show the buttons a bit too large for small screens... this because the .B25.blend was created on a 1920x1200 screen. Might need a config inbetween... 1440x1080 or so? Or we make a couple of defaults later. Additional feature could be to also scale the buttons area itself, but that will change the entire screen layout too much, potentially giving bad issues with extremer scaling.
2009-07-07NLA SoC: Quick hack - Reversed playbackJoshua Leung
Animations can now be played back in reverse, by clicking on the reversed-playback button in the TimeLine header beside the play button (NEW ICON NEEDED HERE). I'm not sure how well this works with sound, but from what I gather, this can be quite useful for animators to use.
2009-06-062.5Ton Roosendaal
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.
2009-05-242.5Ton Roosendaal
First version of region-scaling. WIP commit, so bear with me a while! - All fixed sized regions have a small 'drag' widget, on the left or top. (not yet for free-sized regions, like 4-split). - Mouse-over on widget changes cursor and allows drag. - Click on widget hides/reveals. - Fun for test; 3d view header, if high enough, draws more rows of buttons when width is too small. The WIP stuff; - It doesn't save yet in files, using the "minsize" variable of region definitions, also means other similar areas show same sizes now. - Definitions for pref size, min/max will be added. - Properties panel in Fcurve window draws widget on wrong place when hidden (subdiv system needs tweak) - Widgets don't draw perfect yet, also needs further tweaks. But, in general it's quite fun and usable. :) Many variatians are possible, like for real tabs, or little icons, or just click-drag on edge. The reason to first try the widget/tab variation: - it re-uses the "Area Action Zone" code, widgets for layouting Screens - it's visible, hotkey-only options for screen layouts are not preferred. - distinguish clearly area-edges from region-edges this way. Having the cursor change shape on every edge (and block input) is probably annoying too... but that can be tested. Later more!
2009-05-222.5Ton Roosendaal
- Added new popup menu type, which can be used to pass on a running operator too. Needed it for debug menu, allowing to set variables outside of operator "first do then tweak" system. :) void uiPupBlockOperator() Don't forget to tell invoke() return that operator now runs modal! - Test menu: alt+ctrl+d gives the G.rt debug value. Values of 0-16 now can be used to shrink areas, stuff like this then happens (rt==4): http://download.blender.org/institute/rt5.jpg Was looking at ways to visually distinguish areas and regions better. Yes I know, cute rounded corners, etc. Just testing!
2009-05-212.5Ton Roosendaal
Animation playback back in control. And non-blocking still! - Play follows the "Playback" options in TimeLine menu. Only the region 'windows' are drawn, not headers, toolbars, channel views, etc. The option "Buttons Window" also redraws property regions. - The Timeline header always redraws, this to denote at least progressing frame numbers - For now: if you choose to play 3D views, it also redraws the TimeLine. Seems to be good convention, but probably better to add menu option for it? - Fun test: while playback, change Playback options, works OK! - New: top header button shows animation play status, and allows to stop playback - New: Animation stop/start operator. Assigned to ALT+A. It has no options yet; just plays active region + all 3D windows now. Options will follow, based on reviews. Also ESC won't work for now, just press ALT+A again.
2009-02-182.5Ton Roosendaal
Several things in one commit; could not split this up easily, one job invoked another, and so on. :) - Added pulldowns for save/load .blend file in top bar. - To enable "Save" without further popups (save over) I've added a signaling function in window header to indicate a succesful save. - On any undo push it now signals 'file changed'. This goes by notifiers nicely, but now registers only the undopushes, which is quite unreliable. "Changed" state shows in header as "Blender*" and for OSX with the standard close button black dot. - Made screencast show a button in top bar indicating such, and allowing quit. No hotkey for quit yet... but ESC will keep casting now. - Fixed new BLF_init(), which should be in WM_init() and not on any .B.blend read. - Fixed CTRL+F3 "Save Screenshot", which was still using old fileselect code.
2009-02-082.5Ton Roosendaal
Scene browse button now works. Note that animsys currently executes animation for the entire database, so multiple scenes in multiple windows don't work yet. Various fixes: - crash on invoking filewindow when mouse outside (active) window - removed obsolete error prints (set screen error, copy data error) - displist fix for loading files with curve/nurbs, the select-outline then didnt draw immediately. - outliner allows scene activating
2009-02-072.5Ton Roosendaal
- Screen browse button back - Several fixes in using screens in more windows. Still has loose ends, but things are definitely more stable!
2009-02-072.5Ton Roosendaal
Edit Mesh: Knife Cut back. I've put it for now under ALT+CTRL+LMB, modeless direct cutting. Options for polyline input and snapping is for later. At least this works cool :)
2009-02-072.5Ton Roosendaal
- Added back CTRL+X "reload start-up file". (Original name 'erase all' is a bit misleading, but we can go over all naming conventions later :) - Added memfree for triple buffer data.
2009-02-042.5Ton Roosendaal
Render back! And not only back, even full threaded now. :) Current state is unfinished, but too much fun to not to commit for review and test! WARNING: because render is in a threaded job, it will use data as can be edited in the UI. That'll crash in many cases of course... the idea is to limit UI usage to viewing stuff, especially for the Image Window to inspect layers or zoom in/out. What works now; - F12 render (no anim) - ESC from render - ESC pushes back temporary Image Window - Render to ImageWindow or full-screen. - Executing composites, and edit composites after render. Note that the UI is 100% responsive in a render, you can switch screens, slide area dividers around, or even load a new file during render. :) It's quite stable even. I'll collect all crash reports especially to get a good picture of where the protection is required at least. Also added: XKey "Delete Objects", to get things crash... unfortunately it didn't for me.