From f9dd5056c6283344a5e2bac724e4a6ab5cba7676 Mon Sep 17 00:00:00 2001
From: James R <justsomejames2@gmail.com>
Date: Thu, 16 Jan 2020 16:36:10 -0800
Subject: [PATCH] musicdef-2.2.1 for converting 2.2.0 MUSICDEF to new format

---
 tools/musicdef-2.2.1/Makefile         |  1 +
 tools/musicdef-2.2.1/musicdef-2.2.1.c | 76 +++++++++++++++++++++++++++
 2 files changed, 77 insertions(+)
 create mode 100644 tools/musicdef-2.2.1/Makefile
 create mode 100644 tools/musicdef-2.2.1/musicdef-2.2.1.c

diff --git a/tools/musicdef-2.2.1/Makefile b/tools/musicdef-2.2.1/Makefile
new file mode 100644
index 0000000000..403d27b043
--- /dev/null
+++ b/tools/musicdef-2.2.1/Makefile
@@ -0,0 +1 @@
+musicdef-2.2.1:
diff --git a/tools/musicdef-2.2.1/musicdef-2.2.1.c b/tools/musicdef-2.2.1/musicdef-2.2.1.c
new file mode 100644
index 0000000000..d73f16efc2
--- /dev/null
+++ b/tools/musicdef-2.2.1/musicdef-2.2.1.c
@@ -0,0 +1,76 @@
+/*
+Copyright 2019 James R.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <stdio.h>
+#include <string.h>
+
+#ifdef _WIN32
+#define strcasecmp _stricmp
+#else
+#include <strings.h>
+#endif
+
+int
+main (int ac, char **av)
+{
+	char line[256];
+	char buf[256];
+	char *var;
+	char *val;
+	char *p;
+	int n;
+	(void)ac;
+	(void)av;
+	fputs(
+			"Copyright 2019 James R.\n"
+			"All rights reserved.\n"
+			"\n"
+			"Usage: musicdef-2.2.1 < old-MUSICDEF > new-MUSICDEF\n"
+			"\n"
+			,stderr);
+	while (fgets(line, sizeof line, stdin))
+	{
+		memcpy(buf, line, sizeof buf);
+		if (( var = strtok(buf, " =") ))
+		{
+			if (!(
+						strcasecmp(var, "TITLE") &&
+						strcasecmp(var, "AUTHORS")
+			)){
+				if (( val = strtok(0, "") ))
+				{
+					for (p = val; ( p = strchr(p, '_') ); )
+					{
+						n = strspn(p, "_");
+						memset(p, ' ', n);
+						p += n;
+					}
+					printf("%s %s", var, val);
+					continue;
+				}
+			}
+		}
+		fputs(line, stdout);
+	}
+	return 0;
+}
-- 
GitLab