My Gsoc Proposal
This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.
This is a read-only list on gimpusers.com so this discussion thread is read-only, too.
My Gsoc Proposal | alok mishra | 22 Mar 17:47 |
My Gsoc Proposal | Michael J. Hammel | 22 Mar 18:20 |
My Gsoc Proposal | Sven Neumann | 22 Mar 20:56 |
3520b7181003230101n2839961a... | 07 Oct 20:28 | |
My Gsoc Proposal | alok mishra | 23 Mar 09:04 |
My Gsoc Proposal
hello everyone
I am Alok Mishra, a student willing to participate in gsoc and I am very excited about it. I have an idea but not listed on idea page.
I wanted to make gimp multitouch input capable application. That is by this gimp will become capable of recognizing gestures like zoom-in, zoom-out, two finger rotate, finger dragging, two finger and multi-finger inputs for drawing (more than one finger drawing i.e more than one person can draw on single canvas or on different canvas, finger sketching).And also drawing by hands is more intuitive rather than a mouse.
So basically what I wanted to do is whenever zoom-in gesture is recognized by gesture server, I wanted to use gimp zoom-in function. I did some searching on how it can be done.
First I thought it can be done through gimp-python through pdb created to
write plugin for gimp. And I got that it doesn't controls the actions for gimp. Gimp do what gtk+ and gdk says to it.
So I am currently working on how to make gtk+ to take more than one inputs. I wanted to use python.
I am newbie and done not much in gtk+ and gimp development.
Please suggest me there is any other way to do this. Where does actually the gtk+ code resides in gimp source tar. I have created gimp development environment on ubuntu and successfully be able to compile it. Please tell me how to setup gtk+ environment for development. Suggest me some links.
Thank you
Alok Mishra
My Gsoc Proposal
On Mon, 2010-03-22 at 09:47 -0700, alok mishra wrote:
hello everyone
Howdy.
I am Alok Mishra, a student willing to participate in gsoc and I am very excited about it. I have an idea but not listed on idea page. I wanted to make gimp multitouch input capable application.
Multitouch (aka Multipointer X) is something that would be supported by the X.org drivers and then accessed through various layers above that. Here are some web sites related to it:
X.org announcement for support for Multipointer X: http://lists.freedesktop.org/archives/xorg-announce/2009-October/001087.html
Some GNOME work on support for multipointer X: http://live.gnome.org/GTK%2B/MPX
Wikipedia: http://en.wikipedia.org/wiki/Multi-Pointer_X
Peter Hutterer's original site, with lots of interesting background, is
no longer available. You might be able to get some info from the
Internet Archive for it:
http://web.archive.org/web/20080719153200/http://wearables.unisa.edu.au/mpx/
It's a cool idea, though it's more of a GTK+ project than GIMP one, I'd imagine.
My Gsoc Proposal
On Mon, 2010-03-22 at 09:47 -0700, alok mishra wrote:
I am Alok Mishra, a student willing to participate in gsoc and I am very excited about it. I have an idea but not listed on idea page.
I wanted to make gimp multitouch input capable application. That is by this gimp will become capable of recognizing gestures like zoom-in, zoom-out, two finger rotate, finger dragging, two finger and multi-finger inputs for drawing (more than one finger drawing i.e more than one person can draw on single canvas or on different canvas, finger sketching).And also drawing by hands is more intuitive rather than a mouse.
So basically what I wanted to do is whenever zoom-in gesture is recognized by gesture server, I wanted to use gimp zoom-in function. I did some searching on how it can be done.
First I thought it can be done through gimp-python through pdb
created to write plugin for gimp. And I got that it doesn't controls the actions for gimp. Gimp do what gtk+ and gdk says to it.
So I am currently working on how to make gtk+ to take more than one inputs. I wanted to use python.
I am newbie and done not much in gtk+ and gimp development.
There's the xi2 branch of gtk+, which is, as far as I know, pretty close to being merged. That would be needed for adding multi-touch support to GIMP. Not sure if it makes sense to base a Google Summer of Code project on pending work in another project. But it's certainly an interesting project.
Please suggest me there is any other way to do this. Where does actually the gtk+ code resides in gimp source tar. I have created gimp development environment on ubuntu and successfully be able to compile it. Please tell me how to setup gtk+ environment for development.
The project you are proposing is quite ambiguous as it requires fundamental changes to the GIMP core. I am afraid that you are not qualified to tackle this project. Adding multi-touch support to GIMP requires decent knowledge of GTK+ and GDK, which you are obviously missing.
Sven
My Gsoc Proposal
There's the xi2 branch of gtk+, which is, as far as I know, pretty close
to being merged. That would be needed for adding multi-touch support to GIMP. Not sure if it makes sense to base a Google Summer of Code project on pending work in another project. But it's certainly an interesting project.
I also checked xi2, what I see is there is huge difference
between what I am thinking and what Peter (owner of this project) is focusing on. Their concept is to make able current applications with no change to take inputs from more than one input devices. Its like two people working on gimp, each having one pair of mouse, keyboard and a display, but obviously computing machine is same. Now if one make any changes to the canvas and it can be viewed by the other and other if wanted can make changes to it. But simultaneously not. That is basically there would be only one input to the application at a time. See this line from xi2 feature page "http://fedoraproject.org/wiki/Features/XI2#Documentation" "Each time an SD generates an event, this event is passed through the MD to the respective application". Here SD stands for slave device and MD for master device, so after all its MD that is controlling the application, SD have no reach to the application. In no way application can have more than one input at the same time. i.e required to make gestures. Gestures is what xi2 is not working with. *So its a new project to very extent and not done yet.*
The project you are proposing is quite ambiguous as it requires
fundamental changes to the GIMP core. I am afraid that you are not qualified to tackle this project. Adding multi-touch support to GIMP requires decent knowledge of GTK+ and GDK, which you are obviously missing.
Also I was mentioning about recognizing gestures, by making an gesture
server. Multi touch applications is what I was involved with since more than one year. I have built my own multi touch table based on jeff hann concept.
I was also mentioning about changes in gimp too, which someone has to come with. *Though I am a beginner with gtk+ and gdk* but i have already completed half of my work as
1. I know how to take multiple inputs and reach upto application with. I worked in pymt framework and is *well*-*versed with its api and done some applications too.*
2. Pymt framework is an active group and fast growing framework. Currently it support TUIO protocol, Mac Touch, Window 7 WM_Touch native support, Support SMK device, Support Wiimote device.3. There is PyGTK to make pymt integrate well with GTK+ and to make portable the whole application to the platforms that GIMP supports. PyGTK applications are truly multiplatform and they're able to run, unmodified, on Linux, Windows, MacOS X and other platform. 4. I have my own open source multi touch table to test applications.
So I think I am left with GTK+ to work with and think that can be done in three months period.
Alok Mishra
India--
have a good day