[Bf-committers] Help needed! Animation problems for 3D Audio GSoC

2011-07-17 Thread neXyon
Hi guys!

There's a serious problem with the way how animation works in regard to 
audio. The main problem is, that the animation system pushes the output, 
so it sets the data, renders a frame, advances to next frame (setting 
the data there) and renders again and so on, this works pretty good for 
video. But it doesn't work with audio, especially as audio has a very 
high temporal resolution (48000 eg. samples per second) compared to 
video (eg 25 frames per second) and moreover for audio the output device 
pulls the data, instead of the animation system pushing it, so the other 
way round.

I talked to Martin (Poirier) and Joshua (Leung) and even we three 
together cannot think up a nice solution for the problem, maybe some 
genious mind here on the list who is more into the animation code than I 
am has a really nice idea.

Here are specific problems in detail:

* Subsample Accuracy: To avoid stair steps as we currently have in 
volume animation.
* Multi Threading: Audio runs in a separate thread.
* Speed: The access mechanism has to be realtime capable!
* Asynchronous access: Audio playback is ahead of video playback 
normally (buffering the samples, feeding them to the output device).

The first point can be solved easily with a proper interpolation if you 
have two nearby samples, one in the past, one in the future, so this 
basically requires the animation data to be cached/buffered somehow or 
at least asynchronous accessible. As the cached data also solves points 
3 and 4 it's pretty obvious that we need the data cached, we had that 
conclusion already.

Questionable is now how to get the cache? One obvious solution is to 
require the user to bake it, but this heavily impacts how easy the 
system can be used and as we also already concluded this is a really 
ugly solution. Better is the automatic caching which leads us to the 
problem point 2 multi threading. I don't know if it's possible to cache 
in the main thread? I bet not. And as long as blenders (animation) data 
isn't accessible multithreaded we still have no solution for the problem.

So now your help is needed. Any ideas? If not I'll have to do the baking 
solution to finish the project.

Regards

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Is alpha within Blender totally broken?

2011-07-17 Thread Reuben Martin
On Saturday, July 16, 2011 02:37:57 PM Troy Sobotka wrote:
 So far, I've been experimenting with several files and uptake tools
 using Blender in conjunction with Nuke. I have yet to be able to find
 a pattern that delivers proper alpha channels.Perhaps someone here can
 shed some light on the matter.

I can't speak for Nuke, but if blender has a bug concerning alpha channels when 
rendering, then it also has the same bug in the compositer, because I've never 
had issues keying anything.

The first two images look like what happens when trying to key a pre-multiplied 
image with a white background that isn't properly removing the matte. The 
second two look like trying to 
key with the matte being removed, but not useing linear color space blending in 
the compositing. But I don't know what your actual settings are.

Straight-keyed Alpha, CM on, rendered to Half-Exr, Composited with CM on. (in 
blender) http://img692.imageshack.us/img692/779/compositescreencap.png

-Reuben
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Windows 2000 build please.

2011-07-17 Thread Michael Judd
On 17/07/11 09:38, Stephen Swaney wrote:
 On Sun, Jul 17, 2011 at 01:05:59AM +0200, Mathias Panzenböck wrote:

 On 07/17/2011 12:43 AM, Michael Fox wrote:
 You Couldn't be furthur from the truth, comparing win2k and XP is like
 comparing apples and oranges, they are vastly different internally,
 win2k is 16bit OS winXP in 32Bit, with different calls to different
 systems, may seem the same on the surface but underneith where we work,
 is 2 different worlds. Hence support for win2k was dropped

 Are you sure you don't confuse Win2k with Win9x/Me? After all Win2k is NT 
 based and the direct
 predecessor of XP. (2k = Win NT 5.0, XP = Win NT 5.1)
 You might want to read what Mike Erwin said earlier in the thread:

The current keyboard code (by jesterking I think) and upcoming 3D
mouse support (by me) both rely on the Windows RawInput API, which
only works on XP or newer. Far as I know, that is the only hard
technical reason blocking a Win2000 build.

 That sounds like a bit of a show stopper.

I'm pretty sure the Linux version doesn't rely on the Windows RawInput API.
Speaking of which, I'm just trying to work out why anyone would be 
running Windows 2K rather than Linux. Has someone implemented a 
distributed Blender rendering engine that runs on botnets? There's a 
good reason right there to maintain the W2K build.


-- 
Michael Judd
853 New Cleveland Rd
Gumdale, Qld 4154

Email: m...@juddrobotics.com
Phone: +61 (0)7 32452864

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Windows 2000 build please.

2011-07-17 Thread Campbell Barton
On Sun, Jul 17, 2011 at 10:35 AM, Michael Judd m...@juddrobotics.com wrote:
 On 17/07/11 09:38, Stephen Swaney wrote:
 On Sun, Jul 17, 2011 at 01:05:59AM +0200, Mathias Panzenböck wrote:

 On 07/17/2011 12:43 AM, Michael Fox wrote:
 You Couldn't be furthur from the truth, comparing win2k and XP is like
 comparing apples and oranges, they are vastly different internally,
 win2k is 16bit OS winXP in 32Bit, with different calls to different
 systems, may seem the same on the surface but underneith where we work,
 is 2 different worlds. Hence support for win2k was dropped

 Are you sure you don't confuse Win2k with Win9x/Me? After all Win2k is NT 
 based and the direct
 predecessor of XP. (2k = Win NT 5.0, XP = Win NT 5.1)
 You might want to read what Mike Erwin said earlier in the thread:

    The current keyboard code (by jesterking I think) and upcoming 3D
    mouse support (by me) both rely on the Windows RawInput API, which
    only works on XP or newer. Far as I know, that is the only hard
    technical reason blocking a Win2000 build.

 That sounds like a bit of a show stopper.

 I'm pretty sure the Linux version doesn't rely on the Windows RawInput API.
 Speaking of which, I'm just trying to work out why anyone would be
 running Windows 2K rather than Linux. Has someone implemented a
 distributed Blender rendering engine that runs on botnets? There's a
 good reason right there to maintain the W2K build.

Recently I got blender's GHOST building with SDL, this means theres no
direct dependencies on the windowing system X11/GDI/Cocoa etc...
though I only tested on linux.

so it may be possible to make a windows/sdl build which doesn't have
this limitation.
In cmakes advanced options enable WITH_GHOST_SDL.
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Scene Linear Middle Grey Assumptions

2011-07-17 Thread Matt Ebb
On Sun, Jul 17, 2011 at 3:00 AM, Troy Sobotka troy.sobo...@gmail.comwrote:

 Can anyone cite where Blender's internal representation of middle grey
 is? Has one been defined?

 It would seem that for ingestion and output, the reference model would
 be wise to locate one. For example, within Open Color IO, the
 reference compositing space appears to select a value that aligns with
 the optical middle grey value of 0.18[1]


'middle grey' is not a photometric quantity and can't really be defined
precisely. It's also important to note that it's not an absolute value
either, it's more of a proportion defined as being between black and a
'properly exposed white diffuse reflector'

The definition they're using in OCIO seems fine, and it's perfectly easy to
just say we can adopt that definition for blender.

That doesn't mean though that anything that's a value of 0.18 must look
'middle grey' on your screen - what you actually see on your screen is
entirely dependent on whatever profile/gamma function is being used to
convert that from linear to display. 0.18 after converting from linear to
sRGB gamma is roughly 0.5, which in an ideal world should give you a
halfway-grey appearance, but that can differ with different profiles,
monitor calibrations, etc of course.


Matt
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Fwd: knifeless.blend animation

2011-07-17 Thread Bastien Montagne
Hi all :)

I’ve started working a bit on knife tool last days (reading code, 
playing a bit with it…), so here’s now my proposition about that tool:

*Current state*
Right now, you start it by hitting K and drawing (while K still pressed) 
a lasso gesture (modal part). When lasso is validated, knife cut is done 
(and modal part is finished).

So basically, it works nice and smooth – there are just:
— Some UI tweaks to be done in its panel (to hide “internal” properties 
like cursor or gesture curve, really easy to do).
— Corner-cut pattern to re-enable (works fine for me, so again this is 
not a problem).

*How it should work IMHO*
I’d like to have knife behaving somewhat like transform tools, i.e. hit 
K enters modal, then you can switch options through a modal keymap, if 
you need it, and then draw your cut (either lasso with LMB, or 
straightline with MMB), and cut is done on gesture validating, like 
currently.

IMHO, this would increase usability of the tool (esp. when you have many 
cuts to do, if the default settings are not good for you, having to use 
the UI to set them each time after the cut is painful).

I’ve been playing with this idea, but I have problems, in that gestures 
are designed as “whole” modal funcs (they add a modal handler, have 
their own keymap [well, lasso/lines have none, btw], etc.). And it seems 
quite difficult to have a modal over (or inside) another modal… So I 
guess I’d have to find a way to have gestures without their “modal” part 
of code…

In fact, if we want to have back things like snap to vertices, I might 
as well handle the whole gesture stuff inside knife cut code – which 
means  I’d need acces to some lower-level gesture funcs…

Anyway, I’d like to have your feelings about that proposed workflow 
first! :D

Bastien

