#!/bin/bash

TEXTTITLE=$(printf "(Un)Repair Cafe")
TEXTSUBTITLE="Every thursday"
TEXTLOCATION=$(printf "CATU")
TEXTADDRESS=$(printf "Catullusweg 11\nRotterdam")
TEXTLOCATIONLONG=$(printf "CATU\nCatullusweg 11\nRotterdam")
DESCRIPTION=$(printf "Do you dig trough trash only to\n find treasure? Are you interested in \nbuilding servers? Do you take the shop\n out of photoshop? Is a printer jam your \n kind of jam? \n        Come hang at the (un)repair cafe!")
QRDESCRIPTION=$(printf "*Check out calendar.klank.school \n for more details!")
QRDESCRIPTION=$(printf "*Check out calendar.klank.school \n for more details!")
FREE=$(printf "FREE!")

# Set date text (second parameter, with default)
if [ -n "$1" ]; then
    TEXTDATE=$(printf "$1\n18:00-22:00")
    FILENAME_SUFFIX=$(printf ""${1////-}"_out")
else
    TEXTDATE=$(printf "31/07\n18:00-22:00")
    FILENAME_SUFFIX="output"
fi

echo "Using date: $TEXTDATE"
echo "Filename suffix: $FILENAME_SUFFIX"
echo "Make output_landscape"
# Create the image with text overlays landscape
magick assets/landscape_1.jpg \
  -gamma 1  +level 0,1000 -white-threshold 999 \
  \( +clone -colorspace gray -threshold 80% -fill green -colorize 40% \) \
  -compose over -composite \
  -gamma .5 +level 100,1000  \
  -morphology Convolve \
  "3x3: -2 -1  0  -1  1  1   0  1  0" \
  -morphology Convolve \
  "3x3: -2 -1  0  -1  1  1   0  1  0" \
  -morphology Distance Euclidean:1,80 -auto-level \
  -font Courier \
  -gamma 0.05 \
  -wave -20x4 \
  -weight 900 \
  -fill white \
  \( -pointsize 200 -draw "rotate -19 gravity northwest text -150,1200 '$TEXTTITLE'" \) \
  \( -pointsize 100 -draw "rotate -19 gravity northwest text -220, 1820 '$TEXTSUBTITLE'" \) \
  \( -pointsize 100 -draw "gravity southeast text 400,950 '$TEXTDATE'" \) \
  \( -pointsize 100 -draw "gravity southeast text 400,400 '$TEXTLOCATIONLONG'" \) \
  -wave -2x0 \
  -auto-level \
  -morphology Convolve \
  "3x3: -2 -1  0  -1  1  1   0  1  0" \
  ${FILENAME_SUFFIX}_landscape.jpg

echo "Make output_poster"
# create a portrait poster
magick assets/poster_6.jpg \
  -gamma 1  +level 0,2200  \
  -morphology Distance Euclidean:4,180 -auto-level \
  -font Courier \
  -wave -20x4 \
  -weight 900 \
  -fill white \
  -pointsize 120 -draw "rotate 7 gravity northwest text 250,200 '$TEXTTITLE'" \
  -fill white \
  -pointsize 70 -draw "rotate 6 gravity northwest text 250,380 '$TEXTSUBTITLE'" \
  -fill white \
  -pointsize 48 -interline-spacing 5 -draw "rotate 6 gravity northwest text 320,580 '$TEXTLOCATIONLONG'" \
  -wave -2x0 \
  -pointsize 40 -interline-spacing 20 -draw "rotate 1 gravity southwest text 300,360 '$DESCRIPTION'" \
  ${FILENAME_SUFFIX}_poster.jpg

# Create an A6 poster
echo "Make output_A6_qr"
magick assets/poster_1.jpg \
  -resize "1240x1748" \
  -gamma 0.3 +level 10,1000  \
  -morphology Distance Euclidean:4,80 -auto-level \
  -font Courier -weight Bold \
  -wave -10x4 \
  -fill white \
  -pointsize 80 -draw "rotate 7 gravity northwest text 150,150 '$TEXTTITLE'" \
  -fill white \
  -pointsize 50 -draw "rotate 7 gravity northwest text 160,250 '$TEXTSUBTITLE'" \
  -fill white \
  -pointsize 30  -interline-spacing 5 -draw "rotate 6 gravity northwest text 240,450 '$TEXTLOCATIONLONG'" \
  -wave -2x0 \
  -pointsize 30   -interline-spacing 10 -draw "rotate 1 gravity southwest text 200,300 '$DESCRIPTION'" \
  ${FILENAME_SUFFIX}_A6.jpg

magick calendar.jpg -background none -rotate 10 -resize "50%" tmp_calendar.png

# Put a QR code on an A6 poster
magick ${FILENAME_SUFFIX}_A6.jpg \
  -fill tomato  \
  -draw "rotate 10 rectangle 840,690 1120,970"  \
  tmp_calendar.png \
  -gravity center \
  -geometry +200+100 \
  -font Courier -weight Bold \
  -pointsize 24 -interline-spacing 10 -draw "rotate 10 gravity center text 200,-120 '$QRDESCRIPTION'" \
  -composite ${FILENAME_SUFFIX}_A6_QR.jpg

rm tmp_calendar.png

# Create a rectangle image
echo "Make rectangle_1"
magick assets/rectangle_1.jpg \
  -resize "1240x1240" \
  \( +clone -colorspace gray -threshold 80% -fill green -colorize 40% \) \
  -compose over -composite \
    -gamma .5 +level 100,1000  \
    -morphology Convolve \
    "3x3: -2 -1  0  -1  1  1   0  1  0" \
    -morphology Convolve \
    "3x3: -2 -1  0  -1  1  1   0  1  0" \
    -morphology Distance Euclidean:1,80 -auto-level \
  -font Courier -weight Bold \
  -wave -10x5 \
  -fill white \
  -pointsize 120 -draw "rotate -18 gravity center text 30,-200 '$TEXTTITLE'" \
  -pointsize 50 -draw  "rotate -18 gravity center text -100,0 '$TEXTSUBTITLE'" \
  -pointsize 50  -interline-spacing 5 -draw "rotate -2 gravity southeast text 60, 150 '$TEXTADDRESS'" \
  -pointsize 40  -interline-spacing 5 -draw "rotate -2 gravity southeast text 80,380 '$TEXTDATE'" \
  -wave 1x40 \
  -auto-level \
  -morphology Convolve \
  "3x3: -2 -1  0  -1  1  1   0  5  0" \
  ${FILENAME_SUFFIX}_rectangle.jpg

# Create a another poster
echo "Make poster_2"
magick assets/poster_5.jpg \
  -resize "1240x1748" \
  \( +clone -colorspace gray -threshold 80% -fill green -colorize 40% \) \
   -compose over -composite \
  -gamma .5 +level 100,1000  \
  -morphology Convolve \
  "3x3: -2 -1  0  -1  1  1   0  1  0" \
  -morphology Convolve \
  "3x3: -2 -1  0  -1  1  1   0  1  0" \
  -morphology Distance Euclidean:1,80 -auto-level \
  -font Courier -weight Bold \
  -gamma 0.05 \
  -wave -10x5 \
  -fill white \
  -pointsize 120 -draw "rotate 7 gravity northwest text 90,90 '$TEXTTITLE'" \
  -fill white \
  -pointsize 60 -draw "rotate 6 gravity northwest text 120,250 '$TEXTSUBTITLE'" \
  -fill white \
  -pointsize 48 -interline-spacing 5 -draw "rotate 6 gravity northwest text 220,480 '$TEXTLOCATIONLONG'" \
  -pointsize 38 -interline-spacing 20 -draw "rotate 1 gravity southwest text 150,260 '$DESCRIPTION'" \
  -wave 1x40 \
  -pointsize 35  -interline-spacing 5 -draw "rotate 2 gravity center text 200, 150 '$QRDESCRIPTION" \
  -auto-level \
  -morphology Convolve \
  "3x3: -2 -1  0  -1  1  1   0  1  0" \
  ${FILENAME_SUFFIX}_poster2.jpg

  # Create a rectangle image
echo "Make poster_3"
magick assets/poster_5.jpg \
  -resize "1240x1748" \
  -morphology Distance Euclidean:1,600 -auto-level \
  -gamma 0.23 +level 10,1000  \
  -morphology Convolve \
  "3x3: -2 -6  0  -1  1  1   0  5 3" \
  -morphology Distance Euclidean:4,80 -auto-level \
  -font Courier -weight Bold \
  -wave -10x5 \
  -fill white \
  -pointsize 120 -draw "rotate 7 gravity northwest text 150,90 '$TEXTTITLE'" \
  -pointsize 65 -draw "rotate 6 gravity northwest text 150,250 '$TEXTSUBTITLE'" \
  -pointsize 40 -interline-spacing 5 -draw "rotate 6 gravity northwest text 250,450 '$TEXTLOCATIONLONG'" \
  -pointsize 55 -interline-spacing 5 -draw "rotate -4 gravity northwest text 160,700 '$FREE'" \
  -pointsize 32 -interline-spacing 16 -draw "rotate 1 gravity southwest text 200,300 '$DESCRIPTION'" \
  -pointsize 40  -interline-spacing 5 -draw "rotate 5  gravity center text 200,130 '$TEXTDATE'" \
  -wave 1x80 \
  -auto-level \
  -morphology Convolve \
  "3x3: -2 -91  0  -1  1  1   4  5  0" \
  ${FILENAME_SUFFIX}_poster3.jpg
