Commit Graph

189 Commits

Author SHA1 Message Date
f9be960690 Fix quicktime QtKit compile issue 2010-01-08 14:42:52 +00:00
a868e8623c - RNA support for returning copied strings from functions, flagging strings as PROP_THICK_WRAP does this.
- scene.render_data.frame_path(frame=num), returns the output path for rending images of video.
- scene.render_data.file_extension, readonly attribute, gives the extension ".jpg", ".mov" etc
- player support was guessing names, use the above functions to get the actual names used, accounting for #'s replacing numbers.
2010-01-08 13:52:38 +00:00
1f33d574c2 OS X Makefiles:
* added some new variables (mostly the same as with scons):
  - USE_COCOA: use Cocoa for ghost (defaults to true)
  - MACOSX_ARCHITECTURE: can be ppc, ppc64, i386, x86_64. By default this is the host architecture
    (ppc for PowerPC Macs, i386 for Intel Macs). In theory this allows to cross compile blender for
    a different architecture, though cross compilation only works on Intel Macs, because makesdna
    and makesrna are built for the target architecture.
    For a 64 bit build, set MACOSX_ARCHITECTURE to x86_64 (Intel) or ppc64 (PowerPC).
  - MACOSX_MIN_VERS: minimum OS X version to run blender on (10.4 for 32 bit builds, 10.5 for 64 bit    builds)
  - MACOSX_DEPLOYMENT_TARGET: needed by the linker to create an Application targeted for a specific
    OS version (defaults to 10.4 for 32 bit builds, 10.5 for 64 bit builds)
  - MACOSX_SDK: path to a specific SDK. currently not used 
  - USE_QTKIT: use QTKit instead of QuickTime (defaults to true for 64 bit builds, as using QTKit
    is mandatory in that case))
 * use the same compiler flags as scons
 * default compiler now is gcc-4.0 when building for 10.4 and gcc-4.2 when building for 10.5
 * extract $(LCGDIR)/release/python_$(MACOSX_ARCHITECTURE).zip to Application bundle. This might
   break building on 10.4, to fix that, rename $(LCGDIR)/release/python.zip 