Bastien Montagne montagne29 at wanadoo.fr Thu Jul 14 15:35:51 CEST 2011
wrote:

 Ahahah ! Excellent ! Ok, I gonna see what I can do (it doesn’t seem
 so hard, at first glance)… :)

 Ton Roosendaal ton at blender.org Thu Jul 14 13:59:59 CEST 2011
 wrote:

 Hi all,

 http://www.youtube.com/watch?v=YS-ZauEIk_w

 Isn't that a great way to make a feature request? :) Both are old
 todo items already. Would be cool to get someone insipred to solve
 it!

 Laters,

 -Ton-


 Ton Roosendaal  Blender Foundationton at blender.org  www.blender.org
 Blender Institute   Entrepotdok 57A  1018AD Amsterdam   The
 Netherlands

 Begin forwarded message:

 From: Paweł Kowal Date: 14 July, 2011 13:49:01 GMT+02:00 To:ton
 at blender.org
 Subject: knifeless.blend animation

 Hi Ton

 I've made an animation for you and Blender developers. So in
 exchange you can give us old knife and bevel back. :)

 Animation:http://www.youtube.com/watch?v=YS-ZauEIk_w

 Thanks for your work and our favourite software. Pawel


___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Is alpha within Blender totally broken?

2011-07-17 Thread Mats Holmberg
You are on the right tracks, Troy. The alpha issue is something we've been 
pondering about at Studio Lumikuu also. If you composite within Blender there 
really are no issues, but, in my case, using After Effects gives very weird 
results.

I've always used premultiplied png -files before, as nothing else ever seemed 
to work, but from feedback I understood that this is plain wrong (the results 
were fine though, which tells me that Blender does it wrong). Anyways, I'm not 
able to look into this at the moment and produce any examples - I could check 
and report my results tomorrow. But just to let you know, I agree completely 
that there is something _seriously_ wrong about how Blender handles alpha 
channels.

Cheers,
-mats

On 17.7.2011, at 6.06, Reuben Martin wrote:

 On Saturday, July 16, 2011 02:37:57 PM Troy Sobotka wrote:
 So far, I've been experimenting with several files and uptake tools
 using Blender in conjunction with Nuke. I have yet to be able to find
 a pattern that delivers proper alpha channels.Perhaps someone here can
 shed some light on the matter.
 
 I can't speak for Nuke, but if blender has a bug concerning alpha channels 
 when rendering, then it also has the same bug in the compositer, because I've 
 never had issues keying anything.
 
 The first two images look like what happens when trying to key a 
 pre-multiplied image with a white background that isn't properly removing the 
 matte. The second two look like trying to 
 key with the matte being removed, but not useing linear color space blending 
 in the compositing. But I don't know what your actual settings are.
 
 Straight-keyed Alpha, CM on, rendered to Half-Exr, Composited with CM on. (in 
 blender) http://img692.imageshack.us/img692/779/compositescreencap.png
 
 -Reuben
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Fwd: knifeless.blend animation

2011-07-17 Thread Αντώνης Ρυακιωτάκης
Hi, before doing unnecessary work maybe you should check with bmesh
too? If it's going to be merged anytime maybe it's better to work
there?
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Is alpha within Blender totally broken?

2011-07-17 Thread Αντώνης Ρυακιωτάκης
From my little experience with color management, these issues
sometimes have todo with not being in the right color space(linear)
when compositing. Blender's internal as far as I have seen are not
always consistent in this matter. Personally I've looked into parts of
the code where compositing was done in color corrected space giving
dark colors (More info on
http://psy-fidelity.blogspot.com/2011/06/color-correction-revisited.html)
and, while working on it I remember getting feedback about brightening
as well though I can't remember the configuration that caused it.
Since you work with exported images, my best guess is to check the
image write functions, the final state and color space of the rendered
result in blender and whether exporting the latter is done correctly
with the former.
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Is alpha within Blender totally broken?

2011-07-17 Thread Daniel Salazar - 3Developer.com
What format are you using to export, png?

Daniel Salazar
3Developer.com



2011/7/17 Αντώνης Ρυακιωτάκης kal...@gmail.com:
 From my little experience with color management, these issues
 sometimes have todo with not being in the right color space(linear)
 when compositing. Blender's internal as far as I have seen are not
 always consistent in this matter. Personally I've looked into parts of
 the code where compositing was done in color corrected space giving
 dark colors (More info on
 http://psy-fidelity.blogspot.com/2011/06/color-correction-revisited.html)
 and, while working on it I remember getting feedback about brightening
 as well though I can't remember the configuration that caused it.
 Since you work with exported images, my best guess is to check the
 image write functions, the final state and color space of the rendered
 result in blender and whether exporting the latter is done correctly
 with the former.
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Is alpha within Blender totally broken?

2011-07-17 Thread Αντώνης Ρυακιωτάκης
Some more info: As far as I know, in blender most image formats are
written in color corrected space. OpenEXR is an exception as far as I
remember. So maybe it's just a matter of non-conversion or erroneous
conversion when writing the exr file? I've noticed similar behavior in
other parts of blender. For instance, if you open a float image in the
image editor, paint on it and save it as exr and reload it, you'll see
subtle differences. This comes from the face that internally float
images are handled as color corrected, not linear and when writing
them to file no conversion is done. However, when -loading- the file,
the image is tagged as linear and thus you get a color corrected
result on color corrected colors. In my opinion, all float images
should be in linear color space internally but apparently this is not
the case.
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Is alpha within Blender totally broken?

2011-07-17 Thread Αντώνης Ρυακιωτάκης
2011/7/17 Αντώνης Ρυακιωτάκης kal...@gmail.com:
This comes from the face


I meant 'fact', sorry!
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Can we please stop breaking APIs?

2011-07-17 Thread Matt Ebb
I have a few things to say on this topic...


On Sat, Jul 16, 2011 at 8:37 AM, Campbell Barton ideasma...@gmail.comwrote:

 On Fri, Jul 15, 2011 at 10:35 PM, Diego B bdi...@gmail.com wrote:
  Nope, the api is not stable and probably wont be until blender
  development ceases.
 
  so.. that mean that the api never will be stable ? because blender is
  always in development, like
  any other software.

 In practice we end up stabilizing most areas and don't just break
 stuff indefinitely - But bigger changes mean api breakage is
 unavoidable in most cases - BMesh, Particle Rewrite, Curves/Nurbs
 branch... etc.


I don't think it follows that because blender is always in development (like
any other software) that anything is up for grabs and users can never expect
to be able to rely on a stable API. I think most people can understand that
if a major part of the software changes internally, then the API may have to
change as well, and with a managed path of warning and deprecation, the pain
of transitioning can be managed.

But this is not the sort of problem that is in question here - some of these
changes, which I thought would stop after the 'stable' 2.5 release, are
smaller, syntactic changes. They're not due to any major internal
reorganisations, they're not part of fixing design problems, they're little
things that really aren't that *necessary*.

Like the previous change that affected me (which I only found out about when
things stopped working), it was moving ExportHelper from io_utils to
bpy_extras.io_utils. That was something that has nothing to do with
reflecting changes internally in blender, it was a somewhat arbitrary
decision to make things 'nicer' or more organised.

From the point of view of a developer who's involved in blender, who reads
every commit log, who hangs out in IRC, who knows exactly what's happening
in the API, this may not seem like a big deal, but for other developers
outside that circle, or users who just want to their tools to work when they
download a new blender, it's a huge difference - it's the difference between
something working or not working at all - there are no varying degrees of
difficulty here.

Trying to make the api syntactically nice is not a bad goal on its own, but
it *is* a problem when it conflicts with the API's usability. And that
usability is not just about how much you have to type, or if the names are
good syntactically, it's about how much trouble it is to actually develop
tools with it and get work done. Having an unstable API that can change for
seemingly small and arbitrary reasons really damages the API's usability
much more than less-than-beautiful syntax or organisation does.

So the legitimate need for having things well organised and with nice syntax
and naming has to be balanced with having a usable, stable API. In some
cases (like the one I brought up, IMO) the solution should be to just sigh,
and live with something that's not 100% perfect, because fixing it causes a
greater problem than it solves. In other cases, this can be handled with
deprecation, warnings, grace periods to allow people to transition.

Agree we should deprecate in some cases - at the moment its arbitrary
 when to do so. Currently I just check if any addons/scripts use it and
 if its documented.
 If not, this is a reasonable indication its not widely used. (nobody
 complained when convert_to_pyobject() was renamed for eg.)


This is absolutely not a reasonably indication. The fact is you really don't
know at all who is using this stuff out there. I've done a reasonable amount
with the 2.5 API now - not extensive by any means, but none of my stuff is
included in addons.

The benefit of having a python API is that you don't need to spend time
being involved in IRC, mailing lists, etc in order to get work done
developing tools. Scripters and TDs can just write stuff in python and never
show a single other soul, or keep it for their studio to use internally, or
distribute it themselves on the net, or give it to a client who has hired
said coder to make a python tool. The API is not just to enable blender
developers to make included blender tools or addons in python, there's a
much, much wider world outside that sphere. So anything that can improve
interaction and communication that doesn't involve being deeply involved in
blender dev (eg. prior warnings in documentation, deprecation messages,
grace periods, etc) is very much appreciated.

Anyway, I really appreciate the work that's being done in the API, and it is
miles ahead of what we had before. I just don't want to see baby thrown out
with the bathwater, having a API that can be considered nice at a given
moment in time, but is a total pain to use for real work because it's
constantly breaking.

cheers

Matt
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Can we please stop breaking APIs?

2011-07-17 Thread Jim Williams
I have to agree with this completely.  If the API contract is not
maintained then
the API is not worth learning.  Having the API change without necessary
reason after I've relied upon it to make something and sent it out the door
makes the product unusable.  It is better not to try and to make things only
for a specific release -- in this case that would be 2.49.

Sounds like you made a mistake in bothering to learn the 2.5 API at all.


On Sun, Jul 17, 2011 at 7:04 AM, Matt Ebb m...@mke3.net wrote:
 I have a few things to say on this topic...


 On Sat, Jul 16, 2011 at 8:37 AM, Campbell Barton ideasma...@gmail.comwrote:

 On Fri, Jul 15, 2011 at 10:35 PM, Diego B bdi...@gmail.com wrote:
  Nope, the api is not stable and probably wont be until blender
  development ceases.
 
  so.. that mean that the api never will be stable ? because blender is
  always in development, like
  any other software.

 In practice we end up stabilizing most areas and don't just break
 stuff indefinitely - But bigger changes mean api breakage is
 unavoidable in most cases - BMesh, Particle Rewrite, Curves/Nurbs
 branch... etc.


 I don't think it follows that because blender is always in development (like
 any other software) that anything is up for grabs and users can never expect
 to be able to rely on a stable API. I think most people can understand that
 if a major part of the software changes internally, then the API may have to
 change as well, and with a managed path of warning and deprecation, the pain
 of transitioning can be managed.

 But this is not the sort of problem that is in question here - some of these
 changes, which I thought would stop after the 'stable' 2.5 release, are
 smaller, syntactic changes. They're not due to any major internal
 reorganisations, they're not part of fixing design problems, they're little
 things that really aren't that *necessary*.

 Like the previous change that affected me (which I only found out about when
 things stopped working), it was moving ExportHelper from io_utils to
 bpy_extras.io_utils. That was something that has nothing to do with
 reflecting changes internally in blender, it was a somewhat arbitrary
 decision to make things 'nicer' or more organised.

 From the point of view of a developer who's involved in blender, who reads
 every commit log, who hangs out in IRC, who knows exactly what's happening
 in the API, this may not seem like a big deal, but for other developers
 outside that circle, or users who just want to their tools to work when they
 download a new blender, it's a huge difference - it's the difference between
 something working or not working at all - there are no varying degrees of
 difficulty here.

 Trying to make the api syntactically nice is not a bad goal on its own, but
 it *is* a problem when it conflicts with the API's usability. And that
 usability is not just about how much you have to type, or if the names are
 good syntactically, it's about how much trouble it is to actually develop
 tools with it and get work done. Having an unstable API that can change for
 seemingly small and arbitrary reasons really damages the API's usability
 much more than less-than-beautiful syntax or organisation does.

 So the legitimate need for having things well organised and with nice syntax
 and naming has to be balanced with having a usable, stable API. In some
 cases (like the one I brought up, IMO) the solution should be to just sigh,
 and live with something that's not 100% perfect, because fixing it causes a
 greater problem than it solves. In other cases, this can be handled with
 deprecation, warnings, grace periods to allow people to transition.

 Agree we should deprecate in some cases - at the moment its arbitrary
 when to do so. Currently I just check if any addons/scripts use it and
 if its documented.
 If not, this is a reasonable indication its not widely used. (nobody
 complained when convert_to_pyobject() was renamed for eg.)


 This is absolutely not a reasonably indication. The fact is you really don't
 know at all who is using this stuff out there. I've done a reasonable amount
 with the 2.5 API now - not extensive by any means, but none of my stuff is
 included in addons.

 The benefit of having a python API is that you don't need to spend time
 being involved in IRC, mailing lists, etc in order to get work done
 developing tools. Scripters and TDs can just write stuff in python and never
 show a single other soul, or keep it for their studio to use internally, or
 distribute it themselves on the net, or give it to a client who has hired
 said coder to make a python tool. The API is not just to enable blender
 developers to make included blender tools or addons in python, there's a
 much, much wider world outside that sphere. So anything that can improve
 interaction and communication that doesn't involve being deeply involved in
 blender dev (eg. prior warnings in documentation, deprecation messages,
 grace periods, etc) is very much 

