Render tX_icon from png - this eliminates the last GTK+ deprecation on
authorAlexander Koenig <alex@lisas.de>
Thu, 19 May 2016 20:07:14 +0000 (22:07 +0200)
committerAlexander Koenig <alex@lisas.de>
Thu, 19 May 2016 20:07:14 +0000 (22:07 +0200)
Xenial. In addition icons have been upgraded to higher resolutions.

12 files changed:
.gitignore
icons/Makefile.am
icons/terminatorX-mime.png
icons/terminatorX.png
src/Makefile.am
src/icons/Makefile.am
src/icons/tX_dialog.gresource.xml [new file with mode: 0644]
src/tX_dialog.cc
src/tX_icon.c [deleted file]
src/tX_icon.h [deleted file]
src/tX_knobloader.c
src/tX_pbutton.cc

index a1fac7e1bab76baed38ff97e2f0fc764a101708d..570689059621db42113eeab02f271412af3cdcf3 100644 (file)
@@ -23,6 +23,9 @@ src/Makefile
 src/Makefile.in
 src/icons/Makefile
 src/icons/Makefile.in
+src/icons/tX_dialog_resources.c
+src/icons/tX_icons_resources.c
+src/icons/tX_knob_resources.c
 src/license.c
 src/*.o
 src/terminatorX
index 1577989429333ab6f9ba5bb8e652e7b13bc10e63..3ed30af5cdff13241b091af285e85bc3779d2863 100644 (file)
@@ -1,5 +1,5 @@
 themedir = $(datadir)/icons/hicolor
-size = 48x48
+size = 512x512
 apps_context = apps
 mime_context = mimetypes
 
index 57b4e8cd68ffd2598127ac9b58d4e522da263306..cfc1c354c6b98982a86e78a7db879a5da327e26a 100644 (file)
Binary files a/icons/terminatorX-mime.png and b/icons/terminatorX-mime.png differ
index 00f97948baf2ca7cfb2d4e5e7fa94fa545ef8543..b1a88201b98f2c2f9963c1aeb417a464334f8906 100644 (file)
Binary files a/icons/terminatorX.png and b/icons/terminatorX.png differ
index 0b7415aea1f56b6764f8e3404d1727db6addc6a4..28f621e6c76603f7ebacd074d516b3ae69a1ab0e 100644 (file)
@@ -31,9 +31,8 @@ terminatorX_SOURCES = tX_endian.c tX_dialog.cc tX_widget.c wav_write.c \
                        tX_dialog.h tX_mastergui.h tX_widget.h wav_file.h \
                        tX_vtt.cc tX_vtt.h tX_vttgui.h tX_vttgui.cc \
                        tX_audiodevice.cc tX_audiodevice.h tX_mastergui.cc \
-                       tX_audiofile.cc \
-                       tX_audiofile.h tX_loaddlg.cc tX_loaddlg.h tX_icon.c \
-                       tX_icon.h tX_prelis.cc tX_prelis.h \
+                       tX_audiofile.cc tX_audiofile.h tX_loaddlg.cc \
+                       tX_loaddlg.h tX_prelis.cc tX_prelis.h \
                        tX_seqpar.h tX_seqpar.cc tX_pbutton.cc tX_pbutton.h \
                        tX_event.h tX_event.cc tX_sequencer.h tX_sequencer.cc \
                        tX_knobloader.h tX_knobloader.c tX_dial.c tX_dial.h \
index 734bc192711d5c4b83962c0310ad6e1af0508720..ccca9fe2472e331cce362436531560b9043aec3e 100644 (file)
@@ -15,9 +15,10 @@ tX_icons = audioengine.svg fx_close.svg fx_down.svg fx_up.svg\
 
 tX_icons_resource_file = tX_icons.gresource.xml
 tX_knob_resource_file = tX_knob.gresource.xml
+tX_dialog_resource_file = tX_dialog.gresource.xml
 
-BUILT_SOURCES = tX_knob_resources.c tX_icons_resources.c
-EXTRA_DIST =   $(tX_knob_resource_file) $(tX_knob_images) $(tX_icons_resource_file) $(tX_icons)
+BUILT_SOURCES = tX_knob_resources.c tX_icons_resources.c tX_dialog_resources.c
+EXTRA_DIST =   $(tX_knob_resource_file) $(tX_knob_images) $(tX_icons_resource_file) $(tX_icons) $(tX_dialog_resource_file)
 
 tX_knob_resources.c: $(tX_knob_resource_file) $(tX_knob_images)
        $(GLIB_COMPILE_RESOURCES) --target=$@ --internal --generate-source $(tX_knob_resource_file)
@@ -25,4 +26,7 @@ tX_knob_resources.c: $(tX_knob_resource_file) $(tX_knob_images)
 tX_icons_resources.c: $(tX_icons_resource_file) $(tX_icons)
        $(GLIB_COMPILE_RESOURCES) --target=$@ --internal --generate-source $(tX_icons_resource_file)
 
+tX_dialog_resources.c: $(tX_dialog_resource_file) ../../icons/terminatorX.png
+       $(GLIB_COMPILE_RESOURCES) --target=$@ --internal --generate-source $(tX_dialog_resource_file)
+
 
diff --git a/src/icons/tX_dialog.gresource.xml b/src/icons/tX_dialog.gresource.xml
new file mode 100644 (file)
index 0000000..071e9ae
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+  <gresource prefix="/org/terminatorX/tX_dialog">
+               <file>../../icons/terminatorX.png</file>
+  </gresource>
+</gresources>
+
index 8e105e585cc2b7c2f2fc50ceea97486c0958de71..f0d902f39de26f9666d3f6ae594c1abe314ca084 100644 (file)
@@ -29,7 +29,6 @@
 #include <gtk/gtk.h>
 #include <string.h>
 #include <gdk/gdk.h>
-#include "tX_icon.h"
 #include "tX_ui_interface.h"
 #include "tX_ui_support.h"
 
@@ -43,6 +42,8 @@
 #include <dirent.h>
 #include "tX_engine.h"
 
+#include "icons/tX_dialog_resources.c"
+
 #ifdef USE_SCHEDULER
 #include <sched.h>
 #include <pthread.h>
@@ -707,7 +708,15 @@ static GdkPixbuf *tX_window_icon=NULL;
 void tX_set_icon(GtkWidget *widget)
 {      
        if (!tX_window_icon) {
-               tX_window_icon=gdk_pixbuf_new_from_inline(-1, tX_icon, FALSE, NULL);
+               GError *error = NULL;
+               GResource* resource = g_resource_new_from_data(g_bytes_new_static(tX_dialog_resource_data.data, sizeof(tX_dialog_resource_data.data)), &error);
+               if (error) {
+                   tX_error("Error accesing tX_dialog resources: %s", error->message);
+               }
+               tX_window_icon=gdk_pixbuf_new_from_resource("/org/terminatorX/tX_dialog/../../icons/terminatorX.png", &error);
+               if (error) {
+                   tX_error("Error rendering tX icon: %s", error->message);
+               }
        }
 
        gtk_window_set_icon(GTK_WINDOW(widget), tX_window_icon);
diff --git a/src/tX_icon.c b/src/tX_icon.c
deleted file mode 100644 (file)
index 14d55a7..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2016  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 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 General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-*/    
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#include <gtk/gtk.h>
-
-const guint8 tX_icon[] = 
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (9216) */
-  "\0\0$\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (192) */
-  "\0\0\0\300"
-  /* width (48) */
-  "\0\0\0""0"
-  /* height (48) */
-  "\0\0\0""0"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0...\6\27\27\27"
-  "\23\23\23\23\37!!!=\40\40\40b\26\26\26|\5\5\5\204\2\2\2\204\32\32\32"
-  "\201\27\27\27`%%%B\25\25\25$\20\20\20\25\36\36\36\11\25\25\25\2\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0QQQ\1+++\20\32\32\32.\30\30\30d\21\21\21"
-  "\257\12\12\12\344\4\4\4\375\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\2\2\2\374\11\11\11\346\14\14\14\262\20\20\20p\21\21"
-  "\21<\24\24\24\25\6\6\6\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0TTT\14""333<!!!\205\30\30\30\324"
-  "\14\14\14\374\10\10\10\377\5\5\5\377\3\3\3\377\1\1\1\377\1\1\1\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\1\1\1\376\11\11\11\337\11\11\11\215\22\22\22I\32\32\32\26\0\0\0\4\0"
-  "\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\220\220\1eee\33GG"
-  "Gv...\314!!!\371\30\30\30\377\17\17\17\377\10\10\10\377\5\5\5\377\2\2"
-  "\2\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\374\11\11\11\326"
-  "\14\14\14\210\23\23\23""6\20\20\20\14\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0qqq\32WWW\240@@@\353000\377&&&\377\30\30\30\377\13\13\13\377"
-  "\6\6\6\377\4\4\4\377\2\2\2\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\3\3\3\361\11\11\11\266\21\21\21S\14\14\14\24\0\0"
-  "\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\220\220\220\12SSS\245TTT\367CCC\377444\377\36\36"
-  "\36\377\21\21\21\377\17\17\17\377\10\10\10\377\5\5\5\377\3\3\3\377\1"
-  "\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\1\1\1\371\4\4\4\321\4\4\4_\1\1\1\30\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\220\220\12ZZZ\235mm"
-  "m\371PPP\377AAA\377'''\377\"\"\"\377\35\35\35\377\22\22\22\377\11\11"
-  "\11\377\3\3\3\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\375\2\2\2\337\6\6\6^\0"
-  "\0\0\24\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\230\230\230"
-  "\1\223\223\223\"ggg\251ppp\371aaa\377LLL\377222\377999\377222\377\36"
-  "\36\36\377\14\14\14\377\6\6\6\377\3\3\3\377\1\1\1\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\11\11\11\355\12\12\12V\1\1\1\31\0\0\0\5\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0xxx\32ooo\236nnn\367ccc\377VVV\377BBB\377N"
-  "NN\377@@@\377$$$\377\24\24\24\377\15\15\15\377\5\5\5\377\2\2\2\377\1"
-  "\1\1\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\14\14\14\314\10\10"
-  "\10L\0\0\0\25\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0QQQ\11[[[l```\350```\377YYY\377"
-  "\77\77\77\377VVV\377LLL\377***\377\32\32\32\377\25\25\25\377\14\14\14"
-  "\377\7\7\7\377\4\4\4\377\2\2\2\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\1\1\1\367\13\13\13\244\4\4\4""9\0\0\0\16\0\0\0\2\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0EEE1JJJ\300SSS\377UUU\377===\377PPP\377VVV\377666\377\40\40\40\377"
-  "\31\31\31\377\24\24\24\377\17\17\17\377\11\11\11\377\5\5\5\377\2\2\2"
-  "\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\376\6\6\6\343"
-  "\14\14\14v\0\0\0%\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0""222\12""555q@@@\365III\377:::\377<<<\377"
-  "RRR\377999\377'''\377\"\"\"\377\33\33\33\377\31\31\31\377\21\21\21\377"
-  "\12\12\12\377\6\6\6\377\2\2\2\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\2\2\2\371\10\10\10\270\4\4\4J\0\0\0\24\0\0\0\2\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""333&11"
-  "1\277555\377999\377'''\377>>>\377<<<\377###\377###\377\35\35\35\377\36"
-  "\36\36\377\30\30\30\377\23\23\23\377\14\14\14\377\2\2\2\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\7\7\7\341"
-  "\16\16\16~\0\0\0)\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0CCC\2$$$I###\365---\377\"\"\"\377&&&\377111\377\36\36\36"
-  "\377\34\34\34\377\31\31\31\377\34\34\34\377\31\31\31\377\26\26\26\377"
-  "\23\23\23\377\2\2\2\377\0\0\0\377\7\7\7\377###\377NNN\377nnn\377qqq\377"
-  "NNN\377&&&\377\5\5\5\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\4\4\4\366\10\10\10\255\1\1\1F\0\0\0\20\0\0\0\1\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0+++\15\"\"\"\216\32\32\32"
-  "\377\34\34\34\377\22\22\22\377\34\34\34\377\37\37\37\377\17\17\17\377"
-  "\21\21\21\377\20\20\20\377\23\23\23\377\21\21\21\377\23\23\23\377\3\3"
-  "\3\377\1\1\1\377\31\31\31\377ggg\377\274\274\274\377\355\355\355\377"
-  "\372\372\372\377\372\372\372\377\355\355\355\377\271\271\271\377mmm\377"
-  "\40\40\40\377\2\2\2\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\2\2"
-  "\2\377\11\11\11\321\11\11\11l\0\0\0\40\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\31\31\31\25\26\26\26\277\22\22\22\377\21\21"
-  "\21\377\14\14\14\377\21\21\21\377\15\15\15\377\12\12\12\377\7\7\7\377"
-  "\13\13\13\377\12\12\12\377\14\14\14\377\5\5\5\377\0\0\0\377\24\24\24"
-  "\377ttt\377\331\331\331\377\374\374\374\377\373\373\373\377\376\376\376"
-  "\377\377\377\377\377\376\376\376\377\377\377\377\377\347\347\347\377"
-  "\201\201\201\377\35\35\35\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\6\6\6\344\10\10\10\213\0\0\0""2\0\0\0\7\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\33\33\33\37\17\17\17\345\15\15\15\377"
-  "\12\12\12\377\11\11\11\377\12\12\12\377\5\5\5\377\6\6\6\377\4\4\4\377"
-  "\5\5\5\377\6\6\6\377\5\5\5\377\2\2\2\377\1\1\1\377QQQ\377\316\316\316"
-  "\377\375\374\374\377\374\373\373\377\370\370\371\377\371\371\372\377"
-  "\373\373\374\377\374\374\374\377\377\377\377\377\355\355\355\377\267"
-  "\267\267\377UUU\377\12\12\12\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\7\7\7\357\7\7\7\243\0\0\0D\0\0\0\15\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\31\31\31+\11\11\11\372\10\10\10\377\6\6\6\377"
-  "\4\4\4\377\5\5\5\377\2\2\2\377\2\2\2\377\2\2\2\377\3\3\3\377\3\3\3\377"
-  "\1\1\1\377\0\0\0\377\16\16\16\377\225\225\225\377\367\367\367\377\370"
-  "\367\367\377\371\367\370\377\364\364\365\377\366\366\367\377\371\371"
-  "\372\377\375\375\376\377\367\367\367\377\301\301\301\377\262\262\262"
-  "\377\221\221\221\377\32\32\32\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\5\5\5\366\5\5\5\264\0\0\0T\0\0\0\23\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\35\35\35""6\4\4\4\377\4\4\4\377\3\3\3\377\2\2"
-  "\2\377\3\3\3\377\1\1\1\377\0\0\0\377\1\1\1\377\1\1\1\377\1\1\1\377\0"
-  "\0\0\377\0\0\0\377\"\"\"\377\300\300\300\377\365\363\364\377\364\364"
-  "\365\377\360\361\362\377\360\361\361\377\312\312\313\377\320\320\320"
-  "\377\373\373\373\377\312\312\312\377\230\230\230\377\335\335\335\377"
-  "\267\267\267\377000\377\2\2\2\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\4\4"
-  "\4\372\4\4\4\276\0\0\0a\0\0\0\31\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0(((<\1\1\1\377\2\2\2\377\1\1\1\377\1\1\1\377\1\1\1\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "(((\377\323\322\322\377\357\355\357\377\344\344\347\377\350\351\353\377"
-  "\347\347\350\377\247\250\250\377\222\222\222\377\343\343\343\377\207"
-  "\207\207\377\311\311\311\377\373\373\373\377\303\303\303\377AAA\377\5"
-  "\5\5\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\6\6\6\373\5\5\5\302\0\0\0i\0"
-  "\0\0\35\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\26\26\26""7\0"
-  "\0\0\377\1\1\1\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377%%%\377\303\303\303"
-  "\377\372\372\373\377\354\354\360\377\351\346\352\377\362\360\361\377"
-  "\324\324\324\377\276\276\276\377\200\200\200\377\267\267\267\377\353"
-  "\353\353\377\376\376\376\377\272\272\272\377000\377\4\4\4\377\2\2\2\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\3\3\3\372\3\3\3\304\0\0\0l\0\0\0\37\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\35\35\35/\7\7\7\375\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\14\14\14\377\230\230\230\377\366\366\366"
-  "\377\373\372\374\377\362\357\362\377\371\367\370\377\364\364\364\377"
-  "\206\206\206\377\263\263\263\377\350\350\350\377\377\377\377\377\362"
-  "\362\362\377\226\226\226\377\33\33\33\377\4\4\4\377\5\5\5\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\7\7\7\370\7\7\7\302\0\0\0l\0\0\0\36\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\20\20\20\37\7\7\7\344\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377PPP\377\317\317\317\377\371\371\371\377"
-  "\377\377\377\377\363\363\363\377\253\253\253\377\236\236\236\377\350"
-  "\350\350\377\376\376\376\377\374\374\374\377\313\313\313\377UUU\377\16"
-  "\16\16\377\10\10\10\377\10\10\10\377\2\2\2\377\2\2\2\377\1\1\1\377\1"
-  "\1\1\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\5\5\5\363"
-  "\5\5\5\273\0\0\0g\0\0\0\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\21\21\21\30\14\14\14\277\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\26\26\26\377xxx\377\335\335\335\377\367\367\367\377\277\277"
-  "\277\377\247\247\247\377\362\362\362\377\376\376\376\377\373\373\373"
-  "\377\331\331\331\377zzz\377\35\35\35\377\11\11\11\377\16\16\16\377\14"
-  "\14\14\377\7\7\7\377\5\5\5\377\5\5\5\377\4\4\4\377\2\2\2\377\2\2\2\377"
-  "\1\1\1\377\1\1\1\377\1\1\1\377\7\7\7\354\7\7\7\261\0\0\0]\0\0\0\27\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\33\33\33\16\20\20\20\215"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\2\2\2\377!!!\377m"
-  "mm\377\257\257\257\377\254\254\254\377\331\331\331\377\371\371\371\377"
-  "\341\341\341\377\267\267\267\377mmm\377###\377\13\13\13\377\17\17\17"
-  "\377\35\35\35\377\20\20\20\377\16\16\16\377\15\15\15\377\15\15\15\377"
-  "\12\12\12\377\5\5\5\377\4\4\4\377\3\3\3\377\2\2\2\377\3\3\3\376\10\10"
-  "\10\342\5\5\5\241\0\0\0N\0\0\0\21\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0)))\5\22\22\22V\4\4\4\366\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\2\2\2\377\20\20\20\377222\377YYY\377rrr\377xxx\377"
-  "```\377555\377\23\23\23\377\10\10\10\377\15\15\15\377(((\377***\377\33"
-  "\33\33\377\27\27\27\377\31\31\31\377\26\26\26\377\16\16\16\377\10\10"
-  "\10\377\7\7\7\377\6\6\6\377\4\4\4\377\11\11\11\372\11\11\11\324\1\1\1"
-  "\216\0\0\0=\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\34\34\34\1\26\26\26""0\13\13\13\311\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\3\3\3\377\11\11\11\377\14\14"
-  "\14\377\13\13\13\377\11\11\11\377\4\4\4\377\5\5\5\377\12\12\12\377\37"
-  "\37\37\377000\377'''\377***\377,,,\377...\377\40\40\40\377\21\21\21\377"
-  "\13\13\13\377\12\12\12\377\5\5\5\377\7\7\7\377\15\15\15\361\12\12\12"
-  "\300\0\0\0x\0\0\0+\0\0\0\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\31\31\31\17\15\15\15\200\3\3\3\376\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\1\1\1\377\2\2\2\377\7\7\7\377\23\23\23\377\36\36\36\377&&"
-  "&\377(((\377<<<\377EEE\377888\377'''\377\24\24\24\377\22\22\22\377\23"
-  "\23\23\377\7\7\7\377\15\15\15\375\16\16\16\342\2\2\2\246\0\0\0\\\0\0"
-  "\0\32\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\2\16\16\16:\6\6\6\305\0\0\0\376\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\2\2\2\377\6\6\6\377\12\12\12\377\24\24\24\377\36\36\36\377+++\377KK"
-  "K\377DDD\377999\377###\377\34\34\34\377\34\34\34\377\17\17\17\377\15"
-  "\15\15\377\24\24\24\363\10\10\10\303\0\0\0\206\0\0\0:\0\0\0\14\0\0\0"
-  "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\34"
-  "\34\34\17\15\15\15y\3\3\3\355\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\3\3\3\377\6\6\6\377\17\17\17\377\40\40\40\377999\377===\377888\377)"
-  "))\377\"\"\"\377###\377\35\35\35\377\23\23\23\377\34\34\34\373\21\21"
-  "\21\334\0\0\0\244\0\0\0`\0\0\0\40\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\24\24\24,\11\11"
-  "\11\253\1\1\1\370\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\377\2\2\2\377\10\10\10"
-  "\377\20\20\20\377\34\34\34\377)))\377***\377\"\"\"\377$$$\377,,,\377"
-  "$$$\377\32\32\32\377\35\35\35\377\35\35\35\353\6\6\6\272\0\0\0\200\0"
-  "\0\0""9\0\0\0\15\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\10\23\23\23K\7\7\7\313\1\1"
-  "\1\374\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\1\1\1\377\3\3\3\377\7\7\7\377\14\14\14\377\22\22"
-  "\22\377\31\31\31\377\31\31\31\377\37\37\37\377%%%\377'''\377$$$\377&"
-  "&&\377&&&\364\13\13\13\310\0\0\0\227\0\0\0R\0\0\0\32\0\0\0\4\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\2\25\25\25\20\11\11\11]\2\2\2\326\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\2\2\2\377\4\4\4\377\10\10\10\377\13\13\13\377\17\17\17\377\27"
-  "\27\27\377\37\37\37\377\32\32\32\377\30\30\30\377---\377%%%\363\17\17"
-  "\17\322\0\0\0\242\0\0\0e\0\0\0(\0\0\0\10\0\0\0\1\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\3\1\1\1\27\2\2\2]\7\7\7\343\0\0\0\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\377\2"
-  "\2\2\377\5\5\5\377\12\12\12\377\20\20\20\377\22\22\22\377\23\23\23\377"
-  "\24\24\24\377!!!\377$$$\363\15\15\15\322\1\1\1\253\0\0\0m\0\0\0""1\0"
-  "\0\0\15\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\1"
-  "\1\1\26\22\22\22a\10\10\10\322\1\1\1\376\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\2\2\2\377\5\5\5\377\10\10\10"
-  "\377\14\14\14\377\12\12\12\377\23\23\23\377!!!\376\37\37\37\357\14\14"
-  "\14\316\1\1\1\252\0\0\0u\0\0\0""1\0\0\0\16\0\0\0\2\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\25\13\13\13"
-  "I\20\20\20\250\5\5\5\352\1\1\1\373\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\1\1\1\377\3\3\3\377\4\4\4\377\6\6\6\377\15\15\15\376"
-  "\27\27\27\367\25\25\25\337\5\5\5\275\0\0\0\232\0\0\0g\0\0\0/\0\0\0\12"
-  "\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\24\11\11\11""8\15\15\15z\10\10\10\302"
-  "\4\4\4\351\3\3\3\371\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\377\3\3\3\377"
-  "\11\11\11\374\13\13\13\366\16\16\16\345\13\13\13\310\1\1\1\251\0\0\0"
-  "\206\0\0\0V\0\0\0)\0\0\0\14\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0"
-  "\0\0\15\0\0\0&\5\5\5M\14\14\14\205\12\12\12\272\6\6\6\334\4\4\4\354\5"
-  "\5\5\366\5\5\5\373\4\4\4\376\1\1\1\377\0\0\0\377\5\5\5\377\3\3\3\374"
-  "\5\5\5\370\6\6\6\362\7\7\7\352\11\11\11\334\13\13\13\307\1\1\1\250\0"
-  "\0\0\214\0\0\0g\0\0\0>\0\0\0\34\0\0\0\11\0\0\0\1\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\7\0\0\0\25\0\0\0,\0\0\0K\13\13\13"
-  "v\10\10\10\231\11\11\11\263\11\11\11\305\7\7\7\320\2\2\2\325\1\1\1\327"
-  "\10\10\10\327\6\6\6\322\11\11\11\312\11\11\11\276\6\6\6\254\1\1\1\230"
-  "\0\0\0\201\0\0\0a\0\0\0A\0\0\0#\0\0\0\17\0\0\0\4\0\0\0\1\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\10"
-  "\0\0\0\23\0\0\0&\0\0\0:\0\0\0O\1\1\1b\2\2\2q\0\0\0|\0\0\0\201\1\1\1\202"
-  "\1\1\1\177\0\0\0x\0\0\0l\0\0\0\\\0\0\0H\0\0\0""3\0\0\0\36\0\0\0\16\0"
-  "\0\0\5\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\5\0\0\0\13\0"
-  "\0\0\22\0\0\0\34\0\0\0$\0\0\0+\0\0\0/\0\0\0/\0\0\0.\0\0\0)\0\0\0!\0\0"
-  "\0\30\0\0\0\20\0\0\0\10\0\0\0\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0"
-  "\3\0\0\0\4\0\0\0\4\0\0\0\3\0\0\0\3\0\0\0\2\0\0\0\1\0\0\0\1\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"};
diff --git a/src/tX_icon.h b/src/tX_icon.h
deleted file mode 100644 (file)
index 04fdcdf..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2016  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 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 General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-    File: tX_icon.h
-    Description: Header to tX_icon.c
-*/    
-
-extern const guint8 tX_icon[];
index faaf500434384d986e7936e3712b79679ed262e7..9991b67859ea6639f4b53c40b2f3e806da6e2a40 100644 (file)
@@ -37,7 +37,7 @@ void load_knob_pixs(int fontHeight, int scaleFactor)
 
        GResource* resource = g_resource_new_from_data(g_bytes_new_static(tX_knob_resource_data.data, sizeof(tX_knob_resource_data.data)), &error);
        if (error) {
-           printf("error: %s\n", error->message);
+           tX_error("failed accessing tX_dial resources: %s\n", error->message);
        }
 
        if (globals.knob_size_override > 0) {
@@ -53,13 +53,8 @@ void load_knob_pixs(int fontHeight, int scaleFactor)
                knob_pixmaps[i] = gdk_pixbuf_new_from_resource_at_scale(resource_path, tX_knob_size, tX_knob_size, TRUE, &error);
 
                if (error) {
-                   printf("error: %s\n", error->message);
+                   tX_error("failed rendering knob image: %s\n", error->message);
                }
-
-               //GdkPixbuf *tmpPixbuf=gdk_pixbuf_new_from_resource(name, &error);
-               //GdkPixbuf *scaledPixbuf=NULL;
-               //scaledPixbuf = gdk_pixbuf_scale_simple(tmpPixbuf, tX_knob_size, tX_knob_size, GDK_INTERP_HYPER);
-               //knob_pixmaps[i]=scaledPixbuf;
        }
 }
 
index 3ed0ad212c72544db0ebbf2d9fa6155af4293a26..12b62af82cc0a066388ed4c4094d81506dc9d748 100644 (file)
@@ -43,7 +43,7 @@ void tx_icons_init(int size)
        GError *error = NULL;
        GResource* resource = g_resource_new_from_data(g_bytes_new_static(tX_icons_resource_data.data, sizeof(tX_icons_resource_data.data)), &error);
        if (error) {
-         printf("error: %s\n", error->message);
+         tX_error("failed accessing tX_icons resources: %s", error->message);
        }
 
        icon_init(AUDIOENGINE, "audioengine");
@@ -69,7 +69,7 @@ GtkWidget *tx_pixmap_widget(tX_icon id)
        GtkWidget *widget=gtk_image_new();
        GdkPixbuf *pixbuf=gdk_pixbuf_new_from_resource_at_scale(tx_icons[id], tx_icon_size, tx_icon_size, TRUE, &error);
        if (error) {
-               printf("error: %s\n", error->message);
+               tX_error("failed rendering icon to pixbuf: %s", error->message);
        } else {
                gtk_image_set_from_pixbuf(GTK_IMAGE(widget), pixbuf);
        }