Commit Graph

689 Commits

Author SHA1 Message Date
John Cupitt
e14c5607b1 refactor ready for unary arithmetic
move most of the logic in binary.c into arithmetic.c ready to share with
unary
2011-10-30 18:31:45 +00:00
John Cupitt
7807efcfbe remove some dbg 2011-10-29 20:59:32 +01:00
John Cupitt
441ae2305e sync 2011-10-28 17:36:20 +01:00
John Cupitt
d503e710e2 fix array double -> gstring 2011-10-28 15:13:55 +01:00
John Cupitt
2da5560992 bandjoin done and dusted 2011-10-28 14:12:39 +01:00
John Cupitt
7dcda5c0c9 starting to factor out VipsArea 2011-10-27 22:13:21 +01:00
John Cupitt
5821f6cb40 done im_gbandjoin()
but needs testing, also see TODO for notes
2011-10-27 17:40:39 +01:00
John Cupitt
a09929ef94 added image array args 2011-10-27 15:27:03 +01:00
John Cupitt
c027528b82 im_clip2fmt() redone as a class
plus some rationalisation of member names
2011-10-27 12:10:24 +01:00
John Cupitt
85420c4f7e sync 2011-10-26 16:53:39 +01:00
John Cupitt
014763a845 rewrite im_replicate() as a class 2011-10-26 16:51:27 +01:00
John Cupitt
7e6f885ea1 redo im_extract*() as a class 2011-10-26 15:09:01 +01:00
John Cupitt
b969ce2aa5 im_*join() redone as a class 2011-10-26 13:26:20 +01:00
John Cupitt
e159aba7c7 small fixes, work on join.c 2011-10-26 09:39:14 +01:00
John Cupitt
b35e43c31e merge insert 2011-10-25 16:22:03 +01:00
John Cupitt
3f93f60d91 fix im_copy_set() 2011-10-25 15:44:54 +01:00
John Cupitt
2b39626b54 stdarg processing bug
optional output arg fubar
2011-10-25 09:58:10 +01:00
John Cupitt
a1e7188f82 im_embed() fix
vips7 compat wrapper was broken
2011-10-24 22:47:43 +01:00
John Cupitt
0c74ac2ebf insert works fully
switched im_insert over, though nip2 make check still fails
2011-10-24 16:21:42 +01:00
John Cupitt
045c2b37aa sync 2011-10-24 08:57:13 +01:00
John Cupitt
a5b8a21a54 VipsInsert is working
but array_double from CLI still needs work, see TODO
2011-10-23 22:05:21 +01:00
John Cupitt
2c4cbedc70 insert.c compiles
and we have VipsArea as a public struct for array arguments
2011-10-22 13:10:47 +01:00
John Cupitt
210668edc2 sync 2011-10-21 14:50:34 +01:00
John Cupitt
9ea6fc6653 sync 2011-10-21 09:35:05 +01:00
John Cupitt
02d8f0925f sybnc 2011-10-20 14:56:13 +01:00
John Cupitt
5ad2861b30 initial insert hack 2011-10-20 11:22:49 +01:00
John Cupitt
5f0bf05f2c TODO notes
and fix a typo
2011-10-19 12:06:02 +01:00
John Cupitt
07396c8b11 operation cache fixes
was not working for enums, cleaned up a bit
2011-10-19 11:35:56 +01:00
John Cupitt
7fdeb1789b vips7wrap works for non-image output
"vips max x.jpg" now works
2011-10-19 10:53:18 +01:00
John Cupitt
9078df3c7b TODO notes on exif problems 2011-10-18 14:50:47 +01:00
John Cupitt
932bc3585a work on wrapvips7 2011-10-17 14:48:20 +01:00
John Cupitt
ac377c143b im_dlip*() redone as a class
VipsFlip replaces  im_fliphor() and im_flipver().
2011-10-17 07:15:51 +01:00
John Cupitt
26792ed4e1 bugfixes
get the new arg system working
2011-10-16 17:48:28 +01:00
John Cupitt
8dfb3056ac added VipsEmbed
added VipsEmbed class, new macros for arg boilerplate, new priority
thing for arg ordering
2011-10-16 14:48:47 +01:00
John Cupitt
fba3d000a3 handle offset correctly in convsep
separable convolutions didn't handle offset correctly, thanks Nicolas
2011-10-15 13:12:46 +01:00
John Cupitt
173afe2169 better CSV parsing 2011-10-15 12:48:30 +01:00
John Cupitt
d25e94d0d2 squash compiler warnings
and rename vips_image_write_filename() to vips_image_write_to_file() to
be more consistent
2011-10-15 12:22:57 +01:00
John Cupitt
7f797e8a07 Merge remote-tracking branch 'origin/master' 2011-10-11 21:36:01 +01:00
John Cupitt
66126c1076 hackery to move to vips_copy()
half-way through moving over to the new vips_copy()
2011-10-11 17:47:06 +01:00
John Cupitt
d6526f7814 allow quoted strings in CSV files 2011-10-11 14:30:44 +01:00
John Cupitt
3acf9fd2aa vipscopy copies
but some work still needed on arg processing, see TODO
2011-10-02 10:22:21 +01:00
John Cupitt
c0610db15d more VipsImage props
expose more fields of VipsImage as props
2011-09-30 13:59:05 +01:00
John Cupitt
1c65d74325 VipsCopy can change props
VipsCopy has a set of optional input args that you can use to change
header fields
2011-09-30 09:39:47 +01:00
John Cupitt
45b2a9a525 add arg lookup
convenience function to look up vipsargs
2011-09-29 23:26:10 +01:00
John Cupitt
952199e92a add VipsCopy
add a basic VipsCopy operation, also demand_hint is now void
2011-09-29 13:34:14 +01:00
John Cupitt
0f46696f16 add --vips-leak
add --vips-leak flag for exit
2011-09-24 10:27:21 +01:00
John Cupitt
13e354e869 add vips_shutdown()
vips_shutdown() flushes caches, closes plugins and does a leak check
2011-09-24 10:17:32 +01:00
John Cupitt
2003b5b524 csv read knows about quoted strings
you can "enclose strings in \", and" it shouldn't get confused
2011-09-23 22:01:32 +01:00
John Cupitt
ae8faf6597 remove dmalloc support
we never used it and valgrind etc. is better anyway
2011-09-23 17:12:47 +01:00
John Cupitt
fbc3b1f608 allow NULLs for output params
so you can now do im_minpos (im, &min, NULL, NULL);
2011-09-23 17:03:02 +01:00
John Cupitt
9c6f08f22f TODO notes 2011-09-23 14:25:03 +01:00
John Cupitt
2959dbff39 oops memory problems
removed unnecessary and broken im_malloc() compat functions, fixed a
memleak
2011-09-23 12:27:37 +01:00
John Cupitt
ea84ce8ed0 add CLI args for new cache stuff
cache params now have CLI controls
2011-09-22 17:53:23 +01:00
John Cupitt
ed73e8cf08 add cache drop and trim
the operation cache now has drop and trim and can report stats
2011-09-22 14:07:12 +01:00
John Cupitt
9c84b0dfd9 add vips_tracked_malloc()
new malloc()/free() pair do tracked allocations ... use g_new()/g_free()
everywhere else
2011-09-21 14:50:32 +01:00
John Cupitt
414d6c8ddf sync 2011-09-20 21:22:47 +01:00
John Cupitt
0e0cf1481c g_free/im_free mixups 2011-09-20 14:52:02 +01:00
John Cupitt
4b2c8587b2 vips_malloc() size tracking
vips_malloc() now tracks allocation size and can report total mem use.
It seems to trigger quite a few nip2 bugs though, I guess we are
g_free()ing the result in places (or vice versa).

