--- web/trunk/www.linuxsampler.org/documentation.html 2005/05/15 15:31:45 542 +++ web/trunk/www.linuxsampler.org/documentation.html 2013/10/26 11:51:13 2479 @@ -49,6 +49,17 @@ downloadsout = new Image(); downloadsout.src = dir + "mdownloads.png"; + donationsover = new Image(); + donationsover.src = dir + "mdonationshover.png"; + + donationsout = new Image(); + donationsout.src = dir + "mdonations.png"; + + supportover = new Image(); + supportover.src = dir + "msupporthover.png"; + supportout = new Image(); + supportout.src = dir + "msupport.png"; + developersover = new Image(); developersover.src = dir + "mdevelopershover.png"; @@ -98,7 +109,7 @@ -
LinuxSampler +
LinuxSampler

@@ -111,6 +122,8 @@ screenshots demos download + donations + support developers faq documentation @@ -118,6 +131,46 @@ instruments links credits + +
+
+ + + + +
+
+ + + + +
+ + + +
BitcoinsOr donate Bitcoins at:
+
1Q9CK7xUhMNWryqYTZLbUTXbrjpYYtwvng
+
+Why donate? +
+

+

+
+ + +
+
+ +
@@ -126,25 +179,211 @@ This is still quite under construction. Be welcome to help us with writing some documentation!

+ + +

SFZ(2) format specification and implementation status

+

+ We are currently in the works of a SFZ(2) format based sampler engine, + as additional powerful sampler engine for LinuxSampler. As there is + currently no official document defining the so called SFZ version 2 + format, we created our own SFZ2 reference document, + reflecting the format and the progress of implementation in LinuxSampler's + Subversion developers version. This reference document is currently maintained by + Anders Dahnielson. +

+ + + + +

Howtos

+

+ To ease new users the first contact with the Linuxsampler applications, + we have written the following short Howtos: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescripton
Windows HOWTO + LinuxSampler quickstart guide for the MS Windows operating system. +
OS X HOWTO + LinuxSampler quickstart guide for the Apple OS X operating system. +
Debian HOWTO + Guide for how to build optimized Debian packages of LS & + friends for your specific machine. +
Debian HOWTO (German) + Another guide for Debian on an external site, this one in German language. +
Windows Build HOWTO + Guide for how to build libgig, linuxsampler and gigedit + for Windows by using MSYS. +
+ +

gigedit

+

+ This is our graphical instrument editor based on the Gtk toolkit. + It can be used stand-alone or in conjunction with LinuxSampler. + Read the Gigedit Quickstart + for a short tutorial. Please notice that this quickstart document + is automatically generated from CVS and thus might reflect + features and behaviors only available in the very latest, bleeding + edge development version of gigedit from CVS. +

+ +

JSampler

+

+ JSampler is an opensource, platform-independent, + GUI front-end for LinuxSampler, written entirely in Java. + Read the JSampler manual + for more information.
+ For information about using Fantasia with Miditzer in Puppy Linux VTPO + read this HOWTO. +

+

libgig

+

+ libgig is a C++ library used to load and modify Gigasampler format files. + If you're a developer and might want to use libgig, here is its + API documentation + (automatically daily updated from CVS). +

+ + + +

liblscp

+

+ liblscp is C library as convenient wrapper around the LinuxSampler Control Protocol. + If you're a developer and might want to use liblscp, here is its + API documentation + (automatically daily updated from CVS). +

LSCP Reference

- The following document defines the network protocol with which LinuxSampler can be controlled. + The following documents define the LinuxSampler Control Protocol, + a network protocol with which LinuxSampler can be controlled locally as well as remotely. As this is a simple ASCII based protocol it's possible to write a frontend for LinuxSampler in any programming language and GUI library. There's still a big demand especially for a Gtk and ncurses based frontend, so be encouraged and let us know if you wrote a frontend for - LinuxSampler! This is the latest draft of the protocol: -
+ LinuxSampler!

-
- LinuxSampler Control Protocol Draft (ASCII, - HTML) -
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Protocol NameDocument TypesRelease DateDescription
LSCP draft + TXT, + HTML, + XML + unreleased + Very latest draft of the protocol (which usually reflects the + latest development state from CVS or may even not be implemented + yet). +
LSCP 1.4 + TXT, + HTML, + XML + 2009-07-31 + Protocol specification of the latest official release of LinuxSampler (1.0.0). +
LSCP 1.3 + TXT, + HTML, + XML + 2007-12-06 + Protocol specification of the previous official release of LinuxSampler (0.5.1). +
LSCP 1.2 + TXT, + HTML, + XML + 2007-10-15 + Protocol specification old LinuxSampler release (0.5.0). +
LSCP 1.1 + TXT, + HTML, + XML + 2006-11-25 + Protocol specification of ancient LinuxSampler release 0.4.0. +
LSCP 1.0 + TXT, + HTML, + XML + 2005-07-17 + Protocol specification of ancient LinuxSampler release 0.3.3. +
+

