Renoise


主にluaでのスクリプト開発についてメモ

スクリプト開発セット

公式スクリプト配布サイト


おそらくスクリプト開発セットに入っているドキュメントが公開されている全仕様だと思われるので、
それと他のスクリプトのソース中心に見ていけばおk。


/Documentation/! Introduction.txt

デフォルトではRenoiseの全てのスクリプティング関係のものは、コードいじりたいと思わない人のために、
出来る限り簡単な状態を保持すべく、隠されている。

もし、スクリプトを書きたいなら、まず最初に、Renoiseに組み込まれた、隠された開発ツールを使えるようにする必要がある。
これは、以下の方法で可能です。

 -Renoiseを "--scripting-dev" 引数付きで起動

 -Preferenceフォルダーから、Renoiseのconfig.xmlファイルを開き、
  <ShowScriptingDevelopmentTools>プロパティに"true"を設定。
 この方法では、いつも引数を付けて起動するのを回避できます。

このオプションを有効にすると、新しいメインメニュー項目"Tools"が追加されます。
"Tools"メニューには、以下のものが入っています。

- "Reload All Tools" : これは、インストールされ、動作中のスクリプトツールを、全て強制的にリロードします。
 これは手動で新しいツールを追加するときや、それらを変更するときに、手動で実行可能です。

- "Scripting Console & Editor" : これはメインのスクリプト開発ツールです。次のことができます
  + ターミナル(コマンドライン)で、リアルタイムにスクリプトやコマンドの評価
 + 全てのスクリプトの出力(全ての"print"出力と、スクリプトからエラー出力にリダイレクトされたもの)を閲覧 
 + Renoiseのために、作り出すツールであるであろう、Lua、Text、XMLファイルの、生成、閲覧、編集

- "Example Tools"と、ツール開発者のみをターゲットにした他のツールの表示

--------------------------------------------------------------------------------
-- スクリプトで製作されたもので、何ができ、何ができないのか?このスクリプト製作って一体なんなのですか?
--------------------------------------------------------------------------------

現在、このRenoiseリリースでは、次の項目に従うと、スクリプトを使えるようになります。

- "Scripting Console & Editor"を使って、リアルタイムにターミナルにコマンド入力して実行できます。
  これは、"--scripting-dev"を有効にしたことで実行でき、全てここからスクリプトの開発に入り込めます。

- Create Tools: Renoiseにカスタム機能の新しいツールを追加します。
  ツールとはRenoiseAPIを使用した、Luaスクリプトによる小さいファイルと、manifest.xml ファイルです。
  このようなツールは、ドラッグアンドドロップでバンドルとインストールが可能です。
  この方法で、開発者だけでなく、技術的な詳細に触れたくない人でも、ツールを使うことが出来ます。
  バンドルについてはあとで詳しく書きます。

  Renoiseツールを使ってできることの、いくつかの例

  + 新しいコンテキストメニューエントリと、キーボードショートカット。MozillaのFirefoxのエクステンションみたいな感じです。

 + Renoise自身のLook&Feelの、カスタムGUI。あたなのツールを完璧にRenoiseに統合し、他人でも使いやすくできます。

 + Renoiseメインウインドウや、曲(patterns, tracks, instruments, 曲の構成要素はなんでも)のコントロール。
   Generater、Filterや、楽曲データの製作、アルゴリズム比較やinstrument生成、自動化など、思いつくものはなんでも。

  + おたく

- MIDIコントローラースクリプト: 双方向のMIDI生成や、他のコントローラのためのOSC実装

 あなたのLaunchpadの振る舞いを作り、やりたいことができ、さらにあなたの設定を他人と共有できます。
 このようなツールでは、MackeControl、Behringer MIDI MixersのようなMIDIコントローラを簡単にオートマッピングでき、
 Renoiseで手動でマッピングすることなしに、プラグアンドプレイできます。
 ライブセッションなどのために、MIDIマッピングやOSC実装を作成してみてください。

 これを作るのは簡単で、Renoiseは"Duplex"というツールを提供していて、
 既にそれは、Launchpadや、いくつかのほかのMIDIコントローラーをサポートしています。
 Duplexはとてもフレキシブルで、オブジェクト指向なアプローチで、RenoiseでMIDIコントローラをハンドルしており、
 また、DuplexでサポートされているMIDIコントローラの仮想UIを提供しいています。
 これで、現実の実物なしに、そのようなコントローラーを使った仮想的なテストがRenoiseで出来ます。

 RenoiseでMIDIコントローラーを書くために、Duplexを使う必要はありませんが、
 既に多くのMIDIコントローラー簡易化ツールが提供されています。

- 作成、設定や、RenoiseデフォルトのMIDIやOSCバインディングの上書き:
 RenoiseはMIDIマッピングのデフォルトセットを持っていて、ユーザーによって手動で設定することが可能です。
 このセットは拡張することや、あなたにあったおかしな設定にすることができ、
 それから、いつもどおり、RenoisenoMIDIマッピングダイアログで使われて、マッピングされます。
 Renoiseは、また、デフォルトのOSC実装を持っていて、あなたにあったものに上書きできます。

- Renoiseツールでできないこと:
 + Renoiseの既存の振る舞いの変更。
  パターンエディタを白から黄色に変えたりだとかはできません

 + リアルタイムアクセス。
  音楽プレイヤは書けません。
  つまり、独自の新しいリアルタイムDSPはスクロプトできないです、、まだ。
  でもサンプルを作ったり、既存サンプルを操作したりするスクリプトはかけます。
  このリアルタイムアクセスについては将来変更が加わるかもしれません。

--------------------------------------------------------------------------------
-- Renoise Lua API overview
--------------------------------------------------------------------------------




Comments