Skip to content

Instantly share code, notes, and snippets.

@james-see
Last active October 11, 2019 03:05
Show Gist options
  • Save james-see/0622533809b1e2e6df845d8fee6c069d to your computer and use it in GitHub Desktop.
Save james-see/0622533809b1e2e6df845d8fee6c069d to your computer and use it in GitHub Desktop.
TidalCycles Installer Script for Mac OS https://tidalcycles.org/index.php/MacOS_installation
#!/bin/bash
# Author: James Campbell
# Date: September 2019
# Last Updated: September 2019
# Contact: [email protected]
# What: tidalcycles installer script for OSX
#### COLORS
COLOR_PURPLE='\033[0;35m'
normal='\033[0m'
#### CHECK FOR MAC OS
if [[ "$OSTYPE" == "darwin"* ]]; then
printf "$COLOR_PURPLE[0]$normal Mac OS detected, moving forward with installation...\n"
else
echo "Mac OS not detected, this script is for Mac OS or OSX only." && exit 1
fi
#### CHECK FOR HOMEBREW
if command -v brew 2>/dev/null; then
printf "$COLOR_PURPLE[1]$normal Homebrew found, installing Super Collider..."
brew cask install supercollider
else
echo "Install homebrew first at https://brew.sh"
exit 1
fi
#### CHECK FOR HASKELL
if command -v cabal 2>/dev/null; then
printf "$COLOR_PURPLE[2]$normal Haskell found, skipping...\n"
else
printf "$COLOR_PURPLE[2]$normal Installing Haskell via ghcup...\n"
curl https://get-ghcup.haskell.org -sSf | sh
fi
#### CHECK FOR GIT
if command -v git 2>/dev/null; then
printf "$COLOR_PURPLE[3]$normal git found, skipping...\n"
else
printf "$COLOR_URPLE[3]$normal installing git...\n"
brew install git
fi
#### INSTALL TIDALCYCLES
printf "$COLOR_PURPLE[4]$normal Congratulations, you have all the pre-reqs...\n"
echo "Installing tidalcycles via cabal..."
echo ""
. "$HOME/.ghcup/env"
echo '. $HOME/.ghcup/env' >> "$HOME/.bashrc"
cabal update
cabal install tidal --lib
#### OPEN SUPERCOLLIDER TO CREATE DIRS
printf "Opening SuperCollider and closing in background to initialize Extensions directory..."
sudo spctl --master-disable
open -j -g -a SuperCollider
sudo spctl --master-enable
sleep 5
killall SuperCollider
#### INSTALL PLUGINS
printf "$COLOR_PURPLE[5]$normal Installing SuperCollider Plugins...\n"
wget https://github.com/supercollider/sc3-plugins/releases/download/Version-3.10.0/sc3-plugins-3.10.0-macOS.zip -O /tmp/sc3.zip
unzip -q /tmp/sc3.zip -d ~/Library/Application\ Support/SuperCollider/Extensions/
#### INSTALL SUPERDIRT
echo "Follow the instructions on the screen in SuperCollider to finish the install, enjoy!"
echo "Help and further info at: https://tidalcycles.org/index.php/MacOS_installation"
printf '// Place your cursor on the line below and press Shift-Enter\ninclude("SuperDirt")\n restart SuperCollider and GTG\n' > /tmp/superdirt.scd
open /tmp/superdirt.scd
exit 0
@james-see
Copy link
Author

This is untested, but would love feedback. Please try it out and let me know. To run in OSX:

chmod +x tidalup.sh
./tidalup.sh

I am trying to make it idempotent so it shouldn't break anything if you run it more than once but YMMV.

@wensontsai
Copy link

this worked great! πŸ‘

@james-see
Copy link
Author

@wensontsai great, thanks for testing it out. Glad it worked :)

@james-see
Copy link
Author

Now I can safely say this script is confirmed working.

@wensontsai
Copy link

It's a godsend. I was having issues with installing each piece before and ghc path fussinesses. Very happy!

@james-see
Copy link
Author

πŸ₯°πŸ˜πŸ˜Ž super glad someone else found it useful. I had painful time as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment