Commit Graph

16327 Commits

Author SHA1 Message Date
Campbell Barton
55150edc92 [#18164] jpeg2000 patch, with some fixes from Peter too.
Support for jpeg2000 and writing DCI Cinema standard files.

Notes
* 12 and 16bit channel depths are converted from/to blenders float buffer.
* Grayscale/RGB with alpha supported.
* Theres an option to save color channels as YCC rather then RGB.
* Quality 100 saves lossless
* The UI is a bit weired because of the DCI standards need to be given to the encoder.
2009-01-23 21:08:01 +00:00
Brecht Van Lommel
c86579b11e 2.5: multiple small fixes
- wm draw method is now initialized correct when reading older
  files, but the SDNA bug causing the problem is still unsolved.
  is due to // char pad[8]; not being recognized as commented.
- triple buffer proxy texture test follows spec better now,
  was disabling triple buffer unnecessarily on some drivers.
- some cmake compile fixes related to sequencer pthread usage
  and removed bad level calls lib for player.
- show outliner header buttons in oops mode as well until that
  can be switched in the UI.
- fix region data free issue for tooltips
- warning fixes
2009-01-23 20:36:47 +00:00
Ton Roosendaal
4531e8e6a7 2.5
File reading of 2.50 files fixed.
- it now exits nicely from queues without using free'd memory
  (checks CTX_wm_window(C) to be NULL)
- code that matched current (ghost) window with new situation
  lacked setting a pointer good.

Overall cleaned some parts too; like context clears now all
wm related pointers when you set a new wm, window or area.
2009-01-23 17:42:36 +00:00
Ton Roosendaal
66437a62a7 2.5
Font object + editing back.

Was quite some work due to a myriad of globals all over!
Works nicely 100% local now.

To enable a single textedit operator, I've added a new
keymap entry KM_TEXTEDIT, which gives all keyboard events
to the handler. Also had to add a new keymap-add function
to force a keymap handler in beginning of region handlers.
In future this can be used to prioritize handlers.

Also: split off the arrow keys (frame change) to a separate
region level handler. Can be set with default flag in
regiontype->keymapflag ED_KEYMAP_FRAMES
2009-01-23 14:43:25 +00:00
Campbell Barton
f4133b730c fix for eternal loop that could happen when resizing the view. 2009-01-23 14:08:02 +00:00
Michael Fox
87dd972773 2.5
*****
small commit, just added a couple missing notifiers to the timline buttons
2009-01-23 10:51:13 +00:00
Brecht Van Lommel
69310fb107 2.5: WM Compositing
* Triple Buffer is now more complete:
  - Proper handling of window resize, duplicate, etc.
  - It now uses 3x3 textures (or less) if the power of two sizes
    do not match well. That still has a worst case wast of 23.4%,
    but better than 300%.
  - It can also use the ARB/NV/EXT_texture_rectangle extension
    now, which may be supported on hardware that does not support
    ARB_texture_non_power_of_two.
  - Gesture, menu and brushe redraws now require no redraws at all
    from the area regions. So even on a high poly scene just moving
    the paint cursor or opening a menu should be fast.

* Testing can be done by setting the "Window Draw Method" in the
  User Preferences in the outliner. "Overlap" is still default,
  since "Triple Buffer" has not been tested on computers other than
  mine, would like to avoid crashing Blender on startup in case
  there is a common bug, but it's ready for testing now.

  - For reference "Full" draws the full window each time.
  - "Triple Buffer" should work for both swap copy and swap exchange
    systems, the latter still need the -E command line option for
    "Overlap".
  - Resizing and going fullscreen still gives flicker here but no
    more than "Full" drawing.

* Partial Redraw was added. ED_region_tag_redraw_partial takes a
  rect in window coordinates to define a subarea of the region.
  On region draw it will then set glScissor to a smaller area, and
  ar->drawrct will always be set to either the partial or full
  window rect. The latter can then be used for clipping in the 3D
  view or clipping interface drawing. Neither is implemented yet.
2009-01-23 03:52:52 +00:00
Joshua Leung
9872e5882c Animato: Added conversions for Camera data and Texture IPO's
Most of the settings have been converted, however, there are a few which are not easy to convert.

* For textures:
- tex->noisedepth  - undefined in RNA?
- tex->noisetype   - undefined in RNA?
- tex->stype       - undefined in RNA?
- tex->noise_basis2 - is noted in RNA as undefined... 

* For Cameras:
- "CAM_LENS" define was used for either 'ortho_scale', or 'lens' depending on camera type. This is currently difficult to ascertain using current code... I'll revisit this later
- cam->YF_aperature - undefined in RNA 
- cam->YF_dofdist - undefined in RNA
2009-01-23 03:41:05 +00:00
Shaul Kedem
b7f0add801 remove doubles op, ton: is this working properly? 2009-01-23 03:07:07 +00:00
Joshua Leung
6f24a2a559 Animato:
* Removed a few excessive debug prints
* Fixed crash on loading "Frankie" from BBB due to missing check for Driver without a target
2009-01-23 02:59:21 +00:00
Joshua Leung
2e7f3bb99c Animato Bugfixes:
* Fixed bug in with RNA-paths. String identifiers (i.e. some_collection["somekey"]) were not getting handled at all due to wrong indices it seems. I don't know of any other code using this, so hopefully there aren't any unintended bugs caused by this. 
This means that bone animation now works again.

* Added a few more sanity checks to file-reading code, and heaps of extra prints everywhere else for debugging purposes (these will be removed in due course).
2009-01-23 02:50:04 +00:00
Benoit Bolsee
8a95c67a50 BGE API cleanup: shape action actuator. 2009-01-22 17:40:47 +00:00
Campbell Barton
3e6a1bc60b New Operators, duplicate is shift+d, Add operators are accessible from the header.
SEQUENCER_OT_add_duplicate(mode=1) 	
SEQUENCER_OT_add_image_strip(name='', start_frame=0, channel=1, filename='', replace_sel=True) 	
SEQUENCER_OT_add_movie_strip(name='', start_frame=0, channel=1, filename='', replace_sel=True) 	
SEQUENCER_OT_add_sound_strip(name='', start_frame=0, channel=1, filename='', replace_sel=True)

Some of these use the file selector, Note that sound isn't working yet because editsound.c functions are not yet in 2.5 and Operators dont have a way to recieve an array of strings so SEQUENCER_OT_add_image_strip only adds 1 image at the moment.
2009-01-22 15:52:04 +00:00
Ton Roosendaal
d5f69e8552 2.5
- warning cleanup (wrong casts, unused vars, missing protos)
- removed old cruft from node_edit.c
- cleaned wm_jobs.c a bit
2009-01-22 15:46:35 +00:00
Ton Roosendaal
9cc59fb0c3 2.5
Added WM Jobs manager
- WM can manage threaded jobs for you; just provide a couple
  of components to get it work:
  - customdata, free callback for it
  - timer step, notifier code
  - start callback, update callback
- Once started, each job runs an own timer, and will for
  every time step check necessary updates, or close the
  job when ready. 
- No drawing happens in jobs, that's for notifiers!
- Every job stores an owner pointer, and based on this owner
  it will prevent multiple jobs to enter the stack. 
  Instead it will re-use a running job, signal it to stop
  and allow caller to re-initialize it even.
- Check new wm_jobs.c for more explanation. Jobs API is still
  under construction. 
  Fun: BLI_addtail(&wm->jobs, steve); :)

