Commit Graph

925 Commits

Author SHA1 Message Date
Brecht Van Lommel
50de143ca3 Fix #20558: open file with new window setup corrupts text and icons in the UI.
On X11, the opengl context was destroyed when closing a window. This lead to
the text and icon textures being lost (among other things), now the opengl
context is kept like on Win/Mac.
2010-01-04 16:26:03 +00:00
Stefan Gartner
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
Joerg Mueller
637873deb0 Added another three effects that you can use with the Sound to F-Curve modifier, have fun! 2010-01-01 18:45:21 +00:00
Damien Plisson
4ab4d2dd20 Fix some build warnings 2010-01-01 15:48:14 +00:00
Joerg Mueller
c58f2dfc9d Another fix for the new year's commit, fixing the linear resampler (and such the error that I though was in the envelope!). 2010-01-01 14:18:43 +00:00
Joerg Mueller
0b673d45e5 Small fixes for some float literals. 2010-01-01 11:55:56 +00:00
Joerg Mueller
dff4c87f84 Fix for plattforms that don't have M_PI in the cmath include. 2010-01-01 11:40:48 +00:00
Joerg Mueller
174eccf078 Huge new year audio commit!
* 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.
2010-01-01 05:09:30 +00:00
Stefan Gartner
eaa653b759 Makefiles: fix audaspace include paths 2009-12-29 09:56:11 +00:00
Guillermo S. Romero
42154ad226 Add audaspace/fftw to Makefile system. 2009-12-28 23:40:20 +00:00
Benoit Bolsee
8c6ac076ed Update MSVC project files 2009-12-28 22:16:13 +00:00
Joerg Mueller
ed4029d07a Sound:
* Fixed minor errors in AUD_BufferReader.cpp and AUD_LoopFactory.h
* Added a first version of a bandpass filter using fftw3
2009-12-28 10:15:35 +00:00
Guillermo S. Romero
4b8bc301c6 SVN maintenance. 2009-12-24 21:15:27 +00:00
Joerg Mueller
1d224ad692 Added rectifying sound effect (will be used for sound -> f-curve later). 2009-12-24 14:58:11 +00:00
Kent Mein
c7a471c8c6 This fixes the following coverity issues: 163 162 161
Basically the function wasn't freeing memory it used before
returning.

Kent
2009-12-22 22:03:57 +00:00
Stefan Gartner
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
Damien Plisson
c836b0ae18 Cocoa : add confirmation request before opening a .blend file (dropped on Blender icon or dbl-clicked in Finder) 2009-12-18 13:13:14 +00:00
Damien Plisson
f09d2e6bc1 Cocoa : fix Dropped on application event was not sent 2009-12-18 09:50:14 +00:00
Kent Mein
fcaad00bda Some fixes to get blender compiling on solaris.
Kent
2009-12-17 17:42:26 +00:00
Damien Plisson
1975ee5eec OSX vs OpenMP : implement workaround to fix crashes when using mop from a background thread
Fix# 20043 & 20392

The issue is that OSX lib does not implement TLS (Thread Local Storage), so  libgomp uses pthread functions to read/write thread specific vars.
But this implementation is currently (gcc 4.2) buggy : the write function is called only at lib start (in main thread), and the var is undefined for background thread.

