Development
From VipsWiki
| Revision as of 15:57, 29 September 2011 John (Talk | contribs) (→Git) ← Previous diff |
Current revision John (Talk | contribs) (→Plans) |
||
| Line 3: | Line 3: | ||
| We're modernising libvips at the moment. The idea is to move everything on top of [http://en.wikipedia.org/wiki/GObject GObject] and get a new g*-style API that way. It should be simpler, cleaner, and support full run-time introspection. We will continue to support the old vips7 API. | We're modernising libvips at the moment. The idea is to move everything on top of [http://en.wikipedia.org/wiki/GObject GObject] and get a new g*-style API that way. It should be simpler, cleaner, and support full run-time introspection. We will continue to support the old vips7 API. | ||
| - | We have VipsObject already done and in use by the interpolation and format systems. We've completed a first pass through the current library, cleaning it up, writing gtk-doc comments, and moving old and broken stuff to a separate "deprecated" package. We're now starting to move more of the base types on top of VipsObject. | + | We've moved about 1/3 of the library to the new system. Still to do: |
| - | * finish the move to gtk-doc and delete all the old manpages (DONE) | + | * mvoe the rest of the library over |
| - | * move IMAGE and REGION over to VipsObject (DONE) | + | |
| - | * start experimenting with VipsOperation (DONE) | + | |
| - | * make new C binding (in progress) | + | |
| - | * make new CLI binding to vips (in progress) | + | |
| * make new C++ binding | * make new C++ binding | ||
| - | * make new swig-free Python binding in ctypes | + | * finish the new Python binding |
| Other ideas: | Other ideas: | ||
| Line 17: | Line 13: | ||
| * add operator sections and function argument pattern matching to nip2 | * add operator sections and function argument pattern matching to nip2 | ||
| * break nip2's programming language out to a separate package | * break nip2's programming language out to a separate package | ||
| - | * move LUT optimisations and call memoisation down from nip2 to vips | ||
| * more Orc stuff | * more Orc stuff | ||
Current revision
Plans
We're modernising libvips at the moment. The idea is to move everything on top of GObject and get a new g*-style API that way. It should be simpler, cleaner, and support full run-time introspection. We will continue to support the old vips7 API.
We've moved about 1/3 of the library to the new system. Still to do:
- mvoe the rest of the library over
- make new C++ binding
- finish the new Python binding
Other ideas:
- add operator sections and function argument pattern matching to nip2
- break nip2's programming language out to a separate package
- more Orc stuff
Any more ideas very welcome.
Snapshots
We put occasional tarballs of development snapshots in the development download area.
Git
We have the sources for libvips and nip2 on github.
To check out a copy of the source:
git clone git://github.com/jcupitt/libvips.git
You'll need to rebuild the configure system after downloading:
cd libvips ./bootstrap.sh
Then you can configure ; make ; make install as usual.
./configure make make install
If you want to make changes and merge them, make an account on github, fork vips, edit as you please, and push commits upstream as you make them. gitref.org is a very handy getting-started guide to git.
There are separate HOWTO guides to help you Build on windows and Build on OS X.
