Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complete getsysex.sh rewrite using cUrl to maximize compatibility #444

Open
wants to merge 19 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 82 additions & 38 deletions getsysex.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,41 +3,85 @@
# Get voices from
# https://yamahablackboxes.com/collection/yamaha-dx7-synthesizer/patches/

mkdir -p sysex/voice/

DIR="https://yamahablackboxes.com/patches/dx7/factory"

# wget -c "${DIR}"/rom1a.syx -O sysex/voice/000000_rom1a.syx
# wget -c "${DIR}"/rom1b.syx -O sysex/voice/000001_rom1b.syx
# wget -c "${DIR}"/rom2a.syx -O sysex/voice/000002_rom2a.syx
# wget -c "${DIR}"/rom2b.syx -O sysex/voice/000003_rom2b.syx
wget -c "${DIR}"/rom3a.syx -O sysex/voice/000000_rom3a.syx
wget -c "${DIR}"/rom3b.syx -O sysex/voice/000001_rom3b.syx
wget -c "${DIR}"/rom4a.syx -O sysex/voice/000002_rom4a.syx
wget -c "${DIR}"/rom4b.syx -O sysex/voice/000003_rom4b.syx

DIR="https://yamahablackboxes.com/patches/dx7/vrc"

wget -c "${DIR}"/vrc101b.syx -O sysex/voice/000004_vrc101b.syx
wget -c "${DIR}"/vrc102a.syx -O sysex/voice/000005_vrc102a.syx
wget -c "${DIR}"/vrc102b.syx -O sysex/voice/000006_vrc102b.syx
wget -c "${DIR}"/vrc103a.syx -O sysex/voice/000007_vrc103a.syx
wget -c "${DIR}"/vrc103b.syx -O sysex/voice/000008_vrc103b.syx
wget -c "${DIR}"/vrc104a.syx -O sysex/voice/000009_vrc104a.syx
wget -c "${DIR}"/vrc104b.syx -O sysex/voice/000010_vrc104b.syx
wget -c "${DIR}"/vrc105a.syx -O sysex/voice/000011_vrc105a.syx
wget -c "${DIR}"/vrc105b.syx -O sysex/voice/000012_vrc105b.syx
wget -c "${DIR}"/vrc106a.syx -O sysex/voice/000013_vrc106a.syx
wget -c "${DIR}"/vrc106b.syx -O sysex/voice/000014_vrc106b.syx
wget -c "${DIR}"/vrc107a.syx -O sysex/voice/000015_vrc107a.syx
wget -c "${DIR}"/vrc107b.syx -O sysex/voice/000016_vrc107b.syx
wget -c "${DIR}"/vrc108a.syx -O sysex/voice/000017_vrc108a.syx
wget -c "${DIR}"/vrc108b.syx -O sysex/voice/000018_vrc108b.syx
wget -c "${DIR}"/vrc109a.syx -O sysex/voice/000019_vrc109a.syx
wget -c "${DIR}"/vrc109b.syx -O sysex/voice/000020_vrc109b.syx
wget -c "${DIR}"/vrc110a.syx -O sysex/voice/000021_vrc110a.syx
wget -c "${DIR}"/vrc110b.syx -O sysex/voice/000022_vrc110b.syx
wget -c "${DIR}"/vrc111a.syx -O sysex/voice/000023_vrc111a.syx
wget -c "${DIR}"/vrc111b.syx -O sysex/voice/000024_vrc111b.syx
wget -c "${DIR}"/vrc112a.syx -O sysex/voice/000025_vrc112a.syx
wget -c "${DIR}"/vrc112b.syx -O sysex/voice/000026_vrc112b.syx
CURL_OPTIONS="-L --connect-timeout 15 --max-time 120 --retry 3 --retry-delay 5 --show-error"
ALLOW_INSECURE_SSL="true"

TARGET_DIR="sysex/voice/"

# Add here the links you wish to download from, at the bottom of the list
# First put the link to the SysEx file you wish to download, followed by a space and then the filename on Minidexed
# Please note that files on Minidexed need to start with a number, in this case the next link should be 000028_something.syx
LINKS=()
LINKS+=("https://yamahablackboxes.com/patches/dx7/factory/rom1a.syx 00001_rom1a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/factory/rom1b.syx 00002_rom1b.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/factory/rom2a.syx 00003_rom2a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/factory/rom2b.syx 00004_rom2b.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc101a.syx 00005_vrc101a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc101b.syx 00006_vrc101b.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc102a.syx 00007_vrc102a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc102b.syx 00008_vrc102b.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc103a.syx 00009_vrc103a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc103b.syx 00010_vrc103b.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc104a.syx 00011_vrc104a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc104b.syx 00012_vrc104b.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc105a.syx 00013_vrc105a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc105b.syx 00014_vrc105b.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc106a.syx 00015_vrc106a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc106b.syx 00016_vrc106b.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc107a.syx 00017_vrc107a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc107b.syx 00018_vrc107b.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc108a.syx 00019_vrc108a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc108b.syx 00020_vrc108b.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc109a.syx 00021_vrc109a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc109b.syx 00022_vrc109b.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc110a.syx 00023_vrc110a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc110b.syx 00024_vrc110b.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc111a.syx 00025_vrc111a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc111b.syx 00026_vrc111b.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc112a.syx 00027_vrc112a.syx")
LINKS+=("https://yamahablackboxes.com/patches/dx7/vrc/vrc112b.syx 00028_vrc112b.syx")
# LINKS+=("https://linkToWebsite.com/something.syx 00029_something.syx")

mkdir -p "$TARGET_DIR"

# Check internet connection, https and if website is up
curl ${CURL_OPTIONS} -s -I -X POST "https://yamahablackboxes.com" > /dev/null 2>&1
case $? in
0)
;;
60)
if [[ "${ALLOW_INSECURE_SSL}" == "true" ]]
then
CURL_OPTIONS+=" --insecure"
else
echo "Error establishing secure connection"
exit 2
fi
;;
*)
echo "No Internet connection or the website is down"
exit 1
;;
esac

# Download all the files in the list
for i in "${LINKS[@]}";
do
LINK=`echo "${i}" | awk '{print $1}'`
FILE=`echo "${i}" | awk '{print $2}'`
echo "Downloading ${LINK} ..."
curl -o "${TARGET_DIR}${FILE}" ${CURL_OPTIONS} "${LINK}" > /dev/null 2>&1
if (( $? > 0 ))
then
echo "Download failed"
fi
done

# Copy over the user bank
echo "Downloading https://github.com/probonopd/MiniDexed/raw/main/userBank.syx ..."
printf -v j "%05d" $count
curl -o "${TARGET_DIR}16384_userBank.syx" ${CURL_OPTIONS} https://github.com/probonopd/MiniDexed/raw/main/sysex/voice/userBank.syx > /dev/null 2>&1
if (( $? > 0 ))
then
echo "Download failed"
fi
Binary file added sysex/voice/userBank.syx
Binary file not shown.