Skip to content

Commit

Permalink
Merge pull request #28 from tidalcycles/refactor
Browse files Browse the repository at this point in the history
Merge Refactor branch
  • Loading branch information
HighHarmonics2 authored Dec 30, 2022
2 parents 2398327 + 44d5bab commit cd8f5f1
Show file tree
Hide file tree
Showing 2 changed files with 176 additions and 298 deletions.
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

0 comments on commit cd8f5f1

Please sign in to comment.