Re: [Bf-committers] Can we please stop breaking APIs?

2011-07-17 Thread Daniel Salazar - 3Developer.com
I think this terms are becoming a bit unfair. Sure it might seem like
little insignificant fixes here and there but let it accumulate for
months and it becomes an important step up in usability. Of course we
would like the API to never break but that just can't be done,
specially by a single man. Back when we did the big gamelogic
refactor, deprecated warnings worked wonders. I'd say that's the way
to go here too. Don't let it accumulate into a second total re-write.

Daniel Salazar
3Developer.com



On Sun, Jul 17, 2011 at 5:22 AM, Jim Williams sphere1...@gmail.com wrote:
 I have to agree with this completely.  If the API contract is not
 maintained then
 the API is not worth learning.  Having the API change without necessary
 reason after I've relied upon it to make something and sent it out the door
 makes the product unusable.  It is better not to try and to make things only
 for a specific release -- in this case that would be 2.49.

 Sounds like you made a mistake in bothering to learn the 2.5 API at all.


 On Sun, Jul 17, 2011 at 7:04 AM, Matt Ebb m...@mke3.net wrote:
 I have a few things to say on this topic...


 On Sat, Jul 16, 2011 at 8:37 AM, Campbell Barton ideasma...@gmail.comwrote:

 On Fri, Jul 15, 2011 at 10:35 PM, Diego B bdi...@gmail.com wrote:
  Nope, the api is not stable and probably wont be until blender
  development ceases.
 
  so.. that mean that the api never will be stable ? because blender is
  always in development, like
  any other software.

 In practice we end up stabilizing most areas and don't just break
 stuff indefinitely - But bigger changes mean api breakage is
 unavoidable in most cases - BMesh, Particle Rewrite, Curves/Nurbs
 branch... etc.


 I don't think it follows that because blender is always in development (like
 any other software) that anything is up for grabs and users can never expect
 to be able to rely on a stable API. I think most people can understand that
 if a major part of the software changes internally, then the API may have to
 change as well, and with a managed path of warning and deprecation, the pain
 of transitioning can be managed.

 But this is not the sort of problem that is in question here - some of these
 changes, which I thought would stop after the 'stable' 2.5 release, are
 smaller, syntactic changes. They're not due to any major internal
 reorganisations, they're not part of fixing design problems, they're little
 things that really aren't that *necessary*.

 Like the previous change that affected me (which I only found out about when
 things stopped working), it was moving ExportHelper from io_utils to
 bpy_extras.io_utils. That was something that has nothing to do with
 reflecting changes internally in blender, it was a somewhat arbitrary
 decision to make things 'nicer' or more organised.

 From the point of view of a developer who's involved in blender, who reads
 every commit log, who hangs out in IRC, who knows exactly what's happening
 in the API, this may not seem like a big deal, but for other developers
 outside that circle, or users who just want to their tools to work when they
 download a new blender, it's a huge difference - it's the difference between
 something working or not working at all - there are no varying degrees of
 difficulty here.

 Trying to make the api syntactically nice is not a bad goal on its own, but
 it *is* a problem when it conflicts with the API's usability. And that
 usability is not just about how much you have to type, or if the names are
 good syntactically, it's about how much trouble it is to actually develop
 tools with it and get work done. Having an unstable API that can change for
 seemingly small and arbitrary reasons really damages the API's usability
 much more than less-than-beautiful syntax or organisation does.

 So the legitimate need for having things well organised and with nice syntax
 and naming has to be balanced with having a usable, stable API. In some
 cases (like the one I brought up, IMO) the solution should be to just sigh,
 and live with something that's not 100% perfect, because fixing it causes a
 greater problem than it solves. In other cases, this can be handled with
 deprecation, warnings, grace periods to allow people to transition.

 Agree we should deprecate in some cases - at the moment its arbitrary
 when to do so. Currently I just check if any addons/scripts use it and
 if its documented.
 If not, this is a reasonable indication its not widely used. (nobody
 complained when convert_to_pyobject() was renamed for eg.)


 This is absolutely not a reasonably indication. The fact is you really don't
 know at all who is using this stuff out there. I've done a reasonable amount
 with the 2.5 API now - not extensive by any means, but none of my stuff is
 included in addons.

 The benefit of having a python API is that you don't need to spend time
 being involved in IRC, mailing lists, etc in order to get work done
 developing tools. Scripters and TDs can just 

Re: [Bf-committers] Fwd: knifeless.blend animation

2011-07-17 Thread Howard Trickey
In fact I've been reading the bmesh knife code recently, on my project to
help close out the bmesh TODOs, and the code right now there may be doing
some closer to what you want: hitting k takes you into a modal mode where
successive left clicks make connected cuts; hitting e ends a cut and lets
you start a new series; holding down CNTRL turns midpoint snapping on,
holding down SHIFT turns all snapping off (by default, edge and vertex
snapping are on); and using the middle mouse button temporarily takes you
out of cutting mode so you spin the model.

