]> bicyclesonthemoon.info Git - ott/enhance/commitdiff
move towards generalised tool, first steps, create core.
authorb <rowerynaksiezycu@gmail.com>
Fri, 21 Oct 2022 22:20:23 +0000 (22:20 +0000)
committerb <rowerynaksiezycu@gmail.com>
Fri, 21 Oct 2022 22:20:23 +0000 (22:20 +0000)
core.c [new file with mode: 0644]
core.h [new file with mode: 0644]
enhance [new file with mode: 0755]
enhance.c [new file with mode: 0644]
makefile

diff --git a/core.c b/core.c
new file mode 100644 (file)
index 0000000..9eadad4
--- /dev/null
+++ b/core.c
@@ -0,0 +1,124 @@
+/*
+core.c
+The tool with multiple enhancements and manipulations of pictures
+21.10.2022
+
+Copyright (C) 2014, 2015, 2022  Balthasar Szczepański
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as
+published by the Free Software Foundation, either version 3 of the
+License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+Requires Dev Image Library (libdevil) (http://openil.sourceforge.net/)
+on Pentium III libdevil must be recompiled with
+--disable-ssl2 --disable-ssl3
+(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572954)
+*/
+
+#include <stdlib.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <errno.h>
+
+#include "core.h"
+
+
+uint_fast16_t n_pictures = 0;
+struct Picture * picture;
+
+void init (void)
+{
+       ilInit();
+       ilEnable(IL_FILE_OVERWRITE);
+}
+
+void finish (int const returnvalue, char const * const returntext)
+{
+       clear_pictures();
+       fputs(returntext, stderr);
+       exit(returnvalue);
+}
+
+void create_picture (uint_fast16_t id)
+{
+       if (id<n_pictures)
+       {
+               if (picture[id].open)
+                       close_picture(id);
+               ilGenImages(1, &(picture[id].handle));
+               picture[id].open = 1;
+       }
+}
+
+void create_pictures (uint_fast16_t n)
+{
+       uint_fast16_t i;
+       
+       reserve_pictures(n);
+       for (i=0; i<n_pictures; ++i)
+               create_picture(i);
+}
+
+void close_picture (uint_fast16_t id)
+{
+       if (id<n_pictures)
+       {
+               if (picture[id].open)
+               {
+                       ilDeleteImages(1, &(picture[id].handle));
+               }
+               picture[id].open=0;
+       }
+}
+
+void close_pictures (void)
+{
+       uint_fast16_t i;
+       for (i=0; i<n_pictures; ++i)
+               close_picture(i);
+}
+
+void clear_pictures (void)
+{
+       close_pictures();
+       if (n_pictures != 0)
+               free(picture);
+       n_pictures = 0;
+}
+
+int reserve_pictures (uint_fast16_t n)
+{
+       int r;
+       uint_fast16_t i;
+       
+       clear_pictures();
+       
+       if (n != 0)
+       {
+               picture = malloc((sizeof (struct Picture)) * n);
+               
+               if (picture==NULL)
+               {
+                       n_pictures = 0;
+                       perror("reserve_pictures(): malloc():");
+                       return (r=errno);
+               }
+               n_pictures = n;
+               for(i=0; i<n_pictures; ++i)
+               {
+                       picture[i].open = 0;
+               }
+       }
+       
+       return 0;
+}
diff --git a/core.h b/core.h
new file mode 100644 (file)
index 0000000..4703a0b
--- /dev/null
+++ b/core.h
@@ -0,0 +1,48 @@
+ /*
+enhance.c
+The tool with multiple enhancements and manipulations of pictures
+21.10.2022
+
+Copyright (C) 2022  Balthasar Szczepański
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as
+published by the Free Software Foundation, either version 3 of the
+License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+Requires Dev Image Library (libdevil) (http://openil.sourceforge.net/)
+on Pentium III libdevil must be recompiled with
+--disable-ssl2 --disable-ssl3
+(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572954)
+*/
+
+// #include <stdlib.h>
+#include <stdint.h>
+// #include <stdio.h>
+// #include <errno.h>
+
+#include "IL/il.h"
+
+struct Picture {
+       uint_fast8_t open;
+       ILuint handle;
+};
+
+void finish (int const returnvalue, char const * const returntext);
+void init (void);
+
+void create_picture (uint_fast16_t id);
+void create_pictures (uint_fast16_t n);
+void close_picture (uint_fast16_t id);
+void close_pictures (void);
+void clear_pictures (void);
+int reserve_pictures (uint_fast16_t n);
diff --git a/enhance b/enhance
new file mode 100755 (executable)
index 0000000..e44ecb2
Binary files /dev/null and b/enhance differ
diff --git a/enhance.c b/enhance.c
new file mode 100644 (file)
index 0000000..0f42ae8
--- /dev/null
+++ b/enhance.c
@@ -0,0 +1,39 @@
+/*
+enhance.c
+The tool with multiple enhancements and manipulations of pictures
+21.10.2022
+
+Copyright (C) 2022  Balthasar Szczepański
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as
+published by the Free Software Foundation, either version 3 of the
+License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+Requires Dev Image Library (libdevil) (http://openil.sourceforge.net/)
+on Pentium III libdevil must be recompiled with
+--disable-ssl2 --disable-ssl3
+(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572954)
+*/
+
+#include <errno.h>
+#include "core.h"
+
+int main (int argc, char **argv)
+{
+       if (argc < 2)
+               finish(EINVAL, "No mode selected.\n");
+       
+       init();
+       
+       finish(0, "Ok.\n");
+}
\ No newline at end of file
index 4dafd73f6e8d1c42f62223d3bdcd9783b0a973e0..7566ab3e679a2b582cce694ff8c232bf1a3b61df 100644 (file)
--- a/makefile
+++ b/makefile
@@ -1,48 +1,52 @@
-CC=g++
+CC=gcc
 CF=-g -Wall
 LF=-lIL