Put Node shader previews back using wmJobs
- Preview calculating is now fully threaded (1 thread still)
- Thanks to new event system + notifiers, you can see 
  previews update even while dragging sliders!
- Currently it only starts when you change a node setting.

Warning: the thread render shares Node data, so don't delete
nodes while it renders! This topic is on the todo to make safe.

Also:
- bug in region initialize (do_versions) showed channel list in
  node editor wrong.
- flagged the channel list 'hidden' now, it was really in the
  way! This is for later to work on anyway. 
- recoded Render API callbacks so it gets handlers passed on, 
  no globals to use anymore, remember?
- previewrender code gets now so much nicer! Will remove a lot
  of stuff from code soon.
2009-01-22 14:59:49 +00:00
Joshua Leung
a017982074 Animato - Basic version patching support
This is work-in-progress patching support for converting animation saved in old system to work in the new one. 

* Only IPOs/Actions directly attached to Objects + Shapekeys are converted for now. More types will follow...
* This is currently done as a step outside of do_versions() due to problems with various pointers not having been resolved yet, but which are necessary for correct resolution of issues such as drivers... However, the current code does illustrate how the data should be converted to give best results/compat between the two systems.
* Still need to get the converted data working with depsgraph correctly. Currently, some of my testfiles work, but the BBB files still don't.
2009-01-22 10:53:22 +00:00
Nicholas Bishop
3cdac8e9f7 * Fixed some crashiness with sculpt file loading
* Added undo push for toggling sculpt mode
* Little optimization for brush texture, was generating quite large textures unecessarily
2009-01-22 04:22:26 +00:00
Nicholas Bishop
d95ad1a445 Undo in sculpt mode works now. Also removed some unused old code in sculpt.c 2009-01-22 01:58:38 +00:00
Nicholas Bishop
faa871117f Brought back sculpt smooth brush. Also added a new brush flag for setting whether to use brush spacing. 2009-01-21 22:40:28 +00:00
Martin Poirier
c6715de1e9 misc bug fixes and display adjustments 2009-01-21 22:20:16 +00:00
Nicholas Bishop
e609d0cb25 Brought back rake mode for sculpt (turns the brush texture with the direction of the brush stroke.) 2009-01-21 21:17:32 +00:00
Nicholas Bishop
bf72c26c57 Brought back textures for sculpt mode. These are stored in Brush DNA now, as well as the three texture modes (drag/tile/3D). 2009-01-21 20:03:41 +00:00
Andrea Weikert
446ed90fd6 2.5 filebrowser
cleaned up selection code
new operators: 
- highlight file under cursor
- select all/nothing (AKEY)
- border select (BKEY)
changed selection to be invoked by LEFTMOUSE
2009-01-21 19:28:28 +00:00
Campbell Barton
b9682a7ec8 sequencer operators duplicate, delete, separate images. 2009-01-21 18:47:09 +00:00
Nicholas Bishop
b4bef32bd9 * Fixed a minor CMake error for WITH_YAFRAY option
* Removed two unused sculpt DNA fields
* Restored brush spacing option to sculpt
2009-01-21 18:44:36 +00:00
Benoit Bolsee
8bd7aa0a01 BGE API cleanup: action actuator. 2009-01-21 13:54:53 +00:00
Campbell Barton
e017235adc sequencer header buttons, not linked up to anything yet. 2009-01-21 12:39:56 +00:00
Campbell Barton
88e244ebb9 basic transform for sequencer strips
can transform the strips or move their handles
Still todo, click-drag transform, metastrips support, snapping, markers overlap checks and constrain to valid channels.
2009-01-21 07:01:20 +00:00
Joshua Leung
09357a91ce Animato - Quick bugfix
Added missing 'break;' 's skipped during the sprint towards the "first working prototype" stage. The temporary Insert Keyframe operator should now work correctly for rotation/scaling keys now by not adding extra keys.
2009-01-21 06:14:37 +00:00
Michael Fox
4cb1302ee2 2.5
*******