Who knows how long it will take to get bmesh into trunk (though I am trying
hard to contribute to making that sooner rather than later), so it is
probably worthwhile to fix the old version now, but it would be good to
settle on similar behavior between old and new so that it will be easier for
users to adapt to the change to bmesh when it comes.

2011/7/17 Αντώνης Ρυακιωτάκης kal...@gmail.com

 Hi, before doing unnecessary work maybe you should check with bmesh
 too? If it's going to be merged anytime maybe it's better to work
 there?
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Can we please stop breaking APIs?

2011-07-17 Thread Nathaniel Lane
I must say I agree with this completely. While I understand the need to make 
some occasional changes, on the whole it seems to be bad practice to change it 
as much as it has been recently.

On Jul 17, 2011, at 5:04 AM, Matt Ebb m...@mke3.net wrote:

 I have a few things to say on this topic...
 
 
 On Sat, Jul 16, 2011 at 8:37 AM, Campbell Barton ideasma...@gmail.comwrote:
 
 On Fri, Jul 15, 2011 at 10:35 PM, Diego B bdi...@gmail.com wrote:
 Nope, the api is not stable and probably wont be until blender
 development ceases.
 
 so.. that mean that the api never will be stable ? because blender is
 always in development, like
 any other software.
 
 In practice we end up stabilizing most areas and don't just break
 stuff indefinitely - But bigger changes mean api breakage is
 unavoidable in most cases - BMesh, Particle Rewrite, Curves/Nurbs
 branch... etc.
 
 
 I don't think it follows that because blender is always in development (like
 any other software) that anything is up for grabs and users can never expect
 to be able to rely on a stable API. I think most people can understand that
 if a major part of the software changes internally, then the API may have to
 change as well, and with a managed path of warning and deprecation, the pain
 of transitioning can be managed.
 
 But this is not the sort of problem that is in question here - some of these
 changes, which I thought would stop after the 'stable' 2.5 release, are
 smaller, syntactic changes. They're not due to any major internal
 reorganisations, they're not part of fixing design problems, they're little
 things that really aren't that *necessary*.
 
 Like the previous change that affected me (which I only found out about when
 things stopped working), it was moving ExportHelper from io_utils to
 bpy_extras.io_utils. That was something that has nothing to do with
 reflecting changes internally in blender, it was a somewhat arbitrary
 decision to make things 'nicer' or more organised.
 
 From the point of view of a developer who's involved in blender, who reads
 every commit log, who hangs out in IRC, who knows exactly what's happening
 in the API, this may not seem like a big deal, but for other developers
 outside that circle, or users who just want to their tools to work when they
 download a new blender, it's a huge difference - it's the difference between
 something working or not working at all - there are no varying degrees of
 difficulty here.
 
 Trying to make the api syntactically nice is not a bad goal on its own, but
 it *is* a problem when it conflicts with the API's usability. And that
 usability is not just about how much you have to type, or if the names are
 good syntactically, it's about how much trouble it is to actually develop
 tools with it and get work done. Having an unstable API that can change for
 seemingly small and arbitrary reasons really damages the API's usability
 much more than less-than-beautiful syntax or organisation does.
 
 So the legitimate need for having things well organised and with nice syntax
 and naming has to be balanced with having a usable, stable API. In some
 cases (like the one I brought up, IMO) the solution should be to just sigh,
 and live with something that's not 100% perfect, because fixing it causes a
 greater problem than it solves. In other cases, this can be handled with
 deprecation, warnings, grace periods to allow people to transition.
 
 Agree we should deprecate in some cases - at the moment its arbitrary
 when to do so. Currently I just check if any addons/scripts use it and
 if its documented.
 If not, this is a reasonable indication its not widely used. (nobody
 complained when convert_to_pyobject() was renamed for eg.)
 
 
 This is absolutely not a reasonably indication. The fact is you really don't
 know at all who is using this stuff out there. I've done a reasonable amount
 with the 2.5 API now - not extensive by any means, but none of my stuff is
 included in addons.
 
 The benefit of having a python API is that you don't need to spend time
 being involved in IRC, mailing lists, etc in order to get work done
 developing tools. Scripters and TDs can just write stuff in python and never
 show a single other soul, or keep it for their studio to use internally, or
 distribute it themselves on the net, or give it to a client who has hired
 said coder to make a python tool. The API is not just to enable blender
 developers to make included blender tools or addons in python, there's a
 much, much wider world outside that sphere. So anything that can improve
 interaction and communication that doesn't involve being deeply involved in
 blender dev (eg. prior warnings in documentation, deprecation messages,
 grace periods, etc) is very much appreciated.
 
 Anyway, I really appreciate the work that's being done in the API, and it is
 miles ahead of what we had before. I just don't want to see baby thrown out
 with the bathwater, having a API that can be considered nice at a given
 

Re: [Bf-committers] Can we please stop breaking APIs?

2011-07-17 Thread Erwin Coumans
A stable and backwards compatible API (and file format) is very important.

Imagine if the C standard kept breaking its backwards compatibility every year?

I think you owe it to your users to keep the API stable backwards compatible 
until a major version update (2 - 3 - 4, that's why Blender 2.5 should be 
called 3.0).

My 2 cents,
Erwin

On Jul 17, 2011, at 6:00 AM, Nathaniel Lane 
carbon.based.life.form.from.ea...@gmail.com wrote:

 I must say I agree with this completely. While I understand the need to make 
 some occasional changes, on the whole it seems to be bad practice to change 
 it as much as it has been recently.
 
 On Jul 17, 2011, at 5:04 AM, Matt Ebb m...@mke3.net wrote:
 
 I have a few things to say on this topic...
 
 
 On Sat, Jul 16, 2011 at 8:37 AM, Campbell Barton ideasma...@gmail.comwrote:
 
 On Fri, Jul 15, 2011 at 10:35 PM, Diego B bdi...@gmail.com wrote:
 Nope, the api is not stable and probably wont be until blender
 development ceases.
 
 so.. that mean that the api never will be stable ? because blender is
 always in development, like
 any other software.
 
 In practice we end up stabilizing most areas and don't just break
 stuff indefinitely - But bigger changes mean api breakage is
 unavoidable in most cases - BMesh, Particle Rewrite, Curves/Nurbs
 branch... etc.
 
 
 I don't think it follows that because blender is always in development (like
 any other software) that anything is up for grabs and users can never expect
 to be able to rely on a stable API. I think most people can understand that
 if a major part of the software changes internally, then the API may have to
 change as well, and with a managed path of warning and deprecation, the pain
 of transitioning can be managed.
 
 But this is not the sort of problem that is in question here - some of these
 changes, which I thought would stop after the 'stable' 2.5 release, are
 smaller, syntactic changes. They're not due to any major internal
 reorganisations, they're not part of fixing design problems, they're little
 things that really aren't that *necessary*.
 
 Like the previous change that affected me (which I only found out about when
 things stopped working), it was moving ExportHelper from io_utils to
 bpy_extras.io_utils. That was something that has nothing to do with
 reflecting changes internally in blender, it was a somewhat arbitrary
 decision to make things 'nicer' or more organised.
 
 From the point of view of a developer who's involved in blender, who reads
 every commit log, who hangs out in IRC, who knows exactly what's happening
 in the API, this may not seem like a big deal, but for other developers
 outside that circle, or users who just want to their tools to work when they
 download a new blender, it's a huge difference - it's the difference between
 something working or not working at all - there are no varying degrees of
 difficulty here.
 
 Trying to make the api syntactically nice is not a bad goal on its own, but
 it *is* a problem when it conflicts with the API's usability. And that
 usability is not just about how much you have to type, or if the names are
 good syntactically, it's about how much trouble it is to actually develop
 tools with it and get work done. Having an unstable API that can change for
 seemingly small and arbitrary reasons really damages the API's usability
 much more than less-than-beautiful syntax or organisation does.
 
 So the legitimate need for having things well organised and with nice syntax
 and naming has to be balanced with having a usable, stable API. In some
 cases (like the one I brought up, IMO) the solution should be to just sigh,
 and live with something that's not 100% perfect, because fixing it causes a
 greater problem than it solves. In other cases, this can be handled with
 deprecation, warnings, grace periods to allow people to transition.
 
 Agree we should deprecate in some cases - at the moment its arbitrary
 when to do so. Currently I just check if any addons/scripts use it and
 if its documented.
 If not, this is a reasonable indication its not widely used. (nobody
 complained when convert_to_pyobject() was renamed for eg.)
 
 
 This is absolutely not a reasonably indication. The fact is you really don't
 know at all who is using this stuff out there. I've done a reasonable amount
 with the 2.5 API now - not extensive by any means, but none of my stuff is
 included in addons.
 
 The benefit of having a python API is that you don't need to spend time
 being involved in IRC, mailing lists, etc in order to get work done
 developing tools. Scripters and TDs can just write stuff in python and never
 show a single other soul, or keep it for their studio to use internally, or
 distribute it themselves on the net, or give it to a client who has hired
 said coder to make a python tool. The API is not just to enable blender
 developers to make included blender tools or addons in python, there's a
 much, much wider world outside that sphere. So 

Re: [Bf-committers] Can we please stop breaking APIs?

2011-07-17 Thread Jim Williams
The change being complained about below is clearly to fit someone's
notion of elegance, not functionality.  As such, it wasn't a necessary
changeand in my option it wasn't even a good change.

