/[svn]/web/trunk/www.linuxsampler.org/features.html
ViewVC logotype

Annotation of /web/trunk/www.linuxsampler.org/features.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1532 - (hide annotations) (download) (as text)
Tue Nov 27 19:43:15 2007 UTC (16 years, 4 months ago) by schoenebeck
File MIME type: text/html
File size: 21783 byte(s)
* updates Features site regarding frontends

1 senoner 542 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2     <html>
3     <head>
4     <link rel="stylesheet" type="text/css" href="index.css">
5     <title>The Linux Sampler Project</title>
6    
7     <meta http-equiv="content-type"
8     content="text/html; charset=ISO-8859-1">
9    
10     <script language="javascript" type="text/javascript">
11     <!--
12     var dir = "gfx/";
13    
14     if(document.images) {
15    
16     newsover = new Image();
17     newsover.src = dir + "mnewshover.png";
18    
19     newsout = new Image();
20     newsout.src = dir + "mnews.png";
21    
22     aboutover = new Image();
23     aboutover.src = dir + "mabouthover.png";
24    
25     aboutout = new Image();
26     aboutout.src = dir + "mabout.png";
27    
28     featuresover = new Image();
29     featuresover.src = dir + "mfeatureshover.png";
30    
31     featuresout = new Image();
32     featuresout.src = dir + "mfeatures.png";
33    
34     screenshotsover = new Image();
35     screenshotsover.src = dir + "mscreenshotshover.png";
36    
37     screenshotsout = new Image();
38     screenshotsout.src = dir + "mscreenshots.png";
39    
40     demosover = new Image();
41     demosover.src = dir + "mdemoshover.png";
42    
43     demosout = new Image();
44     demosout.src = dir + "mdemos.png";
45    
46     downloadsover = new Image();
47     downloadsover.src = dir + "mdownloadshover.png";
48    
49     downloadsout = new Image();
50     downloadsout.src = dir + "mdownloads.png";
51    
52     developersover = new Image();
53     developersover.src = dir + "mdevelopershover.png";
54    
55     developersout = new Image();
56     developersout.src = dir + "mdevelopers.png";
57    
58     instrumentsover = new Image();
59     instrumentsover.src = dir + "minstrumentshover.png";
60    
61     instrumentsout = new Image();
62     instrumentsout.src = dir + "minstruments.png";
63    
64     linksover = new Image();
65     linksover.src = dir + "mlinkshover.png";
66    
67     linksout = new Image();
68     linksout.src = dir + "mlinks.png";
69    
70     documentationover = new Image();
71     documentationover.src = dir + "mdocumentationhover.png";
72    
73     documentationout = new Image();
74     documentationout.src = dir + "mdocumentation.png";
75    
76     creditsover = new Image();
77     creditsover.src = dir + "mcreditshover.png";
78    
79     creditsout = new Image();
80     creditsout.src = dir + "mcredits.png";
81    
82     faqover = new Image();
83     faqover.src = dir + "mfaqhover.png";
84    
85     faqout = new Image();
86     faqout.src = dir + "mfaq.png";
87    
88     bugsover = new Image();
89     bugsover.src = dir + "mbugshover.png";
90    
91 schoenebeck 893 bugsout = new Image();
92 senoner 542 bugsout.src = dir + "mbugs.png";
93     }
94     -->
95     </script>
96    
97     </head>
98    
99     <body>
100    
101     <div id="mainwindow"><img name="LinuxSampler" src="gfx/lsbackground.jpg" alt="LinuxSampler">
102    
103     <h1><span class="hidden">The LinuxSampler Project</span></h1>
104    
105     <table border=0 cellspacing=0 cellpadding=0><tr><th colspan=2 align=left>
106     <img name="h1blank" src="gfx/h1blank.png" alt="blank"><span class="hidden">about</span></th></tr>
107     <tr><td valign=top>
108     <a id="news" href="index.php" onmouseover="javascript:if(document.images)document.news.src = newsover.src" onmouseout="javascript:if(document.images)document.news.src = newsout.src"><img name="news" src="gfx/mnews.png" alt="news"></a>
109     <a id="about" href="about.html" onmouseover="javascript:if(document.images)document.about.src = aboutover.src" onmouseout="javascript:if(document.images)document.about.src = aboutout.src"><img name="about" src="gfx/mabout.png" alt="about"></a>
110     <a id="features" href="features.html" onmouseover="javascript:if(document.images)document.features.src = featuresover.src" onmouseout="javascript:if(document.images)document.features.src = featuresout.src"><img name="features" src="gfx/mfeatures.png" alt="features"></a>
111     <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>
112     <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>
113     <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>
114     <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>
115     <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>
116     <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>
117     <a id="bugs" href="http://bugs.linuxsampler.org" onmouseover="javascript:if(document.images)document.bugs.src = bugsover.src" onmouseout="javascript:if(document.images)document.bugs.src = bugsout.src"><img name="bugs" src="gfx/mbugs.png" alt="bugs"></a>
118     <a id="instruments" href="instruments.html" onmouseover="javascript:if(document.images)document.instruments.src = instrumentsover.src" onmouseout="javascript:if(document.images)document.instruments.src = instrumentsout.src"><img name="instruments" src="gfx/minstruments.png" alt="instruments"></a>
119     <a id="links" href="links.html" onmouseover="javascript:if(document.images)document.links.src = linksover.src" onmouseout="javascript:if(document.images)document.links.src = linksout.src"><img name="links" src="gfx/mlinks.png" alt="links"></a>
120     <a id="credits" href="credits.html" onmouseover="javascript:if(document.images)document.credits.src = creditsover.src" onmouseout="javascript:if(document.images)document.credits.src = creditsout.src"><img name="credits" src="gfx/mcredits.png" alt="credits"></a>
121     </td><td valign=top width="100%">
122     <div id="contents">
123    
124 schoenebeck 610 <h2>LS Development Roadmap</h2>
125     <p class="default">
126     The following list shows the planned work to be done until the next
127 schoenebeck 611 release of LinuxSampler. There will be no new release before all of them
128 schoenebeck 610 are completed.
129     </p>
130 senoner 542
131 schoenebeck 610 <ol class="default">
132 schoenebeck 939 <li class="false">nothing scheduled yet</li>
133 schoenebeck 610 </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 senoner 542 <p class="default">
145     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
147     (hopefully) near future. If you are missing something that is not already
148     listed below, you can write a proposol to the
149     <a href="http://lists.sourceforge.net/lists/listinfo/linuxsampler-devel">
150     developers mailing list
151     </a> or even better send us your patch if you have done something. Even
152     if features are listed to be planned below, it can be that it takes a
153     while until somebody finds the time to implement it. So if you have the
154     time and will to finish one of them, let us know!
155     </p>
156    
157 schoenebeck 585 <ol class="default">
158 senoner 542 <li class="partly"> Operating Systems
159     <ol>
160     <li class="ok">Linux</li>
161 schoenebeck 553 <li class="ok">Mac <a href="http://www.apple.com/macosx/">OS X</a></li>
162 senoner 542 </ol>
163     </li>
164     <li class="partly"> Sampler Engines
165     <ol>
166     <li class="partly"> Gigasampler Engine
167     <ol>
168 schoenebeck 848 <li class="ok">Gig file loader
169     <ol>
170     <li class="ok">Gig v2 format</li>
171     <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 schoenebeck 904 <li class="ok">24 bit samples (uncompressed as well as compressed)</li>
175 schoenebeck 848 <li class="ok">support for multi-file format (.gig, .gx01, .gx02, ...)</li>
176 schoenebeck 904 <li class="partly">support for articulation (.art) files</li>
177 schoenebeck 848 <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 schoenebeck 1498 <li class="ok">Generic playback (RAM playback & disk streaming)</li>
184 schoenebeck 848 <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 &#038; 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 senoner 542 <li class="ok">Key velocity &#060;-&#062; volume mapping</li>
210 schoenebeck 1498 <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 senoner 542 <li class="ok">Pitchbend wheel support</li>
218 schoenebeck 1498 <li class="ok">Bidirectional voice state transition, allowing
219     to cancel the relase stage of voices forth and back arbitrary
220     times if needed</li>
221 schoenebeck 878 <li class="ok">Filter (VCF)
222 senoner 542 <ol>
223     <li class="ok">Highpass</li>
224     <li class="ok">Bandpass</li>
225 schoenebeck 878 <li class="ok">Bandreject</li>
226 senoner 542 <li class="ok">Lowpass</li>
227 schoenebeck 878 <li class="ok">Turbo lowpass</li>
228 schoenebeck 1498 <li class="ok">all filter types provide extremely
229     accurate characteristics compared to the original
230     Gigasampler format filters</li>
231 senoner 542 <li class="ok">Cutoff frequency controllable by MIDI controller</li>
232     <li class="ok">Resonance controllable by MIDI controller</li>
233     </ol>
234     </li>
235     <li class="ok">VCA Envelope Generator (Volume)</li>
236     <li class="ok">VCF Envelope Generator (Filter)</li>
237     <li class="ok">VCO Envelope Generator (Pitch)</li>
238     <li class="ok">VCA Low Frequency Oscillator (Volume)</li>
239     <li class="ok">VCF Low Frequency Oscillator (Filter Cutoff)</li>
240     <li class="ok">VCO Low Frequency Oscillator (Pitch)</li>
241     <li class="ok">Layers</li>
242     <li class="ok">Crossfades</li>
243 schoenebeck 1498 <li class="ok">Key Groups (a.k.a Exclusive Groups),
244     for mutually switching off sounds i.e. for drumkits</li>
245     <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 senoner 542 <li class="ok">Voice Stealing</li>
251 schoenebeck 848 <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 schoenebeck 901 <li class="ok">Scale Tuning (via standard MIDI GS SysEx message)</li>
257 senoner 542 </ol>
258     </li>
259     <li style="partly"><a href="http://www.midi.org/about-midi/dls/abtdls.shtml">DLS</a> Engine
260     <ol>
261     <li class="ok">DLS file loader (DLS version <a href="http://www.midi.org/about-midi/dls/dls1v11b.pdf">1</a> &#038; <a href="http://www.midi.org/about-midi/dls/dls2spec.shtml">2</a>)</li>
262     <li class="false">Generic playback</li>
263     </ol>
264     </li>
265     <li class="partly">Akai Engine</li>
266     <ol>
267 schoenebeck 853 <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 senoner 542 <li class="false">Generic playback</li>
269     </ol>
270     <li class="false">Custom, modular Engine</li>
271     </ol>
272     </li>
273     <li class="partly">Control interfaces
274     <ol>
275 schoenebeck 893 <li class="ok">Native C++ <a href="http://en.wikipedia.org/wiki/Application_programming_interface">API</a></li>
276 schoenebeck 553 <li class="ok">Custom network interface for frontends (<a name="LSCP" href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html">LSCP</a>)
277 senoner 542 </li>
278 schoenebeck 553 <li class="false"><a name="OSC" href="http://www.cnmat.berkeley.edu/OpenSoundControl/">OSC</a>
279     </li>
280 senoner 542 </ol>
281     </li>
282 schoenebeck 553 <li class="partly">MIDI input drivers
283     <ol>
284     <li class="ok"><a href="http://www.alsa-project.org/">ALSA</a></li>
285     <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>
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>
288 schoenebeck 611 <li class="ok"><a href="http://midishare.sourceforge.net/">MidiShare</a> (Linux, OS X, Windows)</li>
289 schoenebeck 553 </ol>
290     </li>
291     <li class="partly">Audio output drivers
292 senoner 542 <ol>
293     <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>
295 schoenebeck 850 <li class="ok"><a href="http://www.arts-project.org/">aRts</a> (not RT safe!)</li>
296 senoner 542 <li class="false"><a href="http://www.steinberg.net/en/support/3rdparty/">VSTi</a></li>
297     <li class="false">Audio over ethernet</li>
298 schoenebeck 553 <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>
299 senoner 542 </ol>
300     </li>
301     <li class="ok">Time stamp event system &#038; jitter correction</li>
302     <li class="ok">Multi channel &#038; multi engine support</li>
303     <li class="partly">Pitch shifter / Interpolation
304     <ol>
305     <li class="ok">Linear interpolation</li>
306     <li class="ok">Cubic interpolation</li>
307     <li class="false">Formant frequency correction / formant manipulation</li>
308     </ol>
309     </li>
310     <li class="false">Dynamic engine recompilation</li>
311     <li class="false">Extensive SMP (multi processor) support</li>
312     <li class="false">Network cluster support</li>
313 schoenebeck 1498 <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 senoner 542 <li class="partly">(Graphical) frontends
346     <ol>
347 schoenebeck 1532 <li class="partly"><a href="http://qsampler.sourceforge.net">QSampler</a> (C++ based frontend using Qt)
348     <ol>
349     <li class="ok">Supports all features of LinuxSampler except the following ...</li>
350     <li class="partly"><a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#CREATE FX_SEND">
351     Effect Sends</a> (qsampler retrieves current FX send settings from the sampler,
352     stores FX send settings in session .lscp files and restores them, but
353     currently does not yet offer a widget to modify FX send settings)
354     </li>
355     <li class="partly"><a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#MIDI Instrument Mapping">MIDI Instrument Maps</a>
356     (qsampler does currently not yet support to create more than two MIDI instrument maps [one intended for chromatic instruments and one for drumkits])
357     </li>
358     <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>
359     <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>
360     <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>
361     </ol>
362     </li>
363     <li class="ok"><a href="http://sourceforge.net/projects/jsampler">JSampler</a> (Java based frontend)
364     <ol>
365     <li class="ok">Supports all currently available features of LinuxSampler</li>
366     </ol>
367     </li>
368     <li class="false">VSTi frontend</li>
369 senoner 542 </ol>
370     </li>
371 schoenebeck 1498 <li class="ok">Playing while Loading, i.e. allowing to play and hold notes on the keyboard
372     while loading a new instrument on the same sampler channel at the same time</li>
373     <li class="ok">Instrument Editor Plugin System for 3rd Party Instrument Editors</li>
374     <li class="ok">Instrument Editors
375     <ol>
376 schoenebeck 1532 <li class="ok"><a href="http://download.linuxsampler.org/doc/gigedit/quickstart/gigedit_quickstart.html">gigedit</a> (C++ based using gtkmm/Gtk+)
377 schoenebeck 1498 <ol>
378     <li class="ok">allows to modify all aspects of Gigsampler v2 and v3 format files</li>
379     <li class="ok">allows to modify existing as well as creating completely new .gig files from scratch</li>
380     <li class="ok">stand-alone mode (independent of LinuxSampler)</li>
381     <li class="ok">live-mode (attached with LinuxSampler), which makes all modifications audible in the sampler in realtime without having to reload</li>
382     <li class="ok">created / modified files are accepted by LinuxSampler as well as by Gigastudio 3</li>
383     </ol>
384     </li>
385     </ol>
386     </li>
387 senoner 542 </ol>
388    
389     <hr>
390    
391     <p>
392     <TABLE class="formatmatrix">
393     <TR>
394     <TD><IMG src="gfx/okay_green.png" alt="Done" width="13" height="13" border="1"> Done</TD>
395     <TD><IMG src="gfx/yellow_light.png" alt="Partly implemented" width="13" height="13" border="1"> Partly implemented</TD>
396     <TD><IMG src="gfx/x.png" alt="Planned" width="13" height="13" border="1"> Planned</TD>
397     </TR>
398     </TABLE>
399     </p>
400    
401     <p>
402 schoenebeck 1532 (Last page update on <b>$Date: 2007-11-27 19:43:15 $</b> by $Author: schoenebeck $,
403 schoenebeck 610 also see <a href="http://www.linuxsampler.org">CVS Log</a> for recent changes)
404 senoner 542 </p>
405    
406     </div>
407     </td></tr></table>
408    
409     </div>
410    
411     </body>
412     </html>

  ViewVC Help
Powered by ViewVC