- The protocol will be extended from time to time. Have a look at the - features site to see which control commands are already implemented and which are not. + The protocol will be extended from time to time. You may look at the + features site to see which control + commands are already implemented and which are not.

@@ -156,54 +395,19 @@ examples to give you a good starting point for writing your own ones. Adjust it to your needs and send it to the running linuxsampler application with:

- - - - - -
1
-
-
cat yourscript.lscp | netcat -t localhost 8888
-
+
cat yourscript.lscp | netcat localhost 8888
+

+ Optionally you can also use a graphical frontend like QSampler one time to setup a working + sampler session for your needs and save it. Because you have to know that the files saved + by our frontends are actually pure LSCP scripts, thus you can i.e. use those files simply with + the mentioned netcat command from above to setup the sampler session without a frontend. +

Here is a simple LSCP example which uses ALSA as MIDI input and as audio output driver as well, it creates only one sampler channel using the Gigasampler engine and loads a Piano instrument on that sampler channel:

- - - - - -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-
-
#enable echo mode
+			
#enable echo mode
 SET ECHO 1
 
 # load the ALSA audio driver
@@ -232,51 +436,12 @@
 
 # quit connection
 QUIT
-

The next example uses JACK as audio output driver instead and automatically connects the two output channels of LS's JACK client to the first two ALSA PCM channels, so you can hear something without having to manually connect it e.g. with qjackctl:

- - - - - -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-
-
#enable echo mode
+			
#enable echo mode
 SET ECHO 1
 
 # load the JACK audio driver
@@ -285,8 +450,12 @@
 # connect to ALSA playback JACK client so we can hear something
 # (you can use 'GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 0 0 JACK_BINDINGS'
 #  to get all available JACK clients / ports)
-SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 JACK_BINDINGS='alsa_pcm:playback_1'
-SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 JACK_BINDINGS='alsa_pcm:playback_2'
+SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 JACK_BINDINGS='system:playback_1'
+SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 JACK_BINDINGS='system:playback_2'
+# Note: above is for JACK2 (a.k.a. jackmp). If you are still using JACK1,
+# you would need to use this instead:
+# SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 JACK_BINDINGS='alsa_pcm:playback_1'
+# SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 JACK_BINDINGS='alsa_pcm:playback_2'
 
 # load the ALSA MIDI driver
 CREATE MIDI_INPUT_DEVICE ALSA
@@ -308,75 +477,18 @@
 
 # quit connection
 QUIT
-

The next example is a bit more complex. It shows how to setup a more realistic sampler session, handle routing of MIDI input channels, handle routing of audio channels, it uses JACK again as audio output driver, but creates the JACK client with four output channels instead, it creates two - sampler channels, loads two different instrument on those two sampler channels and alters + sampler channels, loads two different instruments on those two sampler channels and alters the audio channel routing so that the two output channels of sampler channel 1 are routed to the first two JACK output channels and the two output channels of sampler channel 2 are routed the second pair of the JACK client's output channels. That way you could e.g. record the output of those two sampler channels independently or apply independent LADSPA effects on it.

- - - - - -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-
-
# enable echo mode
+			
# enable echo mode
 SET ECHO 1
 
 # load audio and MIDI driver
@@ -418,17 +530,16 @@
 
 # automatic connection between the four 4 ports of LS's Jack client and the
 # ALSA PCM JACK client (assuming your sound card has at least 4 outputs ;-)
-SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 JACK_BINDINGS='alsa_pcm:playback_1'
-SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 JACK_BINDINGS='alsa_pcm:playback_2'
-SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 2 JACK_BINDINGS='alsa_pcm:playback_3'
-SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 3 JACK_BINDINGS='alsa_pcm:playback_4'
+# (assumimg JACK2 a.k.a. jackmp here, if you are still using JACK1 then
+#  you have to replace "system" by "alsa_pcm" here)
+SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 JACK_BINDINGS='system:playback_1'
+SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 JACK_BINDINGS='system:playback_2'
+SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 2 JACK_BINDINGS='system:playback_3'
+SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 3 JACK_BINDINGS='system:playback_4'
 
 # not necessary, just to see our setup
 GET CHANNEL INFO 0
 GET CHANNEL INFO 1
-

For a detailed description about LSCP read the LSCP reference. Be welcome to ask details on the mailing list.