If you don't supply a predictable API people will look elsewhere.  It might
take time before some other project takes the lead, but it will happen.

It would help your API a whole lot if the documentation was written before
the code.  APIs need to conform to a contract to be useful.


On Thu, Jul 14, 2011 at 11:41 PM, Mitchell Stokes moguri...@gmail.com wrote:
 Hello devs,

 I thought the 2.5 Python API was supposed to be considered stable,
 but lo and behold, a recent commit once again broke my scripts. The
 commit in question changes BGL.Buffer.list to BGL.Buffer.to_list()
 [1]. Bgui[2] makes use of BGL and is now broken. Furthermore, if I fix
 Bgui to work with Blender trunk and I release a version of Bgui before
 Blender 2.59 (which is possible), then Bgui would have a requirement
 of needing an in development version of Blender. If we're going to
 be changing APIs, can we at least keep old things around as
 deprecated for a release or two?

 [1] http://lists.blender.org/pipermail/bf-blender-cvs/2011-July/037581.html
 [2] https://code.google.com/p/bgui/

 Thank you,
 Mitchell Stokes
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers




-- 
No essence.  No permanence.  No perfection.  Only action.
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Can we please stop breaking APIs?

2011-07-17 Thread Campbell Barton
Update, added back bgl.Buffer.list, but it prints a deprecation warning.
also added back slice support and fixed a crash on bad index access
(since nobody found this in ~5 years tells me hardly anyone uses
bgl.Buffer but whatever...).

Since 2.5x my stance on blender API has always been to manage,
documented breakages along the way since we evolve more then design,
developers tend to add something that seems like a good idea at the
time and later on discover it didn't work as intended or... later on
add other functionality which makes the original out of place.
We've even had functions in for over a year that never even worked
(crashed infact), and nobody reported it. So I just don't buy it that
once we call it stable that we should improving.

@Erwin,
The difference in blender is an application, not an SDK or a language.

@Matt, you say that it is not documented is not a good reason to
change/remove the feature, interesting that between py 3.2.0 and 3.2.1
they removed __class__ from the global namespace of a class, we used
this in 6 or so places and I certainly noticed when blender broke on
update. I reported a bug but was told I should never have been using
it because its not documented. - Just to say other projects use this
rationale - ofcourse you can argue both ways.

So, everyone can agree that breaking blender is bad.

But what we can't agree on is:
- What is the blender API???
  Operators? Addons? Python Modules?, Addons which have modules with
other scripts might use?, any function in a module (even if its not
defined in __all__ or documented)...
And RNA, do we attributes in RNA that do nothing just so scripts don't break?

If we really be strict about it, we cant remove tool options or
preferences (even if they are not used) because a script could use it.

Ok, this is not so much like changing bgl.Buffer, but it _is_ why I
say our api will never be stable.
However Its also silly to think that because some variable changes
from a boolean to an enum that the api is horrible and scripts wont
work anymore, which is why, practically (IMHO) this is not as bad as
it sounds.


On Sun, Jul 17, 2011 at 11:23 PM, Erwin Coumans erwin.coum...@gmail.com wrote:
 A stable and backwards compatible API (and file format) is very important.

 Imagine if the C standard kept breaking its backwards compatibility every 
 year?

 I think you owe it to your users to keep the API stable backwards compatible 
 until a major version update (2 - 3 - 4, that's why Blender 2.5 should be 
 called 3.0).

 My 2 cents,
 Erwin

 On Jul 17, 2011, at 6:00 AM, Nathaniel Lane 
 carbon.based.life.form.from.ea...@gmail.com wrote:

 I must say I agree with this completely. While I understand the need to make 
 some occasional changes, on the whole it seems to be bad practice to change 
 it as much as it has been recently.

 On Jul 17, 2011, at 5:04 AM, Matt Ebb m...@mke3.net wrote:

 I have a few things to say on this topic...


 On Sat, Jul 16, 2011 at 8:37 AM, Campbell Barton 
 ideasma...@gmail.comwrote:

 On Fri, Jul 15, 2011 at 10:35 PM, Diego B bdi...@gmail.com wrote:
 Nope, the api is not stable and probably wont be until blender
 development ceases.

 so.. that mean that the api never will be stable ? because blender is
 always in development, like
 any other software.

 In practice we end up stabilizing most areas and don't just break
 stuff indefinitely - But bigger changes mean api breakage is
 unavoidable in most cases - BMesh, Particle Rewrite, Curves/Nurbs
 branch... etc.


 I don't think it follows that because blender is always in development (like
 any other software) that anything is up for grabs and users can never expect
 to be able to rely on a stable API. I think most people can understand that
 if a major part of the software changes internally, then the API may have to
 change as well, and with a managed path of warning and deprecation, the pain
 of transitioning can be managed.

 But this is not the sort of problem that is in question here - some of these
 changes, which I thought would stop after the 'stable' 2.5 release, are
 smaller, syntactic changes. They're not due to any major internal
 reorganisations, they're not part of fixing design problems, they're little
 things that really aren't that *necessary*.

 Like the previous change that affected me (which I only found out about when
 things stopped working), it was moving ExportHelper from io_utils to
 bpy_extras.io_utils. That was something that has nothing to do with
 reflecting changes internally in blender, it was a somewhat arbitrary
 decision to make things 'nicer' or more organised.

 From the point of view of a developer who's involved in blender, who reads
 every commit log, who hangs out in IRC, who knows exactly what's happening
 in the API, this may not seem like a big deal, but for other developers
 outside that circle, or users who just want to their tools to work when they
 download a new blender, it's a huge difference - it's the difference 

Re: [Bf-committers] Can we please stop breaking APIs?

2011-07-17 Thread Campbell Barton
 Since 2.5x my stance on blender API has always been to manage,
 documented breakages along the way since we evolve more then design,
 developers tend to add something that seems like a good idea at the
 time and later on discover it didn't work as intended or... later on
 add other functionality which makes the original out of place.
 We've even had functions in for over a year that never even worked
 (crashed infact), and nobody reported it. So I just don't buy it that
 once we call it stable that we should improving.
Ack, should be that we should stop changing or improving.
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Can we please stop breaking APIs?

2011-07-17 Thread Daniel Salazar - 3Developer.com
+1 to campbell, and keeping fallbacks and deprecation warnings for
some time should really make this easy to manage and evolve

Daniel Salazar
3Developer.com



On Sun, Jul 17, 2011 at 7:49 AM, Campbell Barton ideasma...@gmail.com wrote:
 Update, added back bgl.Buffer.list, but it prints a deprecation warning.
 also added back slice support and fixed a crash on bad index access
 (since nobody found this in ~5 years tells me hardly anyone uses
 bgl.Buffer but whatever...).

 Since 2.5x my stance on blender API has always been to manage,
 documented breakages along the way since we evolve more then design,
 developers tend to add something that seems like a good idea at the
 time and later on discover it didn't work as intended or... later on
 add other functionality which makes the original out of place.
 We've even had functions in for over a year that never even worked
 (crashed infact), and nobody reported it. So I just don't buy it that
 once we call it stable that we should improving.

 @Erwin,
 The difference in blender is an application, not an SDK or a language.

 @Matt, you say that it is not documented is not a good reason to
 change/remove the feature, interesting that between py 3.2.0 and 3.2.1
 they removed __class__ from the global namespace of a class, we used
 this in 6 or so places and I certainly noticed when blender broke on
 update. I reported a bug but was told I should never have been using
 it because its not documented. - Just to say other projects use this
 rationale - ofcourse you can argue both ways.

 So, everyone can agree that breaking blender is bad.

 But what we can't agree on is:
 - What is the blender API???
  Operators? Addons? Python Modules?, Addons which have modules with
 other scripts might use?, any function in a module (even if its not
 defined in __all__ or documented)...
 And RNA, do we attributes in RNA that do nothing just so scripts don't break?

 If we really be strict about it, we cant remove tool options or
 preferences (even if they are not used) because a script could use it.

 Ok, this is not so much like changing bgl.Buffer, but it _is_ why I
 say our api will never be stable.
 However Its also silly to think that because some variable changes
 from a boolean to an enum that the api is horrible and scripts wont
 work anymore, which is why, practically (IMHO) this is not as bad as
 it sounds.


 On Sun, Jul 17, 2011 at 11:23 PM, Erwin Coumans erwin.coum...@gmail.com 
 wrote:
 A stable and backwards compatible API (and file format) is very important.

 Imagine if the C standard kept breaking its backwards compatibility every 
 year?

 I think you owe it to your users to keep the API stable backwards compatible 
 until a major version update (2 - 3 - 4, that's why Blender 2.5 should be 
 called 3.0).

 My 2 cents,
 Erwin

 On Jul 17, 2011, at 6:00 AM, Nathaniel Lane 
 carbon.based.life.form.from.ea...@gmail.com wrote:

 I must say I agree with this completely. While I understand the need to 
 make some occasional changes, on the whole it seems to be bad practice to 
 change it as much as it has been recently.

 On Jul 17, 2011, at 5:04 AM, Matt Ebb m...@mke3.net wrote:

 I have a few things to say on this topic...


 On Sat, Jul 16, 2011 at 8:37 AM, Campbell Barton 
 ideasma...@gmail.comwrote:

 On Fri, Jul 15, 2011 at 10:35 PM, Diego B bdi...@gmail.com wrote:
 Nope, the api is not stable and probably wont be until blender
 development ceases.

 so.. that mean that the api never will be stable ? because blender is
 always in development, like
 any other software.

 In practice we end up stabilizing most areas and don't just break
 stuff indefinitely - But bigger changes mean api breakage is
 unavoidable in most cases - BMesh, Particle Rewrite, Curves/Nurbs
 branch... etc.


 I don't think it follows that because blender is always in development 
 (like
 any other software) that anything is up for grabs and users can never 
 expect
 to be able to rely on a stable API. I think most people can understand that
 if a major part of the software changes internally, then the API may have 
 to
 change as well, and with a managed path of warning and deprecation, the 
 pain
 of transitioning can be managed.

 But this is not the sort of problem that is in question here - some of 
 these
 changes, which I thought would stop after the 'stable' 2.5 release, are
 smaller, syntactic changes. They're not due to any major internal
 reorganisations, they're not part of fixing design problems, they're little
 things that really aren't that *necessary*.

 Like the previous change that affected me (which I only found out about 
 when
 things stopped working), it was moving ExportHelper from io_utils to
 bpy_extras.io_utils. That was something that has nothing to do with
 reflecting changes internally in blender, it was a somewhat arbitrary
 decision to make things 'nicer' or more organised.

 From the point of view of a developer who's involved in blender, who reads
 every 

