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

Merge Refactor branch #28

Merged
merged 9 commits into from
Dec 30, 2022
Merged
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
54 changes: 31 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,43 @@
tidal-bootstrap
===============
# tidal-bootstrap

Please note that this is an experimental installation script. Run
under your own risk. If you have problems, please join us on the
[#tidal-install](https://chat.toplap.org/channel/tidal-install) chat
channel and we'll try to help. We'd be very happy to hear about
successes too!
This installation script is an "ad-hoc" solution. Effort is made to ensure it works, but it does not have robust error detection and hasn't been fully tested on all current macOS versions. If you have problems, please join us on the
[#tidal-install](https://chat.toplap.org/channel/tidal-install) chat channel and we'll try to help. We'd be very happy to hear about successes too!

Summary
-------
## Summary
### OS support
- Tested on Mac Intel: Big Sur, Monterey
- Install may work on Silicon, but it has yet to be validated and tested.
- Support for Linux has been removed, the script will exit.

`tidal-bootstrap` is small shell script which attempts to automate the
installation process of the [TidalCycles](http://tidalcycles.org/)
live coding environment under Mac OS X and Linux (on Debian-derived systems, e.g. Ubuntu, Mint).
#### Description
`tidal-bootstrap` is shell script which automates the installation steps for [TidalCycles](http://tidalcycles.org/) live coding environment under Mac OS X.

`tidal-bootstrap` installs the tools mentioned in TidalCycles [installation](https://tidalcycles.org/index.php/Installation) guide.
`tidal-bootstrap` installs the components covered in the TidalCycles [MacOS installation](https://tidalcycles.org/docs/getting-started/macos_install) guide.

The script checks if the following programs are installed on the system, and installs them if they are missing.
The script checks if the following programs are installed on the system, and installs them if they are missing:

* SuperCollider (and SuperDirt)
* ghci (ghcup)
* The [Tidal library](https://hackage.haskell.org/package/tidal)
* Note: The Atom text editor is sunset and it is no longer installed. Work is underway to refactor this script to install the Pulsar editor with the tidalcycles plugin.
- Xcode command line tools (with git)
- [Haskell](https://www.haskell.org/) Language ([Ghcup](https://www.haskell.org/ghcup/))
- [cabal](https://www.haskell.org/cabal/): package system for Haskell and Tidalcycles
- The Tidal Pattern engine (Tidal Cycles itself), with the important BootTidal.hs file
- [Pulsar](https://pulsar-edit.dev/): Text editor
- [tidalcycles plugin](https://github.com/tidalcycles/atom-tidalcycles) for Pulsar
- [SuperCollider](https://supercollider.github.io/) for backend audio generation, and:
- [SuperDirt](https://github.com/musikinformatik/SuperDirt): sample library used by tidal
- [sc-3 plugins](https://github.com/supercollider/sc3-plugins): unit generator plugins

Running
-------

You should be able to run the install script by opening a terminal window, pasting in the following and pressing enter:
### Running tidal-bootstrap
For best results, first install the Apple Xcode command line tools.

```
/usr/bin/xcode-select --install
```
Then run this:
```
curl https://raw.githubusercontent.com/tidalcycles/tidal-bootstrap/master/tidal-bootstrap.command -sSf | sh
```

(It will probably ask for your password at some point. As you type, characters won't be echoed to the screen, so you'll have to look at your keys and do your best!)
Note: if there are failures, the script can be run again. Correctly installed components will be skipped.

### sh profiles
macOS by default does not install a shell profile (.bashrc for bash, .zshrc for zsh). Haskell requires a profile file to be present. This script uses the "touch" command to create these if they are not there then adds a command that will add the ghcup path to your PATH, by running `~/.ghcup/env`
Loading