When compiling blender, only MACOSX_ARCHITECTURE might be of interest, as it allows doing 64 bit
builds (or 32 bit PowerPC builds on Intel). All other variables are then set to reasonable defaults.
For current users of the Makefile system, this commit shouldn't change much.
2010-01-03 20:35:13 +00:00
489ff11f2b Fix compilation of carbon quicktime & complete use of report mechanism instead of standard printf 2009-12-23 11:49:07 +00:00
68bc4d7355 Attempt to fix compilation of quicktime after reporting changes
(can't build this file myself, only qtkit seems to work here).
2009-12-22 15:20:31 +00:00
d653192751 Reports: writing movies now uses the reports mechanism to throw errors.
Also fixes bug #19463: screencast to xvid ffmpeg crash.
2009-12-22 12:01:32 +00:00
5e6e3453a5 OS X: added support for building with Cocoa to Makefiles
to build with Cocoa support, set WITH_COCOA to true in user-def.mk
2009-12-21 10:38:04 +00:00
3b1c6d6065 Quicktime Carbon: Fix memory leak when build with cocoa 2009-12-03 12:16:00 +00:00
cbab6e57dc QTkit : update build checks to allow only 10.5+/64bit builds
Other SDK versions do not handle correctly QTKit movie creation in a background thread.
Carbon quicktime should be used for the 32bit builds (USE_QTKIT = 0)
2009-12-03 09:59:52 +00:00
a219c93cb0 Quicktime(Carbon/win32) : add operator to raise the "compression settings" quicktime standard dialog 2009-12-02 14:39:49 +00:00
03a9740c16 Quicktime : make dna codecType data store the quicktime codecType value instead of a proxy value
Quicktime codecType data is a 32 bit value (4 chars coded).

Implemented RNA set/get functions for codecType enum to cope with RNA enum values 24bit precision limitation
Implemented dynamic codecType enum list creation

Carbon quicktime now stores codec settings in "clear" in the QuicktimeCodecSettings dna struct (in addition to the closed atom container in QuicktimeCodecData) to be compatible with the QTKit version

+fixed some warnings
2009-12-02 11:23:11 +00:00
201f789cee qtkit : improve thread safety, enforce build on OSX 10.5+
qtkit movie creation functions can be started in a worker thread only from OSX 10.5
2009-11-28 18:16:27 +00:00
68eaae8e0e Quicktime-qtkit : encoding settings now in blender ui (encoding panel)
- added "QuicktimeCodecSettings" struct in DNA
- old "QuicktimeCodecData" opaque struct is  nowdeprecated (read only use when QuicktimeCodecSettings is not set)
- fixed small bug when importing deep color movies

Note that you may need Final Cut Pro installed to be able to use the DVCPRO HD codecs
2009-11-20 10:37:50 +00:00
5f6b9fd324 Quicktime-cocoa : fix file busy issue when rendering a second time with quicktime export 2009-11-18 19:35:03 +00:00
ec6f00c1bb SVN maintenance. 2009-11-18 18:45:38 +00:00
5a4045ad7d Quicktime (non cocoa) crash upon export temporary fix
Removed the pop up of the codec settings dialog box that was causing the crash, as it was called from the render thread (and not the main one).

So qt export settings are now blocked on default settings:
codec=jpeg, quality=max, bitrate=5MBps

Complete fix will be done by replacing this dialog box by "encoding" settings in the render panel.
2009-11-18 16:38:22 +00:00
a9e79d255d scons update to enable build with QTKit (Cocoa Quicktime)
Thx Jens Verwiebe for the patch
2009-11-18 15:54:25 +00:00
a57730875d Quicktime for Cocoa : export part
Following the quicktime import port, here is the movie export feature.

The codec selection remains to be implemented in the ui (render panel).
So the settings are now blocked on codec=jpeg, quality=max.
2009-11-18 15:01:59 +00:00
624cd67d55 Quicktime for Cocoa : import part
This makes quicktime import (.mov & quicktime handled image files such as .gif) available also for 64bit OSX

Unfortunately, Apple currently incomplete implementation of QTKit has much lower performance than old Carbon Quicktime.
FYI, it spawns a 32bit process "QTKitserver" to place calls to Quicktime 7.

So this is mostly meant as a "backup" for 64bit OSX builds, until Apple releases full Quicktime X.

Export part will come just after.

CMake scripts updated: set WITH_QUICKTIME and USE_QTKIT to ON
2009-11-18 09:49:42 +00:00
9c0cdd2501 - fix Cocoa window setOrder function to maintain focus on a blender window (e.g. ensure the blender window gets the focus when the user presses ESC to move back the render window)
- QuickTime export fixes.
Note that QuickTime export still crashes because it tries to open a "codec settings" dialog from the rendering background thread (and not the main/UI thread).
One quick fix may be to move the movie export initialization out of the render thread back into the operator function.
But a cleaner way would be to get rid of such a carbon/win32 dialog and place the codec settings inside blender interface
(additional fields in the output panel as it is currently the case for other file formats ?).
2009-11-09 17:06:48 +00:00
0a3694cd6e white space commit. (2 spaces -> tab).
Was annoying to use a different editor for cmake only.
theeth says this should be ok with gsoc and merges from branches.
2009-09-06 01:51:23 +00:00
Nathan Letwory
9216efcba2 == SCons ==
* bring back 'player' libtype, after investigation with ideasman.
  scons/mingw works nicely, for some reason msvc fails to link still, will look further into it.
2009-09-05 01:58:02 +00:00
d52400bfbd 2.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r18677:19317
Notes:
* Sequence transform strip uses G.scene global, this is commented
  out now, should be fixed.
* Etch-a-ton code was most difficult to merge. The files already in
  2.5 got merged, but no new files were added. Calls to these files
  are commented out with "XXX etch-a-ton". editarmature.c and
  transform_snap.c were complex to merge. Martin, please check?
* Game engine compiles and links again here for scons/make/cmake
  (player still fails to link).
2009-03-17 21:44:58 +00:00
e5a5399c33 [#17991] Anim rendered in BMP format won't play back
fix from Sebastian Kochman (raiq)  - [#18022]
2009-02-17 04:11:20 +00:00
Nathan Letwory
49631b6e40 2.5
- fix warnings for append_qt (missing param)
2009-01-04 19:16:13 +00:00
f7cb86df3a 2.5
Think global, act local!

The old favorite G.scene gone! Man... that took almost 2 days.
Also removed G.curscreen and G.edbo.

Not everything could get solved; here's some notes.
- modifiers now store current scene in ModifierData. This is not
  meant for permanent, but it can probably stick there until we
  cleaned the anim system and depsgraph to cope better with
  timing issues.
- Game engine G.scene should become an argument for staring it.
  Didn't solve this yet.
- Texture nodes should get scene cfra, but the current implementation
  is too tightly wrapped to do it easily.
2009-01-04 14:14:06 +00:00
Nathan Letwory
521fe6739a 2.5 / SCons
New priorities for most libs, at least core. This is still for Blender proper, BGE and such still to come.
2008-12-23 21:20:34 +00:00
bdfe7d89e2 Merge of trunk into blender 2.5:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r12987:17416

Issues:
* GHOST/X11 had conflicting changes. Some code was added in 2.5, which was
  later added in trunk also, but reverted partially, specifically revision
  16683. I have left out this reversion in the 2.5 branch since I think it is
  needed there.
  http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16683
* Scons had various conflicting changes, I decided to go with trunk version
  for everything except priorities and some library renaming.
* In creator.c, there were various fixes and fixes for fixes related to the -w
  -W and -p options. In 2.5 -w and -W is not coded yet, and -p is done
  differently. Since this is changed so much, and I don't think those fixes
  would be needed in 2.5, I've left them out.
* Also in creator.c: there was code for a python bugfix where the screen was not
  initialized when running with -P. The code that initializes the screen there
  I had to disable, that can't work in 2.5 anymore but left it commented as a
  reminder.

Further I had to disable some new function calls. using src/ and python/, as
was done already in this branch, disabled function calls:
* bpath.c: error reporting
* BME_conversions.c: editmesh conversion functions.
* SHD_dynamic: disabled almost completely, there is no python/.
* KX_PythonInit.cpp and Ketsji/ build files: Mathutils is not there, disabled.
* text.c: clipboard copy call.
* object.c: OB_SUPPORT_MATERIAL.
* DerivedMesh.c and subsurf_ccg, stipple_quarttone.

Still to be done:
* Go over files and functions that were moved to a different location but could
  still use changes that were done in trunk.
2008-11-12 21:16:53 +00:00
6c05a92fe1 missed out on some BLI_convertstringcode's, also found that playing relative quicktime paths from the python api never worked, was using the 'Scene' type cast to a char. 2008-05-04 15:02:48 +00:00
Chris Want
5d0a207ecb Patch from GSR that a) fixes a whole bunch of GPL/BL license
blocks that were previously missed; and b) greatly increase my
ohloh stats!
2008-04-16 22:40:48 +00:00
ff77d00544 Fix for bug #5862: crash rendering to quicktime h.264. This would need
an upgrade to the new quicktime api to work, but that's not really
compatible with rendering out frames sequentially. For now it sets the
compression to minimum quality, which doesn't need seeking forward and
backwards.
2008-04-12 13:49:00 +00:00
db15615b5b == Quicktime ==
Hopefully fixes:
[#8518] 2.46RC1: Blender doesn't render animation correctly with Quicktime and 30/1.001

FPS was off by a factor of 10 in export...
2008-03-12 22:01:57 +00:00
Nathan Letwory
15da2232f7 * tweak linking priorities - should help for GCC users
* some lib renaming
2008-01-08 09:47:44 +00:00
Chris Want
5e3cffc64a Patch to change license to GPL only, from GSR. 2008-01-07 19:13:47 +00:00
372ee054c0 Some notes for those who try to follow this :)
- first work on getting area/screen handling back
- added structure for where to put stuff, is still under
  review, wait a bit for docs?

Campbell is working on removing every bad level include from
sources, so we can safely rebuild the src/ directory.
2008-01-01 18:29:19 +00:00
Nathan Letwory
63d2208319 * fix include path (found by jensverwiebe) 2007-12-31 10:18:26 +00:00
463cf8e332 Part 4 of the event refactor branch: all changes in existing files,
Makefiles especially, and of course the windowmanager DNA!
2007-12-24 18:53:37 +00:00
a0390e5cc3 == Core ==
This adds fractional FPS support to blender and should finally
make NTSC work correctly.

NTSC has an FPS of 30.0/1.001 which is approximately 29.97 FPS.
Therefore, it is not enough to simply make frs_sec a float, since
you can't represent this accurately enough. 
I added a seperate variable frs_sec_base and FPS is now 
frs_sec / frs_sec_base.

I changed all the places, where frs_sec was used to my best knowledge.

For convenience sake, I added several macros, that should make life
easier in the future:

FRA2TIME(a) : convert frame number to a double precision time in seconds
TIME2FRA(a) : the same in the opposite direction
FPS         : return current FPS as a double precision number 
              (last resort)

This closes bug #6715 
Standard framerates not supported / breaks sync -- 23.967 29.967 etc.

https://projects.blender.org/tracker/?func=detail&aid=6715&group_id=9&atid=125

Please give this heavy testing with NTSC files, quicktime in/export
and the python interface.
Errors are most probably only spotted on longer timelines, so that is
also important.

The patch was tested by Troy Sobotka and me, so it most probably should
work out of the box, but wider testing is important, since errors are
very subtle.

Enjoy!
2007-10-21 15:42:08 +00:00
356ab94373 == imagebrowser ==
Initial commit of imagebrowser in trunk.
BIG COMMIT!

Main changes:
* completely reworked imasel space
* creation and storage of the preview images for materials, textures, world and lamp
* thumbnails of images and movie files when browsing in the file system
* loading previews from external .blend when linking or appending
* thumbnail caching according to the Thumbnail Managing Standard: http://jens.triq.net/thumbnail-spec/
* for now just kept imasel access mostly as old imgbrowser (CTRL+F4, CTRL+F1) a bit hidden still.
* filtering of file types (images, movies, .blend, py,...)
* preliminary managing of bookmarks ('B' button to add, XKEY while bookmark active to delete)

More detailed info which will be updated here: http://wiki.blender.org/index.php/User:Elubie/PreviewImageBrowser

Places that need special review (and probably fixes):
* BLO_blendhandle_get_previews in readblenentry
* readfile.c: do_version and refactorings of do_library_append
* UI integration

TODO and known issues still:
* Accented characters do not display correctly with international fonts
* Crash was reported when browsing in directory with movie files
* Bookmark management still needs some UI work (second scrollbar?), feedback here is welcome!

Credits:
Samir Bharadwaj (samirbharadwaj@yahoo.com) for the icon images.

Many thanks to everyone who gave feedback and helped so far!
2007-09-02 17:25:03 +00:00
24f4440d05 CMake lists initial submission. Documentationand further verification for different platforms will follow soon. This was just tested against current CVS on MSVC 2005 with Verse, QuickTime, OpenEXR, Player all on. 2006-11-17 02:27:12 +00:00
dba6769b2e bugfix #4812
Quicktime reading for Macs: code that converted ARGB to RGBA was endian
sensitive. Didn't work for Mac intel systems.
2006-08-28 09:30:33 +00:00
7ab9e8d491 fix case on a header. (seems odd that it wasn't caught before but
is consitant with rest of file, so I feel pretty safe commiting it.

Kent
2006-08-17 23:52:58 +00:00
c56f04cb5f Fixes I did before leaving to siggraph, couldn't commit it due to freeze:
- buffer overflow was possible with providing a file path argument longer
  than 256 characters.
- buttons "VCol Light" and "VCol Paint" were not mutual exclusive
- quicktime error menu (unable to create) had a enter in end
- deleting points in CurveMapping button (like Curves node in compositor)
  did not give proper recalc event
- edges render menu had a tooltip still mentioning the unified render
2006-08-09 10:00:27 +00:00
a4c110f8eb Two more quicktime changes for compiling after OSX software update 2006-04-05 15:31:21 +00:00
666120ad9a Another #define __CARBONSOUND__ needed because of wacko Quicktime decision
to leave carbon framework in bad state.
2006-04-05 12:03:43 +00:00
Nathan Letwory
57c5db681e ==SCons==
* 'scons blenderplayer' links the blenderplayer now correctly also on win32-vc.
  If the OS X-folks can verify the linking of the blenderplayer too, we'd have
  much of the needed work done.
2006-02-07 22:24:41 +00:00
Nathan Letwory
3bb82a27fc == SCons ==
* This commit is all of the rewrite work done on the SCons system. For
  documentation see doc/blender-scons.txt and doc/blender-scons-dev.txt.
  Also http://mediawiki.blender.org/index.php/BlenderDev/SconsRefactoring
  contains valuable information, along with what still needs to be done.

    - linux, os x and windows compile now.
    - files are compiled to BF_INSTALLDIR (see config/(platform)-config.py)
        - NOTE: Jean-Luc P will commit sometime during the weekend proper
          appit() for OS X. For now, copy the resulting binary to an
          existing .app bundle.
    - features:
        - cleaner structure for better maintenance
        - cleaner output during compile
        - better handling of build options
        - general overall speed increase
        - see the wiki for more info

  Cygwin, FreeBSD and Solaris systems still need work. For these systems:
    1) copy a config/(platform)-config.py to ie. config/cygwin-config.py
    2) set the proper defaults for your platform
    3) mail me at jesterking at letwory dot net with you configuration. if
       you need any modifications to the system, do send a patch, too.

  I'll be giving first-aid today and tomorrow, after that it'll be all
  regular development work :)

  /Nathan
2006-02-04 14:15:10 +00:00
042d612df2 Giant commit!
A full detailed description of this will be done later... is several days
of work. Here's a summary:

Render:
- Full cleanup of render code, removing *all* globals and bad level calls
  all over blender. Render module is now not called abusive anymore
- API-fied calls to rendering
- Full recode of internal render pipeline. Is now rendering tiles by
  default, prepared for much smarter 'bucket' render later.
- Each thread now can render a full part
- Renders were tested with 4 threads, goes fine, apart from some lookup
  tables in softshadow and AO still
- Rendering is prepared to do multiple layers and passes
- No single 32 bits trick in render code anymore, all 100% floats now.

Writing images/movies
- moved writing images to blender kernel (bye bye 'schrijfplaatje'!)
- made a new Movie handle system, also in kernel. This will enable much
  easier use of movies in Blender

PreviewRender:
- Using new render API, previewrender (in buttons) now uses regular render
  code to generate images.
- new datafile 'preview.blend.c' has the preview scenes in it
- previews get rendered in exact displayed size (1 pixel = 1 pixel)

3D Preview render
- new; press Pkey in 3d window, for a panel that continuously renders
  (pkey is for games, i know... but we dont do that in orange now!)
- this render works nearly identical to buttons-preview render, so it stops
  rendering on any event (mouse, keyboard, etc)