Re: [Bf-committers] Help needed! Animation problems for 3D Audio GSoC

2011-07-17 Thread Knapp
On Sun, Jul 17, 2011 at 8:31 AM, neXyon nex...@gmail.com wrote:

 Hi guys!

 There's a serious problem with the way how animation works in regard to
 audio. The main problem is, that the animation system pushes the output,
 so it sets the data, renders a frame, advances to next frame (setting
 the data there) and renders again and so on, this works pretty good for
 video. But it doesn't work with audio, especially as audio has a very
 high temporal resolution (48000 eg. samples per second) compared to
 video (eg 25 frames per second) and moreover for audio the output device
 pulls the data, instead of the animation system pushing it, so the other
 way round.

 I talked to Martin (Poirier) and Joshua (Leung) and even we three
 together cannot think up a nice solution for the problem, maybe some
 genious mind here on the list who is more into the animation code than I
 am has a really nice idea.

 Here are specific problems in detail:

 * Subsample Accuracy: To avoid stair steps as we currently have in
 volume animation.


Use bezier curves to plot the sound volume but I guess you have that bit
figured out having just read farther.

Why is the animation data not readable multithreaded? I could understand
writable though.
-- 
Douglas E Knapp

Creative Commons Film Group, Helping people make open source movies
with open source software!
http://douglas.bespin.org/CommonsFilmGroup/phpBB3/index.php

Massage in Gelsenkirchen-Buer:
http://douglas.bespin.org/tcm/ztab1.htm
Please link to me and trade links with me!

Open Source Sci-Fi mmoRPG Game project.
http://sf-journey-creations.wikispot.org/Front_Page
http://code.google.com/p/perspectiveproject/
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Can we please stop breaking APIs?

2011-07-17 Thread Knapp
I think it is clear what is needed.

Devs:
Devs retaining the freedom and flexibly to continue to innovate and improve
blender without being boxed in by old stuff, standards and crud.
 (I am sure without having to document it would be wonderful too! :-)).

Programmers / Users:
Documentation of changes that are clear and easily available. Perhaps they
should ship with the product. Perhaps the change of the intro graphic would
be a signal to watch out for changes?

A transition period for that change to take effect that throws
deprecation warnings during which old and new should continue to work. No
one has addressed how long this should be. Should it be 6 months? That would
make it one Ubuntu cycle. Or maybe 12 months? That should be enough time for
anyone.

It was said that an API is not a language but really for anyone that
programs in it all day long, it is. Changing it is in effect changing the
language that the programmer has to work in, often in annoying pointless
ways (at least to the programmer). I see it like saying printf is not part
of c language, its just a function, but we all know it is and changing it
would really piss off a lot of people.

Change is good when it is progress and results in a better product. We are
all willing to put up with that but we don't like changes that do not appear
to benefit us. I know that sadly we programmers do not know the benefits
that the changes bring us because they are often hidden but we do know the
pain of it when they get in our way and slow us down and piss off our bosses
and customers.

Thanks devs for all the good, hard work!

-- 
Douglas E Knapp

Creative Commons Film Group, Helping people make open source movies
with open source software!
http://douglas.bespin.org/CommonsFilmGroup/phpBB3/index.php

Massage in Gelsenkirchen-Buer:
http://douglas.bespin.org/tcm/ztab1.htm
Please link to me and trade links with me!

Open Source Sci-Fi mmoRPG Game project.
http://sf-journey-creations.wikispot.org/Front_Page
http://code.google.com/p/perspectiveproject/
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


[Bf-committers] Blender developer IRC meeting notes, july 17 2011

2011-07-17 Thread Ton Roosendaal
Hi all,

Here's the weekly notes of today's IRC meeting.

1) 2.58 and next release

- New design for managing keymaps is under review, Brecht will handle  
this next week(s).

- Campbell is back from holidays! Next week more bug fixing, and Unity  
UDK/FBX testing.
Note: Unity could refresh direct blend reader (like they had for 2.4),  
would be nice target for them to work on. Campbell can advice.

- Daniel Salazar reminds the much faster Mesh Deform binding code  
should be in release:
http://codereview.appspot.com/4529048/
Daniel used it successfully for months. On Brecht's review list still.

- Python changes discussion:

First off: all changes are being gathered in wiki clearly:
http://wiki.blender.org/index.php/Dev:2.5/Py/API/Updates

Proposal: from now on, critical changes get announced first on the bf- 
python list for review:
http://lists.blender.org/pipermail/bf-python/

The Python API owner team gets expanded with two new team members,  
proposal is to add Sergey and Daniel S. Campbell will use them to give  
approval on API updating as well.
http://lists.blender.org/pipermail/bf-python/

- 2.59 splash committee:
   Sebastian K, Francois T and Daniel Genrich should appoint new  
judges. Notify Ton!

- Knife tool upgrade  fixing: under review/design still. Bastien  
Montagne gives it a try.

- Bastien updated patch for Weight Group modifier. Campbell checks.

- Nathan Letwory: Mike Erwin's SpaceNavigator branch is not ready for  
2.59 yet, but they will try!
   Wiki page or doc with design overview is coming this week too.


2) Other projects, branches

- Sergey: stripped the Carve boost lib (saves 6 MB). This needs a  
test in OSX (compile) and Windows (speed).
   https://svn.blender.org/svnroot/bf-blender/branches/carve_booleans

- Question, how is Ocean Sim coming? Todd McIntosh or Matt Ebb know!

- Note, branches ready for mergers can notify it here:
http://wiki.blender.org/index.php/Dev:2.6/Source/Development/Merge_And_Integration_Plan

- Nicholas Bishop updated skin and re-mesh patches with latest trunk:
   http://nicholasbishop.net/


3) GSoC

- Most of the students made cool midterm videos, Ton will collect and  
post article.

- Midterm passed: one drop out (fluids), one didn't make it (game  
logic), 15 continued.

Thanks,

-Ton-


Ton Roosendaal  Blender Foundation   t...@blender.orgwww.blender.org
Blender Institute   Entrepotdok 57A  1018AD Amsterdam   The Netherlands

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38452] trunk/blender/source/blender/ editors/space_node/node_header.c: Removed the autoconnect call when adding new nodes, this hardl

2011-07-17 Thread PabloVazquez.org
Its been a topic for a while already, but in my perspective, -1 on this.

In 2.4x was more intuitive, adding a Mix node with two nodes selected
(say two rgbcurves) will automatically connect them, saving time, of
course would be better if they connect in the order we select them, so
is more predictable but still was better than now only connecting with
the active node.
Another example, adding a Separate RGB then Combine RGB node would
connect all of the inputs/outputs in 2.4x, not the case in 2.5x.

I know is easier to remove than to fix, but at least should be a preference.

*edits his node_header.c back...*


