1 |
<!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 |
bugsout = new Image(); |
92 |
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 |
<h2>Features / Development Roadmap</h2> |
125 |
|
126 |
<p class="default"> |
127 |
The following list shows which features have already been implemented in |
128 |
current CVS version of LinuxSampler and what is planned to be done in |
129 |
(hopefully) near future. If you are missing something that is not already |
130 |
listed below, you can write a proposol to the |
131 |
<a href="http://lists.sourceforge.net/lists/listinfo/linuxsampler-devel"> |
132 |
developers mailing list |
133 |
</a> or even better send us your patch if you have done something. Even |
134 |
if features are listed to be planned below, it can be that it takes a |
135 |
while until somebody finds the time to implement it. So if you have the |
136 |
time and will to finish one of them, let us know! |
137 |
</p> |
138 |
|
139 |
<ol class="default"> |
140 |
<li class="partly"> Operating Systems |
141 |
<ol> |
142 |
<li class="ok">Linux</li> |
143 |
<li class="ok">Mac <a href="http://www.apple.com/macosx/">OS X</a></li> |
144 |
</ol> |
145 |
</li> |
146 |
<li class="partly"> Sampler Engines |
147 |
<ol> |
148 |
<li class="partly"> Gigasampler Engine |
149 |
<ol> |
150 |
<li class="ok">Gig file loader</li> |
151 |
<li class="ok">Generic playback (RAM & disk streaming)</li> |
152 |
<li class="partly">Dimension switching</li> |
153 |
<li class="ok">Sustain pedal support</li> |
154 |
<li class="ok">Key velocity <-> volume mapping</li> |
155 |
<li class="ok">Looping</li> |
156 |
<li class="ok">Pitchbend wheel support</li> |
157 |
<li class="ok">Bidirectional voice state transition</li> |
158 |
<li class="partly">Filter (VCF) |
159 |
<ol> |
160 |
<li class="ok">Highpass</li> |
161 |
<li class="ok">Bandpass</li> |
162 |
<li class="false">Bandreject</li> |
163 |
<li class="ok">Lowpass</li> |
164 |
<li class="false">Turbo lowpass</li> |
165 |
<li class="ok">Cutoff frequency controllable by MIDI controller</li> |
166 |
<li class="ok">Resonance controllable by MIDI controller</li> |
167 |
</ol> |
168 |
</li> |
169 |
<li class="ok">VCA Envelope Generator (Volume)</li> |
170 |
<li class="ok">VCF Envelope Generator (Filter)</li> |
171 |
<li class="ok">VCO Envelope Generator (Pitch)</li> |
172 |
<li class="ok">VCA Low Frequency Oscillator (Volume)</li> |
173 |
<li class="ok">VCF Low Frequency Oscillator (Filter Cutoff)</li> |
174 |
<li class="ok">VCO Low Frequency Oscillator (Pitch)</li> |
175 |
<li class="ok">Layers</li> |
176 |
<li class="ok">Crossfades</li> |
177 |
<li class="ok">Key Groups (a.k.a Exclusive Groups)</li> |
178 |
<li class="ok">Release Triggered Voices</li> |
179 |
<li class="ok">Key Switching</li> |
180 |
<li class="ok">Voice Stealing</li> |
181 |
</ol> |
182 |
</li> |
183 |
<li style="partly"><a href="http://www.midi.org/about-midi/dls/abtdls.shtml">DLS</a> Engine |
184 |
<ol> |
185 |
<li class="ok">DLS file loader (DLS version <a href="http://www.midi.org/about-midi/dls/dls1v11b.pdf">1</a> & <a href="http://www.midi.org/about-midi/dls/dls2spec.shtml">2</a>)</li> |
186 |
<li class="false">Generic playback</li> |
187 |
</ol> |
188 |
</li> |
189 |
<li class="partly">Akai Engine</li> |
190 |
<ol> |
191 |
<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> |
192 |
<li class="false">Generic playback</li> |
193 |
</ol> |
194 |
<li class="false">Custom, modular Engine</li> |
195 |
</ol> |
196 |
</li> |
197 |
<li class="partly">Control interfaces |
198 |
<ol> |
199 |
|
200 |
<li class="ok">Custom network interface for frontends (<a name="LSCP" href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html">LSCP</a>) |
201 |
</li> |
202 |
<li class="false"><a name="OSC" href="http://www.cnmat.berkeley.edu/OpenSoundControl/">OSC</a> |
203 |
</li> |
204 |
</ol> |
205 |
</li> |
206 |
<li class="partly">MIDI input drivers |
207 |
<ol> |
208 |
<li class="ok"><a href="http://www.alsa-project.org/">ALSA</a></li> |
209 |
<li class="false"><a href="http://www.steinberg.net/en/support/3rdparty/">VSTi</a></li> |
210 |
<li class="false">MIDI over ethernet (<a href="http://standards.ieee.org/announcements/p1639app.html">Distributed MIDI</a>)</li> |
211 |
<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> |
212 |
</ol> |
213 |
</li> |
214 |
<li class="partly">Audio output drivers |
215 |
<ol> |
216 |
<li class="ok"><a href="http://www.alsa-project.org/">ALSA</a></li> |
217 |
<li class="ok"><a href="http://jackit.sourceforge.net/">JACK</a></li> |
218 |
<li class="false"><a href="http://www.steinberg.net/en/support/3rdparty/">VSTi</a></li> |
219 |
<li class="false">Audio over ethernet</li> |
220 |
<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> |
221 |
</ol> |
222 |
</li> |
223 |
<li class="ok">Time stamp event system & jitter correction</li> |
224 |
<li class="ok">Multi channel & multi engine support</li> |
225 |
<li class="partly">Pitch shifter / Interpolation |
226 |
<ol> |
227 |
<li class="ok">Linear interpolation</li> |
228 |
<li class="ok">Cubic interpolation</li> |
229 |
<li class="false">Formant frequency correction / formant manipulation</li> |
230 |
</ol> |
231 |
</li> |
232 |
<li class="false">Dynamic engine recompilation</li> |
233 |
<li class="false">Extensive SMP (multi processor) support</li> |
234 |
<li class="false">Network cluster support</li> |
235 |
<li class="partly">(Graphical) frontends |
236 |
<ol> |
237 |
<li class="ok">Qt based frontend (<a href="http://qsampler.sourceforge.net">QSampler</a>)</li> |
238 |
<li class="false">VSTi frontend (based on the Qt frontend)</li> |
239 |
</ol> |
240 |
</li> |
241 |
</ol> |
242 |
|
243 |
<hr> |
244 |
|
245 |
<p> |
246 |
<TABLE class="formatmatrix"> |
247 |
<TR> |
248 |
<TD><IMG src="gfx/okay_green.png" alt="Done" width="13" height="13" border="1"> Done</TD> |
249 |
<TD><IMG src="gfx/yellow_light.png" alt="Partly implemented" width="13" height="13" border="1"> Partly implemented</TD> |
250 |
<TD><IMG src="gfx/x.png" alt="Planned" width="13" height="13" border="1"> Planned</TD> |
251 |
</TR> |
252 |
</TABLE> |
253 |
</p> |
254 |
|
255 |
<p> |
256 |
(List last updated <b>2005-05-18</b>, also see <a href="http://www.linuxsampler.org">CVS Log</a> for recent changes) |
257 |
</p> |
258 |
|
259 |
</div> |
260 |
</td></tr></table> |
261 |
|
262 |
</div> |
263 |
|
264 |
</body> |
265 |
</html> |