======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x78a8f)[0x2aae8e011a8f]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x73)[0x2aae8e0158e3]
/home/john/vips/lib/libvips.so.15(vips_free+0xc2)[0x2aae88f7717e]
/home/john/GIT/nip2/src/nip2[0x4c9ce2]
/home/john/GIT/nip2/src/nip2(path_map_exact+0x63)[0x4ca127]
/home/john/GIT/nip2/src/nip2[0x4b5381]
2011-09-19 16:44:51 +01:00
John Cupitt
359ce3208e cleanup
file in git which should be blocked, also TODO note
2011-09-12 14:55:22 +01:00
John Cupitt
5d1accfc83 fallback vips_init()
call vips_init() for the user if they forget
2011-09-09 17:14:27 +01:00
John Cupitt
e7cd1147ce cache in and working, at a basic level
reverted the switch thing as well, annoying
2011-09-09 17:01:29 +01:00
John Cupitt
d9883cbd8e cache fixups
fix various problems ... getting closer
2011-09-07 14:10:59 +01:00
John Cupitt
53b3018f41 add vipsobject cache
added the cache ... compiles, but not yet in use
2011-09-06 16:41:37 +01:00
John Cupitt
e99f6cc49e fix up VipsPool
vipspool working, test program in ~/try, passes valgrind
2011-09-06 10:37:00 +01:00
John Cupitt
b5cadc1815 move C API back to int operations
always return results through params
2011-09-05 21:28:35 +01:00
John Cupitt
b28cda68a7 TODO update 2011-09-05 18:21:21 +01:00
John Cupitt
ad016c53a2 C API supports optional output args
you can do stuff like

	int x;
	vips_min( fred, &min, "x", &x, NULL );

