0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【TidalCycles】自作関数を別ファイルから呼び出す

Last updated at Posted at 2021-09-22

はじめに

TidalCyclesにある程度慣れてくると、自分用の関数をつくったりすることが増えてくると思います。
ただ、TidalCyclesを立ち上げるたびに毎回関数の定義をするためにCtrl+Enterするのは面倒ですし、関数定義が長くなってくるとファイル分割したくなってくると思います。

ちなみに環境は

  • OS: Mac
  • Editor: Atom

です。

関数定義をBootTidal.hsに記述する

Haskellのようにmodule モジュール名 whereみたいに宣言するだけで.tidalファイルからimportできればいいんですが、この方法では関数定義を別ファイルに切り出すことはできないようです。(できるかもしれませんが、自分が試した限りができませんでした)

公式のドキュメントによると、BootTidal.hsに関数定義を記述しておけば、TidalCyclesを立ち上げるたびに自動的に読み込んでくれるみたいです。

Everytime you start Tidal, the software is reading from a configuration file usually named BootTidal.hs.

肝心のBootTidal.hsのありかですが、TidalCycles起動時のコンソールに

Load BootTidal.hs from [BootTidal.hsのpath]

とでるので、このパスにあるBootTidal.hsを書き換えればよさそうです。(大元のファイルを書き換えない方法は後述しています)

image.png

関数定義の記述方法

すでに記述されている関数定義を参考に、例えば

:{
let elem' xs x = elem x xs
:}

のように記述しておけば関数elem'が定義され、使えるようになります。

ちなみに記述する場所は:set prompt "tidal> "よりも前であればどこでもいいようです。

プロジェクトごとにBootTidal.hsを使い分ける

ただ、実際にはこの大元のファイルを書き換えるのは少し抵抗がありますし、ちゃんとプロジェクトごとにGit管理したい気もします。

TidalCyclesのGithubをみてみると、BootTidal.hsはプロジェクト直下に置いておけばそちらが優先的に読み込まれるらしいので、プロジェクト直下においておきます。

改めてTidalCyclesを立ち上げると、Load BootTidal.hs のpathが変更されていることが確認できると思います。

image.png

これによって、このプロジェクトのみで使える関数を定義できました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?