On Sun, Jul 17, 2011 at 18:14, Lukas Toenne lukas.toe...@googlemail.com wrote:
 Revision: 38452
          
 http://projects.blender.org/scm/viewvc.php?view=revroot=bf-blenderrevision=38452
 Author:   lukastoenne
 Date:     2011-07-17 16:14:52 + (Sun, 17 Jul 2011)
 Log Message:
 ---
 Removed the autoconnect call when adding new nodes, this hardly ever gives 
 usable results and leads to annoyed artists.

 Modified Paths:
 --
    trunk/blender/source/blender/editors/space_node/node_header.c

 Modified: trunk/blender/source/blender/editors/space_node/node_header.c
 ===
 --- trunk/blender/source/blender/editors/space_node/node_header.c       
 2011-07-17 13:29:50 UTC (rev 38451)
 +++ trunk/blender/source/blender/editors/space_node/node_header.c       
 2011-07-17 16:14:52 UTC (rev 38452)
 @@ -94,8 +94,6 @@
                if(node-flag  NODE_TEST) node-flag |= NODE_SELECT;
        }

 -       snode_autoconnect(snode, 1, 0);
 -
        /* deselect after autoconnection */
        for(node= snode-edittree-nodes.first; node; node= node-next) {
                if(node-flag  NODE_TEST) node-flag = ~NODE_SELECT;

 ___
 Bf-blender-cvs mailing list
 bf-blender-...@blender.org
 http://lists.blender.org/mailman/listinfo/bf-blender-cvs

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Is alpha within Blender totally broken?

2011-07-17 Thread Ton Roosendaal
Hi Troy,

The issue you have is a combination of several issues; as others wrote  
as replies already, we have things reasonably OK work internally, but  
when it gets to colormanagement and file saving things get fuzzier.

It's been noted on our todo wiki in many places that both  
'colormanagement' (now only gamma correction) as our alpha methods  
need to be improved:

- Support both premul as straight alpha internally.
Some operations work best with premul, others with straight...  
especially color operations like gamma or RGB curves make premul fail  
easily. Internally in Blender, only premul is supported now.

- Color management code currently only corrects rgb, but leaves alpha  
unaltered. That gives bad 24 bits gfx for premul alpha.

- File formats can also hardcode define alpha types (premul or  
straight). Blender just saves the data as you deliver it. You can save  
ot premul-png for example, which is 'forbidden'. Of course Blender  
should save out correct pngs by default, but I'd rather fix our  
internal alpha methods then too.

So yes... there's work to do here! :)
However, if you'd export EXR to nuke, saved with ColorManagement on,  
it should all be fine.

-Ton-


Ton Roosendaal  Blender Foundation   t...@blender.orgwww.blender.org
Blender Institute   Entrepotdok 57A  1018AD Amsterdam   The Netherlands

On 16 Jul, 2011, at 23:37, Troy Sobotka wrote:

 So far, I've been experimenting with several files and uptake tools
 using Blender in conjunction with Nuke. I have yet to be able to find
 a pattern that delivers proper alpha channels.Perhaps someone here can
 shed some light on the matter.

 It has been noted before that there has been some mishandling of alpha
 with regards to all of the non linear output formats such as TIFF,
 PNG, etc. However, upon testing quite extensively with EXR, I am still
 struggling to see a proper use case currently.

 I have experimented with the following four combinations:

 CM ON - Straight Alpha
 CM OFF - Straight Alpha
 CM ON - Premul Alpha
 CM OFF - Straight Alpha

 In all of the instances, there is significant darkening or lightening
 near the edges, suggesting something is wrong. When ingested into
 Nuke, the results are equally confusing.

 I hope that someone can shed some light on the issue, as it is
 worrying. The same impacts can be noted when we use blurs, only they
 are augmented by a greater region of disparity where the alpha blurs
 occur.

 The following images are direct output from Nuke with proper premul
 settings where appropriate. The same issues appear in other image
 editors and different file formats. In this instance, the tests were
 conducted with EXR output files saved with RGBA.

 CM ON - Straight - http://img228.imageshack.us/img228/1639/cmonstraight.jpg
 CM OFF - Straight - http://img43.imageshack.us/img43/3961/cmoffstraight.jpg
 CM ON - Premul - http://img687.imageshack.us/img687/8082/ 
 cmonpremul.jpg
 CM OFF - Premul - http://img194.imageshack.us/img194/6276/cmoffpremul.jpg

 The concern I have is that I believe Blender is mishandling alpha
 channels in all instances. This is partially obscured by the fact that
 whatever technique is being used to encode it is also being used to
 decode it. In some instances, the alpha channel effects are also
 difficult to notice, as it is subject to the size of the alpha region
 and the nature of the background.

 In the above tests we can clearly see the darkening over the magenta
 region near the antialiased alpha edges. This can be far more greatly
 seen when we execute a blur.

 I have done some testing with gamma adjustments on the alphas to try
 and rectify the situation, believing that it may be because of a log
 to lin or vice versa error, to no avail. Premul also doesn't seem to
 impact the results and solve the problems.

 Here is to hoping someone can lend some thought to the issues at hand.

 With respect,
 TJS
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38452] trunk/blender/source/blender/ editors/space_node/node_header.c: Removed the autoconnect call when adding new nodes, this h

2011-07-17 Thread Daniel Salazar - 3Developer.com
This should not come back as it was. Some specific cases like the mix
node can be an exception but the rest is just total madness

Daniel Salazar
3Developer.com



On Sun, Jul 17, 2011 at 11:33 AM, PabloVazquez.org venom...@gmail.com wrote:
 Its been a topic for a while already, but in my perspective, -1 on this.

 In 2.4x was more intuitive, adding a Mix node with two nodes selected
 (say two rgbcurves) will automatically connect them, saving time, of
 course would be better if they connect in the order we select them, so
 is more predictable but still was better than now only connecting with
 the active node.
 Another example, adding a Separate RGB then Combine RGB node would
 connect all of the inputs/outputs in 2.4x, not the case in 2.5x.

 I know is easier to remove than to fix, but at least should be a preference.

 *edits his node_header.c back...*


 On Sun, Jul 17, 2011 at 18:14, Lukas Toenne lukas.toe...@googlemail.com 
 wrote:
 Revision: 38452
          
 http://projects.blender.org/scm/viewvc.php?view=revroot=bf-blenderrevision=38452
 Author:   lukastoenne
 Date:     2011-07-17 16:14:52 + (Sun, 17 Jul 2011)
 Log Message:
 ---
 Removed the autoconnect call when adding new nodes, this hardly ever gives 
 usable results and leads to annoyed artists.

 Modified Paths:
 --
    trunk/blender/source/blender/editors/space_node/node_header.c

 Modified: trunk/blender/source/blender/editors/space_node/node_header.c
 ===
 --- trunk/blender/source/blender/editors/space_node/node_header.c       
 2011-07-17 13:29:50 UTC (rev 38451)
 +++ trunk/blender/source/blender/editors/space_node/node_header.c       
 2011-07-17 16:14:52 UTC (rev 38452)
 @@ -94,8 +94,6 @@
                if(node-flag  NODE_TEST) node-flag |= NODE_SELECT;
        }

 -       snode_autoconnect(snode, 1, 0);
 -
        /* deselect after autoconnection */
        for(node= snode-edittree-nodes.first; node; node= node-next) {
                if(node-flag  NODE_TEST) node-flag = ~NODE_SELECT;

 ___
 Bf-blender-cvs mailing list
 bf-blender-...@blender.org
 http://lists.blender.org/mailman/listinfo/bf-blender-cvs

 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Help needed! Animation problems for 3D Audio GSoC

2011-07-17 Thread Martin Poirier
Hi,

I'd like to ask people with good knowledge of Blender's animation and animation 
related structures to please consider this problem, this is rather important 
for neXyon's GSOC project.

Thanks,
Martin

--- On Sun, 7/17/11, neXyon nex...@gmail.com wrote:

 From: neXyon nex...@gmail.com
 Subject: [Bf-committers] Help needed! Animation problems for 3D Audio GSoC
 To: bf-committers@blender.org
 Received: Sunday, July 17, 2011, 2:31 AM
 Hi guys!
 
 There's a serious problem with the way how animation works
 in regard to 
 audio. The main problem is, that the animation system
 pushes the output, 
 so it sets the data, renders a frame, advances to next
 frame (setting 
 the data there) and renders again and so on, this works
 pretty good for 
 video. But it doesn't work with audio, especially as audio
 has a very 
 high temporal resolution (48000 eg. samples per second)
 compared to 
 video (eg 25 frames per second) and moreover for audio the
 output device 
 pulls the data, instead of the animation system pushing it,
 so the other 
 way round.
 
 I talked to Martin (Poirier) and Joshua (Leung) and even we
 three 
 together cannot think up a nice solution for the problem,
 maybe some 
 genious mind here on the list who is more into the
 animation code than I 
 am has a really nice idea.
 
 Here are specific problems in detail:
 
 * Subsample Accuracy: To avoid stair steps as we currently
 have in 
 volume animation.
 * Multi Threading: Audio runs in a separate thread.
 * Speed: The access mechanism has to be realtime capable!
 * Asynchronous access: Audio playback is ahead of video
 playback 
 normally (buffering the samples, feeding them to the output
 device).
 
 The first point can be solved easily with a proper
 interpolation if you 
 have two nearby samples, one in the past, one in the
 future, so this 
 basically requires the animation data to be cached/buffered
 somehow or 
 at least asynchronous accessible. As the cached data also
 solves points 
 3 and 4 it's pretty obvious that we need the data cached,
 we had that 
 conclusion already.
 
 Questionable is now how to get the cache? One obvious
 solution is to 
 require the user to bake it, but this heavily impacts how
 easy the 
 system can be used and as we also already concluded this is
 a really 
 ugly solution. Better is the automatic caching which leads
 us to the 
 problem point 2 multi threading. I don't know if it's
 possible to cache 
 in the main thread? I bet not. And as long as blenders
 (animation) data 
 isn't accessible multithreaded we still have no solution
 for the problem.
 
 So now your help is needed. Any ideas? If not I'll have to
 do the baking 
 solution to finish the project.
 
 Regards
 
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
 
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38452] trunk/blender/source/blender/ editors/space_node/node_header.c: Removed the autoconnect call when adding new nodes, this h

2011-07-17 Thread Matt Ebb
I agree the old behaviour was pretty awful sometimes. Perhaps it can be
improved by making it more explicit and context sensitive.

