[Bf-committers] New feature: Console output space type (requestfor input).

Matt Ebb matt at mke3.net
Fri Apr 21 03:22:28 CEST 2006


Hi,

Putting the console inside Blender is excellent, I'm really excited  
to see it and it's long, long overdue. I've made some replies to  
people below, but the main thing that interests me is that it is a  
good step towards a decent error & notification API - printf() is  
just not good enough.

Right now, it's an all or nothing affair. There is no kind of  
categorisation or prioritisation of messages that go to the console  
meaning that your super important error report can easily get lost  
among pages of rendering stats or python prints. It makes it very  
hard to draw attention to important information, and it also makes  
developers hesitant to report a lot of information lest it take over  
the console output.

Rather than simple printf it would be great to see something like  
BIF_Notify("message here", PRIORITY_URGENT) or BIF_Error("message  
here", PRIORITY_HARMLESS) or BIF_Log("message here", LOG_RENDERSTATS)  
or BIF_Debug("message here") or whatever. Messages could be  
categorised, which would then mean that they can be marked with  
different colours or icons in the console to make it easy to find,  
and the console could have options to filter various kinds of  
messages. So if you're not interested in Python progress messages but  
you are interested in detailed statistics from your render job, you  
could set it up that way.

Such categorisation could mean that there is much more room for more  
detailed messages and reporting (i.e. joeri's example here http:// 
www.blender.org/forum/viewtopic.php?p=50232#50232 ) since it would be  
filtered, people wouldn't have to be shown all of that by default, so  
all sorts of interesting messages and statistics could be available  
as options.

Another very cool thing if this existed as a proper API would then be  
the possibility to integrate with notification systems like Growl  
( http://growl.info/ ) or whatever else does the same on non-Mac  
platforms, so you could generate events in the OS based on Blender  
activity. For example users could very easily set things up like show  
a notification bubble or play a sound or run a program when a  
background render finishes, or a Python script -stops running, or  
whatever. It could be extremely useful.


On 21/04/2006, at 00:54 AM, Gilbert, Joseph T. wrote:

> 1) You killed the output window.

That is the whole point of it, and it's great to see it go (by  
default at least - it should definitely still be available as a  
command line option or even a .b.blend preference?). Although the  
target audience of people on this list probably love it, the console  
is a huge source of trouble for a lot users* [1], it gives an ugly  
and archaic impression of Blender (deserved or not) but for the most  
part it's just totally ridiculous that Blender is not showing error  
messages to users *from Blender itself*. The "Python script error:  
Check console" is just nuts. "Hey, there's a problem, I know what it  
is, but I'm not going to tell you. You have to go down the road  
somewhere that's different depending on where you live, and I can't  
tell you where that is either". And people wonder why Python script  
tools aren't treated as first-class Blender citizens...

> On linux
> (and I assume on the mac) it's useful to run blender from a  
> commandline
> and get debugging output send to stdout in the terminal.

The vast majority of users don't care at all about debugging output.  
They care about error messages and notifications, that Blender should  
be providing itself.

What even makes it even worse as a way of providing errors (a support  
mechanism) is that it's horrible to support. Each of the major  
platforms do it differently - Windows has the 'dos window' as people  
like to call it, Linux and Mac can be different depending on how you  
launch Blender - 99.9% of Mac users will launch it from an icon on  
the dock, meaning that in order to see console output you run the  
separate 'Console' application which shows the system console log.  
Linux users who run it from an icon installed by their distro may not  
see anything, leaving those who run it from a console.

Bringing the console into the realm of Blender's non-overlapping  
window system means a consistent user experience for all platforms,  
and also the flexibility that Blender's window system brings (i.e.  
just show the header, or allow users to do things like put the  
console in another Screen, with it a hotkey press away)

> b) Would be nice if there was some message/prompt to let you know that
> this black screen is an output device.

I'd personally love to see this function as a combined status line /  
temporary error and notification area (as in Wings, Modo, Maya, XSI,  
Lightwave, Shake, etc..) I did some mockups for such a thing a while  
ago using the info header, but perhaps the console header could do  
such a thing as well: http://mke3.net/blender/interface/interaction/ 
statusline_error.png http://mke3.net/blender/interface/interaction/ 
statusline_loopcut.png

> c) It would be a nice (possibly future) feature to save output to a  
> log.
> A little like IRC chat logs, for the reason that output will get lost
> after X numbers of lines of output.

Yes, this would be great. And could potentially be a lot nicer for  
debugging and crash reporting since it would persist across different  
sessions, etc. not to mention stats junkies (How many times did  
Blender crash in the last week?)

On 21/04/2006, at 03:28 AM, Toni Alatalo wrote:

> please be sure to also make it so, that in -b background the normal  
> stdout
> option is enabled by default.

Agreed - would be rather silly to report messages to a window that  
doesn't exist :)

cheers

Matt



[1] Just a quick browse turned up this:
http://blenderartists.org/forum/showthread.php?p=603872
http://blenderartists.org/forum/showthread.php?t=64387
http://blenderartists.org/forum/showthread.php?t=63893
http://blenderartists.org/forum/showthread.php?t=63562
http://blenderartists.org/forum/showthread.php?t=64945
http://blenderartists.org/forum/showthread.php?t=64884
http://blenderartists.org/forum/showthread.php?t=64375
http://blenderartists.org/forum/showthread.php?t=63237


More information about the Bf-committers mailing list