- on moving/scaling the panel, the render code doesn't recreate all geometry
- same for shifting/panning view
- all other operations (now) regenerate the full render database still.
- this is WIP... but big fun, especially for simple scenes!

Compositor
- Using same node system as now in use for shaders, you can composit images
- works pretty straightforward... needs much more options/tools and integration
  with rendering still
- is not threaded yet, nor is so smart to only recalculate changes... will be
  done soon!
- the "Render Result" node will get all layers/passes as output sockets
- The "Output" node renders to a builtin image, which you can view in the Image
  window. (yes, output nodes to render-result, and to files, is on the list!)

The Bad News
- "Unified Render" is removed. It might come back in some stage, but this
  system should be built from scratch. I can't really understand this code...
  I expect it is not much needed, especially with advanced layer/passes
  control
- Panorama render, Field render, Motion blur, is not coded yet... (I had to
  recode every single feature in render, so...!)
- Lens Flare is also not back... needs total revision, might become composit
  effect though (using zbuffer for visibility)
- Part render is gone! (well, thats obvious, its default now).
- The render window is only restored with limited functionality... I am going
  to check first the option to render to a Image window, so Blender can become
  a true single-window application. :)
  For example, the 'Spare render buffer' (jkey) doesnt work.
- Render with border, now default creates a smaller image
- No zbuffers are written yet... on the todo!
- Scons files and MSVC will need work to get compiling again

OK... thats what I can quickly recall. Now go compiling!
2006-01-23 22:05:47 +00:00
b12f801681 updates to the OS X build system :
- XCode project
- Scons :
    scons stopped working for Os X in the last month (dont know when) :

     * the '.' and '..' keywords in CCPPATH
          are not recognized anymore for sconscripts compiling files at
          a sub level
     * when doing a scons clean, the 3 subdirs in build dir are removed
      and scons then fail to recreate them (exten, intern, source)

this commit solve the first problem as a temp workaround
for the latter simply recreate the dirs manually

I will investigate that further when on vacations,  which i should already
 be.
 ;(

all 3 build systems are now working on Os X
2005-08-04 16:05:28 +00:00
205b6501a0 (Accidentally sent previous commit without message... is same stuff)
gcc4 error fixes for compiling in OSX Tiger

Also; make using python framework default in makefiles
2005-06-08 18:55:49 +00:00