88 |
<h2>Using Scripts with LinuxSampler</h2> |
<h2>Using Scripts with LinuxSampler</h2> |
89 |
<p> |
<p> |
90 |
LinuxSampler allows you to write and use such <i>Instrument Scripts</i> |
LinuxSampler allows you to write and use such <i>Instrument Scripts</i> |
91 |
as well. At this point however, support for instrument scripts is limited |
as well. At the moment support for instrument scripts is provided by |
92 |
to the GigaStudio format engine of LinuxSampler yet. The script engine was |
the GigaStudio format engine, as well as now also by the SFZ format engine of |
93 |
developed in a very modular design, where most of the script engine's |
LinuxSampler. The script engine was developed in a very modular design, |
94 |
software is independent from the actual sampler format and the |
where most of the script engine's software is independent from the |
95 |
respective sampler format engine is just adding its format specific |
actual sampler format and the respective sampler format engine is just |
96 |
extensions to the script language. For example the GigaStudio format |
adding its format specific extensions to the script language. For example |
97 |
engine adds scripting functions to allow the sound designer to control the |
the GigaStudio format engine adds scripting functions to allow the sound |
98 |
dimension region by scripts. |
designer to control the dimension region by scripts. |
|
</p> |
|
|
<p> |
|
|
In other words: adding script support to the SFZ format engine for |
|
|
example would not be much work. Simply nobody so far had time and |
|
|
passion to add the scripting feature to the SFZ engine yet. |
|
99 |
</p> |
</p> |
100 |
|
|
101 |
<h3>Bundling Scripts with Sounds</h3> |
<h3>Bundling Scripts with GigaStudio (.gig) Files</h3> |
102 |
<p> |
<p> |
103 |
Our graphical instrument editor for the GigaStudio format - <i>gigedit</i> - |
Our graphical instrument editor for the GigaStudio format - <i>gigedit</i> - |
104 |
includes an instrument script editor and allows you to attach |
includes an instrument script editor and allows you to attach |
106 |
gigedit manual for <a href="gigedit_scripts.html">how to manage instrument scripts with gigedit.</a> |
gigedit manual for <a href="gigedit_scripts.html">how to manage instrument scripts with gigedit.</a> |
107 |
</p> |
</p> |
108 |
|
|
109 |
|
<h3>Bundling Scripts with SFZ (.sfz) Files</h3> |
110 |
|
<p> |
111 |
|
LinuxSampler adds a new opcode <code lang="sfz">script</code> as an |
112 |
|
extension to the offical SFZ format. Similar to the <code lang="sfz">sample</code> |
113 |
|
opcode, a file system path needs to be assigned to the actual script file that should |
114 |
|
be loaded by the sampler. The <code lang="sfz">script</code> opcode should be placed |
115 |
|
in the SFZ file's <code lang="sfz"><global></code> section. However at the moment |
116 |
|
the precise location of the opcode will simply be ignored by LinuxSampler. A simple example |
117 |
|
SFZ file may look like this: |
118 |
|
</p> |
119 |
|
<code lang="sfz"> |
120 |
|
// real-time instrument scripts should be loaded in global section |
121 |
|
<global> |
122 |
|
script=path/to/my_nksp_script.txt |
123 |
|
|
124 |
|
// just load one audio file and assign in to entire key range |
125 |
|
<group> |
126 |
|
sample=some_sound.wav |
127 |
|
</code> |
128 |
|
<p> |
129 |
|
At the moment LinuxSampler supports only one script file per instrument. |
130 |
|
Accordingly there should only be one <code lang="sfz">script</code> opcode |
131 |
|
occurrence in your SFZ file. If you place more than one |
132 |
|
<code lang="sfz">script</code> opcode to a SFZ file, then only the first |
133 |
|
script will be loaded and the sampler will print a warning. In future this will |
134 |
|
change, and the sampler will support running multiple scripts, and will run |
135 |
|
the scripts subsequently on events according to the order the scripts appeared |
136 |
|
in the SFZ file. |
137 |
|
</p> |
138 |
|
|
139 |
<h3>Learning the Script Language</h3> |
<h3>Learning the Script Language</h3> |
140 |
<p> |
<p> |
141 |
You certainly find some instrument scripts ready to be used on the |
You certainly find some instrument scripts ready to be used on the |