-LF2=-lcgi
-
-all: 403 npb npbd npb-ong1 npbd-ong1 bluenh bluenhd insert extract seediff insertframe mremapt-1 compare nofading nofadingd
-
-npb: npb-ong1.cpp makefile
-       $(CC) $(CF) $(LF) -o npb-ong1 npb-ong1.cpp
-
-npb: npb.cpp makefile
-       $(CC) $(CF) $(LF) -o npb npb.cpp
-
-403: 403.cpp makefile
-       $(CC) $(CF) $(LF) -o 403 403.cpp
-
-npbd-ong1: npb npbd-ong1.cpp makefile
-       $(CC) $(CF) -o npbd-ong1 npbd-ong1.cpp $(LF2)
-
-npbd: npb npbd.cpp makefile
-       $(CC) $(CF) -o npbd npbd.cpp $(LF2)
-
-bluenh: bluenh.cpp makefile
-       $(CC) $(CF) $(LF) -o bluenh bluenh.cpp
-
-bluenhd: bluenhd.cpp makefile
-       $(CC) $(CF) -o bluenhd bluenhd.cpp $(LF2)
-\r
-insert: insert.c makefile\r
-       $(CC) $(CF) $(LF) -o insert insert.c\r
-\r
-extract: extract.c makefile\r
-       $(CC) $(CF) $(LF) -o extract extract.c\r
-\r
-seediff: seediff.c makefile\r
-       $(CC) $(CF) $(LF) -o seediff seediff.c\r
-\r
-insertframe: insertframe.c makefile\r
-       $(CC) $(CF) -o insertframe insertframe.c $(LF2)\r
-
-remapt-1: remapt-1.c makefile
-       $(CC) $(CF) $(LF) -o remapt-1 remapt-1.c
-
-compare: compare.c makefile
-       $(CC) $(CF) $(LF) -o compare compare.c
+#LF2=-lcgi
+
+#all: 403 npb npbd npb-ong1 npbd-ong1 bluenh bluenhd insert extract seediff insertframe mremapt-1 compare nofading nofadingd
+all: enhance
+
+enhance: enhance.c core.h core.c
+       $(CC) $(CF) -o enhance enhance.c core.c $(LF)
+
+#npb-ong1: npb-ong1.cpp makefile
+#      $(CC) $(CF) $(LF) -o npb-ong1 npb-ong1.cpp
+#
+#npb: npb.cpp makefile
+#      $(CC) $(CF) $(LF) -o npb npb.cpp
+#
+#403: 403.cpp makefile
+#      $(CC) $(CF) $(LF) -o 403 403.cpp
+#
+#npbd-ong1: npb npbd-ong1.cpp makefile
+#      $(CC) $(CF) -o npbd-ong1 npbd-ong1.cpp $(LF2)
+#
+#npbd: npb npbd.cpp makefile
+#      $(CC) $(CF) -o npbd npbd.cpp $(LF2)
+#
+#bluenh: bluenh.cpp makefile
+#      $(CC) $(CF) $(LF) -o bluenh bluenh.cpp
+#
+#bluenhd: bluenhd.cpp makefile
+#      $(CC) $(CF) -o bluenhd bluenhd.cpp $(LF2)
+#\r
+#insert: insert.c makefile\r
+#      $(CC) $(CF) $(LF) -o insert insert.c\r
+#\r
+#extract: extract.c makefile\r
+#      $(CC) $(CF) $(LF) -o extract extract.c\r
+#\r
+#seediff: seediff.c makefile\r
+#      $(CC) $(CF) $(LF) -o seediff seediff.c\r
+#\r
+#insertframe: insertframe.c makefile\r
+#      $(CC) $(CF) -o insertframe insertframe.c $(LF2)\r
+#
+#remapt-1: remapt-1.c makefile
+#      $(CC) $(CF) $(LF) -o remapt-1 remapt-1.c
+#
+#compare: compare.c makefile
+#      $(CC) $(CF) $(LF) -o compare compare.c
 
 nofading: nofading.c makefile
        $(CC) $(CF) $(LF) -o nofading nofading.c