to get the x pos of the minimum
2011-09-05 18:16:32 +01:00
John Cupitt
4ce3346a4f VipsMin stops early if it can
if VipsMin sees a minimum value (eg. 0 for uchar) it'll stop searching
early
2011-09-05 14:10:56 +01:00
John Cupitt
7fe104fee6 support optional output args in the cli
the cli interface now supports optional output args ... C API next
2011-09-04 10:10:39 +01:00
John Cupitt
bbaef3dad1 sync 2011-09-02 18:21:28 +01:00
John Cupitt
958544e5cd sync 2011-09-02 09:10:33 +01:00
John Cupitt
07eb155462 allow optional output args
optional output args in C API startup ... need to fix up C API shutdown,
plus CLI, see TODO notes
2011-08-31 11:37:12 +01:00
John Cupitt
5b7de5e594 added VipsMin
though there's a problem with the cli interface, see TODO
2011-08-30 16:33:25 +01:00
John Cupitt
1a38d60efb check args more carefully
check input and output args have been supplied in different places ...
so ins can be all checked before outputs are made
2011-08-28 13:29:53 +01:00
John Cupitt
ac3ce8b010 add VIPS_ARGUMENT_APPEND
to give more control over arg ordering, fixes a problem in avg
2011-08-28 12:46:50 +01:00
John Cupitt
b26dcb284d sync 2011-08-27 14:03:52 +01:00
John Cupitt
7a392d4789 im_avg() is a class 2011-08-26 10:15:39 +01:00
John Cupitt
7111ff2433 version bump for next cycle
s Please enter the commit message for your changes. Lines starting
2011-08-21 18:06:19 +01:00
John Cupitt
a6255af981 sync 2011-08-17 09:25:11 +01:00
John Cupitt
11eb90cdb3 itest for C++ compiler
automatically disable C++ support if no compiler found
2011-08-16 13:26:57 +01:00
John Cupitt
3383344a31 TODO notes 2011-08-15 18:27:43 +01:00
John Cupitt
e5effaba94 oop debugging was enabled for disc write 2011-08-09 13:11:03 +01:00
John Cupitt
53589638d0 Merge remote-tracking branch 'origin/master'
Conflicts:
	TODO
2011-08-09 12:47:05 +01:00
John Cupitt
b494ce7a52 stuff! 2011-08-09 12:45:42 +01:00
John Cupitt
f5397a68af sync 2011-08-09 11:15:09 +01:00
John Cupitt
1bded6682e todo update 2011-07-29 13:24:52 +01:00
John Cupitt
8cc0d033ea allow <> enclosing argument lists 2011-07-28 12:55:54 +01:00
John Cupitt
e7dbd89938 bump version again, doc fixes 2011-07-26 22:37:03 +01:00
John Cupitt
1b5803af2e new man pages
restored and updated man.1 pages
2011-07-26 09:27:06 +01:00
John Cupitt
a92e500132 more CLI fixes
"vips add" shows output args, clearer display, spot too few args
2011-07-22 17:28:08 +01:00
John Cupitt
9627f889b0 reenable wrap7 for nicked vips7 ops
so now "vips im_subtract" gets you the old interface, "vips subtract"
the new one
2011-07-22 16:12:47 +01:00
John Cupitt
cfb076f726 make enum names work again
allow old names in enums, so edivips --format allows IM_BANDFMT_UCHAR,
VIPS_FORMAT_UCHAR and uchar
2011-07-22 15:56:31 +01:00
John Cupitt
0a4e314194 start fixing char->int enums use
oops was doing chart->int incorrectly for glib enums
2011-07-22 13:51:20 +01:00
John Cupitt
ed5cb531bd wrap7 works, for images at least
still need to add masks, doubles, strings, etc.
2011-07-18 17:10:41 +01:00
John Cupitt
681e3c893e update notes 2011-07-18 09:03:33 +01:00
John Cupitt
fde23c93ef vipsobject cleanups
vipsobject always goes via set_prop so it can work with subclasses
which override these funcs (eg. wrap7)
2011-07-17 14:36:57 +01:00
John Cupitt
e11fbbb23f move vips.c usage and nickname
wrap7 now has the old vips.c nickname maker and usage code
2011-07-16 13:33:20 +01:00
John Cupitt
03226f6f67 vips7 wrap runs
"vips list clases" now works, not tested actually supplying any args
2011-07-15 21:28:33 +01:00
John Cupitt
a9dc321afd add wrap7
add a thing to wrap vips7 functions as vips8 classes