For example in Houdini if you add a node (RMB/Tab) on empty space in the
network view, it will add the node on its own, where if you RMB to add a
node, but clicking on an existing node's output, it will connect the new
node up to that output. This is really handy, and *much* better than
preferences or alternate hotkeys for different versions of the same too (I'm
not too keen on how this is creeping into blender's compositor).

Same in Fusion (compositor) - adding a node clicking in empty space will add
it on its own, clicking on an existing node will insert it after that node
in the stream.

Matt


On Mon, Jul 18, 2011 at 3:37 AM, Daniel Salazar - 3Developer.com 
zan...@gmail.com wrote:

 This should not come back as it was. Some specific cases like the mix
 node can be an exception but the rest is just total madness

 Daniel Salazar
 3Developer.com



 On Sun, Jul 17, 2011 at 11:33 AM, PabloVazquez.org venom...@gmail.com
 wrote:
  Its been a topic for a while already, but in my perspective, -1 on this.
 
  In 2.4x was more intuitive, adding a Mix node with two nodes selected
  (say two rgbcurves) will automatically connect them, saving time, of
  course would be better if they connect in the order we select them, so
  is more predictable but still was better than now only connecting with
  the active node.
  Another example, adding a Separate RGB then Combine RGB node would
  connect all of the inputs/outputs in 2.4x, not the case in 2.5x.
 
  I know is easier to remove than to fix, but at least should be a
 preference.

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Can we please stop breaking APIs?

2011-07-17 Thread Campbell Barton
On Mon, Jul 18, 2011 at 2:17 AM, Knapp magick.c...@gmail.com wrote:
 I think it is clear what is needed.

 Devs:
 Devs retaining the freedom and flexibly to continue to innovate and improve
 blender without being boxed in by old stuff, standards and crud.
  (I am sure without having to document it would be wonderful too! :-)).

 Programmers / Users:
 Documentation of changes that are clear and easily available. Perhaps they
 should ship with the product. Perhaps the change of the intro graphic would
 be a signal to watch out for changes?

 A transition period for that change to take effect that throws
 deprecation warnings during which old and new should continue to work. No
 one has addressed how long this should be. Should it be 6 months? That would
 make it one Ubuntu cycle. Or maybe 12 months? That should be enough time for
 anyone.

Throughout this discussion deprecation has always been an option and
something we agree can be used at times, my main concern is that we
deprecate stuff and don't remove it as happened with 2.x time frame
for removal - every second release?, whatever it is we need to be able
to manage it but I think a year is too long.

I am not trying to be difficult here, but there are cases it doesn't
really make sense or isn't likely to even help much.

- Operator arguments, which are effectively a part of the api since
for example exporting an object to some file format depends on them,
many scripts use operators, any change to an operator argument could
break a script. Also consider we never really standardized on these,
even now I need to go over all importers and exporters and make their
arguments consistent with eachother.

- API's which are mostly for internal use - eg: `addon_utils.enable()`
may need to have keyword arguments modified, `rna_info` module which
is used for document generation may need to be changed too. I think
its fair to say their are our own internal apis which are not likely
to be used by extensions and we can keep updating these making
breaking changes when needed - because they are written for a very
specific purpose, they are also not apart of our api docs.

- RNA attributes, in this case I think its fair to separate things
like bpy.context.scene.objects from
bpy.context.user_preferences.filepaths.use_save_preview_images, where
accessing some very specific settings, changes in user preferences
IMHO are acceptable without long discussions + deprecation +
documentation, this goes for some other areas of the api which are not
likely to be used by scripts, rna access to logic bricks, some parts
of our windowing api.

- Remove modules which are not used, sometimes we think to add utility
modules which don't end up getting used at all, (even remain
non-function and buggy in a recent instance), in this case its just
not useful to deprecate IMHO.


To allow changes in these areas to me this is pragmatic  common
sense, but it does go against the don't break the api mantra.

 It was said that an API is not a language but really for anyone that
 programs in it all day long, it is. Changing it is in effect changing the
 language that the programmer has to work in, often in annoying pointless
 ways (at least to the programmer). I see it like saying printf is not part
 of c language, its just a function, but we all know it is and changing it
 would really piss off a lot of people.

Agree with this for core functionality, 'bpy', 'bpy.props',
'bpy.context', 'mathutuls', 'mathutils.Vector', ''... but further
there are too many details that may change in sub modules.

 Change is good when it is progress and results in a better product. We are
 all willing to put up with that but we don't like changes that do not appear
 to benefit us. I know that sadly we programmers do not know the benefits
 that the changes bring us because they are often hidden but we do know the
 pain of it when they get in our way and slow us down and piss off our bosses
 and customers.

Sure but its subjective, my main concern is that we give an api which
is misleading in its implementation.
With newer developers you see mistakes because if misunderstandings
about how the api works.

I clearly remember being fed-up with the 2.4x api and having to read
its source code more then the api reference because it was just very
confusing as to how the api was meant to work.

While not every change is to this end, heres an example of how
bgl.Buffer.list was confusing.

# this does nothing (creates a list, modifies it and throws it away)
buf.list[0] = 1, 2, 3

# this _does_ do something, since the list is made up of wrapped data
buf.list[0][0], buf.list[0][1], buf.list[0][2] = 1, 2, 3

# So using a function in this case makes it more clear that the return
value doesn't hold a connection to the original data.
# a python developer can see that this function performs a conversion
rather then accessing internal data as is common with attributes.
buf.to_list()[0] = 1, 2, 3

# Now .to_list() is not an equivalent of 

Re: [Bf-committers] Can we please stop breaking APIs?

2011-07-17 Thread Matt Ebb

 I am not trying to be difficult here, but there are cases it doesn't
 really make sense or isn't likely to even help much.


I agree, the situation isn't as simple as don't change anything at all,
and to clarify, that's not what I was saying, so I'm sorry if that's how it
was interpreted. But it's also not as simple as blender is in development
so anything is up for grabs and can change at any moment for whatever
reason. I'm also not saying that improvements, like this buffer one,
shouldn't happen - the main thing is that things don't just suddenly get
*broken*.

There are varying levels of necessity for things to change, and they need to
be treated differently, but with as much sensitivity as possible to the
peopel affected by the changes.

For example, it could be:

* Big structural refactors internal to blender: There's not much (like
deprecation) that can be done here other than give as much advance warning
as possible on mailing lists, blender release notes pages. Same with if an
operator gets changed drastically and has new properties

* Changes like this recent buffer one: Add the new method of access and
deprecate the old one for a blender release or two.

* Changes to naming or organisation for consistency or 'niceness': Perhaps
rather than change bit by bit, putit off for a while and gather a big list
with advance warning and do a whole bunch of changes simultaneously (like
what happened earlier with the big rna name reshuffle), ideally deprecating
old versions for a release or two. If just changing a couple of names,
definitely deprecate. Like you say, also good to take likelihood of usage
into account, i.e. don't rename something that's commonly used just for the
hell of it.

On Mon, Jul 18, 2011 at 1:59 PM, Campbell Barton ideasma...@gmail.comwrote:

 Throughout this discussion deprecation has always been an option and
 something we agree can be used at times, my main concern is that we
 deprecate stuff and don't remove it as happened with 2.x time frame
 for removal - every second release?, whatever it is we need to be able
 to manage it but I think a year is too long.


I agree, 6 months (especially if the attempted 3 month release schedule can
be maintained) should be enough. The main thing is that things don't just
break immediately.

The value of deprecation is that it allows and empowers people to manage
change themselves, and manage their time spent on it. Say you're a TD in a
studio and have a bunch of custom python tools written. A new blender
version comes out, you test it for a bit, and all is well. After you've used
it for a little while you're in the middle of a project and then one of your
less-often-used tools that an artist wants to use has broken because of some
little change. This is really annoying and messes up your project
management, since it forces you to stop what you're doing and spend time on
fixing things immediately in order to continue, losing time on your job.
When stuff like this happens, no matter how 'small' the change, it's really,
really annoying.

If that change was deprecated instead, perhaps you'd get a little warning
icon in blender's reports header. Then you can say right, I'd better change
that soon, I'll do it right after this deadline when I've got a bit more
time. It gives you the ability to manage the change yourself and fix things
on your own schedule.

I'd also like to make the point that using as much deprecation as possible
(with reporting internal to blender, in the console, reports header, etc) is
the best way to go. Announcing and warning on mailing lists like bf-python
is also great, *additionally*, but it shouldn't be a requirement of using
blender to be signed up to all these mailing lists and reading all the
discussions that happen inside. I try my best to stay as involved as
possible these days but even I have trouble keeping up with things,
especially when busy with 'real work'.

cheers

Matt
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Blender developer IRC meeting notes, july 17 2011

2011-07-17 Thread Matt Ebb
On Mon, Jul 18, 2011 at 2:57 AM, Ton Roosendaal t...@blender.org wrote:


 - Question, how is Ocean Sim coming? Todd McIntosh or Matt Ebb know!


Hasn't been changed since my work on it finished earlier in the year. I
brought it up to date with SVN a month or two ago, but that's as far as it
goes. It's mostly in a good state, but there's also some code that should be
cleaned out. I'm happy to give any assistance I can to someone that's
interested, but I have no time of my own to spend on it at the moment.

Matt
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers