aboutsummaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2011-11-13 18:12:53 -0600
committerRobby Workman <rworkman@slackbuilds.org>2011-11-14 21:27:11 -0600
commitbd0330066dcad5b497e06c6f7dd6a08e16869259 (patch)
tree185e63ff623f38d6986ac86e9c6cfaba3e8bcea8 /audio
parent35ff32c2c87126597e038f907c57a3e17a32087e (diff)
audio/sooperlooper: Added (live audio looping sampler)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
Diffstat (limited to 'audio')
-rw-r--r--audio/sooperlooper/README7
-rw-r--r--audio/sooperlooper/doinst.sh10
-rw-r--r--audio/sooperlooper/man/slconsole.127
-rw-r--r--audio/sooperlooper/man/slgui.167
-rw-r--r--audio/sooperlooper/man/slregister.117
-rw-r--r--audio/sooperlooper/man/sooperlooper.152
-rw-r--r--audio/sooperlooper/slack-desc19
-rw-r--r--audio/sooperlooper/sooperlooper.SlackBuild89
-rw-r--r--audio/sooperlooper/sooperlooper.desktop8
-rw-r--r--audio/sooperlooper/sooperlooper.info10
-rw-r--r--audio/sooperlooper/sooperlooper.xpm293
11 files changed, 599 insertions, 0 deletions
diff --git a/audio/sooperlooper/README b/audio/sooperlooper/README
new file mode 100644
index 0000000000000..5420daea6b33f
--- /dev/null
+++ b/audio/sooperlooper/README
@@ -0,0 +1,7 @@
+SooperLooper is a live looping sampler capable of immediate loop
+recording, overdubbing, multiplying, reversing and more. It allows
+for multiple simultaneous multi-channel loops limited only by your
+computer's available memory.
+
+This requires jack-audio-connection-kit, liblo, rubberband, wxGTK or
+wxPython, and libsigc++-legacy.
diff --git a/audio/sooperlooper/doinst.sh b/audio/sooperlooper/doinst.sh
new file mode 100644
index 0000000000000..1f8ff67dedb29
--- /dev/null
+++ b/audio/sooperlooper/doinst.sh
@@ -0,0 +1,10 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
+
diff --git a/audio/sooperlooper/man/slconsole.1 b/audio/sooperlooper/man/slconsole.1
new file mode 100644
index 0000000000000..4c504c92abc35
--- /dev/null
+++ b/audio/sooperlooper/man/slconsole.1
@@ -0,0 +1,27 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
+.TH SLCONSOLE "1" "February 2010" "SLCONSOLE" "User Commands"
+.SH NAME
+slconsole \- utility to connect to a sooperlooper engine
+.SH SYNOPSIS
+.B slconsole
+[\fIoptions\fR...]
+.SH OPTIONS
+.TP
+\fB\-H\fR host, \fB\-\-connect\-host\fR=\fIhost\fR
+connect to sooperlooper engine on given host (default is localhost)
+.TP
+\fB\-P\fR <num>, \fB\-\-connect\-port=\fR<num>
+connect to sooperlooper engine on given port (default is 9951)
+.TP
+\fB\-h\fR , \fB\-\-help\fR
+this usage output
+.PP
+By default, the gui will try to connect to an engine running
+at the given (or default) host and port.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBsooperlooper\fR(1), \fBslregister\fR(1)
+.SH "AUTHORS"
+This manual page was written by Alessio Treglia <quadrispro@ubuntu.com>
+for the Debian project (and may be used by others).
diff --git a/audio/sooperlooper/man/slgui.1 b/audio/sooperlooper/man/slgui.1
new file mode 100644
index 0000000000000..8806cb8cc1a9f
--- /dev/null
+++ b/audio/sooperlooper/man/slgui.1
@@ -0,0 +1,67 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
+.TH SLGUI "1" "February 2010" "SLGUI" "User Commands"
+.SH NAME
+slgui \- SooperLooper user interface
+.SH SYNOPSIS
+.B slgui
+[\fI-h\fR] [\fI-V\fR] [\fI-l <num>\fR] [\fI-c <num>\fR] [\fI-t <num>\fR] [\fI-H <str>\fR] [\fI-P <num>\fR] [\fI-m <str>\fR] [\fI-L <str>\fR] [\fI-s\fR] [\fI-N\fR] [\fI-E <str>\fR] [\fI-J <str>\fR] [\fI-S <str>\fR] [\fI-T\fR] [\fI-n\fR]
+.SH DESCRIPTION
+SooperLooper is a live looping sampler capable of immediate loop recording,
+overdubbing, multiplying, reversing and more. It allows for multiple
+simultaneous multi-channel loops limited only by your computer's available
+memory.
+.SH OPTIONS
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+show this help
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+show version only
+.TP
+\fB\-l\fR, \fB\-\-loopcount=\fR<num>
+number of loopers to create (default is 1)
+.TP
+\fB\-c\fR, \fB\-\-channels=\fR<num>
+channel count for each looper (default is 2)
+.TP
+\fB\-t\fR, \fB\-\-looptime=\fR<num>
+number of seconds of loop memory per channel
+.TP
+\fB\-H\fR, \fB\-\-connect\-host=\fR<str>
+connect to sooperlooper engine on given host (default is localhost)
+.TP
+\fB\-P\fR, \fB\-\-connect\-port=\fR<num>
+connect to sooperlooper engine on given port (default is 9951)
+.HP
+\fB\-m\fR, \fB\-\-load\-midi\-binding=\fR<str> loads midi binding from file
+.TP
+\fB\-L\fR, \fB\-\-load\-session=\fR<str>
+load session from file
+.TP
+\fB\-s\fR, \fB\-\-force\-spawn\fR
+force the execution of a new engine
+.TP
+\fB\-N\fR, \fB\-\-never\-spawn\fR
+never start a new engine
+.TP
+\fB\-E\fR, \fB\-\-exec\-name=\fR<str>
+use name as binary to execute as sooperlooper engine (default is sooperlooper)
+.TP
+\fB\-J\fR, \fB\-\-jack\-name=\fR<str>
+jack client name, default is sooperlooper_1
+.TP
+\fB\-S\fR, \fB\-\-jack\-server\-name=\fR<str>
+specify JACK server name
+.TP
+\fB\-T\fR, \fB\-\-stay\-on\-top\fR
+keep main window on top of other applications
+.TP
+\fB\-n\fR, \fB\-\-never\-timeout\fR
+Never timeout if an engine stops responding
+.PP
+.SH "SEE ALSO"
+.PP
+\fBslconsole\fR(1), \fBslregister\fR(1), \fBsooperlooper\fR(1)
+.SH "AUTHORS"
+This manual page was written by Alessio Treglia <quadrispro@ubuntu.com>
+for the Debian project (and may be used by others).
diff --git a/audio/sooperlooper/man/slregister.1 b/audio/sooperlooper/man/slregister.1
new file mode 100644
index 0000000000000..aa9b0d85ee943
--- /dev/null
+++ b/audio/sooperlooper/man/slregister.1
@@ -0,0 +1,17 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
+.TH SLREGISTER "1" "February 2010" "SLREGISTER" "User Commands"
+.SH NAME
+slregister \- receive status updates from a SooperLooper engine
+.SH SYNOPSIS
+.B slregister
+\fItarget_port_# sl_server_port_# \fR[\fIunregister\fR]
+.SH DESCRIPTION
+The target_port_# is the OSC port of the server you wish to receive
+status updates from SooperLooper and sl_server_port_# is your SL port
+(for example use 9951 for the standalone SL, or 10051 for the AU plugin).
+.SH "SEE ALSO"
+.PP
+\fBsooperlooper\fR(1), \fBslconsole\fR(1)
+.SH "AUTHORS"
+This manual page was written by Alessio Treglia <quadrispro@ubuntu.com>
+for the Debian project (and may be used by others).
diff --git a/audio/sooperlooper/man/sooperlooper.1 b/audio/sooperlooper/man/sooperlooper.1
new file mode 100644
index 0000000000000..a80112760e8d3
--- /dev/null
+++ b/audio/sooperlooper/man/sooperlooper.1
@@ -0,0 +1,52 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
+.TH SOOPERLOOPER "1" "February 2010" "SooperLooper 1.6.14" "User Commands"
+.SH NAME
+SooperLooper \- looping sampler
+.SH SYNOPSIS
+.B sooperlooper
+[\fIoptions\fR...]
+.SH DESCRIPTION
+SooperLooper is a live looping sampler capable of immediate loop recording,
+overdubbing, multiplying, reversing and more. It allows for multiple
+simultaneous multi-channel loops limited only by your computer's available
+memory.
+.SH OPTIONS
+.HP
+\fB\-l\fR <num> , \fB\-\-loopcount=\fR<num> number of loopers to create (default is 1)
+.TP
+\fB\-c\fR <num> , \fB\-\-channels=\fR<num>
+channel count for each looper (default is 2)
+.TP
+\fB\-t\fR <numsecs> , \fB\-\-looptime=\fR<num>
+number of seconds of loop memory per channel (default is 40), at least
+.HP
+\fB\-L\fR <pathname> , \fB\-\-load\-session=\fR<pathname> load initial session from pathname
+.TP
+\fB\-D\fR <yes/no>, \fB\-\-discrete\-io\fR=\fI[yes]\fR
+initial loops should have discrete input and output ports (default yes)
+.TP
+\fB\-p\fR <num> , \fB\-\-osc\-port=\fR<num>
+udp port number for OSC server (default is 9951)
+.HP
+\fB\-j\fR <str> , \fB\-\-jack\-name=\fR<str> jack client name, default is sooperlooper_1
+.HP
+\fB\-S\fR <str> , \fB\-\-jack\-server\-name=\fR<str> specify jack server name
+.HP
+\fB\-m\fR <str> , \fB\-\-load\-midi\-binding=\fR<str> loads midi binding from file or preset
+.TP
+\fB\-q\fR , \fB\-\-quiet\fR
+do not output status to stderr
+.TP
+\fB\-h\fR , \fB\-\-help\fR
+this usage output
+.TP
+\fB\-V\fR , \fB\-\-version\fR
+show version only
+.SH COPYRIGHT
+Copyright 2007 Jesse Chappell
+.SH "SEE ALSO"
+.PP
+\fBslconsole\fR(1), \fBslregister\fR(1), \fBslgui\fR(1)
+.SH "AUTHORS"
+This manual page was written by Alessio Treglia <quadrispro@ubuntu.com>
+for the Debian project (and may be used by others).
diff --git a/audio/sooperlooper/slack-desc b/audio/sooperlooper/slack-desc
new file mode 100644
index 0000000000000..42a3579ca1a4c
--- /dev/null
+++ b/audio/sooperlooper/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+sooperlooper: sooperlooper (live audio looping sampler)
+sooperlooper:
+sooperlooper: SooperLooper is a live looping sampler capable of immediate loop
+sooperlooper: recording, overdubbing, multiplying, reversing and more. It allows
+sooperlooper: for multiple simultaneous multi-channel loops limited only by your
+sooperlooper: computer's available memory.
+sooperlooper:
+sooperlooper:
+sooperlooper:
+sooperlooper:
+sooperlooper:
diff --git a/audio/sooperlooper/sooperlooper.SlackBuild b/audio/sooperlooper/sooperlooper.SlackBuild
new file mode 100644
index 0000000000000..0f1a0fc31312f
--- /dev/null
+++ b/audio/sooperlooper/sooperlooper.SlackBuild
@@ -0,0 +1,89 @@
+#!/bin/sh
+
+# Slackware build script for sooperlooper
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+PRGNAM=sooperlooper
+VERSION=${VERSION:-1.6.14}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make
+make install-strip DESTDIR=$PKG
+
+# Man pages, desktop, icon borrowed from Debian (thanks!)
+mkdir -p $PKG/usr/share/applications
+cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
+
+mkdir -p $PKG/usr/share/pixmaps
+cat $CWD/$PRGNAM.xpm > $PKG/usr/share/pixmaps/$PRGNAM.xpm
+
+mkdir -p $PKG/usr/man/man1
+for page in $CWD/man/*; do
+ gzip -9c $page > $PKG/usr/man/man1/$( basename $page ).gz
+done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING OSC README $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/audio/sooperlooper/sooperlooper.desktop b/audio/sooperlooper/sooperlooper.desktop
new file mode 100644
index 0000000000000..ce87cf2036620
--- /dev/null
+++ b/audio/sooperlooper/sooperlooper.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=SooperLooper
+GenericName=SooperLooper Live Looping Sampler
+Icon=sooperlooper
+Exec=slgui
+Terminal=false
+Categories=AudioVideo;Audio;
diff --git a/audio/sooperlooper/sooperlooper.info b/audio/sooperlooper/sooperlooper.info
new file mode 100644
index 0000000000000..fe0a918c5975f
--- /dev/null
+++ b/audio/sooperlooper/sooperlooper.info
@@ -0,0 +1,10 @@
+PRGNAM="sooperlooper"
+VERSION="1.6.14"
+HOMEPAGE="http://essej.net/sooperlooper/"
+DOWNLOAD="http://essej.net/sooperlooper/sooperlooper-1.6.14.tar.gz"
+MD5SUM="6faace751e59347afd45e3bc5ad6904f"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
+APPROVED="rworkman"
diff --git a/audio/sooperlooper/sooperlooper.xpm b/audio/sooperlooper/sooperlooper.xpm
new file mode 100644
index 0000000000000..2b781bc94d357
--- /dev/null
+++ b/audio/sooperlooper/sooperlooper.xpm
@@ -0,0 +1,293 @@
+/* XPM */
+static char * sooperlooper_xpm[] = {
+"32 32 258 2",
+" c #000000",
+". c #08090B",
+"+ c #111118",
+"@ c #0F0E13",
+"# c #080709",
+"$ c #090609",
+"% c #0A0508",
+"& c #0A0507",
+"* c #0A0407",
+"= c #0A0406",
+"- c #0B0405",
+"; c #0B0305",
+"> c #0A0305",
+", c #110408",
+"' c #070203",
+") c #030405",
+"! c #18202C",
+"~ c #2B3547",
+"{ c #393F56",
+"] c #41415B",
+"^ c #413B53",
+"/ c #3E3246",
+"( c #412E42",
+"_ c #432A3E",
+": c #452639",
+"< c #472335",
+"[ c #491F30",
+"} c #4B1B2B",
+"| c #4E1727",
+"1 c #501323",
+"2 c #4F1323",
+"3 c #521424",
+"4 c #320D17",
+"5 c #0D0306",
+"6 c #07090C",
+"7 c #253042",
+"8 c #455B7C",
+"9 c #596E96",
+"0 c #606B94",
+"a c #636289",
+"b c #665C81",
+"c c #6B567A",
+"d c #6F5071",
+"e c #73486A",
+"f c #764162",
+"g c #7A3B5A",
+"h c #7E3552",
+"i c #812E4A",
+"j c #852643",
+"k c #89203B",
+"l c #88213B",
+"m c #8E223D",
+"n c #46111F",
+"o c #040507",
+"p c #283549",
+"q c #556F98",
+"r c #58739E",
+"s c #576B92",
+"t c #5A648A",
+"u c #5E5D83",
+"v c #61577B",
+"w c #655173",
+"x c #694B6B",
+"y c #6C4464",
+"z c #703E5C",
+"A c #733855",
+"B c #77324E",
+"C c #7A2B46",
+"D c #7E243F",
+"E c #811F38",
+"F c #86203A",
+"G c #44111E",
+"H c #010101",
+"I c #121820",
+"J c #57719B",
+"K c #566F99",
+"L c #556E98",
+"M c #61587B",
+"N c #665173",
+"O c #6D4464",
+"P c #703E5D",
+"Q c #743855",
+"R c #080B0E",
+"S c #33435B",
+"T c #556E97",
+"U c #10141C",
+"V c #566F98",
+"W c #566B92",
+"X c #5C668C",
+"Y c #5B5A7E",
+"Z c #4F4763",
+"` c #4B3C54",
+" . c #4C374E",
+".. c #503249",
+"+. c #522E44",
+"@. c #54283E",
+"#. c #61283F",
+"$. c #742943",
+"%. c #7F253F",
+"&. c #11151D",
+"*. c #5A749F",
+"=. c #586C93",
+"-. c #576084",
+";. c #393A50",
+">. c #0C0A0E",
+",. c #0E0B10",
+"'. c #0E0A0F",
+"). c #0F0A0E",
+"!. c #0F090D",
+"~. c #0B0609",
+"{. c #2E121D",
+"]. c #67243C",
+"^. c #802540",
+"/. c #11161E",
+"(. c #5B76A1",
+"_. c #596D95",
+":. c #50597A",
+"<. c #272837",
+"[. c #1F0C14",
+"}. c #632339",
+"|. c #812541",
+"1. c #0E1218",
+"2. c #4D6388",
+"3. c #586C94",
+"4. c #35364B",
+"5. c #010100",
+"6. c #220D16",
+"7. c #63233A",
+"8. c #090B10",
+"9. c #374761",
+"0. c #5F6990",
+"a. c #50506F",
+"b. c #1D1923",
+"c. c #050608",
+"d. c #232E3E",
+"e. c #546D95",
+"f. c #5B658B",
+"g. c #5D5C81",
+"h. c #443D57",
+"i. c #465B7E",
+"j. c #546D96",
+"k. c #626087",
+"l. c #554D6D",
+"m. c #141017",
+"n. c #010102",
+"o. c #131922",
+"p. c #4F668C",
+"q. c #56719B",
+"r. c #605F85",
+"s. c #5A5173",
+"t. c #322839",
+"u. c #43111E",
+"v. c #57719C",
+"w. c #5F5F84",
+"x. c #5C5375",
+"y. c #3E3146",
+"z. c #85203A",
+"A. c #4B1221",
+"B. c #161C26",
+"C. c #222C3C",
+"D. c #1D2634",
+"E. c #303F55",
+"F. c #526A91",
+"G. c #567099",
+"H. c #5F5E84",
+"I. c #5D5476",
+"J. c #41344A",
+"K. c #240E17",
+"L. c #66243B",
+"M. c #821F38",
+"N. c #771D34",
+"O. c #591526",
+"P. c #48111F",
+"Q. c #4C1220",
+"R. c #46111E",
+"S. c #270911",
+"T. c #010001",
+"U. c #2F3D54",
+"V. c #4D6489",
+"W. c #495F82",
+"X. c #475C7E",
+"Y. c #415575",
+"Z. c #51698F",
+"`. c #605F86",
+" + c #595172",
+".+ c #2C2332",
+"++ c #17090E",
+"@+ c #541D2F",
+"#+ c #832642",
+"$+ c #842039",
+"%+ c #7F1E37",
+"&+ c #7A1D35",
+"*+ c #7C1E36",
+"=+ c #751C33",
+"-+ c #49121F",
+";+ c #020101",
+">+ c #394965",
+",+ c #5D78A5",
+"'+ c #58729C",
+")+ c #59739D",
+"!+ c #616086",
+"~+ c #514A67",
+"{+ c #0B090D",
+"]+ c #030202",
+"^+ c #34111C",
+"/+ c #822642",
+"(+ c #821F39",
+"_+ c #831F39",
+":+ c #84203A",
+"<+ c #7E1E37",
+"[+ c #531423",
+"}+ c #030101",
+"|+ c #374762",
+"1+ c #5A75A1",
+"2+ c #5D678E",
+"3+ c #373246",
+"4+ c #18070D",
+"5+ c #681E34",
+"6+ c #511423",
+"7+ c #384863",
+"8+ c #5B76A2",
+"9+ c #576C93",
+"0+ c #596388",
+"a+ c #060204",
+"b+ c #2E0D16",
+"c+ c #801F38",
+"d+ c #7D1E36",
+"e+ c #521423",
+"f+ c #35455E",
+"g+ c #526A92",
+"h+ c #526B92",
+"i+ c #546C95",
+"j+ c #536C94",
+"k+ c #506286",
+"l+ c #343B50",
+"m+ c #0F0E14",
+"n+ c #010000",
+"o+ c #1C070D",
+"p+ c #6A1A2D",
+"q+ c #4E1322",
+"r+ c #131923",
+"s+ c #202A3A",
+"t+ c #232E40",
+"u+ c #3C4D69",
+"v+ c #3B4B67",
+"w+ c #263245",
+"x+ c #0B0E13",
+"y+ c #0D0406",
+"z+ c #270A11",
+"A+ c #2F0C15",
+"B+ c #2E0C14",
+"C+ c #2C0B13",
+"D+ c #020203",
+"E+ c #030305",
+"F+ c #030506",
+"G+ c #07080B",
+"H+ c #000001",
+"I+ c #040102",
+" ",
+" ",
+" ",
+" ",
+" . + @ # $ $ % & * = - ; ; > , ' ",
+" ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 ",
+" 6 7 8 9 0 a b c d e f g h i j k l m n 5 ",
+" o p q r s t u v w x y z A B C D E E F G 5 ",
+" H I J K L s t u M N x O P Q B C D E E F G 5 ",
+" R S T L L s t u M N x O P Q B C D E E F G 5 ",
+" U V T T L W X Y Z ` ...+.@.#.$.%.E E F G 5 ",
+" &.*.T T L =.-.;.>.,.'.).!.~.{.].^.E E F G 5 ",
+" /.(.T T L _.:.<. [.}.|.E E F G 5 ",
+" 1.2.T T L 3.-.4.5. 6.7.|.E E F G 5 ",
+" 8.9.T L L W 0.a.b. 6.7.|.E E F G 5 ",
+" c.d.e.q L s f.g.h. 6.7.|.E E F G 5 ",
+" o i.j.q s t k.l.m. 6.7.|.E E F G 5 ",
+" n.o.p.q.s t r.s.t.H 6.7.|.E E F u.5 ",
+" 2.v.s t w.x.y.H 6.7.|.E E z.A.5 ",
+" B.d.C.D.o.E.F.G.s t H.I.J.H K.L.^.E E M.N.O.P.Q.R.S.T. ",
+" U.V.W.X.Y.Z.T q s t `. +.+H ++@+#+E E E $+%+&+*+=+-+;+ ",
+" >+,+J '+)+G.T L s t !+~+{+ ]+^+/+E E E E (+_+:+<+[+}+ ",
+" |+1+T T T T T L s 2+Y 3+ 4+5+F M.E E E E _+*+6+}+ ",
+" 7+8+K K q V q G.9+0+] @ a+b+=+c+_+_+_+_+$+d+e+}+ ",
+" f+J g+h+i+i+i+j+k+l+m+ n+o+p+&+*+d+*+<+N.q+;+ ",
+" r+s+D.t+u+v+u+w+x+ n+;+y+z+A+B+B+C+o+n+ ",
+" D+) E+F+6 G+6 o H+ }+I+I+I+I+}+ ",
+" ",
+" ",
+" ",
+" ",
+" "};