in and in use, but not yet working
2011-07-15 14:37:20 +01:00
John Cupitt
5b97d5210a more vips7 wrapper hackery
small changes to vipsobject etc. as well ... warn on read of unset
props, for example, and dont pointlessly set the set/set ops in
subclasses
2011-07-13 14:51:02 +01:00
John Cupitt
2ee4fefa46 better temp files for im_vips2tiff() pyramids
im_vips2tiff() used to keep intermediate files in the same directory as
the destination file ... instead, make temp files using im__temp_name(),
see im_system_image().
2011-07-12 15:27:22 +01:00
John Cupitt
0f20f9152b icc import/export cast inputs 2011-07-12 14:56:58 +01:00
John Cupitt
e84640af58 im_falsecolour() does implicit conversion
convert input automatically to mono 8-bit in falsecolour
2011-07-12 13:30:25 +01:00
John Cupitt
c78e3382fc TODO notes
updated the TODO again
2011-07-08 14:28:08 +01:00
John Cupitt
6131388cc4 jpeg cmyk write was not inverting
the change to vips_sink_disc() for vips2jpeg make CMYK write fail, argh

thanks to Ole for the report
2011-07-08 11:34:26 +01:00
John Cupitt
b04daa4849 added deprecated wrapper for im_remainderconst_vec
forgot to add a dispatch wrapper for im_remainderconst_vec when we reanmed to
im_remainder_vec
2011-06-27 15:47:01 +01:00
John Cupitt
180fa919e2 blend does sizealike
added sizealike to im_blend()
2011-06-27 12:28:10 +01:00
John Cupitt
3628692799 add experimental ctypes Python binding
start hacking on a new Python interface
2011-06-17 14:50:14 +01:00
John Cupitt
3920f5dc7e get im_system_image() working again
chop stuff about to get system image working again.
2011-06-16 13:54:13 +01:00
John Cupitt
953a315755 more im_aconv() speedups
now uses rolling boxes for the vertical pass too
2011-06-09 17:53:53 +01:00
John Cupitt
ecf344ec0f more tweaks, still not working
argh, can't see the problem
2011-06-08 22:13:30 +01:00
John Cupitt
0aa9f81c30 started im_aconv()
started hacking non-separable version of im_aconvsep()
2011-06-06 17:35:32 +01:00
John Cupitt
7b6bc4267b better vips error msg
"vips mpouikh" makes a better error message
2011-06-06 12:31:12 +01:00
John Cupitt
710294f889 rename aconv as aconvsep 2011-06-04 17:44:54 +01:00
John Cupitt
56d8f75500 fix an edge problem in aconv
aconv no longer has tiling artifacts
2011-06-04 10:01:52 +01:00
John Cupitt
3fab0cbbd4 fix vips8 CLI
the vips8 CLI needed updating for the new refcount strategy
2011-06-02 15:53:30 +01:00
John Cupitt
35a7515e3f small bugfixes
various bugfixes ... nip2 runs reliably again now
2011-06-02 15:34:57 +01:00
John Cupitt
971615d6ae back to fixed refs, add a pool system instead
floating refs were very confusing and annoying, instead use simple fixed
refs and add a pool system to track refs for you

