49 |
downloadsout = new Image(); |
downloadsout = new Image(); |
50 |
downloadsout.src = dir + "mdownloads.png"; |
downloadsout.src = dir + "mdownloads.png"; |
51 |
|
|
52 |
|
supportover = new Image(); |
53 |
|
supportover.src = dir + "msupporthover.png"; |
54 |
|
supportout = new Image(); |
55 |
|
supportout.src = dir + "msupport.png"; |
56 |
|
|
57 |
developersover = new Image(); |
developersover = new Image(); |
58 |
developersover.src = dir + "mdevelopershover.png"; |
developersover.src = dir + "mdevelopershover.png"; |
59 |
|
|
116 |
<a id="screenshots" href="screenshots.html" onmouseover="javascript:if(document.images)document.screenshots.src = screenshotsover.src" onmouseout="javascript:if(document.images)document.screenshots.src = screenshotsout.src"><img name="screenshots" src="gfx/mscreenshots.png" alt="screenshots"></a> |
<a id="screenshots" href="screenshots.html" onmouseover="javascript:if(document.images)document.screenshots.src = screenshotsover.src" onmouseout="javascript:if(document.images)document.screenshots.src = screenshotsout.src"><img name="screenshots" src="gfx/mscreenshots.png" alt="screenshots"></a> |
117 |
<a id="demos" href="demos.html" onmouseover="javascript:if(document.images)document.demos.src = demosover.src" onmouseout="javascript:if(document.images)document.demos.src = demosout.src"><img name="demos" src="gfx/mdemos.png" alt="demos"></a> |
<a id="demos" href="demos.html" onmouseover="javascript:if(document.images)document.demos.src = demosover.src" onmouseout="javascript:if(document.images)document.demos.src = demosout.src"><img name="demos" src="gfx/mdemos.png" alt="demos"></a> |
118 |
<a id="downloads" href="downloads.html" onmouseover="javascript:if(document.images)document.downloads.src = downloadsover.src" onmouseout="javascript:if(document.images)document.downloads.src = downloadsout.src"><img name="downloads" src="gfx/mdownloads.png" alt="download"></a> |
<a id="downloads" href="downloads.html" onmouseover="javascript:if(document.images)document.downloads.src = downloadsover.src" onmouseout="javascript:if(document.images)document.downloads.src = downloadsout.src"><img name="downloads" src="gfx/mdownloads.png" alt="download"></a> |
119 |
|
<a id="support" href="support.html" onmouseover="javascript:if(document.images)document.support.src = supportover.src" onmouseout="javascript:if(document.images)document.support.src = supportout.src"><img name="support" src="gfx/msupport.png" alt="support"></a> |
120 |
<a id="developers" href="developers.html" onmouseover="javascript:if(document.images)document.developers.src = developersover.src" onmouseout="javascript:if(document.images)document.developers.src = developersout.src"><img name="developers" src="gfx/mdevelopers.png" alt="developers"></a> |
<a id="developers" href="developers.html" onmouseover="javascript:if(document.images)document.developers.src = developersover.src" onmouseout="javascript:if(document.images)document.developers.src = developersout.src"><img name="developers" src="gfx/mdevelopers.png" alt="developers"></a> |
121 |
<a id="faq" href="faq.html" onmouseover="javascript:if(document.images)document.faq.src = faqover.src" onmouseout="javascript:if(document.images)document.faq.src = faqout.src"><img name="faq" src="gfx/mfaq.png" alt="faq"></a> |
<a id="faq" href="faq.html" onmouseover="javascript:if(document.images)document.faq.src = faqover.src" onmouseout="javascript:if(document.images)document.faq.src = faqout.src"><img name="faq" src="gfx/mfaq.png" alt="faq"></a> |
122 |
<a id="documentation" href="documentation.html" onmouseover="javascript:if(document.images)document.documentation.src = documentationover.src" onmouseout="javascript:if(document.images)document.documentation.src = documentationout.src"><img name="documentation" src="gfx/mdocumentation.png" alt="documentation"></a> |
<a id="documentation" href="documentation.html" onmouseover="javascript:if(document.images)document.documentation.src = documentationover.src" onmouseout="javascript:if(document.images)document.documentation.src = documentationout.src"><img name="documentation" src="gfx/mdocumentation.png" alt="documentation"></a> |
135 |
</p> |
</p> |
136 |
|
|
137 |
<ol class="default"> |
<ol class="default"> |
138 |
<li class="partly">strong synthesis optimizations</li> |
<li class="false">nothing scheduled yet</li> |
|
<li class="false">instrument database system</li> |
|
139 |
</ol> |
</ol> |
140 |
|
|
141 |
<table class="default"> |
<table class="default"> |
146 |
</tr> |
</tr> |
147 |
</table> |
</table> |
148 |
|
|
149 |
|
<p class="default"> |
150 |
|
Note that we frequently cast a moderated poll on our |
151 |
|
<a href="https://bb.linuxsampler.org/"">web forum</a> for |
152 |
|
the next features to be implemented and problems / bugs to be |
153 |
|
fixed soon. Don't hesitate to register to our forum and vote for |
154 |
|
your feature! |
155 |
|
</p> |
156 |
|
|
157 |
<h2>Features</h2> |
<h2>Features</h2> |
158 |
<p class="default"> |
<p class="default"> |
159 |
The following list shows which features have already been implemented in |
The following list shows which features have already been implemented in |
162 |
listed below, you can write a proposol to the |
listed below, you can write a proposol to the |
163 |
<a href="http://lists.sourceforge.net/lists/listinfo/linuxsampler-devel"> |
<a href="http://lists.sourceforge.net/lists/listinfo/linuxsampler-devel"> |
164 |
developers mailing list |
developers mailing list |
165 |
</a> or even better send us your patch if you have done something. Even |
</a>, open an "enhancement" request on our |
166 |
|
<a href="http://bugs.linuxsampler.org">bug tracking system</a> |
167 |
|
or even better send us your patch if you have done something. Even |
168 |
if features are listed to be planned below, it can be that it takes a |
if features are listed to be planned below, it can be that it takes a |
169 |
while until somebody finds the time to implement it. So if you have the |
while until somebody finds the time to implement it. So if you have the |
170 |
time and will to finish one of them, let us know! |
time and will to finish one of them, let us know! |
174 |
<li class="partly"> Operating Systems |
<li class="partly"> Operating Systems |
175 |
<ol> |
<ol> |
176 |
<li class="ok">Linux</li> |
<li class="ok">Linux</li> |
177 |
<li class="ok">Mac <a href="http://www.apple.com/macosx/">OS X</a></li> |
<li class="partly">Mac <a href="http://www.apple.com/macosx/">OS X</a> (gigedit and JSampler are not yet available for OS X and thus not included with the installer yet)</li> |
178 |
|
<li class="partly">Windows</a> (we provide a convenient Windows installer for all components of the project, only the <a href="#instruments_db">instruments DB feature</a> is not yet supported on Windows)</li> |
179 |
</ol> |
</ol> |
180 |
</li> |
</li> |
181 |
<li class="partly"> Sampler Engines |
<li class="partly"> Sampler Engines |
193 |
<li class="partly">support for articulation (.art) files</li> |
<li class="partly">support for articulation (.art) files</li> |
194 |
<li class="ok">support for Dimension Splits not equal to two</li> |
<li class="ok">support for Dimension Splits not equal to two</li> |
195 |
<li class="ok">up to 8 Dimensions or 256 Dimension Regions</li> |
<li class="ok">up to 8 Dimensions or 256 Dimension Regions</li> |
196 |
|
<li class="partly">MIDI rules</li> |
197 |
|
<li class="false">convolution</li> |
198 |
</ol> |
</ol> |
199 |
</li> |
</li> |
200 |
</ol> |
</ol> |
201 |
</li> |
</li> |
202 |
<li class="ok">Generic playback (RAM & disk streaming)</li> |
<li class="ok">Generic playback (RAM playback & disk streaming)</li> |
203 |
<li class="ok">Dimension switching |
<li class="ok">Dimension switching |
204 |
<ol> |
<ol> |
205 |
<li class="ok">Sample Channel</li> |
<li class="ok">Sample Channel</li> |
226 |
<li class="ok">Sustain pedal interpretation</li> |
<li class="ok">Sustain pedal interpretation</li> |
227 |
<li class="ok">Sostenuto pedal interpretation</li> |
<li class="ok">Sostenuto pedal interpretation</li> |
228 |
<li class="ok">Key velocity <-> volume mapping</li> |
<li class="ok">Key velocity <-> volume mapping</li> |
229 |
<li class="ok">Looping</li> |
<li class="ok">Looping |
230 |
|
<ol> |
231 |
|
<li class="ok">endless loop</li> |
232 |
|
<li class="ok">limited amount of loops</li> |
233 |
|
<li class="ok">fractional looping</li> |
234 |
|
</ol> |
235 |
|
</li> |
236 |
<li class="ok">Pitchbend wheel support</li> |
<li class="ok">Pitchbend wheel support</li> |
237 |
<li class="ok">Bidirectional voice state transition</li> |
<li class="ok">Bidirectional voice state transition, allowing |
238 |
|
to cancel the relase stage of voices forth and back arbitrary |
239 |
|
times if needed</li> |
240 |
<li class="ok">Filter (VCF) |
<li class="ok">Filter (VCF) |
241 |
<ol> |
<ol> |
242 |
<li class="ok">Highpass</li> |
<li class="ok">Highpass</li> |
244 |
<li class="ok">Bandreject</li> |
<li class="ok">Bandreject</li> |
245 |
<li class="ok">Lowpass</li> |
<li class="ok">Lowpass</li> |
246 |
<li class="ok">Turbo lowpass</li> |
<li class="ok">Turbo lowpass</li> |
247 |
|
<li class="ok">all filter types provide extremely |
248 |
|
accurate characteristics compared to the original |
249 |
|
Gigasampler format filters</li> |
250 |
<li class="ok">Cutoff frequency controllable by MIDI controller</li> |
<li class="ok">Cutoff frequency controllable by MIDI controller</li> |
251 |
<li class="ok">Resonance controllable by MIDI controller</li> |
<li class="ok">Resonance controllable by MIDI controller</li> |
252 |
</ol> |
</ol> |
259 |
<li class="ok">VCO Low Frequency Oscillator (Pitch)</li> |
<li class="ok">VCO Low Frequency Oscillator (Pitch)</li> |
260 |
<li class="ok">Layers</li> |
<li class="ok">Layers</li> |
261 |
<li class="ok">Crossfades</li> |
<li class="ok">Crossfades</li> |
262 |
<li class="ok">Key Groups (a.k.a Exclusive Groups)</li> |
<li class="ok">Key Groups (a.k.a Exclusive Groups), |
263 |
<li class="ok">Release Triggered Voices</li> |
for mutually switching off sounds i.e. for drumkits</li> |
264 |
<li class="ok">Key Switching</li> |
<li class="ok">Release Triggered Voices, specific samples |
265 |
|
that are played back when voices are released</li> |
266 |
|
<li class="ok">Key Switching, which allows to map a certain |
267 |
|
range on thy keyboard as additional performance controller, |
268 |
|
i.e. for switching articulations of orchestral sounds in realtime</li> |
269 |
<li class="ok">Voice Stealing</li> |
<li class="ok">Voice Stealing</li> |
270 |
<li class="ok">Portamento Mode and Solo Mode (a.k.a 'Mono Mode', |
<li class="ok">Portamento Mode and Solo Mode (a.k.a 'Mono Mode', |
271 |
can be altered via standard GM messages, that is CC5 for |
can be altered via standard GM messages, that is CC5 for |
300 |
</li> |
</li> |
301 |
<li class="partly">MIDI input drivers |
<li class="partly">MIDI input drivers |
302 |
<ol> |
<ol> |
303 |
<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> (Linux)</li> |
304 |
|
<li class="ok"><a href="http://jackit.sourceforge.net/">JACK</a> (Linux, OSX, Windows, ...)</li> |
305 |
<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> |
306 |
<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> |
307 |
<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> |
308 |
<li class="ok"><a href="http://midishare.sourceforge.net/">MidiShare</a> (Linux, OS X, Windows)</li> |
<li class="ok"><a href="http://midishare.sourceforge.net/">MidiShare</a> (Linux, OS X, Windows)</li> |
309 |
|
<li class="ok"><a href="http://en.wikipedia.org/wiki/MultiMedia_Extensions">MME</a> (Windows)</li> |
310 |
</ol> |
</ol> |
311 |
</li> |
</li> |
312 |
<li class="partly">Audio output drivers |
<li class="partly">Audio output drivers |
313 |
<ol> |
<ol> |
314 |
<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> (Linux)</li> |
315 |
<li class="ok"><a href="http://jackit.sourceforge.net/">JACK</a></li> |
<li class="ok"><a href="http://jackit.sourceforge.net/">JACK</a> (Linux, OSX, Windows, ...)</li> |
316 |
<li class="ok"><a href="http://www.arts-project.org/">aRts</a> (not RT safe!)</li> |
<li class="ok"><a href="http://www.arts-project.org/">aRts</a> (not RT safe!)</li> |
317 |
|
<li class="ok"><a href="http://en.wikipedia.org/wiki/Audio_stream_input_output">ASIO</a> (Windows)</li> |
318 |
<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> |
319 |
<li class="false">Audio over ethernet</li> |
<li class="false">Audio over ethernet</li> |
320 |
<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> |
332 |
<li class="false">Dynamic engine recompilation</li> |
<li class="false">Dynamic engine recompilation</li> |
333 |
<li class="false">Extensive SMP (multi processor) support</li> |
<li class="false">Extensive SMP (multi processor) support</li> |
334 |
<li class="false">Network cluster support</li> |
<li class="false">Network cluster support</li> |
335 |
|
<li class="ok">MIDI instrument mapper, allows to create very flexible MIDI progam change setups in a very easy way. |
336 |
|
<ol> |
337 |
|
<li class="ok">MIDI program change</li> |
338 |
|
<li class="ok">MIDI bank select (automatic detection of MSB only, LSB only or full MSB+LSB)</li> |
339 |
|
<li class="ok">Load Strategy for each Item individually |
340 |
|
<ol> |
341 |
|
<li class="ok">On-Demand: loads the instrument only when needed, frees it immediately once not used by any sampler channel anymore</li> |
342 |
|
<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> |
343 |
|
<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> |
344 |
|
<li class="ok">Default: let the sampler decide</li> |
345 |
|
</ol> |
346 |
|
</li> |
347 |
|
<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> |
348 |
|
<li class="ok">Mapping of arbitrary Instrument Files, already independent of the underlying format in respect for future sampler engines</li> |
349 |
|
<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> |
350 |
|
</ol> |
351 |
|
</li> |
352 |
|
<li class="ok">Effect Sends |
353 |
|
<ol> |
354 |
|
<li class="ok">Arbitrary Amount of FX Sends on Sampler Channels</li> |
355 |
|
<li class="ok">Realtime MIDI Control of Send Level</li> |
356 |
|
<li class="ok">Arbitrary MIDI Controller assignable</li> |
357 |
|
<li class="ok">Flexible Routing i.e. to a dedicated effect audio output</li> |
358 |
|
</ol> |
359 |
|
</li> |
360 |
|
<a name="instruments_db"></a> |
361 |
|
<li class="ok">Instrument Database System, allowing to keep track of even the largest sample library collections |
362 |
|
<ol> |
363 |
|
<li class="ok">Ordering in Categories</li> |
364 |
|
<li class="ok">Search by various Criteria</li> |
365 |
|
<li class="ok">Transparently maintained on backend side</li> |
366 |
|
</ol> |
367 |
|
</li> |
368 |
<li class="partly">(Graphical) frontends |
<li class="partly">(Graphical) frontends |
369 |
<ol> |
<ol> |
370 |
<li class="ok">Qt based frontend (<a href="http://qsampler.sourceforge.net">QSampler</a>)</li> |
<li class="partly"><a href="http://qsampler.sourceforge.net">QSampler</a> (C++ based frontend using Qt) |
371 |
<li class="ok">Java based frontend (<a href="http://sourceforge.net/projects/jsampler">JSampler</a>)</li> |
<ol> |
372 |
<li class="false">VSTi frontend (based on the Qt frontend)</li> |
<li class="ok">Supports all features of LinuxSampler except the following ...</li> |
373 |
|
<li class="ok"><a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#CREATE FX_SEND"> |
374 |
|
Effect Sends</a> |
375 |
|
</li> |
376 |
|
<li class="partly"><a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#MIDI Instrument Mapping">MIDI Instrument Maps</a> |
377 |
|
(qsampler does currently not yet support to create more than two MIDI instrument maps [one intended for chromatic instruments and one for drumkits]) |
378 |
|
</li> |
379 |
|
<li class="false"><a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#Managing Instruments Database">Instruments DB support</a> (to ease handling of huge sample library collections)</li> |
380 |
|
<li class="false"><a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#events">Sampler events</a> (to let qsampler react on certain events occuring on sampler side)</li> |
381 |
|
<li class="partly">Audio and MIDI device management (only minor thing that qsampler lacks support yet are <a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#GET MIDI_INPUT_DRIVER_PARAMETER INFO">"multiplicity"</a> type device parameters, that is parameters which don't just accept one value, but also a list of values, i.e. for the "ALSA_SEQ_BINDINGS" parameter of the ALSA MIDI driver)</li> |
382 |
|
</ol> |
383 |
|
</li> |
384 |
|
<li class="ok"><a href="http://sourceforge.net/projects/jsampler">JSampler</a> (Java based frontend) |
385 |
|
<ol> |
386 |
|
<li class="ok">Supports all currently available features of LinuxSampler</li> |
387 |
|
</ol> |
388 |
|
</li> |
389 |
|
<li class="false">VSTi frontend</li> |
390 |
|
</ol> |
391 |
|
</li> |
392 |
|
<li class="ok">Playing while Loading, i.e. allowing to play and hold notes on the keyboard |
393 |
|
while loading a new instrument on the same sampler channel at the same time</li> |
394 |
|
<li class="ok">Instrument Editor Plugin System for 3rd Party Instrument Editors</li> |
395 |
|
<li class="ok">Instrument Editors |
396 |
|
<ol> |
397 |
|
<li class="ok"><a href="http://download.linuxsampler.org/doc/gigedit/quickstart/gigedit_quickstart.html">gigedit</a> (C++ based using gtkmm/Gtk+) |
398 |
|
<ol> |
399 |
|
<li class="ok">allows to modify all aspects of Gigsampler v2 and v3 format files</li> |
400 |
|
<li class="ok">allows to modify existing as well as creating completely new .gig files from scratch</li> |
401 |
|
<li class="ok">stand-alone mode (independent of LinuxSampler)</li> |
402 |
|
<li class="ok">live-mode (attached with LinuxSampler), which makes all modifications audible in the sampler in realtime without having to reload</li> |
403 |
|
<li class="ok">created / modified files are accepted by LinuxSampler as well as by Gigastudio 3</li> |
404 |
|
<li class="ok">virtual MIDI keyboard (for triggering notes by mouse click and highlighting the virtual keys on external note events)</li> |
405 |
|
</ol> |
406 |
|
</li> |
407 |
</ol> |
</ol> |
408 |
</li> |
</li> |
409 |
</ol> |
</ol> |
421 |
</p> |
</p> |
422 |
|
|
423 |
<p> |
<p> |
424 |
(Last page update on <b>$Date: 2006-07-23 11:54:27 $</b> by $Author: schoenebeck $, |
(Last page update on <b>$Date: 2008-09-10 10:14:03 $</b> by $Author: schoenebeck $, |
425 |
also see <a href="http://www.linuxsampler.org">CVS Log</a> for recent changes) |
also see <a href="http://www.linuxsampler.org">CVS Log</a> for recent changes) |
426 |
</p> |
</p> |
427 |
|
|