The workaround is to perform this gomp_tls_key var write at beginning of background threads that use openMP. (Currently: render & fluidsim)
2009-12-17 17:05:28 +00:00
Damien Plisson
b6bf852670 Reenable disabled window switching shortcuts in 10.4 builds 2009-12-12 08:45:16 +00:00
Damien Plisson
5132b6a173 OSX: Disable parallel openMP for elbeem library until a proper fix is found (currently makes fluid sim crash) (Bug# 20043)
Thx Jens Verwiebe for the investigation!
2009-12-08 09:58:42 +00:00
Martin Poirier
bca53f0906 [#20266] Blender starting without X11 segfaults
Abort when ghost x11 cannot initialize a display.

It would just crash later anyway, better to abort with a reasonable error message.
2009-12-05 20:06:19 +00:00
Benoit Bolsee
6bfb3cf6ef Update MSVC9 project files 2009-12-04 10:37:24 +00:00
Matt Ebb
a657920fba Fix for [#20229] Booleans crash on edge case. 2009-12-04 00:54:40 +00:00
Damien Plisson
3b1c6d6065 Quicktime Carbon: Fix memory leak when build with cocoa 2009-12-03 12:16:00 +00:00
Damien Plisson
863668a145 Cocoa: suppress unwanted beep when pressing Cmd + key on 10.4 2009-12-02 15:02:29 +00:00
Damien Plisson
dd90ffd47b Cocoa: remove errors for all supported SDK/CPU configs 2009-12-02 13:05:31 +00:00
Damien Plisson
39f42df424 CMake: remove new GHOST_DropTargetWin32.cpp file from non-win32 platforms builds 2009-12-02 10:21:10 +00:00
Damien Plisson
0efaf10b7a Cocoa: fix delaying issue for events that were fired outside the processEvents function
An example of a visible issue was a delayed wm resize when switching to/from fullscreen mode
2009-12-02 10:10:20 +00:00
Guillermo S. Romero
4913f415cc SVN maintenance. 2009-12-02 01:23:29 +00:00
Nathan Letwory
372bfeb0c5 * make sure we don't choke on what we don't have :° 2009-12-02 01:12:22 +00:00
Nathan Letwory
8847615116 * make sure drop target files are filtered too. 2009-12-02 01:05:37 +00:00
Nathan Letwory
5a3791ab5b Apply patch [#20145] Ghost Win32 roundup patch: Minimum Window Size, Continuous Grab and Drag And Drop
This nice patch by Matt D. (matd in #blendercoders) adds three nice features that can be seen already in the other supported OSes:

* minimum window size: to prevent some bugs with the window manager of Blender, system windows cannot be resized smaller than the minimum size.

* Continuous Grab is finally in Windows! Default settings since alpha 0 already have the feature enabled by default, so grab a new build and enjoy :)

* GHOST support for drag and drop added. This prepares Blender for drag and drop from OS -> Blender. Currently not very useful, since wm needs to be readied for that. But it does work (do BF_GHOST_DEBUG=1 build and drag a file onto a Blender window).

Thanks Matt D.!
2009-12-02 00:57:12 +00:00
Damien Plisson
d7877d360a Cocoa: proper implementation of the modifiers key wrong value when application becomes active again
Note: this works fine when running under 10.6, even if compiled with an older sdk
Under 10.4/10.5, workaround remains to assume no modifier key is pressed when the user restores the focus to the application
2009-12-01 15:46:37 +00:00
Damien Plisson
eb24e788b8 Cocoa: implement Cmd+W to close window, workaround for wrong modifiers key status upon focus retrieval
The carbon GetModifierFlag function (to get the current modifier keys status) is reimplemented in cocoa only from 10.6.
So we need to use a workaround to get the correct modifiers when blender application gets focus back. Current one is to assume no modifiers.
This at least fixes the issue when blender has been hidden using Cmd+H. The Cmd modifier was still seen as ON until the user pressed again on it.
2009-12-01 10:23:27 +00:00
Martin Poirier
eee8bf344a Cursor Grab bugfix: passing NULL for bounds didn't initialize properly.
Symptom: first button drag gets stuck on values.

Cause: Buttons didn't set grab bounds, to use the whole window. But Ghost didn't do anything in that case, it left the bounds value as is. It only affected the first cursor grab, because cursor ungrab sets it to -1, which forces it to use the whole window size (checking every mouse move) for subsequent grabs.

Solution: When NULL, init bounds to window size (and don't query every mouse move).
2009-11-26 02:58:53 +00:00
Martin Poirier
1aebd524a2 Fix for continuous grab on X11.
Need to stop accumulating warp coordinates after the first cursor warp (store time of new generated event and skip warp for events time smaller).

There's some interesting X11 code in there, if people are curious.
2009-11-24 19:47:57 +00:00
Damien Plisson
78ce1fb6ca compile fix when compiling with WAIT_FOR_VSYNC = 1 (btw, is this still used ?) 2009-11-24 10:19:07 +00:00
Andrea Weikert
8fdaa263c0 MSVC 9 projectfiles
* Added GLEW_STATIC where necessary to make Blender compile again
* First attempt at compiling blenderplayer again - compiles, but doesn't link yet 
* removed deprecated SND_ functions from blenderplayer
2009-11-22 13:15:36 +00:00
Damien Plisson
169b0cbee9 Drag'n'drop : moved "setAcceptDragOperation" functions at window level
GHOST/Cocoa : changed strings encoding to isoLatin1 (was UTF-8)
2009-11-19 08:56:26 +00:00
Damien Plisson
45e38635a4 Drag'n'drop : add freeing of dropped resources upon event object release 2009-11-17 08:27:11 +00:00
Damien Plisson
698086dfb1 MAC/Cocoa:
- Drag'n'Drop events are now correctly signaled to the main loop for dispatch (these events were directly handled in cocoa callbacks without notifying the process loop)
- Fix timestamping of events & add debug print of drag'n'drop events.
2009-11-15 08:34:31 +00:00
Damien Plisson
aac16ce4ec - scons fix for 10.4 build (use the 10.4 libs dir)
- warning fix in ghost/cocoa
2009-11-14 13:01:14 +00:00
Benoit Bolsee
2646558079 Update MSVC project files 2009-11-13 13:06:26 +00:00
Martin Poirier
f7d7149936 Debug tools: new function MEM_testN(void*)
returns 0 if pointer is not in memlist
2009-11-11 03:45:26 +00:00
Martin Poirier
21385eb4ec New function:
void MEM_callbackmemlist(void (*func)(void*));

Will call the function passed as argument with all allocated address as parameter. Useful for debuging.
2009-11-10 21:33:53 +00:00
Guillermo S. Romero
320fb05ebc SVN maintenance. 2009-11-10 19:22:10 +00:00
Damien Plisson
af2e6c38e9 Drag & drop implementation at GHOST level (only OSX for now)
The dragging sequence is performed in four phases:
 
- Start sequence (GHOST_kEventDraggingEntered) that tells a drag'n'drop operation has started. Already gives the object data type, and the entering mouse location

- Update mouse position (GHOST_kEventDraggingUpdated) sent upon each mouse move until the drag'n'drop operation stops, to give the updated mouse position.
Useful to highlight a potential destination, and update the status (through GHOST_setAcceptDragOperation) telling if the object can be dropped at the current cursor position.

- Abort drag'n'drop sequence (GHOST_kEventDraggingExited) sent when the user moved the mouse outside the window.

- Send the dropped data (GHOST_kEventDraggingDropDone)

- Outside of the normal sequence, dropped data can be sent (GHOST_kEventDraggingDropOnIcon). This can happen when the user drops an object on the application icon. (Also used in OSX to pass the filename of the document the user doubled-clicked in the finder)

Note that the event handler is responsible for freeing the received data.
And the mouse position is sent directly in blender client coordinates (y=0 at bottom)

The GHOST_setAcceptDragOperation(TRUE) call must be placed before the user drops the object for it to be accepted.

Current handled data types :
- Text string
- Array of filenames (full paths)
- Bitmap image (not implemented yet)
2009-11-10 12:56:46 +00:00
Guillermo S. Romero
3e2766bc2e Add FFTW3 support to Makefiles, make OpenJpeg use OS lib for Linux.
And handful of whitespace clean ups.
2009-11-09 20:08:19 +00:00