From 91fb083edceeaf535520f744b8165914f16d7133 Mon Sep 17 00:00:00 2001 From: giraffedata Date: Fri, 18 Aug 2023 19:35:14 +0000 Subject: Release 11.02.02 git-svn-id: http://svn.code.sf.net/p/netpbm/code/stable@4598 9d0c8265-081b-0410-96cb-a4ca84ce46f8 --- doc/HISTORY | 8 +++++++ editor/ppmfade | 74 +++++++++++++++++++++++++++++----------------------------- version.mk | 2 +- 3 files changed, 46 insertions(+), 38 deletions(-) diff --git a/doc/HISTORY b/doc/HISTORY index be66a851..3dedba44 100644 --- a/doc/HISTORY +++ b/doc/HISTORY @@ -4,6 +4,14 @@ Netpbm. CHANGE HISTORY -------------- +23.08.18 BJH Release 11.02.02 + + ppmfade: fix "file not found" crash for most fade modes. + Introduced in Netpbm 10.98 (March 2022). + + ppmfade: fix incorrect block mode fade. Always broken + (ppmfade was new in Netpbm 8.4 (April 2000)). + 23.08.05 BJH Release 11.02.01 pamstack: Fail gracefully when total number of planes is too diff --git a/editor/ppmfade b/editor/ppmfade index 7dc533a1..7a346ddd 100755 --- a/editor/ppmfade +++ b/editor/ppmfade @@ -212,84 +212,84 @@ for ($i = 1; $i <= $nframes; $i++) { $n = $spline20[$i] * 100; system("ppmshift $n $tmpdir/junk1.ppm >$tmpdir/junk1a.ppm"); $n = (1-$spline20[$i-10])*100; - system("ppmshift $n junk2.ppm >junk2a.ppm"); + system("ppmshift $n $tmpdir/junk2.ppm >$tmpdir/junk2a.ppm"); $n = $spline10[$i-10]; - system("ppmmix $n junk1a.ppm junk2a.ppm >junk3.ppm"); + system("ppmmix $n $tmpdir/junk1a.ppm $tmpdir/junk2a.ppm >$tmpdir/junk3.ppm"); } else { my $n = (1-$spline20[$i-10]) * 100; - system("ppmshift $n junk2.ppm >junk3.ppm"); + system("ppmshift $n $tmpdir/junk2.ppm >$tmpdir/junk3.ppm"); } } elsif ($mode eq $RELIEF) { if ($i == 1) { - system("ppmrelief junk1.ppm >junk1r.ppm"); + system("ppmrelief $tmpdir/junk1.ppm >$tmpdir/junk1r.ppm"); } if ($i <= 10) { my $n = $spline10[$i]; - system("ppmmix $n junk1.ppm junk1r.ppm >junk3.ppm"); + system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1r.ppm >$tmpdir/junk3.ppm"); } elsif ($i <= 20) { my $n = $spline10[$i-10]; - system("ppmmix $n junk1r.ppm junk2r.ppm >junk3.ppm"); + system("ppmmix $n $tmpdir/junk1r.ppm $tmpdir/junk2r.ppm >$tmpdir/junk3.ppm"); } else { my $n = $spline10[$i-20]; - system("ppmmix $n junk2r.ppm junk2.ppm >junk3.ppm"); + system("ppmmix $n $tmpdir/junk2r.ppm $tmpdir/junk2.ppm >$tmpdir/junk3.ppm"); } if ($i == 10) { - system("ppmrelief junk2.ppm >junk2r.ppm"); + system("ppmrelief $tmpdir/junk2.ppm >$tmpdir/junk2r.ppm"); } } elsif ($mode eq $OIL) { if ($i == 1) { - system("ppmtopgm junk1.ppm | pgmoil >junko.ppm"); - system("rgb3toppm junko.ppm junko.ppm junko.ppm " . - ">junk1o.ppm"); + system("ppmtopgm $tmpdir/junk1.ppm | pgmoil >$tmpdir/junko.ppm"); + system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " . + ">$tmpdir/junk1o.ppm"); } if ($i <= 10) { my $n = $spline10[$i]; - system("ppmmix $n junk1.ppm junk1o.ppm >junk3.ppm"); + system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1o.ppm >$tmpdir/junk3.ppm"); } elsif ($i <= 20) { my $n = $spline10[$i-10]; - system("ppmmix $n junk1o.ppm junk2o.ppm >junk3.ppm"); + system("ppmmix $n $tmpdir/junk1o.ppm $tmpdir/junk2o.ppm >$tmpdir/junk3.ppm"); } else { my $n = $spline10[$i-20]; - system("ppmmix $n junk2o.ppm junk2.ppm >junk3.ppm"); + system("ppmmix $n $tmpdir/junk2o.ppm $tmpdir/junk2.ppm >$tmpdir/junk3.ppm"); } if ($i == 10) { - system("ppmtopgm junk2.ppm | pgmoil >junko.ppm"); - system("rgb3toppm junko.ppm junko.ppm junko.ppm " . - ">junk2o.ppm"); + system("ppmtopgm $tmpdir/junk2.ppm | pgmoil >$tmpdir/junko.ppm"); + system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " . + ">$tmpdir/junk2o.ppm"); } } elsif ($mode eq $EDGE) { if ($i == 1) { - system("ppmtopgm junk1.ppm | pgmedge >junko.ppm"); - system("rgb3toppm junko.ppm junko.ppm junko.ppm " . - ">junk1o.ppm"); + system("ppmtopgm $tmpdir/junk1.ppm | pgmedge >$tmpdir/junko.ppm"); + system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " . + ">$tmpdir/junk1o.ppm"); } if ($i <= 10) { my $n = $spline10[$i]; - system("ppmmix $n junk1.ppm junk1o.ppm >junk3.ppm"); + system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1o.ppm >$tmpdir/junk3.ppm"); } elsif ($i <= 20) { my $n = $spline10[$i-10]; - system("ppmmix $n junk1o.ppm junk2o.ppm >junk3.ppm"); + system("ppmmix $n $tmpdir/junk1o.ppm $tmpdir/junk2o.ppm >$tmpdir/junk3.ppm"); } else { my $n = $spline10[$i-20]; - system("ppmmix $n junk2o.ppm junk2.ppm >junk3.ppm"); + system("ppmmix $n $tmpdir/junk2o.ppm $tmpdir/junk2.ppm >$tmpdir/junk3.ppm"); } if ($i == 10) { - system("ppmtopgm junk2.ppm | pgmedge >junko.ppm"); - system("rgb3toppm junko.ppm junko.ppm junko.ppm " . - ">junk2o.ppm"); + system("ppmtopgm $tmpdir/junk2.ppm | pgmedge >$tmpdir/junko.ppm"); + system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " . + ">$tmpdir/junk2o.ppm"); } } elsif ($mode eq $BENTLEY) { if ($i == 1) { - system("ppmtopgm junk1.ppm | pgmbentley >junko.ppm"); - system("rgb3toppm junko.ppm junko.ppm junko.ppm " . - ">junk1o.ppm"); + system("ppmtopgm $tmpdir/junk1.ppm | pgmbentley >$tmpdir/junko.ppm"); + system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " . + ">$tmpdir/junk1o.ppm"); } if ($i <= 10) { my $n = $spline10[$i]; - system("ppmmix $n junk1.ppm junk1o.ppm >junk3.ppm"); + system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1o.ppm >$tmpdir/junk3.ppm"); } elsif ($i <= 20) { my $n = $spline10[$i-10]; - system("ppmmix $n junk1o.ppm junk2o.ppm >junk3.ppm"); + system("ppmmix $n $tmpdir/junk1o.ppm $tmpdir/junk2o.ppm >$tmpdir/junk3.ppm"); } else { my $n = $spline10[$i-20]; system("ppmmix $n $tmpdir/junk2o.ppm $tmpdir/junk2.ppm " . @@ -308,6 +308,12 @@ for ($i = 1; $i <= $nframes; $i++) { system("pamscale $n $tmpdir/junk1.ppm | " . "pamscale -width $width -height $height " . ">$tmpdir/junk3.ppm"); + if ($i == 10) { + system("cp", "$tmpdir/junk3.ppm", "$tmpdir/junk1a.ppm"); + system("pamscale $n $tmpdir/junk2.ppm | " . + "pamscale -width $width -height $height " . + ">$tmpdir/junk2a.ppm"); + } } elsif ($i <= 20) { my $n = $spline10[$i-10]; system("ppmmix $n $tmpdir/junk1a.ppm $tmpdir/junk2a.ppm " . @@ -318,12 +324,6 @@ for ($i = 1; $i <= $nframes; $i++) { "pamscale -width $width -height $height " . ">$tmpdir/junk3.ppm"); } - if ($i == 10) { - system("cp", "$tmpdir/junk3.ppm", "$tmpdir/junk1a.ppm"); - system("pamscale $n $tmpdir/junk2.ppm | " . - "pamscale -width $width -height $height " . - ">$tmpdir/junk2a.ppm"); - } } elsif ($mode eq $MIX) { my $fade_factor = sqrt(1/($nframes-$i+1)); system("ppmmix $fade_factor $tmpdir/junk1.ppm $tmpdir/junk2.ppm " . diff --git a/version.mk b/version.mk index bdeb8e90..6eedf94e 100644 --- a/version.mk +++ b/version.mk @@ -1,3 +1,3 @@ NETPBM_MAJOR_RELEASE = 11 NETPBM_MINOR_RELEASE = 2 -NETPBM_POINT_RELEASE = 1 +NETPBM_POINT_RELEASE = 2 -- cgit 1.4.1