commit ef6c2f4b5bb6d8e12384be858356335bb75001f3
parent 5f9aaa2fd368b7e48f3683ff4ca2f12e0aad111c
Author: JP Cimalando <jp-dev@inbox.ru>
Date: Tue, 12 Feb 2019 15:51:26 +0100
Replace png2c with a more generic program (#131)
Diffstat:
D | utils/png2c.py | | | 113 | ------------------------------------------------------------------------------- |
A | utils/res2c.py | | | 113 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
2 files changed, 113 insertions(+), 113 deletions(-)
diff --git a/utils/png2c.py b/utils/png2c.py
@@ -1,113 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-
-# DISTRHO Plugin Framework (DPF)
-# Copyright (C) 2012-2019 Filipe Coelho <falktx@falktx.com>
-#
-# Permission to use, copy, modify, and/or distribute this software for any purpose with
-# or without fee is hereby granted, provided that the above copyright notice and this
-# permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
-# TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
-# NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
-# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
-# IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-import os, sys
-
-# -----------------------------------------------------
-
-def png2c(namespace, filenames):
-
- fdH = open("%s.hpp" % namespace, "w")
- fdH.write("/* (Auto-generated binary data file). */\n")
- fdH.write("\n")
- fdH.write("#ifndef BINARY_%s_HPP\n" % namespace.upper())
- fdH.write("#define BINARY_%s_HPP\n" % namespace.upper())
- fdH.write("\n")
- fdH.write("namespace %s\n" % namespace)
- fdH.write("{\n")
-
- fdC = open("%s.cpp" % namespace, "w")
- fdC.write("/* (Auto-generated binary data file). */\n")
- fdC.write("\n")
- fdC.write("#include \"%s.hpp\"\n" % namespace)
- fdC.write("\n")
-
- tempIndex = 1
-
- for filename in filenames:
- shortFilename = filename.rsplit(os.sep, 1)[-1].split(".", 1)[0]
- shortFilename = shortFilename.replace("-", "_")
-
- pngData = open(filename, 'rb').read()
-
- print("Generating data for \"%s\"" % (filename))
-
- fdH.write(" extern const char* %sData;\n" % shortFilename)
- fdH.write(" const unsigned int %sDataSize = %i;\n" % (shortFilename, len(pngData)))
-
- if tempIndex != len(filenames):
- fdH.write("\n")
-
- fdC.write("static const unsigned char temp_%s_%i[] = {\n" % (shortFilename, tempIndex))
-
- curColumn = 1
- fdC.write(" ")
-
- for data in pngData:
- if curColumn == 0:
- fdC.write(" ")
-
- fdC.write(" %3u," % data)
-
- if curColumn > 20:
- fdC.write("\n ")
- curColumn = 1
- else:
- curColumn += 1
-
- fdC.write("};\n")
- fdC.write("const char* %s::%sData = (const char*)temp_%s_%i;\n" % (namespace, shortFilename, shortFilename, tempIndex))
-
- if tempIndex != len(filenames):
- fdC.write("\n")
-
- tempIndex += 1
-
- fdH.write("}\n")
- fdH.write("\n")
- fdH.write("#endif // BINARY_%s_HPP\n" % namespace.upper())
- fdH.write("\n")
- fdH.close()
-
- fdC.write("\n")
- fdC.close()
-
-# -----------------------------------------------------
-
-if __name__ == '__main__':
- if len(sys.argv) != 3:
- print("Usage: %s <namespace> <artwork-folder>" % sys.argv[0])
- quit()
-
- namespace = sys.argv[1].replace("-","_")
- artFolder = sys.argv[2]
-
- if not os.path.exists(artFolder):
- print("Folder '%s' does not exist" % artFolder)
- quit()
-
- # find png files
- pngFiles = []
-
- for root, dirs, files in os.walk(artFolder):
- for name in [name for name in files if name.lower().endswith(".png")]:
- pngFiles.append(os.path.join(root, name))
-
- pngFiles.sort()
-
- # create code now
- png2c(namespace, pngFiles)
diff --git a/utils/res2c.py b/utils/res2c.py
@@ -0,0 +1,113 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+# DISTRHO Plugin Framework (DPF)
+# Copyright (C) 2012-2019 Filipe Coelho <falktx@falktx.com>
+#
+# Permission to use, copy, modify, and/or distribute this software for any purpose with
+# or without fee is hereby granted, provided that the above copyright notice and this
+# permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
+# TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
+# NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+# IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+import os, sys
+
+# -----------------------------------------------------
+
+def res2c(namespace, filenames):
+
+ fdH = open("%s.hpp" % namespace, "w")
+ fdH.write("/* (Auto-generated binary data file). */\n")
+ fdH.write("\n")
+ fdH.write("#ifndef BINARY_%s_HPP\n" % namespace.upper())
+ fdH.write("#define BINARY_%s_HPP\n" % namespace.upper())
+ fdH.write("\n")
+ fdH.write("namespace %s\n" % namespace)
+ fdH.write("{\n")
+
+ fdC = open("%s.cpp" % namespace, "w")
+ fdC.write("/* (Auto-generated binary data file). */\n")
+ fdC.write("\n")
+ fdC.write("#include \"%s.hpp\"\n" % namespace)
+ fdC.write("\n")
+
+ tempIndex = 1
+
+ for filename in filenames:
+ shortFilename = filename.rsplit(os.sep, 1)[-1].split(".", 1)[0]
+ shortFilename = shortFilename.replace("-", "_")
+
+ resData = open(filename, 'rb').read()
+
+ print("Generating data for \"%s\"" % (filename))
+
+ fdH.write(" extern const char* %sData;\n" % shortFilename)
+ fdH.write(" const unsigned int %sDataSize = %i;\n" % (shortFilename, len(resData)))
+
+ if tempIndex != len(filenames):
+ fdH.write("\n")
+
+ fdC.write("static const unsigned char temp_%s_%i[] = {\n" % (shortFilename, tempIndex))
+
+ curColumn = 1
+ fdC.write(" ")
+
+ for data in resData:
+ if curColumn == 0:
+ fdC.write(" ")
+
+ fdC.write(" %3u," % data)
+
+ if curColumn > 20:
+ fdC.write("\n ")
+ curColumn = 1
+ else:
+ curColumn += 1
+
+ fdC.write("};\n")
+ fdC.write("const char* %s::%sData = (const char*)temp_%s_%i;\n" % (namespace, shortFilename, shortFilename, tempIndex))
+
+ if tempIndex != len(filenames):
+ fdC.write("\n")
+
+ tempIndex += 1
+
+ fdH.write("}\n")
+ fdH.write("\n")
+ fdH.write("#endif // BINARY_%s_HPP\n" % namespace.upper())
+ fdH.write("\n")
+ fdH.close()
+
+ fdC.write("\n")
+ fdC.close()
+
+# -----------------------------------------------------
+
+if __name__ == '__main__':
+ if len(sys.argv) != 3:
+ print("Usage: %s <namespace> <resource-folder>" % sys.argv[0])
+ quit()
+
+ namespace = sys.argv[1].replace("-","_")
+ resFolder = sys.argv[2]
+
+ if not os.path.exists(resFolder):
+ print("Folder '%s' does not exist" % resFolder)
+ quit()
+
+ # find resource files
+ resFiles = []
+
+ for root, dirs, files in os.walk(resFolder):
+ for name in files:
+ resFiles.append(os.path.join(root, name))
+
+ resFiles.sort()
+
+ # create code now
+ res2c(namespace, resFiles)