just a small commit, addeed a few more error, warning reports
2009-01-21 02:24:12 +00:00
Brecht Van Lommel
8d4a9081cc 2.5: WIP commit for WM compositing.
* Drawing code from wm_event_system.c split into separate wm_draw.c file.

Now there's 3 different draw methods implemented, not sure what survives
or will be added but is useful for debugging.

* Draw All: redraws everything each time, for reference.
* Draw Overlap All: what the code did before this commit, only draw
  regions marked for redraw, and anything that overlaps them.
* Triple Buffer: copies/retores all area regions into a texture, and
  blits that before drawing. Menus, brushes, gestures, etc are redrawn
  always on top of that.

Currently "Draw Overlap All" is set hardcoded to be used still. Triple
Buffer code is not complete, it doesn't handle window resize yet. Cards
that don't support non power of two textures can need quite large
textures as well, this could be split into multiple smaller ones.
2009-01-20 21:55:48 +00:00
Martin Poirier
5ddc9ed1da 2.5
cleanup image window apsect ratio correction mess (still disabled, this just cleans fonction call locations and name)
2009-01-20 20:44:36 +00:00
Martin Poirier
228c0c760f 2.5
EditMesh snap still had stubs instead of proper editmesh calls
Misc correction for 2D edit with NDOF (not testable without ndof support)
2009-01-20 19:58:05 +00:00
Martin Poirier
d9a0a477a4 2.5
Redraw at the end of transform even if not cancelled, to make sure all special transform draw doesn't stay on screen.
2009-01-20 19:18:22 +00:00
Ton Roosendaal
e5cf8cf052 2.5
Two bugfixes:
- area-full (ctrl+up) crashed on area-edge
- view3d view-icon and axes color wrong.
2009-01-20 19:03:26 +00:00
Ton Roosendaal
bd9e896e96 2.5
View3D four-split: added box-clip for the three ortho
windows. Is all on by default, waiting for headers and
buttons to come back.

Also: hotkey for foursplit now also removes it (toggle)

Also: window_to_3d() function only did delta's, 
renamed it to window_to_3d_delta  and coded a 
real window_to_3d()
2009-01-20 18:31:11 +00:00
Ton Roosendaal
81763d8cf0 2.5
Couldn't leave to finish this; four-split 3d view now
syncs the ortho views to a box-view. Brings back good
old Amiga Sculpt4D feeling! :) What's not done is to
use the box to clip away invisible stuff.

