88 |
bugsover = new Image(); |
bugsover = new Image(); |
89 |
bugsover.src = dir + "mbugshover.png"; |
bugsover.src = dir + "mbugshover.png"; |
90 |
|
|
91 |
bugsout = new Image(); |
bugsout = new Image();& |
92 |
bugsout.src = dir + "mbugs.png"; |
bugsout.src = dir + "mbugs.png"; |
93 |
} |
} |
94 |
--> |
--> |
121 |
</td><td valign=top width="100%"> |
</td><td valign=top width="100%"> |
122 |
<div id="contents"> |
<div id="contents"> |
123 |
|
|
124 |
<h2>Features / Development Roadmap</h2> |
<h2>LS Development Roadmap</h2> |
125 |
|
<p class="default"> |
126 |
|
The following list shows the planned work to be done until the next |
127 |
|
release of LinuxSampler. There will be no new release before all of them |
128 |
|
are completed. |
129 |
|
</p> |
130 |
|
|
131 |
|
<ol class="default"> |
132 |
|
<li class="false">nothing scheduled yet</li> |
133 |
|
</ol> |
134 |
|
|
135 |
|
<table class="default"> |
136 |
|
<tr> |
137 |
|
<td class="default"><img src="gfx/okay_green.png" alt="Done" width="13" height="13" border="1"> Done </td> |
138 |
|
<td class="default"><img src="gfx/yellow_light.png" alt="Partly implemented" width="13" height="13" border="1"> Partly implemented </td> |
139 |
|
<td class="default"><img src="gfx/x.png" alt="Not started yet" width="13" height="13" border="1"> No work started yet </td> |
140 |
|
</tr> |
141 |
|
</table> |
142 |
|
|
143 |
|
<h2>Features</h2> |
144 |
<p class="default"> |
<p class="default"> |
145 |
The following list shows which features have already been implemented in |
The following list shows which features have already been implemented in |
146 |
current CVS version of LinuxSampler and what is planned to be done in |
current CVS version of LinuxSampler and what is planned to be done in |
154 |
time and will to finish one of them, let us know! |
time and will to finish one of them, let us know! |
155 |
</p> |
</p> |
156 |
|
|
157 |
<ol> |
<ol class="default"> |
158 |
<li class="partly"> Operating Systems |
<li class="partly"> Operating Systems |
159 |
<ol> |
<ol> |
160 |
<li class="ok">Linux</li> |
<li class="ok">Linux</li> |
165 |
<ol> |
<ol> |
166 |
<li class="partly"> Gigasampler Engine |
<li class="partly"> Gigasampler Engine |
167 |
<ol> |
<ol> |
168 |
<li class="ok">Gig file loader</li> |
<li class="ok">Gig file loader |
169 |
<li class="ok">Generic playback (RAM & disk streaming)</li> |
<ol> |
170 |
<li class="partly">Dimension switching</li> |
<li class="ok">Gig v2 format</li> |
171 |
<li class="ok">Sustain pedal support</li> |
<li class="partly">Gig v3 format |
172 |
|
<ol> |
173 |
|
<li class="partly">large file support (64 bit file offsets are currently truncated to 32 bit)</li> |
174 |
|
<li class="ok">24 bit samples (uncompressed as well as compressed)</li> |
175 |
|
<li class="ok">support for multi-file format (.gig, .gx01, .gx02, ...)</li> |
176 |
|
<li class="partly">support for articulation (.art) files</li> |
177 |
|
<li class="ok">support for Dimension Splits not equal to two</li> |
178 |
|
<li class="ok">up to 8 Dimensions or 256 Dimension Regions</li> |
179 |
|
</ol> |
180 |
|
</li> |
181 |
|
</ol> |
182 |
|
</li> |
183 |
|
<li class="ok">Generic playback (RAM playback & disk streaming)</li> |
184 |
|
<li class="ok">Dimension switching |
185 |
|
<ol> |
186 |
|
<li class="ok">Sample Channel</li> |
187 |
|
<li class="ok">Layer</li> |
188 |
|
<li class="ok">Velocity</li> |
189 |
|
<li class="ok">Channel Aftertouch</li> |
190 |
|
<li class="ok">Release Trigger</li> |
191 |
|
<li class="ok">Keyboard Position</li> |
192 |
|
<li class="ok">Round Robin</li> |
193 |
|
<li class="ok">Random</li> |
194 |
|
<li class="ok">Modulation Wheel</li> |
195 |
|
<li class="ok">Breath Ctrl.</li> |
196 |
|
<li class="ok">Foot Ctrl.</li> |
197 |
|
<li class="ok">Portamento Time Ctrl.</li> |
198 |
|
<li class="ok">Effect 1 & 2 Ctrl.</li> |
199 |
|
<li class="ok">Effect 1 - 5 Depth Ctrl.</li> |
200 |
|
<li class="ok">General Purpose Ctrl. 1 - 8</li> |
201 |
|
<li class="ok">Sustain Pedal</li> |
202 |
|
<li class="ok">Portamento</li> |
203 |
|
<li class="ok">Sostenuto Pedal</li> |
204 |
|
<li class="ok">Soft Pedal</li> |
205 |
|
</ol> |
206 |
|
</li> |
207 |
|
<li class="ok">Sustain pedal interpretation</li> |
208 |
|
<li class="ok">Sostenuto pedal interpretation</li> |
209 |
<li class="ok">Key velocity <-> volume mapping</li> |
<li class="ok">Key velocity <-> volume mapping</li> |
210 |
<li class="ok">Looping</li> |
<li class="ok">Looping |
211 |
|
<ol> |
212 |
|
<li class="ok">endless loop</li> |
213 |
|
<li class="ok">limited amount of loops</li> |
214 |
|
<li class="ok">fractional looping</li> |
215 |
|
</ol> |
216 |
|
</li> |
217 |
<li class="ok">Pitchbend wheel support</li> |
<li class="ok">Pitchbend wheel support</li> |
218 |
<li class="ok">Bidirectional voice state transition</li> |
<li class="ok">Bidirectional voice state transition, allowing |
219 |
<li class="partly">Filter (VCF) |
to cancel the relase stage of voices forth and back arbitrary |
220 |
|
times if needed</li> |
221 |
|
<li class="ok">Filter (VCF) |
222 |
<ol> |
<ol> |
223 |
<li class="ok">Highpass</li> |
<li class="ok">Highpass</li> |
224 |
<li class="ok">Bandpass</li> |
<li class="ok">Bandpass</li> |
225 |
<li class="false">Bandreject</li> |
<li class="ok">Bandreject</li> |
226 |
<li class="ok">Lowpass</li> |
<li class="ok">Lowpass</li> |
227 |
<li class="false">Turbo lowpass</li> |
<li class="ok">Turbo lowpass</li> |
228 |
|
<li class="ok">all filter types provide extremely |
229 |
|
accurate characteristics compared to the original |
230 |
|
Gigasampler format filters</li> |
231 |
<li class="ok">Cutoff frequency controllable by MIDI controller</li> |
<li class="ok">Cutoff frequency controllable by MIDI controller</li> |
232 |
<li class="ok">Resonance controllable by MIDI controller</li> |
<li class="ok">Resonance controllable by MIDI controller</li> |
233 |
</ol> |
</ol> |
240 |
<li class="ok">VCO Low Frequency Oscillator (Pitch)</li> |
<li class="ok">VCO Low Frequency Oscillator (Pitch)</li> |
241 |
<li class="ok">Layers</li> |
<li class="ok">Layers</li> |
242 |
<li class="ok">Crossfades</li> |
<li class="ok">Crossfades</li> |
243 |
<li class="ok">Key Groups (a.k.a Exclusive Groups)</li> |
<li class="ok">Key Groups (a.k.a Exclusive Groups), |
244 |
<li class="ok">Release Triggered Voices</li> |
for mutually switching off sounds i.e. for drumkits</li> |
245 |
<li class="ok">Key Switching</li> |
<li class="ok">Release Triggered Voices, specific samples |
246 |
|
that are played back when voices are released</li> |
247 |
|
<li class="ok">Key Switching, which allows to map a certain |
248 |
|
range on thy keyboard as additional performance controller, |
249 |
|
i.e. for switching articulations of orchestral sounds in realtime</li> |
250 |
<li class="ok">Voice Stealing</li> |
<li class="ok">Voice Stealing</li> |
251 |
|
<li class="ok">Portamento Mode and Solo Mode (a.k.a 'Mono Mode', |
252 |
|
can be altered via standard GM messages, that is CC5 for |
253 |
|
altering portamento time, CC65 for enabling / disabling |
254 |
|
portamento mode, CC126 for enabling solo mode and CC127 for |
255 |
|
disabling solo mode)</li> |
256 |
|
<li class="ok">Scale Tuning (via standard MIDI GS SysEx message)</li> |
257 |
</ol> |
</ol> |
258 |
</li> |
</li> |
259 |
<li style="partly"><a href="http://www.midi.org/about-midi/dls/abtdls.shtml">DLS</a> Engine |
<li style="partly"><a href="http://www.midi.org/about-midi/dls/abtdls.shtml">DLS</a> Engine |
264 |
</li> |
</li> |
265 |
<li class="partly">Akai Engine</li> |
<li class="partly">Akai Engine</li> |
266 |
<ol> |
<ol> |
267 |
<li class="ok"><a href="http://stud.fh-heilbronn.de/~cschoene/projects/libakai/">Akai file loader</a> (<a href="http://www.vintagesynth.org/akai/s1000.shtml">S1000</a>, <a href="http://www.vintagesynth.org/akai/s3000.shtml">S3000</a> series)</li> |
<li class="ok"><a href="http://stud.fh-heilbronn.de/~cschoene/projects/libakai/">Akai file loader</a> (<a href="http://www.vintagesynth.com/akai/s1000.shtml">S1000</a>, <a href="http://www.vintagesynth.com/akai/s3000.shtml">S3000</a> series)</li> |
268 |
<li class="false">Generic playback</li> |
<li class="false">Generic playback</li> |
269 |
</ol> |
</ol> |
270 |
<li class="false">Custom, modular Engine</li> |
<li class="false">Custom, modular Engine</li> |
272 |
</li> |
</li> |
273 |
<li class="partly">Control interfaces |
<li class="partly">Control interfaces |
274 |
<ol> |
<ol> |
275 |
|
<li class="ok">Native C++ <a href="http://en.wikipedia.org/wiki/Application_programming_interface">API</a></li> |
276 |
<li class="ok">Custom network interface for frontends (<a name="LSCP" href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html">LSCP</a>) |
<li class="ok">Custom network interface for frontends (<a name="LSCP" href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html">LSCP</a>) |
277 |
</li> |
</li> |
278 |
<li class="false"><a name="OSC" href="http://www.cnmat.berkeley.edu/OpenSoundControl/">OSC</a> |
<li class="false"><a name="OSC" href="http://www.cnmat.berkeley.edu/OpenSoundControl/">OSC</a> |
285 |
<li class="false"><a href="http://www.steinberg.net/en/support/3rdparty/">VSTi</a></li> |
<li class="false"><a href="http://www.steinberg.net/en/support/3rdparty/">VSTi</a></li> |
286 |
<li class="false">MIDI over ethernet (<a href="http://standards.ieee.org/announcements/p1639app.html">Distributed MIDI</a>)</li> |
<li class="false">MIDI over ethernet (<a href="http://standards.ieee.org/announcements/p1639app.html">Distributed MIDI</a>)</li> |
287 |
<li class="ok"><a href="http://developer.apple.com/audio/pdf/coreaudio.pdf">CoreMIDI</a> (Mac <a href="http://www.apple.com/macosx/">OS X</a>)</li> |
<li class="ok"><a href="http://developer.apple.com/audio/pdf/coreaudio.pdf">CoreMIDI</a> (Mac <a href="http://www.apple.com/macosx/">OS X</a>)</li> |
288 |
|
<li class="ok"><a href="http://midishare.sourceforge.net/">MidiShare</a> (Linux, OS X, Windows)</li> |
289 |
</ol> |
</ol> |
290 |
</li> |
</li> |
291 |
<li class="partly">Audio output drivers |
<li class="partly">Audio output drivers |
292 |
<ol> |
<ol> |
293 |
<li class="ok"><a href="http://www.alsa-project.org/">ALSA</a></li> |
<li class="ok"><a href="http://www.alsa-project.org/">ALSA</a></li> |
294 |
<li class="ok"><a href="http://jackit.sourceforge.net/">JACK</a></li> |
<li class="ok"><a href="http://jackit.sourceforge.net/">JACK</a></li> |
295 |
|
<li class="ok"><a href="http://www.arts-project.org/">aRts</a> (not RT safe!)</li> |
296 |
<li class="false"><a href="http://www.steinberg.net/en/support/3rdparty/">VSTi</a></li> |
<li class="false"><a href="http://www.steinberg.net/en/support/3rdparty/">VSTi</a></li> |
297 |
<li class="false">Audio over ethernet</li> |
<li class="false">Audio over ethernet</li> |
298 |
<li class="false"><a href="http://developer.apple.com/audio/pdf/coreaudio.pdf">CoreAudio</a> (Mac <a href="http://www.apple.com/macosx/">OS X</a>)</li> |
<li class="false"><a href="http://developer.apple.com/audio/pdf/coreaudio.pdf">CoreAudio</a> (Mac <a href="http://www.apple.com/macosx/">OS X</a>)</li> |
310 |
<li class="false">Dynamic engine recompilation</li> |
<li class="false">Dynamic engine recompilation</li> |
311 |
<li class="false">Extensive SMP (multi processor) support</li> |
<li class="false">Extensive SMP (multi processor) support</li> |
312 |
<li class="false">Network cluster support</li> |
<li class="false">Network cluster support</li> |
313 |
|
<li class="ok">MIDI instrument mapper, allows to create very flexible MIDI progam change setups in a very easy way. |
314 |
|
<ol> |
315 |
|
<li class="ok">MIDI program change</li> |
316 |
|
<li class="ok">MIDI bank select (automatic detection of MSB only, LSB only or full MSB+LSB)</li> |
317 |
|
<li class="ok">Load Strategy for each Item individually |
318 |
|
<ol> |
319 |
|
<li class="ok">On-Demand: loads the instrument only when needed, frees it immediately once not used by any sampler channel anymore</li> |
320 |
|
<li class="ok">On-Demand-Hold: loads the instrument when needed and keeps it in memory, that is even if not used by a sampler channel</li> |
321 |
|
<li class="ok">Persistent: loads the instrument immediately in the background (i.e. at sampler startup), allowing immediate program changes in realtime even of largest instruments, without wait time</li> |
322 |
|
<li class="ok">Default: let the sampler decide</li> |
323 |
|
</ol> |
324 |
|
</li> |
325 |
|
<li class="ok">Volume Factor for each Item, allowing to compensate the volume difference of sample library collections i.e. for live performances, without having to edit the instrument files</li> |
326 |
|
<li class="ok">Mapping of arbitrary Instrument Files, already independent of the underlying format in respect for future sampler engines</li> |
327 |
|
<li class="ok">arbitrary amount of independent MIDI instrumet maps, (i.e. for chromatic instruments, drumkits, ...), each sampler channel can be assigned to a specific MIDI map</li> |
328 |
|
</ol> |
329 |
|
</li> |
330 |
|
<li class="ok">Effect Sends |
331 |
|
<ol> |
332 |
|
<li class="ok">Arbitrary Amount of FX Sends on Sampler Channels</li> |
333 |
|
<li class="ok">Realtime MIDI Control of Send Level</li> |
334 |
|
<li class="ok">Arbitrary MIDI Controller assignable</li> |
335 |
|
<li class="ok">Flexible Routing i.e. to a dedicated effect audio output</li> |
336 |
|
</ol> |
337 |
|
</li> |
338 |
|
<li class="ok">Instrument Database System, allowing to keep track of even the largest sample library collections |
339 |
|
<ol> |
340 |
|
<li class="ok">Ordering in Categories</li> |
341 |
|
<li class="ok">Search by various Criteria</li> |
342 |
|
<li class="ok">Transparently maintained on backend side</li> |
343 |
|
</ol> |
344 |
|
</li> |
345 |
<li class="partly">(Graphical) frontends |
<li class="partly">(Graphical) frontends |
346 |
<ol> |
<ol> |
347 |
<li class="ok">Qt based frontend (<a href="http://qsampler.sourceforge.net">QSampler</a>)</li> |
<li class="ok">Qt based frontend (<a href="http://qsampler.sourceforge.net">QSampler</a>)</li> |
348 |
|
<li class="ok">Java based frontend (<a href="http://sourceforge.net/projects/jsampler">JSampler</a>)</li> |
349 |
<li class="false">VSTi frontend (based on the Qt frontend)</li> |
<li class="false">VSTi frontend (based on the Qt frontend)</li> |
350 |
</ol> |
</ol> |
351 |
</li> |
</li> |
352 |
|
<li class="ok">Playing while Loading, i.e. allowing to play and hold notes on the keyboard |
353 |
|
while loading a new instrument on the same sampler channel at the same time</li> |
354 |
|
<li class="ok">Instrument Editor Plugin System for 3rd Party Instrument Editors</li> |
355 |
|
<li class="ok">Instrument Editors |
356 |
|
<ol> |
357 |
|
<li class="ok"><a href="http://download.linuxsampler.org/doc/gigedit/quickstart/gigedit_quickstart.html">gigedit</a> (based on the Gtk+ Toolkit) |
358 |
|
<ol> |
359 |
|
<li class="ok">allows to modify all aspects of Gigsampler v2 and v3 format files</li> |
360 |
|
<li class="ok">allows to modify existing as well as creating completely new .gig files from scratch</li> |
361 |
|
<li class="ok">stand-alone mode (independent of LinuxSampler)</li> |
362 |
|
<li class="ok">live-mode (attached with LinuxSampler), which makes all modifications audible in the sampler in realtime without having to reload</li> |
363 |
|
<li class="ok">created / modified files are accepted by LinuxSampler as well as by Gigastudio 3</li> |
364 |
|
</ol> |
365 |
|
</li> |
366 |
|
</ol> |
367 |
|
</li> |
368 |
</ol> |
</ol> |
369 |
|
|
370 |
<hr> |
<hr> |
380 |
</p> |
</p> |
381 |
|
|
382 |
<p> |
<p> |
383 |
(List last updated <b>2005-05-18</b>, also see <a href="http://www.linuxsampler.org">CVS Log</a> for recent changes) |
(Last page update on <b>$Date: 2007-11-20 02:27:46 $</b> by $Author: schoenebeck $, |
384 |
|
also see <a href="http://www.linuxsampler.org">CVS Log</a> for recent changes) |
385 |
</p> |
</p> |
386 |
|
|
387 |
</div> |
</div> |