also fixed a couple of dumb errors in close callbacks
2011-06-02 12:23:56 +01:00
John Cupitt
6819919f0c im_aconv() works
got im_aconv() working, woo
2011-06-01 17:36:17 +01:00
John Cupitt
c0cbbbf415 free im_malloc() mem in postclose 2011-05-30 19:40:56 +01:00
John Cupitt
a9045c9ec3 oops vipsthumbnail needed updating 2011-05-30 11:41:02 +01:00
John Cupitt
47a3bd6689 TODO updates 2011-05-25 14:06:23 +01:00
John Cupitt
cba1ea0024 vipsobject fallback for new_from_string() as well 2011-05-25 13:43:53 +01:00
John Cupitt
1a75cf5be2 object new from string() is now a vfunc
and the inverse too ... interpolate and format need fixing still
2011-05-25 12:24:01 +01:00
John Cupitt
5492e0dbda TODO updates 2011-05-25 08:51:19 +01:00
John Cupitt
ff44680022 get the CLI working again
get the cli working with the new vfunc thing
2011-05-24 17:01:23 +01:00
John Cupitt
0b902bfbd4 make CLI arg handling into vfuncs
add vfuncs to vipsobject for the CLI interface
2011-05-24 14:44:23 +01:00
John Cupitt
26c0ce8fde fixed vips7 CLI
"vips im_add a b c" works again
2011-05-24 13:50:17 +01:00
John Cupitt
2ba39ebc23 notes 2011-05-23 21:27:33 +01:00
John Cupitt
9515c5cb06 more fixes for im_add
still getting some dangling region refs though argh
2011-05-23 18:19:20 +01:00
John Cupitt
8036dda5b7 vips8 CLI works
bugs fixed, leaks plugged, hooked up output write
2011-05-23 17:12:09 +01:00
John Cupitt
0514485fa6 functional API
make all output args created by operation, so operations are now true
functions ... means we can do memoisation

various cleanups as well
2011-05-22 17:32:57 +01:00
John Cupitt
1ad9c8a885 progress notes updated 2011-05-19 14:39:11 +01:00
John Cupitt
b6185af194 more new API hackery
added some notes ot the TODO on a more functional approach
2011-05-19 09:22:48 +01:00
John Cupitt
5b6ee532c4 oop TODO 2011-05-18 11:06:01 +01:00
John Cupitt
c4804b6fb3 argh 2011-05-17 14:45:51 +01:00
John Cupitt
dd6f0e8b4d sizealike everywhere
all ops now sizealike (I think) and docs are updated to match
2011-05-17 13:05:45 +01:00
John Cupitt
0c1034de44 vips7 has sizealike as well 2011-05-16 17:34:00 +01:00
John Cupitt
6cb6d2289b new CLI done
the new cli interface is done, try "vips add a.jpg b.jpg out.jpg", or
"vips add".
2011-05-16 17:10:08 +01:00
John Cupitt
8c6697c40a misc CLI hackery sync 2011-05-16 08:31:55 +01:00
John Cupitt
1f3f20ee4e new cli working
some final testing needed
2011-05-13 14:47:23 +01:00
John Cupitt
825280b365 more cli hackery
almost there now, parsing strings to standard types
2011-05-13 10:08:53 +01:00
John Cupitt
2a66c50410 mostly working 2011-05-11 22:07:30 +01:00
John Cupitt
db48961c46 todo updates 2011-05-09 18:28:21 +01:00
John Cupitt
e92f5ff353 README updates 2011-05-08 10:59:07 +01:00
John Cupitt
8b10aa2fe0 magick notes 2011-05-02 18:02:41 +01:00
John Cupitt
620c02a833 cleanups
small tidies
2011-04-21 09:57:04 +01:00
John Cupitt
c4f5c71507 add im_bufjpeg2vips()
add a thing to open a jpeg from a memory buffer, handy for processing
thumbnails from exif data
2011-04-20 15:23:34 +01:00
John Cupitt
efcc0c20de need private array in VipsBinary
oops
2011-04-13 17:55:58 +01:00
John Cupitt
e0d4ed89ff reorganise tools/ dir
The subdir in tools are no lonmger necessary. Also, remove ther old bin
links feature, not very useful anymore.
2011-04-06 12:06:32 +01:00