Note that it still allows to switch top-bottom, 
left-right or front-back. The 4th window is entirely
free.

Test: use shift+alt+ctrl+S. In due time will all go
the headermenu, configurable, of course.
2009-01-20 14:23:32 +00:00
Campbell Barton
b8df9948ab WIP, operators SEQUENCER_OT_add_color_strip and SEQUENCER_OT_add_scene_strip
but no menu to access them yet, for now can access them with R and Tkey
2009-01-20 14:19:39 +00:00
Campbell Barton
f03cf5122b needed this include path to build 2009-01-20 12:20:01 +00:00
Joshua Leung
822203e4cf Animato - More work on Action Editor
* Added back Auto Preview-Range tool (i.e. set preview-range from keyframe extents)

* Restored delete keyframe tool. For now, this doesn't delete empty F-Curves, even though its keyframe-api counterpart still does. I still need to figure out how to do this in the best way.

* Fixed crashes when selecting keyframes in 'object' summary channels

* Removed prototypes for a few unused/depreceated functions...
2009-01-20 11:56:45 +00:00
Campbell Barton
b5904f10a8 missing comma 2009-01-20 11:54:00 +00:00
Ton Roosendaal
e20e4a7afd 2.5
- Previewrender code back, commented out a lot of bad cruft,
  nothing works or is linked even!
- Added NC_GROUP notifier type, used in editgroup.c and 
  listened to in 3dview and outliner
2009-01-20 11:09:26 +00:00
Joshua Leung
8c479bc933 Animato - Restoring most of Action Editor
* Streamlined the filtering code to remove a few redundant options, which required tweaking the code for most tools 

* F-Curves are simply displayed using their full paths right now. This should eventually be the UI-string stored in RNA, but right now there are still a few missing things.

* There are a few tools which are not available yet which were available in 2.5 before Animato was added:
- Copy/Paste
- Rearrange channels

Also, the DopeSheet is not totally functional (in terms of displaying animation data for sub-object data yet). That will be added tomorrow.

* Added 'Action Group' pointer to F-Curves, as it will be handy for allowing Bone channels to still remain grouped as they were before with the Action Channels. However, reintroducing such a structure to the data-storage is not anticipated...
2009-01-20 11:07:42 +00:00
Michael Fox
42c8b6a684 2.5
******
small commit, just a few error reports
2009-01-20 11:03:53 +00:00
Michael Fox
5cf8612d4b 2.5
*****
- made Group operators more atomic, no menus, able to build on top of each other
	- add/remove selected from group will be done later
	- new notifier is needed, ton will code
	- Group Create adds the object to the new group, and a string can be passed to it toi make a custum named group from Py, etc
	-keymaps remains the same (ctrl-g, create group - alt-ctrl-g, remove object from all groups)

- Added 2 more operators , GROUP_OT_objects_remove_active (alt-shift-g) , GROUP_OT_objects_add_active (ctrl-shift-g)
	- adds/removes object from groups that are attached to the active object
2009-01-20 10:50:36 +00:00
Roland Hess
2fd331475f Wrapped constraint dna. There are a couple of things left to look at, all noted, but 99.5% of constraint uses are taken care of. 2009-01-20 03:55:30 +00:00
Michael Fox
989a7e5b20 2.5
******
- Ported , add selected to group (Ctrl-G), remove selected from group(Alt-Ctrl-G)
	- add selected now has a add new entry which will put the object into a new group
	- remove selected now has an ALL option which removes the object from all groups
	- remove code is currently very messy, this will have to do until a better solution arrises, menus return strings instead of numbers perhaps

- add/remove to/from group of active object still need to be done
2009-01-20 03:41:23 +00:00
Campbell Barton
999d9d146e Added back some functionality to the sequencer
- removed static vars _last_seq, last_imagename and last_sounddir, replacing them with with vars in the "Editing" struct. didnt manage to get the active sequence to load so currently thats lost when loading.
- removed flag SEQ_ACTIVE
- Added operators cut, mute, unmute, deselect_all, select_invert, select, select_more, select_less, select_pick_linked, select_linked and borderselect.
2009-01-19 21:42:18 +00:00
Ton Roosendaal
c3434c8d61 2.5
Bugfix for previous View3D split commit: on file read, the area-
spacetypes are not set yet, needs BKE_spacetype_from_id() there.
2009-01-19 18:50:35 +00:00
Shaul Kedem
33ab2636df subdivides are now grouped in a menu - WKEY 2009-01-19 18:36:54 +00:00