[Mypaint-discuss] Fwd: [CREATE] A big LGM 2015 announcement

2015-03-17 Thread Jon Nordby
The program for Libre Graphics Meeting 2015, in Toronto, Canada is now out.

I'll be there this year, though not talking about MyPaint, but imgflo and
related work. http://www.imgflo.org/
Anyone else from the MyPaint community going?

-- Forwarded message --
From: ginger coons gin...@adaptstudio.ca
Date: 16 March 2015 at 22:50
Subject: [CREATE] A big LGM 2015 announcement
To: CREATE cre...@lists.freedesktop.org

Announcing Libre Graphics Meeting 2015

April 29th - May 2nd, University of Toronto, Canada

For its 10th edition, Libre Graphics Meeting is looking back at the
achievements of Free/Libre and Open Source software for artists and
designers. We're also looking forward, at the developments coming in the
next decade.

Since its first edition, held in Lyon, France, in 2006, Libre Graphics
Meeting has been bringing together software developers, artists, designers,
users and other contributors to Free/Libre and Open Source graphics
software. For its tenth edition, Libre Graphics Meeting heads to Toronto
for four days of talks, workshops, hack sessions and meetings.

Developers and prominent users of software projects like Inkscape, Gimp,
Scribus, Fontforge, My Paint, Blender, and Krita—among many others— come
together to show off their projects and discuss them with the larger Libre
Graphics community. Not only is Libre Graphics Meeting an exciting and
motivating moment for developers and users of all kinds, from typographers
to illustrators, designers and video artists, it's is also a unique moment
for users and developers of free software to collide and share ideas beyond
the confined space of mailing-lists, bug trackers or forums.

2015 is going to be an exciting year for LGM. The program, available online
now (http://libregraphicsmeeting.org/2015/program/), is packed full of
talks and workshops, from new methods of type design to animation, as well
as plenty of time built in for informal collaboration and discussion. As
well as the four scheduled days, LGM 2015 will also feature pre-event work
sessions and hackathons, including the Inkscape Hackfest, which will allow
developers of the popular vector graphics software to get together and do
concentrated work.

LGM is open to the public, and registration is free (visit to
http://libregraphicsmeeting.org/2015/register/ to register). Even if you
don't plan to attend LGM, you can always help us fund the costs of bringing
contributors to this invaluable meeting. Our annual fundraising campaign (
https://pledgie.com/campaigns/28155) helps support the travel costs of
contributors travelling to attend LGM. If you're a user or just a fan of
Free and Open Source Software, please consider donating as a way to say
Thank You! to the developers of these projects. All contributions will be
used to reimburse those who travel to Toronto to make our software better.

The tenth edition of Libre Graphics Meeting will offer a unique look at the
achievements of the last ten years of the Libre Graphics world, and opens
the door for more great things in the years to come. So if you are an
artist or developer interested in Free and Open Source tools, don't miss a
chance to participate in this unique and itinirary event held this year in
the beautiful city of Toronto. You will learn how those tools are reshaping
the way artist work and have the opportunity to share your ideas with some
of the most interseting people of this community.


About Libre Graphics Meeting
Libre Graphics Meeting (LGM) is the annual gathering of users and
developpers of Free and Open Source software for graphics, design, and
visual art. This unique event brings together different groups, usually
gathering around specific projects, online, via their mailing-lists or
forums. LGM has grown over the years to become an essential moment in the
lives of these diverse but interconnected communities. The discussions,
presentations and feedback available at LGM have had a positive impact on
the developpment of both the tools and their respective communities. The
event gives developers, contributors and users a chance to get together,
get things done, and come up with new ways forward.
http://libregraphicsmeeting.org

-- 
ginger all-lower-case coons
adaptstudio.ca
Phone: 647.865.7757
Skype: gingercoons
XMPP: gin...@adaptstudio.ca

___
CREATE mailing list
cre...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/create



-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] MyPaint Jenkins instance shut down

2015-02-11 Thread Jon Nordby
Hi,
just as a heads up. I've stopped the Jenkins instance[1] that used to be
running at http://ci.mypaint.org/jenkins
It was not very well maintained, and to my knowledge not much used either.

We still have CI on Travis, which is a superior service from both
usefulness and price perspective (free!):
https://travis-ci.org/mypaint/mypaint

Regards, Jon

1. https://mail.gna.org/public/mypaint-discuss/2012-12/msg00024.html

-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Issue#48 - Write from-source Windows build and install docs

2014-09-09 Thread Jon Nordby
It sounds like it was not extracted into the right directory. What is the
contents of the brushlib directory?

On 9 September 2014 15:17, Victor Westmann victor.westm...@gmail.com
wrote:

 Jon,

 hi. I downloaded the zip package of libmypaint under mypaint folder
 and then, after extract it, ran again the scons command.

 I got the following error:

 scons: warning: EnsureSConsVersion is ignored for development version
 File C:\Users\Victor Westmann\Desktop\mypaint-master\SConstruct, line 6,
 in m
 odule
 building for 'python' (use scons python_binary=xxx to change)
 using 'python-config' (use scons python_config=xxx to change)
 Delete([libmypaint-tests.so, libmypaint-tests.so, libmypaint.so,
 libmypai
 ntlib.so, libmypaint.a, libmypaint-tests.a, lib/_mypaintlib.so])
 Enabling i18n for brushlib in full application build

 scons: warning: Ignoring missing SConscript 'brushlib\SConscript'
 File C:\Users\Victor Westmann\Desktop\mypaint-master\SConstruct, line
 214, in
 module
 ImportError: cannot import name check_output:
   File C:\Users\Victor Westmann\Desktop\mypaint-master\SConstruct, line
 218:
 SConscript('./SConscript')
   File
 C:\Python26\Lib\site-packages\scons-2.3.3\SCons\Script\SConscript.py, l
 ine 613:
 return method(*args, **kw)
   File
 C:\Python26\Lib\site-packages\scons-2.3.3\SCons\Script\SConscript.py, l
 ine 550:
 return _SConscript(self.fs, *files, **subst_kw)
   File
 C:\Python26\Lib\site-packages\scons-2.3.3\SCons\Script\SConscript.py, l
 ine 260:
 exec _file_ in call_stack[-1].globals
   File C:\Users\Victor Westmann\Desktop\mypaint-master\SConscript, line
 4:
 from subprocess import check_output

 :(



 --Victor Westmann

 2014-09-08 21:57 GMT-03:00 Jon Nordby jono...@gmail.com:

 Ok. You can also download libmypaint repository as a .zip and unpack it
 info the brushlib directory.
 On Sep 9, 2014 2:31 AM, Victor Westmann victor.westm...@gmail.com
 wrote:

 Jon,

 I didn't. I just downloaded the whole MyPaint project as a ZIP package.
 I'll do it and let you guys know how did it go.
 Thanks!



 --Victor Westmann

 2014-09-08 21:27 GMT-03:00 Jon Nordby jono...@gmail.com:

 scons: warning: Ignoring missing SConscript 'brushlib\SConscript'

 Did you run git submodule update --init to bring in the brushlib?

 On 9 September 2014 00:24, Victor Westmann victor.westm...@gmail.com
 wrote:

 Hi folks,

 I really tried to help in this matter but I could not progress much. I
 stumbled upon this error here on Windows 32.

 scons: Reading SConscript files ...

 scons: warning: EnsureSConsVersion is ignored for development version
 File C:\Users\Victor Westmann\Desktop\mypaint-master\SConstruct,
 line 6, in module
 building for 'python' (use scons python_binary=xxx to change)
 using 'python-config' (use scons python_config=xxx to change)
 Delete([libmypaint-tests.so, libmypaint-tests.so, libmypaint.so,
 libmypaintlib.so, libmypaint.a, libmypaint-tests.a,
 lib/_mypaintlib.so])
 Enabling i18n for brushlib in full application build

 scons: warning: Ignoring missing SConscript 'brushlib\SConscript'
 File C:\Users\Victor Westmann\Desktop\mypaint-master\SConstruct,
 line 214, in
 module
 ImportError: cannot import name check_output:
   File C:\Users\Victor Westmann\Desktop\mypaint-master\SConstruct,
 line 218:
 SConscript('./SConscript')
   File
 C:\Python26\Lib\site-packages\scons-2.3.3\SCons\Script\SConscript.py, l
 ine 613:
 return method(*args, **kw)
   File
 C:\Python26\Lib\site-packages\scons-2.3.3\SCons\Script\SConscript.py, l
 ine 550:
 return _SConscript(self.fs, *files, **subst_kw)
   File
 C:\Python26\Lib\site-packages\scons-2.3.3\SCons\Script\SConscript.py, l
 ine 260:
 exec _file_ in call_stack[-1].globals
   File C:\Users\Victor Westmann\Desktop\mypaint-master\SConscript,
 line 4:
 from subprocess import check_output

 What should I do next? I'm not very skilled in this process but once I
 get pass this I'd be able to beautifully document all the steps I did so 
 we
 can put it on the project wiki pages. :)

 Cheers.



 --Victor Westmann

 ___
 Mypaint-discuss mailing list
 Mypaint-discuss@gna.org
 https://mail.gna.org/listinfo/mypaint-discuss




 --
 Jon Nordby - www.jonnor.com






-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Issue#48 - Write from-source Windows build and install docs

2014-09-08 Thread Jon Nordby
Ok. You can also download libmypaint repository as a .zip and unpack it
info the brushlib directory.
On Sep 9, 2014 2:31 AM, Victor Westmann victor.westm...@gmail.com wrote:

 Jon,

 I didn't. I just downloaded the whole MyPaint project as a ZIP package.
 I'll do it and let you guys know how did it go.
 Thanks!



 --Victor Westmann

 2014-09-08 21:27 GMT-03:00 Jon Nordby jono...@gmail.com:

 scons: warning: Ignoring missing SConscript 'brushlib\SConscript'

 Did you run git submodule update --init to bring in the brushlib?

 On 9 September 2014 00:24, Victor Westmann victor.westm...@gmail.com
 wrote:

 Hi folks,

 I really tried to help in this matter but I could not progress much. I
 stumbled upon this error here on Windows 32.

 scons: Reading SConscript files ...

 scons: warning: EnsureSConsVersion is ignored for development version
 File C:\Users\Victor Westmann\Desktop\mypaint-master\SConstruct, line
 6, in module
 building for 'python' (use scons python_binary=xxx to change)
 using 'python-config' (use scons python_config=xxx to change)
 Delete([libmypaint-tests.so, libmypaint-tests.so, libmypaint.so,
 libmypaintlib.so, libmypaint.a, libmypaint-tests.a,
 lib/_mypaintlib.so])
 Enabling i18n for brushlib in full application build

 scons: warning: Ignoring missing SConscript 'brushlib\SConscript'
 File C:\Users\Victor Westmann\Desktop\mypaint-master\SConstruct, line
 214, in
 module
 ImportError: cannot import name check_output:
   File C:\Users\Victor Westmann\Desktop\mypaint-master\SConstruct,
 line 218:
 SConscript('./SConscript')
   File
 C:\Python26\Lib\site-packages\scons-2.3.3\SCons\Script\SConscript.py, l
 ine 613:
 return method(*args, **kw)
   File
 C:\Python26\Lib\site-packages\scons-2.3.3\SCons\Script\SConscript.py, l
 ine 550:
 return _SConscript(self.fs, *files, **subst_kw)
   File
 C:\Python26\Lib\site-packages\scons-2.3.3\SCons\Script\SConscript.py, l
 ine 260:
 exec _file_ in call_stack[-1].globals
   File C:\Users\Victor Westmann\Desktop\mypaint-master\SConscript,
 line 4:
 from subprocess import check_output

 What should I do next? I'm not very skilled in this process but once I
 get pass this I'd be able to beautifully document all the steps I did so we
 can put it on the project wiki pages. :)

 Cheers.



 --Victor Westmann

 ___
 Mypaint-discuss mailing list
 Mypaint-discuss@gna.org
 https://mail.gna.org/listinfo/mypaint-discuss




 --
 Jon Nordby - www.jonnor.com



___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Build test No package 'json' found/mypaint: No such file or directory

2014-07-17 Thread Jon Nordby
Are you sure you installed all the dependencies?
In particular, package libjson0-dev or the equivalent on your distro?


On 17 July 2014 08:30, thadeusz l thadeusz...@gmail.com wrote:

 Hi there,

 I just followed this instruction

 https://github.com/mypaint/mypaint#build--install-linux

 on how to clone and run the MyPaint project. It works until I got to the
 point Build  test:. These are the results after I typed in the commands:

 pad@ubuntu:~/mypaint$ scons
 scons: Reading SConscript files ...
 building for 'python2.7' (use scons python_binary=xxx to change)
 using 'python2.7-config' (use scons python_config=xxx to change)
 rm -f libmypaint-tests.so libmypaint.so libmypaintlib.so
 rm -f libmypaint.a libmypaint-tests.a
 Enabling i18n for brushlib in full application build
 Could not find 'json-c' pkg-config, trying legacy 'json' instead
 Package json was not found in the pkg-config search path.
 Perhaps you should add the directory containing `json.pc'
 to the PKG_CONFIG_PATH environment variable
 No package 'json' found
 OSError: 'pkg-config --cflags --libs json' exited 1:
   File /home/pad/mypaint/SConstruct, line 203:
 brushlib = SConscript('./brushlib/SConscript')
   File /usr/lib/scons/SCons/Script/SConscript.py, line 614:
 return method(*args, **kw)
   File /usr/lib/scons/SCons/Script/SConscript.py, line 551:
 return _SConscript(self.fs, *files, **subst_kw)
   File /usr/lib/scons/SCons/Script/SConscript.py, line 260:
 exec _file_ in call_stack[-1].globals
   File /home/pad/mypaint/brushlib/SConscript, line 128:
 env.ParseConfig('pkg-config --cflags --libs %s' % ' '.join(pkg_deps))
   File /usr/lib/scons/SCons/Environment.py, line 1551:
 return function(self, self.backtick(command))
   File /usr/lib/scons/SCons/Environment.py, line 593:
 raise OSError('%s' exited %d % (command, status))
 pad@ubuntu:~/mypaint$ ./mypaint -c /tmp/mypaint_cfgtmp_$$
 bash: ./mypaint: No such file or directory
 ---

 Does anyone know how to solve this? Thanks in advance.

 ___
 Mypaint-discuss mailing list
 Mypaint-discuss@gna.org
 https://mail.gna.org/listinfo/mypaint-discuss




-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] A few fixes to improve third-party integration of libmypaint

2014-07-13 Thread Jon Nordby
Hi Jehan,
I responded on the pull request.
https://github.com/mypaint/libmypaint/pull/3


On 13 July 2014 15:13, Jehan Pagès jehan.marmott...@gmail.com wrote:

 Hi,

 I'm a GIMP dev. We may have met in LGM. Anyway I submitted a pull
 request on your github instance.

 1/ The first commit is a one-liner bug (but still important because it
 was breaking compilation of GIMP on linking). I guess there is not
 much to discuss about it.

 2/ The second commit (I wish github allowed me to make a separate pull
 request for it, but apparently it won't) is a request for change.
 Right now your CFLAGS is Cflags: -I${includedir}/lib@LIBNAME@
 It makes that we have to #include mypaint-brush.h. I believe this
 would be cleaner to #include libmypaint/mypaint-brush.h (which may
 work by chance if you installed libmypaint in the same prefix as
 other libs, but is not guaranteed). This way, we immediately see in a
 glimpse where an include comes from. Of course, you could say there is
 the mypaint- in the start of the file name, but then what about:
 #include glib/mypaint-brush.h
 Looks like a glib include!
 On the other hand, #include libmypaint/glib/mypaint-brush.h would be
 nicer in my opinion.

 Of course, that's a matter of choice and preference, not a bug. So
 that's up to you to decide whether you agree to this change. And we'll
 update GIMP accordingly.
 The first commit though, that would be nice if you could merge it. :-)
 Thanks!

 Jehan

 ___
 Mypaint-discuss mailing list
 Mypaint-discuss@gna.org
 https://mail.gna.org/listinfo/mypaint-discuss




-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Compiling libmypaint/brushlib as a dynamically linked library

2014-07-01 Thread Jon Nordby
How are you trying to build, and how does it not work?
You should be building directly in libmypaint repo (same as brushlib
dir in MyPaint), and brushlib_only=true is no longer neccesary.
I note that the README is a bit outdated on this point though...

On 1 July 2014 17:38, Chloride Cull chlor...@devurandom.net wrote:
 Doesn't create a shared library for me (except for the swig python
 library, as brushlib_only=true doesn't seem to work).

 On 2014-07-01 00:38, Jon Nordby wrote:
 scons use_sharedlib=true  ?

 On 30 June 2014 23:18, Chloride Cull chlor...@devurandom.net wrote:
 By default, compiling libmypaint creates an .a file for static
 compilation (AFAIK). Is it possible to directly compile as a .so file,
 so I can integrate it with a C# application, or do I need to build a
 shim in C?


 ___
 Mypaint-discuss mailing list
 Mypaint-discuss@gna.org
 https://mail.gna.org/listinfo/mypaint-discuss







-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Compiling libmypaint/brushlib as a dynamically linked library

2014-06-30 Thread Jon Nordby
scons use_sharedlib=true  ?

On 30 June 2014 23:18, Chloride Cull chlor...@devurandom.net wrote:
 By default, compiling libmypaint creates an .a file for static
 compilation (AFAIK). Is it possible to directly compile as a .so file,
 so I can integrate it with a C# application, or do I need to build a
 shim in C?


 ___
 Mypaint-discuss mailing list
 Mypaint-discuss@gna.org
 https://mail.gna.org/listinfo/mypaint-discuss



-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint brushlib (libmypaint) moved to separate repository

2014-04-09 Thread Jon Nordby
On 9 April 2014 02:46, Albert Westra odysseywes...@gmail.com wrote:
 Sorry, I'm referring to the quick setup script on the wiki which allows
 other users to test out the git version. However every time I run it, I'm
 getting an error about it missing libraries.

As mentioned, you need to run git submodule update --init after you
do git pull/rebase/merge.
If you get an error about public key when you do this, see
https://mail.gna.org/public/mypaint-discuss/2014-04/msg6.html

 #!/bin/bash
 # Installs MyPaint's dependencies.
 echo Enter password to install dependencies...
 if [ -f /etc/debian_version ]; then
   sudo apt-get update  sudo apt-get install git scons python-numpy swig
 libglib2.0-dev python-dev python-gtk2-dev python-cairo-dev libpng12-dev g++
 gettext liblcms2-dev libjson0-dev
 else
   sudo yum install git scons numpy swig glib2-devel python-devel
 pycairo-devel libpng-devel gcc-c++ gettext liblcms2-devel libjson0-devel
 fi

 # Makes two folders, one to store GIT clones, and one in which MyPaint will
 be installed.
 mkdir ~/mypaintdev
 git clone git://gitorious.org/mypaint/mypaint.git ~/mypaint-src
 cd ~/mypaint-src
 scons prefix=~/mypaintdev/ install

These two lines should not be neccesary. If they are let me know so we
can just fix it.
 ln -s ~/mypaintdev/lib/libmypaint-brushlib.so
 ~/mypaintdev/lib/mypaint/libmypaint-brushlib.so  # see next comment

 scons prefix=~/mypaintdev/ install  # not ideal, but making a symlink for a
 'missing' lib, then running scons again


 # Just lets you know that you've installed MyPaint into this folder.
 echo MyPaint is now installed in the mypaintdev folder in your home
 directory.


 # wait three seconds so the user can see the above message
 sleep 3

 # Launches the MyPaint installation.
 ~/mypaintdev/bin/mypaint

 In file included from lib/mypaintlib.hpp:13:0,
  from lib/mypaintlib_wrap.cpp:3086:
 lib/mapping.hpp:20:21: fatal error: mapping.h: No such file or directory
  #include mapping.h
  ^
 compilation terminated.
 scons: *** [lib/mypaintlib_wrap.os] Error 1
 scons: building terminated because of errors.

 So how would I modify the script so it can build the the mypaintlib into
 MyPaint itself?


 On Tue, Apr 8, 2014 at 5:34 PM, Jon Nordby jono...@gmail.com wrote:

 On 9 April 2014 01:10, Albert Westra odysseywes...@gmail.com wrote:
  So how will this effect the build script provided on the wiki? I tried
  to
  build the master, only to get an error.
 Which build script and what error?
 I've updated the README with the additional command that needs to be
 ran, git submodule update --init

 --
 Jon Nordby - www.jonnor.com



 ___
 Mypaint-discuss mailing list
 Mypaint-discuss@gna.org
 https://mail.gna.org/listinfo/mypaint-discuss




-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] MyPaint brushlib (libmypaint) moved to separate repository

2014-04-06 Thread Jon Nordby
Hi all,
as of yesterday the MyPaint brushlib lives in its own repository:
https://gitorious.org/mypaint/libmypaint/

The repository has all the history from the brushlib directory in
MyPaint repository.
MyPaint then uses this repository as a git submodule, at the same
location as before.
Until we have this library released and packaged in distributions -
that is the recommended method of using the library in other
applications.

There is currently a very basic build based on scons set up, see the
SConstruct file for available options.
Install of the library files is right now missing. We also need to
decide if the MyPaint brushes should also be distributed by the
library.
It is possible to just include libmypaint.c into ones own
application build instead of linking. For quick experiments this may
be the easiest way right now.

The minimal example is right now broken, but the GEGL backend has
been tested using Gobject introspection from Python
(examples/gegl.py).

Documentation is still TODO. Just ask for any questions :)

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Last git master - scons error

2014-04-06 Thread Jon Nordby
Hi Jose,
that was due to a bug of mine, sorry. The public key is not supposed
to be required.
Fixed now in master, but you will probably need a quick mod to fix the
error locally. See commit message below for how:

commit 44551e6cd1dc0322194f4a36825b4e7704595902
Author: Jon Nordby jono...@gmail.com
Date:   Mon Apr 7 00:56:59 2014 +0200

Use relative path for brushlib git submodule

This way the same protocol (git/https/ssh) is used for submodule
as the top-level repo, avoiding problems with fetching if you
don't have a ssh account on gitorious.
If you fetched before, you may need to delete the two lines in
.git/config which says:
[submodule brushlib]
url = g...@gitorious.org:mypaint/libmypaint.git

before re-running git submodule update --init




On 7 April 2014 00:07, José Américo Gobbo jag.rabi...@gmail.com wrote:
 well, I'm a common user with some skills but for me is a bit complex the new
 approach to create the git master on my box... ;-)
 Now with git submodule update --init is need the public key... in past
 I've tried to implement this but for me is a bit confuse these tasks, sorry.
 Normally I've used the git clone in a old style without problems... Now I'm
 not capable to resolve this step:

 jag@ubuntugnome:~/installs/mypaint-git-master-new$ git submodule update
 --initCloning into 'brushlib'...
 The authenticity of host 'gitorious.org (87.238.52.168)' can't be
 established.
 RSA key fingerprint is 7e:af:8d:ec:f0:39:5e:ba:52:16:ce:19:fa:d4:b8:7d.
 Are you sure you want to continue connecting (yes/no)? yes
 Warning: Permanently added 'gitorious.org,87.238.52.168' (RSA) to the list
 of known hosts.
 Permission denied (publickey).
 fatal: Could not read from remote repository.

 Please make sure you have the correct access rights
 and the repository exists.
 Clone of 'g...@gitorious.org:mypaint/libmypaint.git' into submodule path
 'brushlib' failed


  ... 

 J. Americo Gobbo [Painter and Illustrator]
 Website | Blog | Flickr | Twitter | Facebook



 On Sun, Apr 6, 2014 at 6:35 PM, Jon Nordby jono...@gmail.com wrote:

 Hi Jose,

 did you do git submodule update --init?
 This is required as of the latest couple of commits which moved the
 brushlib into its own subdirectory.
 Let us know if this fixes the issue or not!

 On 6 April 2014 22:25, José Américo Gobbo jag.rabi...@gmail.com wrote:
  Hi all,
  I've update my git master clone via git pull --rebase and I had this
  error
  during scons process:
 
  jag@ubuntugnome:~/installs/mypaint-git-master$ scons
  scons: Reading SConscript files ...
  building for 'python2.7' (use scons python_binary=xxx to change)
  using 'python2.7-config' (use scons python_config=xxx to change)
  rm -f libmypaint-tests.so libmypaint.so libmypaintlib.so
  Enabling i18n for brushlib in full application build
 
  scons: warning: Ignoring missing SConscript 'brushlib/SConscript'
  File /home/jag/installs/mypaint-git-master/SConstruct, line 201, in
  module
  swig -Wall -o mypaintlib_wrap.cpp -noproxydel -python -c++ mypaintlib.i
  rm -f _mypaintlib.so
  set umask to 0022 (was 0022)
  scons: done reading SConscript files.
  scons: Building targets ...
  g++ -o lib/mypaintlib_wrap.os -c -Wall -Wno-sign-compare
  -Wno-write-strings
  -fopenmp -O3 -pthread -fno-strict-aliasing -fstack-protector
  --param=ssp-buffer-size=4 -Wformat -Werror=format-security -g -fwrapv
  -O2
  -Wall -Wstrict-prototypes -Xlinker -export-dynamic -fPIC -DHAVE_GTK3
  -D_FORTIFY_SOURCE=2 -Ibrushlib -Ibrushlib/tests -I/usr/include/glib-2.0
  -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpng12
  -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0
  -I/usr/include/at-spi2-atk/2.0
  -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0
  -I/usr/include/cairo
  -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/harfbuzz
  -I/usr/include/freetype2 -I/usr/include/pixman-1
  -I/usr/include/pygobject-3.0
  -I/usr/lib/python2.7/dist-packages/numpy/core/include
  -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7
  lib/mypaintlib_wrap.cpp
  cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for
  C/ObjC but not for C++ [enabled by default]
  In file included from lib/mypaintlib.hpp:13:0,
   from lib/mypaintlib_wrap.cpp:3086:
  lib/mapping.hpp:20:21: fatal error: mapping.h: No such file or directory
   #include mapping.h
   ^
  compilation terminated.
  scons: *** [lib/mypaintlib_wrap.os] Error 1
  scons: building terminated because of errors.
 
   ... 
 
  J. Americo Gobbo [Painter and Illustrator]
  Website | Blog | Flickr | Twitter | Facebook
 
 
  ___
  Mypaint-discuss mailing list
  Mypaint-discuss@gna.org
  https://mail.gna.org/listinfo/mypaint-discuss
 



 --
 Jon Nordby - www.jonnor.com





-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo

[Mypaint-discuss] LGM2014 in Leipzig, 2-5 April

2014-01-23 Thread Jon Nordby
Hi everyone,
who plans to come to LGM this year?

achadwick and Animtim have already confirmed via IRC, and I will be
there as well.
Anyone else?

http://libregraphicsmeeting.org/2014

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] [PATCH] Improve GEGL example

2014-01-14 Thread Jon Nordby
Hi Manuel,

thanks for the patch! Pushed with a tiny modification:
 def configure_handler(self, widget, event):
-self.crop.set_property(x, event.x)
-self.crop.set_property(y, event.y)

Without it the background was offset by the position of the screen
position of the application window.

Note that here I am still seeing some missing updates to brush strokes
sometimes (line becomes discontinious for a small segment).
It was there before also, and I don't know if the issue is in GEGL,
GEGL-GTK or libmypaint. It becomes correct if something causes a
redraw of the widget/area, which makes me think it is not libmypaint.

On 14 January 2014 20:57, Manuel Quiñones ma...@laptop.org wrote:
 Hi Jon,

 I managed to remove the glitch while drawing.  Patch attached.

 Cheers,

 --
 .. manuq ..



-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Fwd: [CREATE] Only 3 days left to submit your proposal for LGM!

2014-01-12 Thread Jon Nordby
Don't forget, we want you at Libre Graphics Meeting in Leipzig in April!

-- Forwarded message --
From: Femke Snelting snelt...@collectifs.net
Date: 12 January 2014 20:53
Subject: [CREATE] Only 3 days left to submit your proposal for LGM!
To: Create ML cre...@lists.freedesktop.org


The deadline for submitting proposals to LGM is Wednesday 15 January.
Please don't forget to submit your proposal for a talk, workshop or
meeting here: http://libregraphicsmeeting.org/2014/submit/

If you are planning to join us at LGM this year in Leipzig, you are
welcome to sign up: http://libregraphicsmeeting.org/2014/register

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] stroke_to() simultaneously

2013-12-27 Thread Jon Nordby
On 27 December 2013 17:16,  pured...@11h11.com wrote:
 hi all,

 i am controlling mypaint via pure data (pyliblo - osc). would like to make
 some kind of animation (playing back / looping a freehand drawing) - that
 part is working (recording the tablet information in pure data and sending
 back this data via osc to mypaint / stroke_to).

 is it possible to have multiple stroke_to being use at the same time (with
 different brush / color)? maybe there's a way when using different layers?

In theory, from the brush engine perspective, it should just work.
But I am not sure anyone has actually tested it before :)

You need to instantiate one lib.brush.Brush per brush you want, and
set them up with the different brush settings (for instance using
lib.brush.BrushInfo). This is done in lib/document.py for the one main
brush MyPaint has now.

Once you have that, you should be able to call stroke_to() on each of
them. Using the same surface (the surface is the part of the layer one
paints to) should be fine, but I would first try to call
start/end_atomic() around each stroke_to() call. If that works, try
moving all the stroke_to() calls inside a single begin/end_atomic()
pair.
The current code for this is in lib/layer.py

 btw, i know that mypaint is not made for this kind of hack, but i like the
 render of it and the fact that it's coded in python (so at least i was able
 to add pyliblo to it).
Nah, but libmypaint (with or without GEGL) should be able to do it
easily. Right now its not nice so because the proper backends we have
and renderers for it is a bit of work to set up.
I assume you mainly want to use the canvas and drawing aspects of MyPaint?

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Fwd: [LGRU] LGM 2014 in Leipzig: Submit a presentation!

2013-11-27 Thread Jon Nordby
-- Forwarded message --
From: Femke Snelting snelt...@collectifs.net
Date: 27 November 2013 06:51
Subject: [LGRU] LGM 2014 in Leipzig: Submit a presentation!
To: l...@lists.constantvzw.org


The Libre Graphics Meeting 2014 will take place 2. – 5. April 2014 in
Leipzig, Germany.

This yearly event is an occasion for projects and individual
contributors/artists from all over the world to work together, to
share experiences and to hear about new ideas.

By Libre Graphics we mean Free, Libre and Open Source tools for
design, illustration, photography, typography, art, graphics, page
layout, publishing, cartography, animation, video, interactive media,
generative graphics and visual live-coding. The Libre Graphics Meeting
is not just about software, but extends to standards, file formats and
actual use of these in creative work.

We are looking for:

- In-depth presentations on Libre Graphics technologies
- Showcases of excellent work made using Libre Graphics tools
- New projects in this area to meet the wider community
- Reports, use-cases, best practices
- New emerging media; breaking free from analog constraints
- Well articulated ideas for future approaches, tools and standards

Available formats (including questions):

- Lightning talk (10 minutes, selected at the event unconference style)
- Presentations (20 minutes extendable to 40 minutes)
- Entry for State of the Libre Graphics Union (1-2 slides)
- Workshops (2 hours or more)
- Birds Of a Feather (BOF), discussion meetings or Hackathons (2 hrs or more)

More information: http://libregraphicsmeeting.org/2014/?page_id=165
Submit your proposal here: http://libregraphicsmeeting.org/2014/?page_id=85
___
LGRU mailing list
l...@lists.constantvzw.org
https://listes.domainepublic.net/listinfo/lgru


-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Howto performance tests

2013-10-17 Thread Jon Nordby
On 17 October 2013 09:59, David Revoy davidre...@gmail.com wrote:

 On Tue, Oct 15, 2013 at 11:21 PM, Jon Nordby jono...@gmail.com wrote:

 Hi David,
 please scream loudly when things change in master that cause problems
 for your workflow. Quick feedback from artists is critical for us.


 Hi Jon !
 Ok, I'll do it :-)

Thanks!


 To confirm: Between these two screenshots, you only changed MyPaint
 version right? No changes to GTK+ version or anything else?

 Yes, I only changed from Mypaint 1.1 package from :
  - 1st version : installed from pacman arch repo ; version 1.1
  - 2nd version : cloned git repo, get the dependencies and built Mypaint Git
 ( also removed with pacman 1.1, and moved ~/.mypaint to ~/.mypaint-old to
 avoid conflict )
 My system / Gtk version was the same in both test. Other main workstation
 here got Manjaro default's Xfce desktop. Same results ( and same packages
 versions ).

I completely forgot that 1.1 uses GTK+2, so that of course explains
the difference.



 Could you test a small thing for me on git master? (remember that you
 don't have to install it, can just run straight from source
 directory).

 Sure, I did all the test. I prefered to 'scon clean' and reinstall each time
 to ensure the change was really done when I ran Mypaint.
 Here are the results ( screenshoted )


 In gui/canvasevent.py change
 MOTION_QUEUE_PRIORITY = gobject.PRIORITY_DEFAULT_IDLE

 http://i.imgur.com/efvqJj4.jpg


 MOTION_QUEUE_PRIORITY = gobject.PRIORITY_HIGH_IDLE + 10

 http://i.imgur.com/C0WIhXT.jpg

 MOTION_QUEUE_PRIORITY = gobject.PRIORITY_HIGH

 http://i.imgur.com/BDVFUec.jpg



 Does that make the performance any better?

 The three experiences , as you see on the screenshot were similar. At least
 on a 'feeling' point of view.

Thanks for testing. Looks like there is not much to gain, at least not
when the system is not heavily loaded.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Howto performance tests

2013-10-15 Thread Jon Nordby
On 9 October 2013 11:32, David Revoy davidre...@gmail.com wrote:
 Hi,

 I was away Mypaint testing since spring ( few weeks after LGM ) , because I
 experienced more and more problems with master , keeping around during
 weeks, and it was too hard to follow in production. I decided to build
 Git-master this morning, and run new test. ( attracted by emails from
 mailing-list, and a PM poke from José Américo Gobbo  ).

Hi David,
please scream loudly when things change in master that cause problems
for your workflow. Quick feedback from artists is critical for us.


 Here are my observations, painting on Git-master :
 http://i.imgur.com/navr8HE.png
 ... output lines are angular, laggy and not precise. The lines display fast
 ; but it's like all the coordinate of the stylus were crunched on the way ,
 or were being recorded without sufficient frequencies.

 So, I uninstalled, cleaned the folders , and put 1.1 back from Arch package
 ( 1.1 got also an annoying issue for me in cursor size and offset who got
 solved in master , I think I'll build a git~master a bit post 1.1 soon for
 my personal use)
 Same sketch on 1.1 to compare :
 http://i.imgur.com/wybB5Mi.png
 Smooth lines are back, and very sync to what gesture I have in mind. No
 angular breaks observed, even drawing speedly.

To confirm: Between these two screenshots, you only changed MyPaint
version right? No changes to GTK+ version or anything else?

Could you test a small thing for me on git master? (remember that you
don't have to install it, can just run straight from source
directory).

In gui/canvasevent.py change
MOTION_QUEUE_PRIORITY = gobject.PRIORITY_DEFAULT_IDLE
to
MOTION_QUEUE_PRIORITY = gobject.PRIORITY_HIGH_IDLE + 10
or even
MOTION_QUEUE_PRIORITY = gobject.PRIORITY_HIGH

Does that make the performance any better?

 Maybe it's a local bug... I hope. Because it makes my local experience made
 of frustration, and make me sad, because I was used to Mypaint Git-master
 very stable and usable since 2009. I hope it's only a local observation, and
 it can be solved !

Everything can be solved :) And from the information you gave it even
looks like the problem is in MyPaint itself, so it should not be too
hard.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] fresh-instal

2013-10-09 Thread Jon Nordby
On 9 October 2013 16:34,  uga...@talktalk.net wrote:
 Hi

 I am running MyPaint on a Mac OSX v10.6.8 and I find I am unable to instal a
 fresh version of MyPaint.

 I have tried deleting both the application together with the complete
 opt/mypaint directory.

 On re-installing, history is retained in new version.

Hi,
which version of MyPaint is this, and where have you installed it from?


-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] brushlib with GPU

2013-10-08 Thread Jon Nordby
On 7 October 2013 00:36, brdavs brd...@yahoo.com wrote:
 Hi Jon,

 Thank you very much for your kind reply.

You are welcome. I'm keeping the mypaint-discuss mailing list CC'ed so
others can follow as well.


 I have several questions / comments:
 1. Why do you think that OpenCL is a better solution
 than doing it purely in OpenGL?

 One problem I see is that if you are drawing a lot of
 small dabs, OpenCL will probably be very inefficient,
 because you won't be doing much work for each dab.
 You'll be launching a kernel a lot which is not negligible.

OpenCL is a more general programming model, hence it will probably be
easier to translate existing code and concepts in a meaningful way.
Also, I've programmed GPUs in this manner before (using CUDA) - where
as I've never done non-trivial OpenGL.
If one can make it work in OpenGL/GLSL, that would probably be ideal.
Both from performance and availability perspective. Any ideas how to
realize the algorithm there would be very welcomed!


 In addition to a surface backend, you will likely want a way to
 display the surface on screen - so that is the other thing that needs
 implementing. This could/should be OpenGL based, using the
 OpenCL+OpenGL interoperability if the surf backend is in OpenCL.

 For making full advantage of such a backend in MyPaint itself, one
 would also have to implement layers etc. on the GPU side.

 2. Even if you can batch a bunch of dabs together, the dabs will overlap
 and you would have to resort to atomic operations (slower) for proper
 blending.

The CPU backend has an operations queue in which dabs are batched, in
a tile-wise manner. See operationsqueue.c and mypaint-tiledsurface.c
No concurrency is attempted between individual dabs, ordering is
preserved by the queue. Threads work on individual tiles, with no
syncronization necessary between them.

On the GPU one would ideally like that every (output) pixel is
computed concurrently without sync. One could perhaps apply the same
queuing principle, but probably use a vector for the depth - and store
the queue suitable for consumption by individual thread warps (16/32
on GPUs I am used to).

But, starting with the naive one-kernel-per-dab approach is probably
the best. Once we have that we can think of smarter ways of doing
things.


 3. Is there a super simple working example of the brushlib
 painting a (hardwired) stroke with a configurable brush?

 I would be interested in trying a few simple things in
 OpenCL (no tiling, etc.) and would be good to have
 a simple starting point in C/C++ and a reference
 implementation.

Sadly the minimal.c example is broken right now. The API usage as
shown is fine, its just the simple surface that is borked - wrong
buffer stride handling in the backend. I will have a look at fixing it
up later, but I would not wait for it.
For GPU things, you'll need a lot of additional scaffolding (OpenCL
setup etc), so maybe copy minimal.c and start adding that. I suggest
you put the code in a subdirectory as it will have extra dependencies,
for instance brushlib/cl/.

 BlackInk seems to have a very impressive paint engine inplemented
 on the GPU:
 http://www.bleank.com/BlackInk-a115.html


 Marko




-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Howto performance tests

2013-10-06 Thread Jon Nordby
On 6 October 2013 21:09, José Américo Gobbo jag.rabi...@gmail.com wrote:
 I've did the test on new box with ubuntu gnome 13.10 devel, the git version
 is 1.1.0+git8cbd0ad
 I've synchronized yesterday with the MyPaint Git Master.

 While the test ran on terminal many errors have occurred because didn't find
 the 'Mypaint_Default.gpl' on /palettes.
 But the palette name and /palettes folder were OK.

Yes, I just ran the test myself and it was broken. Quick hack is to
change palettes to ../palettes in gui/colors/adjbases.py

 I'm interested to do this tests with two releases... the 1.1 Mypaint PPa and
 the last Git Master.
 For me seems that the last git master have delays in the brush strokes if I
 compare with 1.1 Mypaint PPa.
 The idea is to make tests in different distros with the same Mypaint
 releases.
 I've ubuntu gnome 13.10, elementary OS 0.2 and linuxmint 15 kde.

Yes, current git master have delays in brush strokes. See discussion
https://mail.gna.org/public/mypaint-discuss/2013-08/msg00011.html

Unfortunately the GUI perf tests do not pick up this regression.
Probably either cause they do not inject the input events high enough
in the stack, because they don't measure latency, or another weakness
in the test.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Attacking the angular brush strokes bug

2013-10-06 Thread Jon Nordby
On 6 October 2013 22:28, Jon Nordby jono...@gmail.com wrote:
 Seems that noone did this. However, popolon just recorded a video
 demonstrating the problem:
 http://popolon.org/cubieboard/mypaint.git.vs.mypaint.jonnorified.ogv
Video moved to
http://popolon.org/cubieboard/demos_video.201310/mypaint.git.vs.mypaint.jonnorified.ogv

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] brushlib with GPU

2013-10-05 Thread Jon Nordby
Hi Marko,

I do not know if anyone has actually tried to implement a GPU backend
- but it is something I've given quite a bit of thought. The idea is
briefly documented in brushlib/PERFORMANCE
https://gitorious.org/mypaint/mypaint/source/master:brushlib/PERFORMANCE

Blending of the dab onto the surface is the responsibility of the
MyPaintSurface backend. For the normal CPU tiled version, that code is
found in brushlib/mypaint-tiled-surface.c and brushlib/brushmodes.c.
Search for draw_dab_pixels_

In addition to a surface backend, you will likely want a way to
display the surface on screen - so that is the other thing that needs
implementing. This could/should be OpenGL based, using the
OpenCL+OpenGL interoperability if the surf backend is in OpenCL.

For making full advantage of such a backend in MyPaint itself, one
would also have to implement layers etc. on the GPU side.

On 4 October 2013 23:30, brdavs brd...@yahoo.com wrote:
 Hi,

 I have been browsing through brush engine in mypaint.
 I am wondering if anybody has tried to implement the
 backend in OpenGL/OpenCL.

 If I understand correctly, the only thing that is needed
 to get brush engine working is to implement GPU-backed
 MyPaintSurface with appropriate methods. Correct?

 One thing that is not immediately obvious to me is where
 does blending occur. Namely, when you draw a dab
 where does the blending occur? It seems that one would
 want that to be done on the GPU as well.

 Is there anything else that would have to be rewritten to
 take advantage of the GPU?

 Thanks,

 Marko



-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Attacking the angular brush strokes bug

2013-09-02 Thread Jon Nordby
On 23 August 2013 00:35, Jon Nordby jono...@gmail.com wrote:




 On 17 August 2013 21:45, Andrew Chadwick a.t.chadw...@gmail.com wrote:

 I'm trying to address

   https://bugzilla.gnome.org/show_bug.cgi?id=702392
   https://gna.org/bugs/?21003
   https://gna.org/bugs/?20822

 as much as we can in MyPaint by tweaking the way that we deal with
 stroke processing. We really need an upstream fix for this problem,
 but in the meantime there's stuff we can do to make the experience
 nicer for users of the new Gdk. Current work on it can be found at

   https://gitorious.org/mypaint/mypaint/commits/gtk3-stroke-queue

 and testing would be most welcome.


 Hi,
 sorry that I did not respond until now, after it has been merged. Also saw
 that a lot of GUI work went in, cool!

 Pupuser on #mypaint said that master appears much slower than 7e27a690
 on his machine.
 David Revoy also noted some apparent slowness in rendering with master. I
 have not tested much yet, both said they would follow up with more detailed
 info later.


Another user on IRC reported this now, see git log underneath. Can we
revert the patches?

werkbau Hm, hello. I use mypaint regularly, GIT version, but since the
latest update it's been behaving odd, to the point of being unusable. It's
like if every stroke was done with max slow tracking, even at zero.
werkbau Could I at least get a command or something to revert my local
repository to a previous version? I need it urgently :(
jonnor git checkout 7e27a690 -b nostrokequeue
werkbau Oh thank you very much.
werkbau let me rebuild and check how it works
jonnor yes, please let us know if that fixes the issue
werkbau Yes, it does!

-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Attacking the angular brush strokes bug

2013-09-02 Thread Jon Nordby
On 23 August 2013 09:25, a.l.e ale.comp...@xox.ch wrote:

 hi jon

 On Fri, Aug 23, 2013 at 12:35:56AM +0200, Jon Nordby wrote:

 I am still recovering from tendonitis in both arms, so I've been keeping
 computer stuff to a bare minimum the last couple of months.

 Hey Jon, if it's keyboard related, this helped me a lot:
 http://maxy.homeip.net/misc/kinesis.jpg
 Hehe, very cool.
 I have been using this for years now. Takes about two weeks to get used to.
 I even started to carry it forth and back from work, so now I have two.


 ping pum chack point point...

 Using Python to Code by Voice


 http://www.youtube.com/watch?v=8SkdfdXWYaI

 good luck with your recovering!

Thanks for the tips Martin and Ale! Will probably get myself a new
keyboard. Voice control is too rocket science I think :p But first I
should probably just take some weeks holidays with zero
keyboard/computer...


-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Major-ish UI updates pending: tabbed-workspace branch

2013-07-12 Thread Jon Nordby
On 11 July 2013 22:32, Andrew Chadwick a.t.chadw...@gmail.com wrote:

 Hi all --

 I've been working on some UI stuff recently: just pushed a preview to

 https://gitorious.org/~achadwick/mypaint/achadwick-mypaint/commits/tabbed-workspace
 for testing. It's quite involved, so I don't want to merge it just yet
 if folks are doing performance tweaks in master...

Probably there are not much changes in lib/, right? In that case I dont
think there is any conflict with the work I have ongoing.
But please do check that the changes do not introduce performance
regressions (by running tests/test_performance.py -a before and after)

* Dockable interface using standard GtkNotebook behaviour. Closer to
 GIMP's look.

 * Fullscreen management has changed. Sidebars, top and bottom bars,
 and floating windows containing dockable panels now auto-hide with a
 delay, and also auto-reveal when you mouseover or push a screen edge.

auto-show and auto-hide is very tricky to get right, are you sure you want
this to be default?

Also, regarding push on screen edge: wouldnt it be more interesting to use
this for moving the canvas?

* Tab now toggles auto-hide. It's a little crude, but it works: might
 need to be more customizable.

 * Reworks of (some) publish/subscribe interfaces. More syntax sugar,
 and lets both observed and observer objects die naturally
 (theoretically at least; PyGI/GObject doesn't in many cases)

 * Fairly major refits of the way palettes and brush groups work. Big
 parallels going on here in terms of concept and appearance: something
 for a future refactor?

I think brushes and backgrounds are even more similar, so a future
rethinking of the way this works.

Also, I am thinking more and more that the generic approach we take to
brush group management is not ideal. I suspect we would be better of with
just letting users favorite brushes easily, and that this would make them
available in a favorites / my brushes tab/whatever in the UI. Should be
possible to export/share this group, of course.

* Dockable tool widgets/panels/subwindows/bleh are registered the way
 Martin wanted, via an API call (namely setting __gtype_name__ in some
 future plugin's class definitions, but hey: it's an API call and it's
 a start). There's nothing written yet for register a new dockable in
 such-and-such a category.



 * Don't load all the backgrounds at startup.

Also exists in master since a week or two, be aware when merging.


 * Generally defer loading of dialog-type subwindows wherever we can.

 * Quite a few drag/drop fixes and other GTK3 niceties.

 * Additional sidebar on the left. More potential panels means more
 space, although tabs make space usage more efficient generally.

 * Footer bar showing the current mode and what pressing modifiers and
 pointer buttons will do, like Inkscape. Left+bottom corner gets the
 common colour controls; might so something similar for brushes in the
 right+bottom corner.

Is the footer on-canvas or a separate widget? (sorry for not just checking
myself, no buildenv on this machine)


-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] OpenMP support for MyPaint in master, testing wanted

2013-07-07 Thread Jon Nordby
On 7 July 2013 08:55, Martin Renold martin...@gmx.ch wrote:

 On Sat, Jul 06, 2013 at 07:28:53PM +0200, Jon Nordby wrote:
  I see that the paint and paint-rotated benchmarks have had a regression
  since 1.1 (due to GTK+3?). I pushed a commit which should help a bit, by
  caching the transformation matrix:
 
 http://gitorious.org/mypaint/mypaint/commit/4b0cf83174cfe0ef3c796b497df913a8e06560da

 Thanks a lot! I was getting a bit desperate when fixing the display bugs
 exposed by gtk3.9, and happy to have found a fix at all.  The code before
 fbec5171 (the benchmarked one) wouldn't have needed this caching, I think.




 where most things are limited by how fast we can fetch tiles from the tile
  store, ie: _get_tile_numpy() in lib/tiledsurface.py

 If this is really the per-tile overhead adding up, we can just increase
 MYPAINT_TILE_SIZE.  But looks like _get_tile_numpy() is doing a lot more
 than just fetching tiles.


Increasing the tile size is on option, but it will limit concurrency more
(as multi-threading is done on a tile-by-tile basis). It may also lead to
poorer


  Time spent in (and below) _get_tile_numpy() on my system:
  layerpaint_zoomed_out_5x: 48%
  brushengine_paint_hires: 35%
  paint_zoomed_out_5x: 52%

 Much more than I expected. I wonder if it could be all due to mip-mapping?
 But then again, mip-mapping should happen only once per displayed frame, I
 expected this to disappear in actual hi-res dabbing.


Well, because we always paint onto the surface which is mipmap level 0,
when we are
displaying zoomed out we have to.
One way of avoiding this would be to paint at the same mipmap level as we
are displaying,
but this requires us to be able to re-render past strokes when user zooms
in again. Tricky,
but not impossible as we can now store paint operations efficiently (in an
OperationQueue).

I am attaching the callgraps (from tests/test_performance.py -c 1 -s TEST)
here.
layerpaint_zoomed_out_5x: http://i.imgur.com/OZcBjXG.png
brushengine_paint_hires: http://i.imgur.com/qj1o5vO.png
paint_zoomed_out_5x: http://i.imgur.com/e13IKV4.png

As you can see there are three problem spots:
1. computing dirty mipmaps
2. marking tiles as dirty
3. time spent in get_tile_numpy itself

1) is something that we could improve through multi-threading, like we do
with tiles while painting.
This requires that we batch up the tiles to be processed and hand it over
to C++, as one cannot call into Python from multiple threads concurrently.
I attempted to do that, but due to added complexity on Python side, it
turned out slower.
http://gitorious.org/~jonnor/mypaint/jonnors-clone/commits/mipmap-cpp
Alternative approaches to this would be appreciated.

2) Could maybe be improved by changing mark_mipmap_dirty to not be
recursive, but instead just iterate over the list of mipmap surfaces and
doing surface.tiledict[(tx, ty)] = mipmap_dirty_tile, on each?
Hmm, or maybe we can return early in some cases. If a tile is the
mipmap_dirty_tile, then sure all of the tiles above it will also be
already, so no need to redo it? *goes to tests*

3) Perhaps avoding recursion could help here to? Apart from that I don't
have many ideas...

I am experiementing with moving all of this code into C/C++, so that no
trip into Python is needed per-tile
http://gitorious.org/~jonnor/mypaint/jonnors-clone/commits/tilestore-cpp
This is also an exploration of how we can back the surface in MyPaint with
something else than the current implementation (I am thinking GEGL here),
as I am still not certain how to approach that.

-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] OpenMP support for MyPaint in master, testing wanted

2013-07-07 Thread Jon Nordby
On 7 July 2013 14:31, Jon Nordby jono...@gmail.com wrote:


 I am attaching the callgraps (from tests/test_performance.py -c 1 -s TEST)
 here.
 layerpaint_zoomed_out_5x: http://i.imgur.com/OZcBjXG.png
 brushengine_paint_hires: http://i.imgur.com/qj1o5vO.png
 paint_zoomed_out_5x: http://i.imgur.com/e13IKV4.png

 As you can see there are three problem spots:
 1. computing dirty mipmaps
 2. marking tiles as dirty
 3. time spent in get_tile_numpy itself

 1) is something that we could improve through multi-threading, like we do
 with tiles while painting.
 This requires that we batch up the tiles to be processed and hand it over
 to C++, as one cannot call into Python from multiple threads concurrently.
 I attempted to do that, but due to added complexity on Python side, it
 turned out slower.
 http://gitorious.org/~jonnor/mypaint/jonnors-clone/commits/mipmap-cpp
 Alternative approaches to this would be appreciated.

I seem to be close to an algoritm which does this with no temporary
datastructure for the mipmap tile graph, so maybe it will work out after
all.


 2) Could maybe be improved by changing mark_mipmap_dirty to not be
 recursive, but instead just iterate over the list of mipmap surfaces and
 doing surface.tiledict[(tx, ty)] = mipmap_dirty_tile, on each?
 Hmm, or maybe we can return early in some cases. If a tile is the
 mipmap_dirty_tile, then sure all of the tiles above it will also be
 already, so no need to redo it? *goes to tests*

Yup, helped a bit, up to 10%.
http://gitorious.org/mypaint/mypaint/commit/e27c3c01f0967b2708e4994dc9b81c35766f2270


 3) Perhaps avoding recursion could help here to? Apart from that I don't
 have many ideas...

I found a place where I could optimize a bit, up to 10% gain.

http://gitorious.org/mypaint/mypaint/commit/15d58498a5ee08c8ace6866455c472f5405e1860


-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] OpenMP support for MyPaint in master, testing wanted

2013-06-08 Thread Jon Nordby
Hi all,

I've implemented support for OpenMP based multithreading for the current
(Python-based) surface backend. Because the backend calls into the Python
interpreter to get tile data, this whole section is synchronized using the
OpenMP critical directive[1].

On the brushlib benchmarks, this gives excellent speedups on my 2 core
Intel Core i5 M520: up to 65% increase for large brushes and less than 10%
slowdown for tiny brushes (where performance is not an issue anyway). This
is very close to what I get using the GEGL backend, which does not need to
do so much synchronization when fetching tiles.

However, using the GUI performance tests I get very mixed results.
In one set of test runs:
scroll_zoomed_out_2x_onelayer: 8.80 (780%)
paint_zoomed_out_5x: 1.172571 (17%)
layerpaint_zoomed_out_5x: 1.156669 (16%)
brushengine_paint_hires: 1.091002 (9%)
... rest unchanged ...
scroll_nozoom: 0.972973 (-3%)
scroll_zoomed_out_5x: 0.970874 (-3%)
layerpaint_nozoom: 0.950122 (-5%)
paint: 0.948916 (-5%)
paint_rotated: 0.940476 (-6%)
scroll_zoomed_out_1x_onelayer: 0.80 (-20%)
scroll_nozoom_onelayer: 0.75 (-25%)

And in another:
scroll_nozoom: 25.67 (2467%)
paint_zoomed_out_5x: 1.088084 (9%)
layerpaint_zoomed_out_5x: 1.060632 (6%)
 rest unchanged ...
brushengine_paint_hires: 0.933682 (-7%)
layerpaint_nozoom: 0.801448 (-20%)
paint_rotated: 0.782366 (-22%)
paint: 0.780457 (-22%)
scroll_nozoom_onelayer: 0.60 (-40%)
scroll_zoomed_out_1x_onelayer: 0.50 (-50%)

I will investigate these things further, but in the meantime it would be
good to see what kind of results others get.

# To test
scons enable_openmp=true
./mypaint

# To run GUI perf tests. Note: takes about 5 minutes, should not be
disturbed while running
python2 tests/test_performance.py -a

Just copy paste the SUMMARY section for each run (with and without
enable_openmp=true) into the mail.


1.
http://gitorious.org/mypaint/mypaint/blobs/283df90826bcc9d3ed6c32e44e9f8f5ed3ed9de4/lib/pythontiledsurface.c


-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Fwd: scons - can't compile MyPaint, g++ options of unknown origin

2013-03-10 Thread Jon Nordby
Forwarding to list

-- Forwarded message --
From: Daniel Ziólkowski ziolko...@gmail.com
Date: 10 March 2013 22:58
Subject: Re: [Mypaint-discuss] scons - can't compile MyPaint, g++
options of unknown origin
To: Jon Nordby jono...@gmail.com


2013/3/9 Jon Nordby jono...@gmail.com:
 The MyPaint scons file does neither add -OPT:Olimit=0 nor
 -march=core2 -O2 -fplugin=/usr/lib64/llvm/dragonegg.so.
 It will capture CFLAGS/CXXFLAGS from the environment, so please first
 try to unset CFLAGS and unset CXXFLAGS before trying to build.
 Furthermore, it will use cflags as specified by its dependencies in
 their pkg-config files. So try to do pkg-config --cflags json-c
 python gtk-2.0 lcms-2.0 (note: names of the dependencies are from my
 head, check with the scons file for the exact names). Could also grep
 your pkg-config files for this strange -OPT thing.

There was nothing wrong with pkg-config nor CFLAGS/CXXFLAGS. Scons
ignore all variables from command line by the way.

However I did little dirty hack and added
 env[CC] = os.getenv(CC) or env[CC]
 env[CXX] = os.getenv(CXX) or env[CXX]
 env[LINK] = os.getenv(LINK) or env[LINK]
 env[ENV].update(x for x in os.environ.items() if x[0].startswith(CCC_))
to SConstruct and then compiled with 'CC=clang CXX=clang++ LINK=g++
scons'. It worked, but don't ask me why/how, I have no idea. Probably
there is something hardcoded in my scons or something. However the
most important thing is that MyPaint have compiled and works. :)

--
Daniel Tracerneo Ziółkowski


-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] scons - can't compile MyPaint, g++ options of unknown origin

2013-03-09 Thread Jon Nordby
On 9 March 2013 20:07, Daniel Ziólkowski ziolko...@gmail.com wrote:
 scons uses weird options causing compilation fail:
 -OPT:Olimit=0
 and
 -march=core2 -O2 -fplugin=/usr/lib64/llvm/dragonegg.so

 Second line is probably from /etc/portage/make.conf, but even after
 commenting line with variable CFLAGS, these options are added.

 The first one causes error:
 cc1plus: error: argument to ‘-O’ should be a non-negative integer
 And the second:
 cc1plus: error: cannot load plugin /usr/lib64/llvm/dragonegg.so
 /usr/lib64/llvm/dragonegg.so: undefined symbol: tree_map_base_marked_p

 What can be problem and how to fix it?

 I'm using Gentoo with clang and
 CFLAGS=-march=core2 -O2 -fplugin=/usr/lib64/llvm/dragonegg.so
 CXXFLAGS=${CFLAGS}
 in /etc/portage/make.conf

The MyPaint scons file does neither add -OPT:Olimit=0 nor
-march=core2 -O2 -fplugin=/usr/lib64/llvm/dragonegg.so.
It will capture CFLAGS/CXXFLAGS from the environment, so please first
try to unset CFLAGS and unset CXXFLAGS before trying to build.
Furthermore, it will use cflags as specified by its dependencies in
their pkg-config files. So try to do pkg-config --cflags json-c
python gtk-2.0 lcms-2.0 (note: names of the dependencies are from my
head, check with the scons file for the exact names). Could also grep
your pkg-config files for this strange -OPT thing.

Hope that helps,
Jon

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Vector Data and GSoC

2013-03-06 Thread Jon Nordby
On 4 March 2013 23:41, Kolja Lubitz pinguin...@gmail.com wrote:
 Hi

Hi Kolja,

 I'm thinking for a while about adding some kind of vector support to
 MaPaint. The main idea is a Paint program in which you don't have to care
 about pixel.

 The main workflow should be open the program and you start with a white
 surface and then you can start painting and only in the end if you press
 save you decide in witch resolution you like to have your pic.

 On the technical side it is very simple. While painting we need to store all
 input data and scale and brush. And on save the brushes will be rendering to
 a png or so.

I agree with your vision, users should not have to care about pixels
most of the time.

MyPaint already stores most of the input data. Check out the classes
with names like Stroke in lib/stroke.py etc.
At the moment it is used for the change last stroke feature that one
can toggle on/off in the brush settings editor,
and probably for the bezier curve lines. Previously it was used for
undo/redo as well, but that was found to be too slow.

That is probably going to be the main challenge: performance. In the
traditional raster model, where one destructively update a set of
tiled mipmapped raster surfaces as changes are made, rendering the
document to screen or to a bitmap export is very fast as it only
requires compositing the layers together (at the appropriate mipmap
level) and blitting it to the screen/bitmap. I am not sure how to
efficiently represent a document of MyPaint brush strokes as vector
data that can be rendered as fast.

To try out the idea, and as a first useful step, you could try to
implement a lossless resize document feature? Use the existing
stroke infrastructure to store all input information (probably needs
some additions as well),  and when invoking this function the user can
choose to make the document say 2x bigger or smaller. MyPaint should
then replay all the strokes onto different size surfaces, and the
result should be as if one had been painting at that resolution all
the time.
That should give you a feeling for how feasible it would be
performance wise, and let you understand how such things can be done
inside the MyPaint code.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] libMyPaint demo app : second step

2013-02-17 Thread Jon Nordby
 it is cleaner to do all this stuff in one step with preproc.
 And if you want to put this stuff in a function, you'll still have to
 use some #ifdef outside to avoid the #include libintl.h (unless you
 plan to put it inside the function, which is not great either)
 Have a look to the patch and let we know if you still prefer to move
 this to a function (so I should replace all _ calls to something like
 translate() and do the routing stuff in it) but my modification is
 only 5 lines extra and is not invasive.

 Also, the gettext support should probably be opt-in,
 so call the define HAVE_GETTEXT or similar.

 I previously used a NO_GETTEXT flag so you should not modify anything to
 your mypaint config file, only to the demo project... But this is your
 choice to do the reverse ;-)

 Could you provide a patch that shows the required changes? Which version
 of MSVC are you using?

 Please find the patches named 000[1..5]-msvc.patch (the one with
 HAVE_GETTEXT is 0001-msvc.patch)

 I use msvc 2005  2010. Note that msvc 2012 for C/C++ can not be
 downloaded freely so I don't think it is an important target. Older msvc
 versions will have plenty of trouble to compile Qt4 code...

 I'd like to keep that style of include. The reason it does not use the
 json/
 directory is to avoid system-installed headers to be picked up
 automatically, [...]

 Understood.

 I hope so too! For committing the demo file to the repository, it
 should be
 a single file in the brushlib/examples/ directory. And ideally
 provided as a
 git formatted patch

 Hic !? You mean I should merge all C++ headers and cpp files into one ?
 And what's about the Qt project file, the json-c library (for windows
 users), the README...?

 The goal of this mini-demo project is to provide to anyone familiar with
 Qt a very simple demonstration of libmypaint. Such self-containing
 directory where the user just type qmake and make is very usual in all
 Qt example  demo. Merging all files into one may ruin the easy to use
  understand goal.

 if you prefer, I could adapt the relative path so the demoQt4 could be
 inside examples (for now it is at the same level) but I can hardy see
 merging everything into one file inside examples...

 The latest version (seems bug free) is attached here in demoQt4.zip.

 Other point : what's about brushmodes.cpp/.h and
 mypaint-tiled-surface.cpp/.h ?
 Martin said that he was ok to turn them ISC (no longer GPL) but they may
 not be only his work. If all the dev involved in these files are ok, you
 may change the license header...

 If you have the time and interest, you should consider
 coming to Libre Graphics Meeting:

 I will seriously consider it !

 Best regards

 Sébastien



-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Fwd: Relicensing of MyPaint brush rendering code from GPLv2+ to ISC

2013-02-08 Thread Jon Nordby
Just posting this in public for archiving purposes.

-- Forwarded message --
From: Karol Guciek k.guc...@gmail.com
Date: 21 January 2013 06:55
Subject: Re: Relicensing of MyPaint brush rendering code from GPLv2+ to ISC
To: Jon Nordby jono...@gmail.com


Hello,

Of course it's OK with me; I have not done anything worthwhile anyway.
Thanks for asking and good luck with continuing MyPaint development!

Chris

On Sun, Jan 20, 2013 at 7:37 PM, Jon Nordby jono...@gmail.com wrote:
 Hi Karol,

 I'm writing to you because you have contributed some code to the
 MyPaint brush engine in git commit
 dbdaeb1b in the file lib/tiledsurface.hpp
 As you may know, the MyPaint brush engine is available as a library
 which other applications can use.
 In order to make it easy for any application to incorporate this
 library and use the MyPaint brush engine, it is licensed under the
 BSD-style license ISC: https://www.isc.org/software/license

 The file that you have contributed to has now been integrated into
 this library (as file brushlib/mypaint-tiled-surface.c), but is still
 marked as GPLv2+ license, so I have to ask you: Are you OK with your
 code being used under the ISC?
 We hope that this will allow even more applications to pick up the
 MyPaint brush engine.

 Thanks for your contributions!
 - Jon


-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Fwd: My animation app

2013-01-23 Thread Jon Nordby
On 20 January 2013 20:17, Manuel Quiñones ma...@laptop.org wrote:
 2013/1/20 Jon Nordby jono...@gmail.com:
 I intend to address the other comments later today.

 Great!  In partular instancing a MyPaintGegl.TiledSurface will allow
 to do a simple test app like mypaint-gegl.py but with introspection.
 Here it throws MemoryError, I think you had a different error.

As discussed on IRC, this was fixed in master on Sunday evening. Some
API changes were needed to make things work, notably making use of
refcounting on MyPaintSurface and MyPaintBrush, so that they can be
wrapped without issues with GBoxed types.

aalmost there to a 100 line application that can paint with MyPaint
brushes on a GEGL backend, including rendering to screen:
http://gitorious.org/~jonnor/mypaint/jonnors-clone/commit/402366d9b3e7ad708351c193573a8f4d2850b95b

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Fwd: My animation app

2013-01-20 Thread Jon Nordby
Used the wrong email address the first time.

-- Forwarded message --
From: Jon Nordby nordby@gmail.com
Date: 20 January 2013 14:29
Subject: Re: My animation app
To: Manuel Quiñones ma...@laptop.org
Cc: mypaint-discuss mypaint-discuss@gna.org


On 19 January 2013 22:49, Manuel Quiñones ma...@laptop.org wrote:
 Hey Jon, (sending to mypaint-discuss)

Hey Manuel,
Yes, lets keep others in the loop too. Thanks for testing and pushing
the state of libmypaint further.

 One thing to note is that the mypaint-gegl.py script does not only use
 the brushlib, it also uses the MyPaint C++ extensions. So for your
 application you should try to build the brushlib with introspection
 (pass enable_introspection=true to scons) and then do from
 gi.repository import MyPaint, MyPaintGegl instead of the current
 from lib import mypaintlib, tiledsurface, brush.

 Good advice, yes that's the way to go for my app.

 So I installed with introspection but I can't import MyPaint or
 MyPaintGegl after install.  I can see the typelib files in the
 corresponding path.  I might be doing something stupid:

Looks like the -$version in .gir and .typelib is mandatory. I think it
was optional before, but in any case I've fixed it in master now:
http://gitorious.org/mypaint/mypaint/commit/6b374591d203e6cbdecd1dd9fa0f67e2614503b3

Also fixed some other bugs, and added the beginning of an example of
how to use the GI bindings from Python, see brushlib/examples/gegl.py
As you can see from the comments, things are still a bit rough.
Perhaps you know how to address the # TODO: Is there a better way to
list all enums with GI? comment?

I intend to address the other comments later today.

 [manuq@manuq-laptop mypaint]$ ls $GI_TYPELIB_PATH
 Babl-0.1.typelib  GeglGtk2-0.1.typelib  MyPaintGegl.typelib
 Gegl-0.2.typelib  GeglGtk3-0.1.typelib  MyPaint.typelib
 [manuq@manuq-laptop mypaint]$ python
 Python 2.7.3 (default, Jul 24 2012, 10:05:38)
 [GCC 4.7.0 20120507 (Red Hat 4.7.0-5)] on linux2
 Type help, copyright, credits or license for more information.
 from gi.repository import Gegl, GeglGtk3
 from gi.repository import MyPaint, MyPaintGegl
 ERROR:root:Could not find any typelib for MyPaint
 ERROR:root:Could not find any typelib for MyPaintGegl
 Traceback (most recent call last):
   File stdin, line 1, in module
 ImportError: cannot import name MyPaint


 My scons commands were:

 scons enable_introspection=true brushlib_only=true prefix=$PREFIX_GEGL
 scons prefix=$PREFIX_GEGL install

 Cheers,

 --
 .. manuq ..



--
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] First attempt of a libMyPaint demo app...

2013-01-20 Thread Jon Nordby
On 19 January 2013 20:50, Sebastien Leon sl...@pointcarre.com wrote:
 For now, I had to include these 4 GPL files : brushmodes.cpp/.h and
 mypaint-tiled-surface.cpp/.h.
 Note for anyone who would like to include this code into a proprietary
 project : these 2 files are GPL and as long as you keep them in this
 mini-project, the whole project is GPL and can not be include into a
 proprietary project. (I should write some replacement for these files as
 a next step - unless their license is modified)

You are absolutely right. It was my intent that this code also would
become ISC as the rest when I moved it to brushlib/ (from lib/). 90%+
of the copyright belongs to Martin and me, smaller contributions have
come from 4 others. I have now sent an email to all the
copyright-holders of these files to check whether such relicensing is
OK.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Fwd: [LGRU] Call for presentations LGM2013: Future Tools

2013-01-20 Thread Jon Nordby
Hi all MyPainters,

who is coming to the Libre Graphics Meeting this year?

This year it is in early April, 10-13th (not early May like before) in
Madrid, and has the theme Future Tools.
The call for presentations is open until Feb 15th (see below), and you
can register your participation now at
http://libregraphicsmeeting.org/2013/registration/

I plan be there for the whole week, so hope to see the rest of you!

-- Forwarded message --
From: Femke Snelting snelt...@collectifs.net
Date: 19 January 2013 13:14
Subject: [LGRU] Call for presentations LGM2013: Future Tools
To: l...@lists.constantvzw.org, Create ML cre...@lists.freedesktop.org


*Developers and users meet at the Libre Graphics Meeting in Madrid*

Libre Graphics Meeting 2013: Future Tools will take place from
Wednesday 10th to Saturday 13th April in Madrid, Spain. The 8th LGM
will be held at Medialab Prado's brand new building in the center of
Madrid, La Serreria Belga. The event brings together developers and
designers from all over the world to work on the many different tools
in the Free, Libre and Open Source toolbox.

http://libregraphicsmeeting.org

*Call for presentations*

The Libre Graphics Meeting is looking for in-depth presentations on
Libre Graphics technologies, showcases of excellent work made using
Libre Graphics tools and new ideas for future approaches, tools and
standards.

Call for presentations:
http://libregraphicsmeeting.org/2013/call-for-presentations
Deadline: 15 February 2013

*Sign up for LGM2013*

LGM is free to attend and open to all! Registration is not required
but it would be nice to know who will be there in Madrid, next spring.

Register here: http://libregraphicsmeeting.org/2013/registration
Participants so far: http://libregraphicsmeeting.org/2013/participants

*Support the Libre Graphics Meeting*

Please help us bring developers to Madrid for the Libre Graphics
Meeting 2013: Future Tools. We aim to raise 10.000$ to support
volunteer developers and presenters that would otherwise be unable to
journey to Madrid. Every donation counts!

http://pledgie.com/campaigns/19064
___
LGRU mailing list
l...@lists.constantvzw.org
https://listes.domainepublic.net/listinfo/lgru


-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] First attempt of a libMyPaint demo app...

2013-01-20 Thread Jon Nordby
On 20 January 2013 19:52, Sebastien Leon sl...@pointcarre.com wrote:
 You can temporarely download the zip file here :

 http://download.pointcarre.com/mypaint/LibMyPaintDemo.zip

 Note that this is a very first attempt and I really need a lot of help
 to provide something useful for anyone who may use libmypaint ! And your
 advises are very welcome :-)

Thanks. Looking though it, it seems that you based this code on an
older version of libmypaint, before MyPaint 1.1? The API for
fetch/update tile is a bit different now, in order to allow
multithreading without locking.
Also, you seem to have renamed every .c file to .cpp? Why?

Some hints for the issues you have listed in the README and in the code.

In order for caching and deferred processing to work correctly, you
must call mypaint_surface_begin_atomic() before doing
mypaint_brush_stroke_to(), and mypaint_surface_end_atomic() when done.
With libmypaint 1.1 and git, nothing will happen if you don't as
everything is done on end_atomic()

To set color, convert RGB to HSV and do (values are float):
mypaint_brush_set_base_value(brush, MYPAINT_BRUSH_SETTING_COLOR_H, h);
mypaint_brush_set_base_value(brush, MYPAINT_BRUSH_SETTING_COLOR_S, s);
mypaint_brush_set_base_value(brush, MYPAINT_BRUSH_SETTING_COLOR_V, v);

All other brush settings, from dab size, hardness, opacity to speed
filters and alpha-locking are manipulated the same way.

Another thing is that the delta-time calculation should normally be
done from the input events you get from your windowing system, to not
be dependent on CPU load. But it seems Qt does not expose that!?

Also, I _believe_ that the correct thing to do is to new_stroke() on
button/tablet down to start a stroke, then reset() on button/tablet up
to finish it.
Martin, does that sound right? If so, perhaps we should rename reset()
to end_stroke()?

 It was my intent that this code also would become ISC [...]
 I have now sent an email to all the copyright-holders of these
 files to check whether such relicensing is OK.

 This is good news because the 15 bpp format seems quite required to
 render correctly the dab (8 bits format shows a lot of posterization).
 So it make sense to provide a basic 15 bpp surface + the draw dab
 algorithm with the library.
 I'm quite sure I will rewrite it for my own purpose, but for the demo
 project it is cool !
Yes, at least one needs more than 8bpc. Floating point would also do
fine of course. All in all, the renderer we have in MyPaint is pretty
good and I think it would be great if others could just use that
instead of having to implement their own.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Anatomy of brushlib/libmypaint for 1.1.0 (for the Debian packages)

2013-01-08 Thread Jon Nordby
On 8 January 2013 13:38, Andrew Chadwick a.t.chadw...@gmail.com wrote:
 Thanks for that useful braindump, Jon. Gives me a really good idea of
 intent of the lib.

 I've been discussing it on IRC - see the attached log. Advice from the
 Debian folks I've spoken to is to not ship a static binary build on
 the expectation that other packages will be able to build against it
 as part of their own binary builds. In summary, that is problematic
 because changes to the lib made by mypaint may require those other
 packages to perform additional binary uploads. Runtime support
 packages for such static blobs only serve to compound the issue. Such
 additional uploads are organizationally fiddly, and technically
 unnecessary in comparison to the same lib expressed as a dynamic
 library package with a declared ABI level reflected in the SONAME.

 Given the above, I won't be making libmypaint* packages which contain
 only a static .a and runtime support for it.

 Given the current ABI instability and lack of docs (and given that I
 don't want to be overambitious at first with my packaging!), I
 probably won't be making dynamic libmypaint* packages for the 1.1.x
 release, and I won't be doing so at first.
 Ok, sounds fair.
Does not surprise me that Debian people would frown at this. :)

 On a strategy note, would it be possible for a future release to
 support both of the use-cases you identify by building two dynamic
 libraries? One for the minimal core, and one depending on it for the
 glib+GI+GEGL brew. It's certainly a lot nicer for Linux distributions
 to do it that way, which in turn may help the code gain popularity☺.
 Apps which require static linkage would still have the option of
 bundling, if that's a more normal thing to do on certain platforms.
That is the rough idea.
libmypaint is the minimal thing. libmypaint-gegl contains the GEGL backend.
They have separate .so and pkg-config files, and paths for header
files. GI adds separate .gir and .typelib for each of these libraries.
There is one exception though. libmypaint.so will link against glib
when built with GI support (and not when built without).
As glib is a very common package, I cannot imagine (binary based)
Linux distributions to mind this.
To consumers of a pre-built package the dependency is not exposed in any way.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Anatomy of brushlib/libmypaint for 1.1.0 (for the Debian packages)

2013-01-06 Thread Jon Nordby
/glib though.

 PREFIX/share/mypaint/brushlib/__init__.py
 PREFIX/share/mypaint/brushlib/brushsettings.json
 PREFIX/share/mypaint/brushlib/brushsettings.py

 JSON definitions of the brush settings; a runtime requirement for
 using libmypaint, and a Python interface to it. Both could be used by
 apps other than MyPaint. I intend to package these and the .mo files
 below as libmypaint[-brushlib], describing it as an
 architecture-specific requirement for programs statically linked with
 libmypaint. Hope that's right.

One does not need these to use libmypaint, the C interface provides
information about brush settings (based on data generated from the
.json file at build time).
See mypaint-brush-settings.h (and -gen.h for the enums).

In MyPaint we use brushsettings.py mostly because it gives a more
convenient interface for use in Python. And we currently don't have
access to the whole libmypaint API on Python level. Its shielded
behind the C++ wrappers in lib/

The .json file is the canonical data source for brush settings though,
so I think that should be available.
Post MyPaint 1.1 we should it to PREFIX/share/libmypaint/ though.
brushsettings.py I don't really want to promote as public interface.

 PREFIX/share/mypaint/brushlib/generate.py

 This file appears to be here in error, and I'll probably be removing
 it from the packages. It's used at compile time for constructing the
 -gen.h files, and that's it. If I understand recent changes in master
 correctly, it's being replaced by a scons Command.
Yes, no need to install this file.
The scons change only affects how the file is executed during build,
so it will continue to exists and we should exclude it from install.

 PREFIX/share/locale/fr/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/id/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/ru/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/pt_BR/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/nn_NO/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/ro/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/en_CA/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/pl/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/it/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/cs/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/ja/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/zh_TW/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/zh_CN/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/sl/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/ko/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/uk/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/de/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/hu/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/sv/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/nb/LC_MESSAGES/libmypaint.mo
 PREFIX/share/locale/es/LC_MESSAGES/libmypaint.mo

 As described above: runtime requirements, packaged with the JSON
 stuff. GNU message catalogs appear to be endian-specific, so
 libmypaint[-brushlib] will be marked as architecture-specific for this
 reason and in expectation of a .so version, and whatever gir magic is
 needed.
Sounds fair, though I don't know about the endianess issue. Debian
people will probably. I believe Debian policy requires  .gir files to
be packaged separately.

 PREFIX/lib/pkgconfig/libmypaint.pc
 PREFIX/lib/libmypaint.a

 Compile-time requirement for programs statically linked with
 libmypaint[-brushlib], part of the -dev package.
ACK



-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Bugtracker cleanup

2013-01-04 Thread Jon Nordby
Hi all,

Andrew started cleaning up the bugtracker today, closing all bugs in
'Fixed' state that has been released with MyPaint 1.1. I then closed
the vast majority of bugs in 'Wont Fix', 'Works for Me' and 'Ready for
Test' state. I also got rid of several bugs that were in 'Need Info'
state that had not been updated for a long time. This means that we
are down to a total of 110 bugs.

There are still many more bugs that we can, and probably should close.
Here is a list of likely candidates, 36 items long right now. Please
help go through these bugs.
https://gna.org/bugs/index.php?go_report=Applygroup=mypaintfunc=browseset=custommsort=0report_id=101advsrch=1status_id[]=1resolution_id[]=3resolution_id[]=6resolution_id[]=10resolution_id[]=4resolution_id[]=8resolution_id[]=7resolution_id[]=2submitted_by[]=0assigned_to[]=0severity[]=0priority[]=0summary=details=sumORdet=0history_search=0history_field=0history_event=modifiedhistory_date_dayfd=5history_date_monthfd=1history_date_yearfd=2013chunksz=50spamscore=5boxoptionwanted=1#options

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint 1.1.0 release candidate

2012-12-24 Thread Jon Nordby
On 23 December 2012 20:47, Martin Renold martin...@gmx.ch wrote:

 I made a release candidate, please help testing:
 http://download.gna.org/mypaint/mypaint-1.1.0-rc1.tar.bz2


Arch Linux users can use the mypaint-devel package from AUR to test the
release candidate.
https://aur.archlinux.org/packages/mypaint-devel/


 The current plan is to release this on 28th December.
 Do we still have any major known bugs?

 Windows support is still known to be broken:
 http://opensourcepack.blogspot.ch/2012/12/a-peek-at-mypaint-on-windows.html

 On OSX as far as I know nobody has tried with the latest GTK2 fixes. I
 think
 there has been progress on Quartz tablet support in GTK.



-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] MyPaint Jenkins server up and running

2012-12-09 Thread Jon Nordby
Hi,

we now have a Jenkins server for use by the MyPaint project, available at
http://ci.mypaint.org/jenkins/

Right now it runs some basic builds of MyPaint/libmypaint in different
configurations, and one job with our (heavy) tests. After some breakage and
fixes today, these are now passing. In the future we may use it to do more
things, like automatically building documentation from source, or creating
binaries and developer environments for Windows and/or OSX.

The server is running on Amazon EC2 using the Jenkins by Bitnami AMI, on
a micro.t1 instance which I currently use for free. In addition to me,
Martin and Andrew have access to the server.
If you wish to improve how we test and deliver MyPaint, there is now a
common place to work on that.

-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint string freeze, translations for 1.1

2012-12-08 Thread Jon Nordby
Hi Manuel,

Using LANG=C should get you the original strings, as they appear in the
code.

On 8 December 2012 19:10, Manuel Quiñones ma...@laptop.org wrote:

 What is the LANG parameter to get the original English strings in the
 UI? This doesn't work for me:

 LANG=en_US.utf8 ./mypaint

 Althougth I see this line in the output:

 DEBUG: getlocale(): ('en_US', 'UTF-8')

 I'm trying to have two instances of MyPaint with two languages side by
 side, to test my translation.


 2012/12/8 Martin Renold martin...@gmx.ch:
  There was a bug, brushlib translations were not displayed at all. The
  problem is fixed now in git.
 
  There was also an additional untranslatable string found (frame window
  title).  Please re-run scons translate=xx to get those.
 
  Let me know if there still are problems left.
 
  Regards
  Martin
 
  On Mon, Dec 03, 2012 at 08:03:12PM +0100, Martin Renold wrote:
  hi
 
  You are right, the 3 tooltips where not translatable.
 
  I have pushed your translation to git, I have made the tooltips
  translatable, and I have also run scons translate=it for you (runs
 without
  problem here, and produces slightly different output).
 
  Will look at the brushlib string problem later.
 
  Regards
  Martin
 
  On Mon, Dec 03, 2012 at 01:26:42PM +0100, Lamberto Tedaldi wrote:
  
   Hi Martin,
   here attached there are po file for Italian language.
  
   There are troubles with various strings that are not translated at
 runtime.
  
   In main po file (mypaint/po/it.po) some tooltip strings are not
   translated , Lines and Curves or Connected Lines tooltips for
   example.
   I suspect it depends from the fact they contains some line break
   character in source code.
   In brushlib po file (mypaint/brushlib/po/it.po) the problem seems
   affect all short and long description strings of brush settings.
   Is this due to an error when I run the command  scons translate=it?
   The command returns:
  
   [cut]
   cd ..  ls *.{h,c} | sort  po/POTFILES.in
   ls: can't access to *.{h,c}: File or directory does not exist
   intltool-update -g libmypaint --pot
   intltool-update -g libmypaint it
   intltool-update: libmypaint.pot does not exist.
   scons: *** Error 2
   [cut]
  
   I'm using ubuntu 12.10 32bit python 2.7 and poedit 1.4.6 for working
   on po files.
  
   Best regards,
   Lamberto Tedaldi
  
   --
   ---
  
   Officine Pixel S.n.c.
   produzioni multimediali
   via Ardenne 3 - 47100 Forlì
   Tel. +39 (0)543 405035
   Fax. +39 (0)543 409315
   www.officinepixel.com
   www.ffx.it
  
 
 
 
  --
  Martin Renold
 
  ___
  Mypaint-discuss mailing list
  Mypaint-discuss@gna.org
  https://mail.gna.org/listinfo/mypaint-discuss
 
 
  --
  Martin Renold
 
  ___
  Mypaint-discuss mailing list
  Mypaint-discuss@gna.org
  https://mail.gna.org/listinfo/mypaint-discuss



 --
 .. manuq ..

 ___
 Mypaint-discuss mailing list
 Mypaint-discuss@gna.org
 https://mail.gna.org/listinfo/mypaint-discuss




-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Possible migration to github

2012-11-21 Thread Jon Nordby
On 21 November 2012 12:05, Andrew Chadwick a.t.chadw...@gmail.com wrote:

 On 21/11/12 02:59, Jon Nordby wrote:
  A question whether to migrate to github has come up a couple of times on
  irc now.
 
  == Should we migrate ==
  I only have two issues with the current infrastructure we use:
  - GNA uses certificates which are not considered trusted by many web
  browsers. This scares off some people wanting to file bugs.

 That's a good reason to move away from Gna! to something friendlier.
 Major issue this. It's probably scaring off people trying to search for
 bugs too.

  - Gitorious has had fairly frequent outtages where pull/push is
 unreponsive.

 Annoying when it happens, but not by itself reason enough to change.

  What do you think about using github?
 
  Note that whatever the decision would be, we won't change anything
  before MyPaint 1.1 is out.

 Basically positive. If Martin's OK with it, and the faff is minimal, I'd
 have no objections.

Ok, sounds good.


  == Managing missing fields in github issues ==
  Github Issues does not have as many fields for a bug/issue as GNA.
  Instead it offers string-based labels/tags.
  The fields that we were somewhat using in gna that are missing are:
  Status, Severity, and Platform.
 
  We used status to implement a two-step fixed-closed workflow. Fixed
  when the fix is in git master, closed when released. In addition it is
  useful to mark triaged bugs with the outcome of the triage, either
  confirmed or need-info.
  Labels: fixed, need-info, confirmed

 How much of this can be achieved with milestones referring to past and
 future versions? we never really used the Gna! ones, but Github
 milestones seem flexible, can be annotated and renamed, have pretty
 completeness bars, and you can filter for issues which don't have one
 assigned yet.

 I've never much liked fixed+open as a concept. IMO a bug is either
 open or closed; it seems more expressive and documentary to assign open
 or closed bugs to a milestone reflective of current and past work focus.
 The meaning closed+future-version seems self-evident, particularly
 if future-version carries an obvious label.


Fair point, milestones is perhaps a better way to deal with this on github.
A github milestone is completed when all issues for that milestone is
complete. So to prevent this from happening prematurely, we would create a
Release MyPaint 1.2 bug which we would close when the release, and thus
the milestone, is done. Could be a good place to discuss (and for people to
follow) release-level things as well.


 You never know. We might even be able to drive short release cycles from
 weight of open bugs :)

I would like shorter release cycles. Though I am not sure I know any other
way to achieve them than for someone to continuously push for it. Which is
always hard in a volunteer driven project as making releases is not the
most fun thing there is.
How can we make releases more fun? One thing would perhaps be to automate
it more, so there is less manual hassle and it can be done quicker.


  For platform we already used [Windows] and similar tags in bug titles,
  possibly more so than the platform field.
  Labels: windows, osx, linux

 Seems good to me. Absence indicates any OS (as far as we know)?

Yep.


  We have not used severity that much, except for separating out wishes
  from bugreports and indicate very serious issues. This is still useful I
  think.
  Labels: wish, crash, dataloss

 +annoyance, exception, feature...

 It's nice to be able to treat these things as freeform tags in a way,
 provided they can be used for prioritising things for upcoming releases.

New labels can be added by anyone who is a collaborator. As far as I know
that is the same as those that have commit access. Currently we have more
people with bug edit status than people with git access, but we can
probably give everyone who now has bug edit status commit access without
any issues.


  == How to migrate ==
  In such a migration all comments would be created with the username of
  the one running the import script. To work around this a comment could
  be posted on each comment/report about who originally created it, and
  link to the original content on gna.

 Would this be possible with a very clearly distinct github account?

Yes, I'd create some user for just this purpose. mypaint-gna or somesuch.


-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Fwd: Surface optimizations proposed for merging

2012-11-21 Thread Jon Nordby
Forwarding to list

-- Forwarded message --
From: Popolon popo...@popolon.org
Date: 21 November 2012 01:55
Subject: Re: [Mypaint-discuss] Surface optimizations proposed for merging
To: Jon Nordby jono...@gmail.com


I made some test with the last git version versus surface optimization
version and here are the results in mycase (core i7 4core + hyperthreading
~8core)@3.7Ghz, no opencl support (no intel openCL driver on linux).

I tested mosly the deevad brush : deevad/basic_digital_knife_**smudging).
this seem to be the slower brush. In all case i growed at max the size of
the brush by pressing several time [f] key.

All brush are fluid in surface.optimizations version but the
deevad/basic_digital_knife_**smudging.

In most case this brush is very slow in standard version (perhaps 0.20 to
0.5 s lag). In surface optimization version, it seems to fluidly drawn,
when the whole stroke is included in the portion of the canvas seen at
screen, but suffer of big slow down every time the brush stroke go out of
this area, perhaps simply because the whole surface stroked is bigger ?

I made a video record with this brush, but it seems that's the record is
not really in real time, probably a little bit accelerated ??? I used
gtk-record-mydestkop for this screencast, if someone know a better option,
I could make a newone.

http://popolon.org/mypaint/**out_seems_accelerated.ogvhttp://popolon.org/mypaint/out_seems_accelerated.ogv

I have some slowdown with deevad/watercolor_glazing, deevad/thin_watercolor
and  deevad/large_watercolor_fringe brushs too.


Popolon


Le 19/11/2012 13:11, Jon Nordby a écrit :


 On 18 November 2012 03:12, Jon Nordby jono...@gmail.com
 mailto:jono...@gmail.com wrote:

 I have some more ideas for further improve performance, and am working
 to document these now.

 Now documented in the surface-optimizations branch, file
 brushlib/PERFORMANCE:
 http://gitorious.org/mypaint/**mypaint/blobs/surface-**
 optimizations/brushlib/**PERFORMANCEhttp://gitorious.org/mypaint/mypaint/blobs/surface-optimizations/brushlib/PERFORMANCE

 Here are the main points:
 === TODO: Improve vectorization ===
 === TODO: More efficient serial code ===
 === TODO: Try different tile sizes ===
 === IDEA: Dab masks cache ===
 === IDEA: Make use of GPU processing: OpenCL and OpenGL ===

 --
 Jon Nordby - www.jonnor.com http://www.jonnor.com


 __**_
 Mypaint-discuss mailing list
 Mypaint-discuss@gna.org
 https://mail.gna.org/listinfo/**mypaint-discusshttps://mail.gna.org/listinfo/mypaint-discuss





-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Surface optimizations proposed for merging

2012-11-21 Thread Jon Nordby
If there are no objections I will merge the surface-optizations branch to
master tomorrow or Friday. The performance improvements are pretty well
documented by now, and it has at least got some testing from other people
than me.
Till found a minor issue in the brushlib tests, and Martin one when using
it a bit differently from how we do in MyPaint. I will fix those.
Any other issues will be best tested and ironed out in master I think.

-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Surface optimizations proposed for merging

2012-11-21 Thread Jon Nordby
On 21 November 2012 20:25, Martin Renold martin...@gmx.ch wrote:

 No objections from me. Better merge it soon so it gets more testing. There
 is quite some new C code.  If there is a bug hiding we may see a crash
 while
 painting, not just an exception dialog.

Merged. People: test the hell out of it!

-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Possible migration to github

2012-11-20 Thread Jon Nordby
A question whether to migrate to github has come up a couple of times on
irc now.

== Should we migrate ==
I only have two issues with the current infrastructure we use:
- GNA uses certificates which are not considered trusted by many web
browsers. This scares off some people wanting to file bugs.
- Gitorious has had fairly frequent outtages where pull/push is unreponsive.

A nice thing in Github is the tighter integration between commits, pull
requests and issues. When someone refers to something from a commit, issue
or pull request, comments will be automatically posted on the thing
referred to - establishing two-way links. Currently we've been trying to do
that manually.
Other useful projects are also integrating with Github and its APIs. An
example here is Travis CI, a free hosted continuous integration service for
open source projects.

But mostly benefits of may come from non-technical aspects: Github is
popular. Many more people have, or are willing to create and use github
accounts, compared to gitorious and gna. This _may_ lead to an increase in
contributions, both on bug-reporting and code.

What do you think about using github?

Note that whatever the decision would be, we won't change anything before
MyPaint 1.1 is out.

== Managing missing fields in github issues ==
Github Issues does not have as many fields for a bug/issue as GNA. Instead
it offers string-based labels/tags.
The fields that we were somewhat using in gna that are missing are: Status,
Severity, and Platform.

We used status to implement a two-step fixed-closed workflow. Fixed when
the fix is in git master, closed when released. In addition it is useful to
mark triaged bugs with the outcome of the triage, either confirmed or
need-info.
Labels: fixed, need-info, confirmed

For platform we already used [Windows] and similar tags in bug titles,
possibly more so than the platform field.
Labels: windows, osx, linux

We have not used severity that much, except for separating out wishes from
bugreports and indicate very serious issues. This is still useful I think.
Labels: wish, crash, dataloss

== How to migrate ==
Moving the git repository over is of course no issue. That would just
require updating URLs in documentation and configurations. Migrating the
bugreports would be a bit more work, but is not at all that difficult.

GNA offers an XML export for the database*, and GitHub offers an HTTP API
for Issues.
Based on this I've hacked up a prototype script for automatic migration.
Currently it can extract most of the relevant info, and format this as
github API requests (though not actually send them yet). Branch
gna2github on my personal repo:
http://gitorious.org/~jonnor/mypaint/jonnors-clone/commits/gna2github

In such a migration all comments would be created with the username of the
one running the import script. To work around this a comment could be
posted on each comment/report about who originally created it, and link to
the original content on gna.

I would suggest that we only migrate open bugs, and do this after we have
cleaned up the tracker and closed as much as possible. This should leave us
with around 100 bugs (just closing fixed and similar would bring us to 130).

After a successful migration we would close the bugs on gna.org with a link
to the migrated bug on github.com.

* Currently it has some invalid UTF8 characters, but the data is still
usable with some massaging. Reported here: http://gna.org/support/?2982

-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Surface optimizations proposed for merging

2012-11-19 Thread Jon Nordby
On 18 November 2012 03:12, Jon Nordby jono...@gmail.com wrote:

 * After the changes, GEGL-based backend is circa 30% faster than the
 Python-based backend with 1 thread, and twice as fast with 2 threads.
 A quad-core CPU with 4 threads will have an even higher speedup.


Till tested the code on a 6 core AMD Phenom II. It shows that in these raw
performance tests, the GEGL based backend is up to 3-4 times as fast as the
Python one with 6 threads.

http://www.jonnor.com/files/temp/mypaint-brushengine-opt-gegl-vs-py.png
http://www.jonnor.com/files/temp/mypaint-brushengine-opt-gegl-vs-py.txt

-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Surface optimizations proposed for merging

2012-11-19 Thread Jon Nordby
On 18 November 2012 03:12, Jon Nordby jono...@gmail.com wrote:

 I have some more ideas for further improve performance, and am working
 to document these now.

Now documented in the surface-optimizations branch, file
brushlib/PERFORMANCE:
http://gitorious.org/mypaint/mypaint/blobs/surface-optimizations/brushlib/PERFORMANCE

Here are the main points:
=== TODO: Improve vectorization ===
=== TODO: More efficient serial code ===
=== TODO: Try different tile sizes ===
=== IDEA: Dab masks cache ===
=== IDEA: Make use of GPU processing: OpenCL and OpenGL ===

-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Surface optimizations proposed for merging

2012-11-17 Thread Jon Nordby
Hi all,
I finished the last missing pieces of the surface optimization I
started a while back. The changes are not that invasive but it could
use some real-life testing before going into master. If no issues are
found I'd like for it to be a part of MyPaint 1.1 release.

The code is found in the surface-optimizations on mainline repository:
http://gitorious.org/mypaint/mypaint/commits/surface-optimizations
Please test! (checkout branch, build and run mypaint as normal)

== Changes ==
The optimizations follow a three-pronged strategy:

1. Reordering of data access to minimize fetching and updating of tiles.
2. Coarse grained parallelism using multithreading via OpenMP directives.
3. Fine grained parallelism using SSE via GCC auto-vectorization.

The MyPaint surface API has a concept of an atomic transaction:
surface.begin_atomic() and surface.end_atomic(). Inside such a
transaction, we call brush.stroke_to(surface, ...) each time there is
a motion event on the canvas. Depending on the brush configuration and
current state this may result in 0 to N surface.draw_dab() calls. N
can be in the order of 10-100.
Previously each draw_dab() call would fetch the affected tiles,
process the draw_dab operation and update the tiles with the results.
When subsequent draw_dab() calls affect the same tiles, fetching and
updating of tiles would happen up to N-1 times as often as is needed.

Now, each time draw_dab() is called, an operation struct is added to a
queue for each of the affected tiles before returning. No processing
is done at this point. When end_atomic() is called to complete the
transaction, the tiles that have pending operations are distributed
evenly among the processing threads. The processing of a tile is
completely independent of other tiles, allowing it to be done in a
lock-free manner.

When a get_color() request is made by the brush engine during a
surface transaction, the pending draw_dab operations on the affected
tiles must be flushed to return the correct value. Both the flushing
and calculation of the color is done multi-threaded in the same way as
above.

Within each thread, SSE based vectorization is used to process a tile.
Currently this is limited to part of the brush mask calculation, as
the run-length encoding of the masks makes it difficult to
auto-vectorize all of the mask calculation and the
blending/compositing.

== Results ==
These results are on from my laptop, running Arch Linux current. CPU:
Dual-core Intel i5 M520@2.4 GHz, 6GB RAM

Note: this benchmarks the *raw* surface rendering performance. The
user *may* experience speed-ups similar to what is shown here, but
this is is only if layer compositing and rendering to screen is not a
bottleneck.

http://jonnor.com/files/temp/mypaint-brushengine-opt.png
http://jonnor.com/files/temp/mypaint-brushengine-opt.txt

Take-aways:
* 20% to 50% performance improvements for larger brushes (16 px+) on
the currently used Python-based backend.
* Performance does not regress significantly for small brushes, max
-4% degradation found.
* After the changes, GEGL-based backend is circa 30% faster than the
Python-based backend with 1 thread, and twice as fast with 2 threads.
A quad-core CPU with 4 threads will have an even higher speedup.

To reproduce:
  scons enable_gegl=true enable_openmp=true # to enable GEGL backend,
requires babl+gegl git
  cd brushlib/tests
  export PYTHONPATH=../../lib:../..
  export LD_LIBRARY_PATH=../..
  export GEGL_SWAP=RAM
  export OMP_NUM_THREADS=2
  ../../lib/test-python-surface # current python-based backend
  ./test-gegl-surface # GEGL backend

Look inside mypaint-test-surface.c to see/change the different test cases.

== Future ==
Given that the GEGL backend has a significantly higher raw
performance, I hope that after we release MyPaint 1.1 we can start the
transition to use it instead of our current backend.

I have some more ideas for further improve performance, and am working
to document these now.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] planning release 1.1.0

2012-11-11 Thread Jon Nordby
On 25 October 2012 19:55, Martin Renold martin...@gmx.ch wrote:


 There are 158 bug reports open that aren't marked as fixed. It frustrates
 me
 that I didn't contribute more time to fix more of them.  But there is no
 reason to hold back all the good work that has been done.


After the release I propose that we close all bugs that are marked fixed,
won't fix, works-for-me, ready-for-test. Currently this is a massive 104
bugs:

https://gna.org/bugs/index.php?go_report=Applygroup=mypaintfunc=browseset=custommsort=0report_id=101advsrch=1status_id[]=1resolution_id[]=1resolution_id[]=3resolution_id[]=6resolution_id[]=10resolution_id[]=7resolution_id[]=2submitted_by[]=0assigned_to[]=0severity[]=0priority[]=0summary=details=sumORdet=0history_search=0history_field=0history_event=modifiedhistory_date_dayfd=11history_date_monthfd=11history_date_yearfd=2012chunksz=150spamscore=5boxoptionwanted=1#options


-- 
Jon Nordby - www.jonnor.com
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Planning a MyPain bugfix hackathon

2012-10-28 Thread Jon Nordby
On 28 October 2012 01:28, spin s...@hackerspace.pl wrote:
 On 10/28/2012 00:41, Jon Nordby wrote:

 One bug-related suggestion. How about doing bug-triaging during the
 hackathon? This is an activity which in my experience scales very well
 with more people involved, and is easy to get into also for those that
 are new to the project and/or technologies (toolkit, programming
 language etc).

 It is not exactly the sexiest task, but having a clean bug-tracker
 really helps with the productivity (and motivation) of developers and
 new contributors.



 Hey Jon,

 This is a great suggestion! I will consider doing bugtracking depending on
 the amount of people participating and the direction the event will take, as
 it's still in preparation. I'll consult it around with people in the
 hackerspace as well.

 I want to do at least two of these events, and I expect about 60% of
 participants covering both, so getting them to know their way around the
 code on the first occasion would be great.

 On the other side, I want to have a few harder tasks on the ready, because
 some people may lose motivation over simple bugtrack choring (and their
 resources would be suboptimally allocated as well).

I'll go through my personal TODO and bugtracker to see what I can find.

 Regarding presence, it should be possible online - we have an IRC channel
 (irc.freenode.net #hackerspace-pl), and we'll set up an etherpad for the
 event. Getting a voip with video stream should be possible as well, if
 needed. If you or any other developer would want to participate online, that
 would be great, since you know your way around the code, and will be able to
 answer questions that may otherwise take considerable amounts of time.

I will be present online to help you out, if the time fits. I would
request that we use #mypaint IRC channel though, as many of the
questions/answers/topics will probably be of interest to the people
that are already there.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Using brushlib in Blender

2012-06-05 Thread Jon Nordby
The email went off-list, so I am quoting it in full here.

On 26 May 2012 01:31, Nicholas Bishop nicholasbis...@gmail.com wrote:
 The overall goal of this is to make it easy for projects to use the
 MyPaint brush engine without having to fork the code (copy into
 project and change). And that when using the brush engine, they can
 use exactly the same brushes as MyPaint. I don't want a situation
 where there is Blender MyPaint brushes, GIMP MyPaint brushes and
 MyPaint MyPaint brushes...

 In particular, transitioning to the JSON file format and accompanying
 load/save code?

 I am busy this weekend, so the target for that is middle to late next
 week. I think we need to do this in the brushlib to achieve the
 overall goal. I don't think relying on all consumer of the brushlib to
 correctly read/write settings files (including handling newer and
 older versions compared to) is a good idea.
 The things that are not necessary for compatibility can be handled on
 a higher level.

 I will however not implement JSON parsing from scratch, so this means
 a libjson dependency (or similar).

 That all sounds good to me. Libjson is probably fine to add as a
 dependency for Blender.

 * Will brushlib keep its dependency on glib? The use of glib seems to
 have spread a bit, it's not just using it for g_rand but also types
 and macros. For Blender we probably don't want to depend on glib, but
 for now it shouldn't be too hard to patch it locally to work around
 that. If brushlib starts using glib more extensively that could be a
 problem though. Is there any interest in using regular C types rather
 than glib's (e.g. replacing gboolean with int), or wrapping the
 glib-specific parts in '#ifdef WITH_GLIB' or equivalent?

 If you really don't accept glib as a dependency, we would have to
 solve that of course (and without you having to patch it).

 I can't state with absolute certainty that we wouldn't ever accept
 glib as a dep, but it's unlikely if its only usage in Blender would be
 for the brushlib.

 These are my worries for removing the use of glib, and my motivation
 for continuing  the use of it:

 * Unicode/UTF-8 string, file and path handling. Mainly relevant for
 the brush setting handling. This is yet to be written, so I don't know
 how difficult/tedious it will be without glib.

 Perhaps these could be just function pointers and the parent
 application provides the implementation? Blender has its own internal
 file and string code, and this could work well for replacing the
 g_rand() stuff too.

 -Nicholas

The JSON load/save handling is now basically done (see separate mail
thread). I decided to punt on the file handling issues. libmypaint
will only do serialization/deserialization of JSON, read/write to
files is left to the applications. So no problem doing that without
glib.

I also added the gobject introspection based bindings build. Getting
rid of glib while still letting that work looks to be easy as well. We
will have to copy the gboolean and guint16 typedefs to keep the
interface C89 compatible and for the binding scanner to understand it,
but that is no problem.

The g_rand usage will be replaced with a suitable PRNG implementation.
There looks to be several available under liberal licenses that can be
dropped in. One from D.Knuth for instance.

So when I have time next week, the library should be able to build
without glib. If you have time to test if there are any other issues
for you using it in Blender before then, that would be much
appreciated.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] RFC: JSON format for MyPaint brushes, handling load/save in libmypaint

2012-06-04 Thread Jon Nordby
 attributes: not a good idea IMO. New brushes are
 usually created by modifying an existing brush and then saving it under a
 new name, which I assume would copy all unknown attributes.  So if you have
 an application that doesn't know the License attribute your new brush has
 the same License as the old brush, even if you completely changed all
 settings.  Same problem with metadata like modification date or
 application name or even parent brush name.  IMO better only save
 attributes when you know what they mean, and drop unknown attributes when
 loading.  (Unless they are somehow marked or known as safe to roundtrip.)

The point about preserving unknown attributes is just for libmypaint
when using the JSON persistence functionality (from_string/to_string).
The important thing is to not enforce policy. When an application
using libmypaint does a add as new brush or save as new action it
may be reasonable to strip all unknown attributes (as you mention).
The application is free to do that.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] RFC: JSON format for MyPaint brushes, handling load/save in libmypaint

2012-06-01 Thread Jon Nordby
Hi all,

as has been discussed on and off a bit, it would be nice to move to
JSON for storing the MyPaint brushes. This should make easier for
alternative brush engine implementations (like the Javascript + HTML5
one) to reuse the brushes.

In addition I propose to move load/save into libmypaint (currently
called brushlib). This is so that anyone using libmypaint are
guaranteed to be able to correctly load and save MyPaint brushes
correctly.

== Data format ==
The data format is based on JSON, as defined in RFC4627
(http://tools.ietf.org/html/rfc4627).
Files saved to disk shall have the extension .myb, like before. The
file contents shall be stored UTF-8 encoded.

See the attached example for exact format (pretty printed).

An open question is whether to change the individual setting format to
be a dict with base_value and inputs instead of the current list.
That would be a bit more explicit/readable?

== Extensibility ==
New top-level key, value pairs may be added by applications.
Application specific attributes must have the prefix x_$appname_.
Standardized attributes, as defined by libmypaint/MyPaint must not use
an x_ prefix.

The currently standardized attributes are version, comment,
settings and parent_brush_name.
An open question is whether parent_brush_name is considered MyPaint specific?

Metadata that may be interesting to add in the future includes:
- Brush preview/icon (as base64 encoded PNG for instance)
- Name/email of creator
- Description
- Creation and modification date

== Compatibility ==
- Brushes with old format will work in MyPaint, and be automatically
migrated (backwards compatible)
- Older MyPaint versions will not be able to open this new format (not
forward compatible)
- libmypaint will only be able to open this new format, not older.

== libmypaint API ==

The proposed API for libmypaint is:

void mypaint_brush_from_string(const char *);
const char * mypaint_brush_to_string();

A roundtrip between these is guaranteed to preserve any non-recognized
top-level attributes (application defined). This allows applications
making use of libmypaint that wish to add or modify the additional
metadata to do this by interpreting the JSON string before passing it
on.
Storing the brushes to disk is the responsibility of the application
using libmypaint.

== Implementation plan ==
1. Add code to migrate to new format to MyPaint.
2. Migrate all the brushes shipped with MyPaint to new format.
3. Add code to libmypaint to load/save the setting brushes in new format
4. Document the format, as part of libmypaint
5. Use the libmypaint load/save code in MyPaint


Any comments welcomed! Unless there are major objections I hope to
complete this the next week or so.


slow_ink.myb
Description: Binary data
___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] My Paint, request for an Open Source interview

2011-12-11 Thread Jon Nordby
), but major benefits for
a few (which might then go on to praise the decision).

 Again thank you for your help, and I will make sure to send you the end
 paper if that is what you wish.
 Morgan Daley

Cool, thanks!

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] My Paint, request for an Open Source interview

2011-12-03 Thread Jon Nordby
 for a while: direct and
informal interactions between core people in the organization/project
and its consumers/users.
So maybe we were there already?

 Thank you for your help with this project.
You are welcome. If you write a paper, do a presentation, or blog
about it, I'd love to read/see it!

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] DragonSphere a macos lion fork for mypaint (maybe ios too)

2011-11-07 Thread Jon Nordby
2011/11/7 dimitris chloupis theki...@yahoo.co.uk:
 Απο: Jon Nordby jono...@gmail.com
 We will port to PyGObject and GTK3. PyGObject + GTK introspection
 bindings are in many cases very similar to pyGTK, so it will not be a
 complete rewrite, but small changes will be required all over the code
 base. This will probably happen after 1.0 is out, which should be
 pretty soon.

 Thats a great amazing move and I fully support it but there are 2 things
 bugging me

 1) The soon part. How exactly very similar is the porting really , sure
 I could help with the port too, but I have my doubts here that will be that
 easy.
Soon referred to how quickly we can start. How quickly we can complete
depends mostly on how much people work on it ;)
It will definitely be much easier than writing a new UI, or writing
the same UI in another toolkit. It is still GTK+, and basically all
widgets work in the same way as before. Changes are mostly in syntax,
and a script exist to take care of those changes. Of course some
things that were deprecated have been removed (but I don't think we
are affected by that), and some things are now slightly different.
It will not be very hard, but it is of course still a significant
amount of work.

 2) And this is the MOST important, can we really be sure that GTK3 will work
 stabily on macos ? GUIs on macos have always being an issue, because Apple
 has provided such a very good gui that people prefer to use objective c and
 now with the ability to port easily to iOS , its quite rare to find a mac
 app that does not use native libraries.  So many GUIs on macos are very
 neglected and that is a big understatement ;)
No, we have zero guarantees. But the only way to find out how well it
works, and if it is good enough is to try.

 We would love help with MyPaint, especially on OSX. There is some
 effort going on on providing a MyPaint.app, and this alone would be a
 big step forward for MyPaint on this platform. Once we are ready to
 start GTK3 porting work you can help out a lot there. 

 The build you provide in the website does not even run. It complain ,
 fairly, but missing python. I would love to help but I am clueless of
 objective C and C in general and compilers of course.
Yes, another contributor found the same and seems to be working on
fixing it. UnconventionalT_ on irc.
Maybe talk to him if you want to help out. Just testing it on a
different machine might be useful.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] The Future of MyPaint on Windows

2011-10-10 Thread Jon Nordby
On 10 October 2011 13:11, Mihai Cozma mihai.co...@gmail.com wrote:
 Also (warning: open source development newbie question):
 When will your patch and BenJackson's patch (if it is the real answer to the
 problem) will be committed to the 2.24 branch of gtk+? Do you have to submit
 them first, or you will wait until the whole bug is fixed, or how does these
 things work?
For Gnome patches can generally be considered to be submitted when
they are attached to a bug in bugzilla. The patches getting in
requires one of the gtk+ maintainers to have a look at it. This often
requires some prodding (maintainers nearly always have too much to
do). Typical way to escalate is to bring the issue up on the mailing
list, mentioning that the bug has patches solving the problem or parts
of it. Having a personal contact or two always helps. Michael Natterer
(mitch) in the GIMP project is a gtk+ dev that I know care about this
issue, but I'm not sure if he does Windows at all. But if not he would
likely know who to poke, so consider talking to him if no-one looks at
the patches.

For trivial and obvious fixes I can commit it if no-one else responds
(I have commit rights, but I'm not a gtk+ dev).

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] The Future of MyPaint on Windows

2011-10-09 Thread Jon Nordby
On 9 October 2011 12:39, Mihai Cozma mihai.co...@gmail.com wrote:
 Hi,
Hi!
 While I'm quite happy with my linux installation where I can use the latest
 version of my paint, the wacom support for their tablets in linux is quite
 poor. Another issue is that I have to reboot my machine from Windows into
 linux every time I want to paint something, then switch back for other
 tasks.

 Yesterday I've tried to use a linux virtual machine on Windows (both with
 Oracle Virtualbox and vmWare Player), and I had basically no 2D acceleration
 and when I've tried to enable the tablet device on them, one crashed and the
 other made no difference between the tablet and a simple mouse.
 All of this kind of points out that I should stick to Windows where Wacom
 support is best and where I do all my other stuff (programming, playing
 games, etc) except painting.However, because of some Gtk issues (which
 should be a portable library), the latest development version of MyPaint is
 not available on Windows and hasn't been for quite a while now. I also heard
 that the build on Mac OS has some issues too.
 Question is: is there any future for MyPaint on other platforms than linux?
The latest stable version of MyPaint works pretty OK on Windows does
it not? I don't think it is a requirement that the development version
is available for end-users on all platforms. We currently have a
problem that we don't release stable versions often enough (in my
opinion), but that is not platform specific.

 The way I see it, there are two solutions to this problem:
 1. Switch to other library from GTK, one which works better on all target
 platforms.
 2. Completely separate the GUI layer from the engine (which I think it is
 already happening) and use/maintain platform specific implementations for
 the GUI, that would assure maximum compatibility with their specific
 platform.
 What do you think about it?
You are missing one obvious solution: Fix GTK+, at least the parts
that MyPaint cares about.

In any case, I think you are missing the point. The problem with non
GNU/Linux platforms and MyPaint is not the UI toolkit used. The
problem is that there is very little developer activity on getting it
to work well on those platforms. Switching to a different toolkit or
creating platform specific UIs will not solve that problem (the latter
would just make it worse).
We simply need more people working on MyPaint+Windows and MyPaint+OSX.
You care about MyPaint+Windows and do programming. Are you in?

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] The Future of MyPaint on Windows

2011-10-09 Thread Jon Nordby
On 10 October 2011 00:43, Mihai Cozma mihai.co...@gmail.com wrote:
 Thanks for the reply, useful links.
 I also found the next text there:
 The plan seems to wait GTK 3.x become stable for win32 which takes sometime
 which ultimately invalidate this instruction as we will go with PyGI instead
 of PyGTK which is also another problem because GI isn't ported to win32 yet.
 That's the pity situation for mypaint win32.
 So based on this information, is there any point in trying to fix bugs and
 stuff, or we just have to wait until GI gets ported to windows and gtk 3 is
 stable for windows and so on? I mean, would all the work done trying to fix
 the problem in 2.24 get obsolete by the time GTK 3.x and this GI gets used?
Fixing the critical/blocking issues in GTK 2.x on Windows is very
valuable still.

Porting MyPaint to PyGI and GTK 3.x will likely not happen for the
next release. Meaning that without GTK 2.x fixed it will be some
additional months _after_ we get the next release out before Windows
will get the new stuff.
There are other projects that will benefit from having GTK 2.24 fixed
as well. GIMP 2.8 is another release that is also blocking on
this/these tablet bugs.

And, I would not be totally surprised if fixes are also applicable to GTK 3.x
-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Fwd: MyPaint and GtkBuilder/Glade

2011-09-18 Thread Jon Nordby
Opps, my reponse went off-list.

-- Forwarded message --
From: Jon Nordby jono...@gmail.com
Date: 18 September 2011 21:18
Subject: Re: [Mypaint-discuss] MyPaint and GtkBuilder/Glade
To: Andrew Chadwick a.t.chadw...@gmail.com


On 18 September 2011 19:51, Andrew Chadwick a.t.chadw...@gmail.com wrote:
 With the fact that glade 3.8 is the last stable gtk2-supporting
 version of glade, and glade 3.10 is the first stable gtk3, we may want
 to move on gtk3 support sooner rather than later. Maxy, Jon: what do
 you think?
We need to release what we have now before we start on such. But apart
from that, sooner is fine by me.

--
Jon Nordby - www.jonnor.com



-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] This link is new PsdToOra and OraToPsd.

2011-03-07 Thread Jon Nordby
Please use reply-to-all when responding to the email, as I have CC'ed
the mypaint mailinglist. This is so that others can also follow the
conversation.

On 7 March 2011 09:58, point_b hotmail.com poin...@hotmail.com wrote:
 To Jon

 Hi,and thanks for your mail.
 I'm sorry...
 I succeeded in operating my program without mbcs.
 But I failed to operate a program without UTF-8.
 This link is new PsdToOra and OraToPsd.
 http://www.hmx-12.net/nazk/hiyuu/hiyuu.zip

 OraToPsd.py is in hiyuu/OraToPsd7/dist
 PsdToOra.py is in hiyuu/PsdToOra7/dist


 - There is no license specified. You need to decide on a license. GPL,
 LGPL, BSD?

 I think it to be good with a license same as MyPaint
 What is the license of MyPaint?
MyPaint is mostly GPLv2+ but the brushlib is LGPLv2.1+.
However, I do not think we should include this in MyPaint itself,  so
you are free to chose whatever license you want.
This is for two reasons: 1) I do not see why we should support PSD
format. If we want to fix interoperation with Photoshop, a OpenRaster
handler for Photoshop should be written (I will do that if someone
sponsors me a license). 2) The code quality is not good enough, I am
having huge troubles understanding what the code does in some places
and that is a maintainance burden I do not want.

 - OraToPsd seems to work.
 But the image is uncompressed? (a 50KB .ora turned into a 5.9MB .psd
 file).

 Yes, the image is uncompressed.
 Because it was the second to make a program, I was not able to do it to RLE
 compression.

 Also, the temporary file was not deleted.

 I'm sorry...
 Please tyr new  OraToPsd.py in hiyuu/OraToPsd7/dist
No reason to be sorry, bugs happen :)


 - PsdToOra for me fails with:
 [hiyuu]$ python2 PsdToOra7/source/PsdToOra.py ~jon/MyPaint/scrap001_b.psd
 PsdToOra開始
 PSDデータ取得開始
 Traceback (most recent call last):
  File PsdToOra7/source/PsdToOra.py, line 314, in module
   image.save(os.path.join(psddir,henkan,data,layername[s] + .png))
  File /usr/lib/python2.7/site-packages/PIL/Image.py, line 1433, in save
   fp = __builtin__.open(fp, wb)
 IOError: [Errno 2] No such file or directory:
 'PsdToOra7/source/henkan/data/background.png'

 This is because the directory is not created. After creating the
 directory, I get:

 Please tyr new PsdToOra.py in hiyuu/PsdToOra7/dist


 [hiyuu]$ mkdir -p PsdToOra7/source/henkan/data
 [hiyuu]$ python2 PsdToOra7/source/PsdToOra.py ~jon/MyPaint/scrap001_b.psd
 PsdToOra開始
 PSDデータ取得開始
 Traceback (most recent call last):
  File PsdToOra7/source/PsdToOra.py, line 390, in module
   enc_path = zippathfile.encode('mbcs')
 LookupError: unknown encoding: mbcs

 Here the problem is that mbcs does not exist on non-Windows systems. A
 bigger problem is that filenames written to .ora files _must_ be UTF-8
 encoded, it cannot depend on the system encoding.

 Um...mbcs(Multibyte Character Set) and UTF-8...
 Because only Japanese used it, I thought
 I succeeded in operating a program without MBCS.
 But I failed to operate a program without UTF-8.

 ***
 Tategaki


-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Licensing policy: a proposal

2011-03-07 Thread Jon Nordby
On 7 March 2011 14:17, Andrew Chadwick (email lists)
andrewc-email-li...@piffle.org wrote:
 We should write down some simple policy for which licenses we accept
 into the MyPaint main distribution, primarily to keep things simple for
 coders and artists. What about the following, expressed in FAQ style?

 --8
 DRAFT NOT OFFICIAL * DRAFT NOT OFFICIAL * DRAFT NOT OFFICIAL

 Q: What licenses should I use when contributing to MyPaint?

 A: If you want your contribution to go into the official MyPaint
 distribution, you need to pick a license:

 1. All program code and supplemental data files should be GPLv2[1] or
 LGPL. This includes program icons and artwork for display within the
 program.

 2. Supplemental artworks and promotional material included in the
 distribution should be CC-Zero, CC-By, or CC-By-SA, version 3 [2].

 3. Elements which are highly likely to be reused by artists in the
 creation of new works[3], e.g. bundled brushes[4] or background texture
 images, should be licensed as CC-Zero or Public Domain. You'll get
 attribution in the official distribution, of course :)

 DRAFT NOT OFFICIAL * DRAFT NOT OFFICIAL * DRAFT NOT OFFICIAL
 ---8---

 Please pick apart point by point. The final tone should be friendly and
 not too lawyery :)

I agree. However, point 1. should be GPLv2+ / LGPLv2+ (that is, the
license must have the  or (at your option) any later version. clause
intact).
This is the license used for existing code, and allows downstream
recipients to chose under which version of license they want to
distribute the work, and allow us to move to GPLv3+, if we would like
to.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint 0.9.1 released

2011-03-06 Thread Jon Nordby
On 5 March 2011 14:58, Popolon popo...@popolon.org wrote:
 Ho, the french translation I sent to the list on 17/02/2011 was not comitted
 to the master :(.

You are right. Fixed now. :)

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint 0.9.1 released

2011-03-06 Thread Jon Nordby
On 5 March 2011 11:22, Martin Renold martin...@gmx.ch wrote:
 MyPaint 0.9.1 is released.

 This is a bugfix release without any new features. Several problems
 with non-ASCII file names, directory names, and layer names have been
 fixed, as well as a number of other minor issues. Integration with
 the Windows platform has been improved

Good stuff. I believe a number of the open bugs we have in fixed state
can be closed now?

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Regarding public IRC logs

2011-02-19 Thread Jon Nordby
On 18 February 2011 18:34, Martin Renold martin...@gmx.ch wrote:
 The IRC log has been down for several months now. We could ask
 http://irclogs.jackgrigg.com/ or someone else to add #mypaint.

 I will miss the robots.txt gently telling search engine not to index the
 logs.  But I think we can live with that.  Any objections, or any plans to
 fix the existing logger?  If not I'll do it.

Yeah, sorry about that.  I'd prefer to just use a service like the one
you link to.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Desktop file translations

2011-02-17 Thread Jon Nordby
On 15 February 2011 23:07, Andrew Chadwick (list subscriptions)
andrewc-email-li...@piffle.org wrote:
 The desktop file MyPaint uses for KDE and GNOME desktops needs
 translating into the various languages we support. I also thought the
 old from scratch wording sounded a bit awkward and off-putting to
 new users. I've asked around on IRC about some updated wording, and I
 think we're good to go with

  Name=MyPaint
  Comment=Painting program for digital artists
  GenericName=Raster Graphics Editor

Thanks for fixing this up. I'd give you the Norwegian Bokmål strings,
but our faithful Norwegian Nynorsk translator did them before I got to
it!

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Norwegian Nynorsk translation updates

2011-02-17 Thread Jon Nordby
On 16 February 2011 20:22, Tor Egil Hoftun Kvæstad
toregi...@hotmail.com wrote:
 Hello
 I've updated the Norwegian Nynorsk translation, and added Norwegian comments
 to the desktop file (nn_NO and nb_NO).

Committed! Thanks for your continued contributions.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Branch dockable-panels: call for review

2011-02-17 Thread Jon Nordby
On 17 February 2011 23:20, Andrew Chadwick (list subscriptions)
andrewc-email-li...@piffle.org wrote:
 Could I canvass people's opinion and review on the dockable-panels
 branch in the main git repo? If it's not too broken or weird, I'd like
 to rebase it into master before the next major release (i.e. after
 0.9.1). Probably needs some fixups first though...

As I said in the forum and on the mailing list I think this change is
really useful. But there are some issues.

First of all, the license of gui/layout.py is set to GPLv3. MyPaint,
is GPLv2+ (LGPLv2+ for brushlib). While not incompatible, this would
require us to distribute MyPaint under GPLv3, effectively a license
change for downstream recipients. I would really like to avoid that,
so please change the license to GPLv2 (and use the standard MyPaint
license header).

Also, a big change like this is impossible to review properly when
delivered in essentially one huge commit. I'll therefore only comment
on superficial things regarding the code. Please split the commit into
several smaller pieces so we can review properly, and squash in fixup
commits.

Code
- Several hundred lines of code is duplicated in layerswindow.py. We
can't have that.
- Moving MainWindow from windowing.py to layout.py looks to be unnecessary,
- I do not see the benefit of instantiating the menu-bar, et.c from
MainWindow, instead of just letting it happen within DrawingWindow
like before
- There is no status-bar at the moment, why does the code have logic for it?
- There is dead code (commented out) several places that needs to be removed.
- I'm fairly certain it was not necessary to instantiate the
backgroundWindow or brushSettingsWindow before, please check this

Regressions
- Main window does not obey window manager, is set to floating,
maximized by default
- Subwindows defaults to minimum size instead of something sane
- Subwindows no longer show up in front of main window

Strange behavior
- When scaling the sidebar, the canvas follows somewhat, but not
completely. Same when toggling the sidebar
- Gtk color selector resizing behaves strangely (as you noted).
Because of this the default color selector is colorsampler
Please fix this so that we can keep the Gtk one as default.

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] MyPaints oldest bug, fixed?

2011-02-14 Thread Jon Nordby
I've updated https://gna.org/bugs/index.php?9099 with a minimally
useful, working implementation of a frame.
Please review/test. If there are no issues I'll push it to mainline in
a couple of days.

Open questions about this feature:
What should it be called? Document/image/canvas frame/border?
Should it be somewhere else in the menues than now?
Should we use another way to move the frame than now?

-- 
Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Got mypaint.org

2011-02-08 Thread Jon Nordby
Got an email notification that mypaint.org was available and
registered it right away.
For now I will set it up as a redirect to mypaint.info, but as .org is
much nicer than .info we should, in my opinion, consider swapping.

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] planning a 0.9.1 release

2011-02-03 Thread Jon Nordby
On 4 February 2011 00:36, Martin Renold martin...@gmx.ch wrote:
 I'm starting to get somewhat annoyed by reports/requests of stuff that is
 fixed in git.  Let's make a new release!

 We also have one data loss bug fixed (bug #17536). It happens only together
 with GIMP; we should really get the fix out.  I think git master is in good
 shape to make a full release, rather than just backporting the critical
 bugfixes.
The behavior changes in device and brush selection handling is fairly
big, but if you think it is good then lets go for it.

 This means we need a short string-freeze, and go through the buglist once
 again, and test a bit more.  Is that okay with everyone?  Are we ready for
 string-freeze now already?  Anyone got changes in the making that we should
 wait for?
Nothing from me.

 Speaking about data loss, this bug would be a nice fix, too:
 https://gna.org/bugs/?17473
Do we have consensus on how to solve this? I've already stated my
opinion in the matter, but do note that resolving it in that matter
would be a (again) fairly significant behavior change.

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] current git version stopped working? Issue with try-except-finally in WindowManager class.

2010-12-28 Thread Jon Nordby
On 28 December 2010 15:08, Andrzej Giniewicz ggi...@gmail.com wrote:
 Hi,

 I wonder if it's my setup or not, but as of
 1704779f6bd2f973b095a5bbdbd7a413f58e8910 (windowing: Move code to new
 WindowManager class.) MyPaint stopped working on fresh config. It
 fails like this:
Thanks a lot for quick testing and the patch!
Since f only needs to be closed if it has succesfully opened and thus
did not raise IOError, I pushed a fix which puts f.close() inside the
try statement.

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] current git version stopped working? Issue with try-except-finally in WindowManager class.

2010-12-28 Thread Jon Nordby
On 28 December 2010 19:02, Andrzej Giniewicz ggi...@gmail.com wrote:
Anyway, I noticed one more issue I had fixed on my copy for
 some time (it's setup thing again, Python3 is default on my OS), today
 I found out how to fix it in right way.

Thanks, applied unchanged and pushed!
I've actually seen this for a while (I'm running Arch as well) but
I've been too lazy to fix it.

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] current git version stopped working? Issue with try-except-finally in WindowManager class.

2010-12-28 Thread Jon Nordby
On 28 December 2010 21:28, Andrzej Giniewicz ggi...@gmail.com wrote:
 On Tue, Dec 28, 2010 at 8:58 PM, Jon Nordby jono...@gmail.com wrote:
 Thanks, applied unchanged and pushed!
 I've actually seen this for a while (I'm running Arch as well) but
 I've been too lazy to fix it.

 Cool, now it builds, runs and all tests pass on fresh install on Arch,
 yay! (well, kind of - the test_*.py file have to be changed from
 python to python2 to run, but it is unrelated to mypaint itself).
 Anyway, I wondered if/when you will guess that it's on Arch, seems not
 many distros switched to Py3K yet, heh?
No, and I don't expect anyone else will follow anytime soon. Probably
not in 2011. Lonely are the brave ;)

 I believe now you can also remove the python2.patch from the
 mypaint-git package you maintain there? I'd write it under mypaint-git
 AUR page, but I'm lazy too, and not logged in there at the moment :P
Thanks for the reminder, done now.

This also reminds me that there is more stuff that should be fixed in
our build system. We are running some stuff directly in the
sconscript/sconstruct, instead of creating targets like we should:

scons: Reading SConscript files ...
Building for python2.7
swig -o mypaintlib_wrap.cpp -noproxydel -python -c++ mypaintlib.i
python2.7 generate.py
Writing brushsettings.hpp
scons: done reading SConscript files.
scons: Building targets ...

The code that makes that output between the scons: ... lines should
actually be executed after building targets.

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] ora2png

2010-12-09 Thread Jon Nordby
On 9 December 2010 01:13, David Gowers (kampu) 00a...@gmail.com wrote:
 Attached is ora2png, a tool I recently wrote that flattens .ora files
 and saves them as png.
 it requires Python and the commandline version of G'MIC (http:/gmic.sf.net)
Nice, this will be useful to a lot of users.

As a better long term solution, it would be nice to use libora for
this. It can already render a document to a pixelbuffer, so the only
addition needed is to save that buffer to a PNG (there is some sample
code for this in the oratool.c file). Patches would be very welcomed
:)

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Fwd: [CREATE] Pro bono ads in Libre Graphics Magazine

2010-11-03 Thread Jon Nordby
This might be interesting for us. Any designers that want to make an
advertisement for MyPaint? ;)

-- Forwarded message --
From: ginger coons gin...@adaptstudio.ca
Date: 3 November 2010 14:38
Subject: [CREATE] Pro bono ads in Libre Graphics Magazine
To: create cre...@lists.freedesktop.org


Hello, Create!

More chatter from Libre Graphics Magazine. In issue 1.1, we've
reserved nine full pages for pro bono ads. These pages are spaces we
want to go to the promotion of F/LOSS and Libre Graphics software and
projects. So far, only one is spoken for. Which means that we've got
eight whole pages left for the promotion of Libre Graphics projects.
We're running A4 size pages and if you don't want to design an ad
yourself, we'll do it for you. If your project wants one of those
spaces, either reply to this thread, to me, or to
enquir...@libregraphicsmag.com.

--
ginger all-lower-case coons
adaptstudio.ca
647.865.7757 (Toronto)
514.213.1318 (Montreal)

___
CREATE mailing list
cre...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/create




-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint 0.9.0 released

2010-11-02 Thread Jon Nordby
On 2 November 2010 21:54, Martin Renold martin...@gmx.ch wrote:
 MyPaint 0.9.0 has been released.
Hurrah, party all night.

 I'm going to make announcements on Freshmeat and Gnome Files tomorrow.
I'm going on a closing-spree for the bugs marked as fixed in the
bugtracker now. Temporarily disabling email notifications to keep the
noise down.

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Hungarian translation - final

2010-10-30 Thread Jon Nordby
 The hungarian translation is finally finished, I hope I'm still on time.
 (If I knew git better, I'd send a patch only, but for now I'll send the whole
 .po file again)
Committed now. Thanks again!

Sending the .po file is just fine. I commit all translation changes
with the author of the translations anyways, so there is no benefit to
sending patches.

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Hungarian translation

2010-10-23 Thread Jon Nordby
2010/10/20 Aradszki Gergely garp...@gmail.com:
 Greetings!

 Here is the Hungarian translation. It is possible that minor stilistical
 changes will be made later, but it can be considered complete.

Committed and pushed. Thanks a lot!
Note that 5 strings are marked as fuzzy. Is that intentional?

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint Spanish update

2010-10-23 Thread Jon Nordby
2010/10/19 manuel quiñones manuel.por@gmail.com:
 Spanish translation PO updated.

Committed and pushed now. Thanks a lot!

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint 0.9 brush collection tilt icon

2010-10-23 Thread Jon Nordby
On 17 October 2010 22:08, David REVOY davidre...@gmail.com wrote:

 Now, the only thing that needs to be done is to move some brushes over
 from classic to experimental, to keep classic under 35 brushes (at
 least 5). Does anyone have suggestions for which ones that should be?

 Hi, my suggestion is to remove the 5 I underlined ( jpg in attachement )
 from the actual 40 to have a set of 35.

Ok, done.
If anyone else has suggestions or wishes to improve the brushset for
0.9, please raise them now.
Stuff like ordering inside the groups, moving brush between groups or
perhaps putting some favorites back from the sets that were removed?

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint 0.9 brush collection tilt icon

2010-10-17 Thread Jon Nordby
On 11 October 2010 11:20, David REVOY davidre...@gmail.com wrote:

 - Brushes using tilt must have icons that show this.



 Hi,
 A little update of my work on the kit, with the tilt icon as promised on IRC
 : http://www.davidrevoy.com/XYZ/brushes-mypaint-pack.zip
 In attachement a preview of screenshots. I tried to kept it simple and
 subtle. They are in 'classic' folder ; markers + impressionism + puantilism.
 ++ ;)

Merged now, thanks a lot!
Now, the only thing that needs to be done is to move some brushes over
from classic to experimental, to keep classic under 35 brushes (at
least 5). Does anyone have suggestions for which ones that should be?

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Norwegian Nynorsk translation update

2010-10-16 Thread Jon Nordby
On 16 October 2010 19:58, Tor Egil Hoftun Kvæstad toregi...@hotmail.com wrote:
 Hello
 I'm not entirely certain whether or not I'll work more on it at this time.

 If you don't hear anything more from me before you must merge it for 0.9.0,
 just merge it. If I have any updates before that, I'll post them to the
 list.
Ok. Merged and pushed now. Thanks a lot!

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint 0.9 string freeze and beta1

2010-10-16 Thread Jon Nordby
On 17 October 2010 00:33, Griatch Griatch-art gria...@gmail.com wrote:
 Here's the updated .po file for Swedish.
 .
 Griatch
Committed and pushed. Takk sä mycket!

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Status of FOSS interface design course

2010-10-15 Thread Jon Nordby
Quoted in full and CC'ed to our mailing list.

On 15 October 2010 17:28, Matthew Jadud mja...@allegheny.edu wrote:
 Hello all,

 You are receiving this because you indicated that you had a FOSS
 project that might benefit from a student team contributing usability
 testing and design.

 This week, the students completed their sprint through the Fedora
 Project website, and we will be communicating the results of their
 testing back to the FP websites team shortly. The students learned a
 great deal in their sprint, and are ready to move on to the next phase
 of the course.

 There are only three student teams. They selected projects, began
 contacting their communities, and in more than one case found an
 unresponsive community. This is the nature of real-world FOSS
 participation, and we knew this was possible from the start -- so
 we're not worried/complaining. It is *possible* that the students are
 not contacting the right people, but they started by engaging with one
 of you and/or by using the communication mechanisms that your project
 uses most. (For example, a team looking to work with VLC found there
 is heavy reliance on IRC, and therefore the students are doing their
 best to do their communication in IRC. This is working well so far,
 and they're excited.)

 The other two teams will continue attempting to find projects with
 responsive communities. Our ask remains simple: give them some
 direction so that they are working on high-value projects *for you*,
 and by-and-large they're self-directed and self-sufficient.

 If you hear from any of them in the next day or two, it's because
 they're now looking for a new project that wants their contributions.

 Many thanks to all of you, and keep hacking on the good stuff that you do.

 Cheers,
 Matt

Thanks for the update.
Here is a small update on our side in MyPaint, and some possible
directions for your students.
We have just released MyPaint 0.9.0 beta1, which means we are in
string freeze and will release MyPaint 0.9.0 final in some weeks. And
after that, we will be focusing again on new features and
improvements.

Some interesting tasks (for us, and hopefully for you)
1. Brush selection workflow
Today this centers around the brush selector dialog, which can bee seen here:
http://mypaint.intilinux.com/wp-content/uploads/2008/04/GUIfull1.png
I suspect that several things about this dialog is not very intuitive,
and not as good as it could be.

2. Brush editing workflow
This is an action that is performed more seldom, but has more
complexity associated with it. Current solution is the brush editor,
of which an older version is shown here:
http://mypaint.intilinux.com/wp-content/uploads/2009/06/snapshot3b.png
The current solution exposes all the internal complexity directly to
the user, with little to no help offered to understand what is going
on. This is, in my opinion, one of the least usable aspects of
MyPaint.

3. Usability on tablet PCs
Tablet PCs are an important class of devices which have so far been
neglected by us. Going forward we want to fix that, and some good
interaction design would be a great start!

More an idea:
4. A user interface for a MyPaint Mobile application
This is much more uncertain if we are able to implement, due to the
size of the task and that it is a bit of a sidetrack from our primary
focus. But I might be able to convince someone to sponsor me to work
50-150 hours on something like that, so if you are very interested it
is a possibility.
The target form-factor would be the ones that require a fundamentally
different user interface (and targeting slightly different usecases)
than the original MyPaint: Smartphones, MIDs, small slates. Small-ish
mobile devices with touch/stylus as main input device.

If any of these tasks seem interesting, please let us know and we will
provide more information.

-- 
Regards Jon Nordby - www.jonnor.com

PS: The CC'ed mailinglist and IRC are our main communication tools.

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] Norwegian Nynorsk translation update

2010-10-15 Thread Jon Nordby
On 12 October 2010 19:53, Tor Egil Hoftun Kvæstad toregi...@hotmail.com wrote:
 Hello
 I've attached the updated Norwegian Nynorsk translation.

 There are now 323 translated strings, 33 fuzzy and 34 untranslated.

Hey. Do you plan to work more on this before 0.9.0, or do you want me
to merge it like this? (either way is fine)

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint 0.9 string freeze and beta1

2010-10-15 Thread Jon Nordby
On 14 October 2010 10:03, geun-tak jeong berobe...@gmail.com wrote:
 Hi

 Hangul language files were completed.

 I learned how to create a POT file. The translation will be so fresh.

 Please contact the new version comes out.
Thanks a lot! Updated now.
The new version will be announced on the mailing list and on the
website. www.mypaint.info

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint 0.9 string freeze and beta1

2010-10-12 Thread Jon Nordby
2010/10/12 geun-tak jeong berobe...@gmail.com:
 Hello. I have Mypaint Korean translation.

 POEdit uses.

 However, there is a problem.

 No POT files.

 I can not create a new POT file.

 I'm not a programmer.

 POT file for translators to make ...

 We have more translations does not help.

 I need a new standard POT files.

 POT file can not be translated without the latest.

 Instead of creating POT files that can not afford?



 Thanks for reading.
 듣기
 소리나는 대로 읽기

 ps. using Google Translator

You will need to use scons translate=ho to update the po file for
Korean. Unless you are starting a new translation, you do not need to
care about the pot file. Normally we would update the the po files
before/after doing a string freeze release, but this has not been
done. However, if you need google translate to be able to communicate
in English, please consider if you are the right person to do a
translation.

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint 0.9 string freeze and beta1

2010-10-12 Thread Jon Nordby
On 12 October 2010 14:24, Julian Aloofi jul...@fedoraproject.org wrote:
 Hi Jon,
 good to see you keep the work up on this amazing program! :)
 I don't think I'll be able to continue working on the german translation
 for now, especially since I'm lacking much artistic vocabulary and am
 currently working on other stuff.
 If I find the time I'll be sure to send you a merge request though.

Thanks for letting us know. We have several other people around the
project who are native speakers of german, so we should be fine. If
anyone else is planning to work on this, please let everyone else know
so that there is no duplication of effort.

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint 0.9 brush collection

2010-10-03 Thread Jon Nordby
On 2 October 2010 15:12, cont...@turnangel.com cont...@turnangel.com wrote:
 I think that in the next release my brushes set shouldn't be included
 because is too specialized and normal users don't need it at all. I myself
 don't use it anymore and I stay sticked with last Deevad  Ramòn pack. :D
 Imho icons should be draw by the same person for consistency and
 professional look. (Please, don't look at me I'm very bad to draw icons! :D
 ) Personally I prefer the Ramòn solution because I can say instantly how the
 brush works reading the labels below and above the icon image.Deevad icons
 are beautiful and pleasant to look but sometimes confuse me.
 These are my two cents... What do you think about?

Ok, thanks for your input. Tanda has sent me a updated brush set,
which I will commit to master soon. So it looks like we are all set as
far as artist brushsets goes!

For the non-artist brushsets it would be very nice if they also had a
nice, consistent look for the icons. That is one of the reasons why we
are interested in having a brushset maintainer.

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] layers re-positioning for adjustment

2010-10-02 Thread Jon Nordby
On 2 October 2010 12:24, Vasilis Platanias azathot...@gmail.com wrote:

 This could be very useful for exchanging layers between mypaint and
 gimp too. Currently this exchange works better for flat images rather
 than layers, because layers might lose their original position when
 pasted back to mypaint.
Using OpenRaster as an exchange format will preserve all layers and
their positioning.

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] MyPaint 0.9 planning update

2010-10-01 Thread Jon Nordby
I think we've now taken care of most of the things mentioned in the
first MyPaint 0.9 planning thread.

TODO:
1. Finishing planned brushset changes (I'm following up on that subject shortly)
2. Brushset import testing

3. bug #16109: [Windows] cannot save/load files with non-ascii characters
+ other Windows save crashers

4. bug #14875: ORA should not be the default file format
Personally I think its fixed/not-a-bug, but I wont try to keep anyone
from doing it.

Anything else? Anything that is blocking a string freeze? If not, I
propose string freeze next Sunday, 10 October.
I'm also proposing we do a beta release at the same time we have the
string freeze. That way we will get significantly more testing before
RC and final release. Hopefully also by Windows users, which is
perhaps the most important.
Bakhtiar, can you do a Windows build sometime around then?

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] MyPaint 0.9 brush collection

2010-10-01 Thread Jon Nordby
This is a status update on the planned MyPaint 0.9 brushset changes.

- We now have two artist brush sets that are ready to ship, Deevad
and Ramòn. This is enough, but if you are interested we can accept
another one. Tone, Ico-dY, Tanda?
It would have to follow the guidelines given in the previous email
(especially the number of brushes).

- We still need a bit of help in redesigning some icons for the
non-artist brush sets
The biggest problem is the tilt brushes (currently in the Tilt
group). These need better icons, so that is is clear that these use
tilt. Simply adding some text saying tilt might be enough.

Enrico/Ico-dY; I seem to have missed you in the first email, sorry.
The original email is included underneath so you can see what we are
planning.

If there are any questions or comments, remember to use reply to all.

-- 
Regards Jon Nordby - www.jonnor.com

On 12 September 2010 22:07, Jon Nordby jono...@gmail.com wrote:
 Hi dear MyPaint brush set contributors!

 We (the developers) are working on finalizing MyPaint 0.9, and we hope
 to finish that release within a month or two. In addition to the
 software changes (features, bugfixes, et.c.), we want to make some
 changes to the brush set to make MyPaint more usable.

 Here is some of the things we have done so far with respect to brushes:
  - Implemented brush import/export
  - Implemented loading of last used brush and brushgroup on startup
  - Remove the default group
  - Make David Revoy's brush set (Deevad) the default one for first startup

 And here is what we want your help to do:

  - Make each brush group contain 25-35 brushes
 This is to keep the number of brushes down, and to let the user be
 able to see and keep track of all brushes in a group easily.
 We are hoping that the artists that has contributed a brush set (thats
 you!) can make an updated brush set that contains their 25-35 favorite
 brushes, and set it to us within the next couple of weeks.
 If you do not think you have time to do this, please let us know.

 - Improve the brush icons of the non-artist brush sets
 Good brush icons communicate to the user what type of brush it
 represents, how the brush looks and can be used. It is also good if
 they look nice, of course :) If you want to help us create such icons
 for the non-artist brush sets, let us know.

 We are also interested in handing over the maintainer-ship of the
 default brush collection.
 That means being responsible for updating the collection when artists
 update their sets, choosing which new brushes/sets should go in, which
 ones to remove, adjusting the guidelines for the brush collection,
 improving brush icons that need it, et.c.
 If anyone is interested in this, please speak up.

 Remember to use reply to all when replying to this email.
 --
 Regards Jon Nordby - www.jonnor.com


___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


Re: [Mypaint-discuss] [CREATE] ORA fullscreen viewers

2010-09-15 Thread Jon Nordby
On 10 September 2010 08:22, Luka Čehovin luka.ceho...@gmail.com wrote:
 Hello,

 3. Let a common library implement basic ORA support, and provide an
 interface to get the full image as a pixel buffer.

 My favorite option is number 3, mainly because:
 1. results in redundant information in every new ORA file, as you
 point out. And it does not work for existing files.
 2. results in fairly significant duplicate work for each
 implementation. Or the current state - no implementations at all.

 In addition having a library abstract the details away means that
 newer features could be added in a transparent way as the standard
 develops.


 These are exactly the reasons why I have started working on libora. At
 the moment I still do not have time to continue the development ...
 but since the code is on gitorious everyone is welcome to join. At the
 moment I can only participate in some potential brainstormings and
 help with some minor stuff.

Do you have time for a code review?

Also, would you please remove libora on gitorious in favour of the
openraster/libora repo, like we discussed?

-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


[Mypaint-discuss] Fwd: Students exploring user interface design

2010-09-13 Thread Jon Nordby
-- Forwarded message --
From: Matthew Jadud mja...@allegheny.edu
Date: 12 September 2010 23:04
Subject: Students exploring user interface design
To: Matthew Jadud mja...@allegheny.edu


Hello all,

I will keep my note brief. I'm writing you because you, or a colleague
of yours, responded to my call regarding usability/interaction
design[1]. I've tried to capture all of your projects in a list[2],
and have done my best to (briefly) write something about your
projects. I want to say that I am overwhelmed by the number of
responses I received, and from so many projects that I am familiar
with in one form or another. I'm very excited about the opportunities
your projects represent for the students.

The students are currently engaging in their first UI design and
testing project, which involves student involvement with the Fedora
Design community surrounding their pending website redesign. The
students don't *really* know what they're doing yet, and Máirín Duffy
and the websites team were kind enough to let the students use this as
an opportunity to skin their knees a bit and learn what the whole UI
design/test process looks like. As I've heard some FOSS practitioners
say, the students are learning to be productively lost.

While they're doing that, they're reading Norman, Cooper, Snyder, and
other resources, delving more deeply into the cognitive and practical
aspects of UI design. They're going to be looking at all of your
projects over the coming week, and will likely begin contacting some
of you next week to ask questions and express interest in working with
you.

In short, this note is a heads up as to what we've been up to, and
where we're going next. I'm sorry I didn't write sooner, but I've been
doing a lot of community interaction/bridging myself these past two
weeks. The students are engaged, and the knowledge that they will be
working with real projects has, I think, really focused their efforts
so far.

Please feel free to ask me questions. Mostly, I think you can continue
to sit back and wait for students to come your way. So, again: thank
you!

Cheers,
Matt

PS. Given that we only have 10 students in the class, the fact is that
we won't be able to work with most of the projects that responded.
That said, I'm going to push to see if I can get this course
cross-listed with our Psychology department, and perhaps get it to run
more often. Or, perhaps I'll look at ways I can do something that
blends our local instruction with P2PU. Either way, it is clear that
there are a lot of great opportunities to introduce students to open
communities around the theme of usability.

[1] 
http://www.sububi.org/2010/08/18/free-interaction-design-for-your-open-source-project/
[2] http://rockalypse.org/courses/cmpsc303f10/projects/
[3] http://wiki.rockalypse.org/HCD


-- 
Regards Jon Nordby - www.jonnor.com

___
Mypaint-discuss mailing list
Mypaint-discuss@gna.org
https://mail.gna.org/listinfo/mypaint-discuss


  1   2   >