You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(27) |
Nov
(120) |
Dec
(16) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(65) |
Feb
(2) |
Mar
(53) |
Apr
(15) |
May
|
Jun
(19) |
Jul
(8) |
Aug
(35) |
Sep
(17) |
Oct
(70) |
Nov
(87) |
Dec
(94) |
| 2004 |
Jan
(133) |
Feb
(28) |
Mar
(45) |
Apr
(30) |
May
(113) |
Jun
(132) |
Jul
(33) |
Aug
(29) |
Sep
(26) |
Oct
(11) |
Nov
(21) |
Dec
(60) |
| 2005 |
Jan
(108) |
Feb
(153) |
Mar
(108) |
Apr
(44) |
May
(72) |
Jun
(90) |
Jul
(99) |
Aug
(67) |
Sep
(117) |
Oct
(38) |
Nov
(40) |
Dec
(27) |
| 2006 |
Jan
(16) |
Feb
(18) |
Mar
(21) |
Apr
(71) |
May
(26) |
Jun
(48) |
Jul
(27) |
Aug
(40) |
Sep
(20) |
Oct
(118) |
Nov
(69) |
Dec
(35) |
| 2007 |
Jan
(76) |
Feb
(98) |
Mar
(26) |
Apr
(126) |
May
(94) |
Jun
(46) |
Jul
(9) |
Aug
(89) |
Sep
(18) |
Oct
(27) |
Nov
|
Dec
(49) |
| 2008 |
Jan
(117) |
Feb
(40) |
Mar
(18) |
Apr
(30) |
May
(40) |
Jun
(10) |
Jul
(30) |
Aug
(13) |
Sep
(29) |
Oct
(23) |
Nov
(22) |
Dec
(35) |
| 2009 |
Jan
(19) |
Feb
(39) |
Mar
(17) |
Apr
(2) |
May
(6) |
Jun
(6) |
Jul
(8) |
Aug
(11) |
Sep
(1) |
Oct
(46) |
Nov
(13) |
Dec
(5) |
| 2010 |
Jan
(21) |
Feb
(3) |
Mar
(2) |
Apr
(7) |
May
(1) |
Jun
(26) |
Jul
(3) |
Aug
(10) |
Sep
(13) |
Oct
(35) |
Nov
(10) |
Dec
(17) |
| 2011 |
Jan
(26) |
Feb
(27) |
Mar
(14) |
Apr
(32) |
May
(8) |
Jun
(11) |
Jul
(4) |
Aug
(7) |
Sep
(27) |
Oct
(25) |
Nov
(7) |
Dec
(2) |
| 2012 |
Jan
(20) |
Feb
(17) |
Mar
(59) |
Apr
(31) |
May
|
Jun
(6) |
Jul
(7) |
Aug
(10) |
Sep
(11) |
Oct
(2) |
Nov
(4) |
Dec
(17) |
| 2013 |
Jan
(17) |
Feb
(2) |
Mar
(3) |
Apr
(4) |
May
(8) |
Jun
(3) |
Jul
(2) |
Aug
|
Sep
(3) |
Oct
|
Nov
|
Dec
(1) |
| 2014 |
Jan
(6) |
Feb
(26) |
Mar
(12) |
Apr
(14) |
May
(8) |
Jun
(7) |
Jul
(6) |
Aug
(6) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
(9) |
Feb
(5) |
Mar
(4) |
Apr
(9) |
May
(3) |
Jun
(2) |
Jul
(4) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(3) |
| 2016 |
Jan
(2) |
Feb
(4) |
Mar
(5) |
Apr
(4) |
May
(14) |
Jun
(31) |
Jul
(18) |
Aug
|
Sep
(10) |
Oct
(3) |
Nov
|
Dec
|
| 2017 |
Jan
(39) |
Feb
(5) |
Mar
(2) |
Apr
|
May
(52) |
Jun
(11) |
Jul
(36) |
Aug
(1) |
Sep
(7) |
Oct
(4) |
Nov
(10) |
Dec
(8) |
| 2018 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
(8) |
May
(28) |
Jun
(11) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
(1) |
Nov
(2) |
Dec
(25) |
| 2019 |
Jan
(12) |
Feb
(50) |
Mar
(14) |
Apr
(3) |
May
(8) |
Jun
(17) |
Jul
(10) |
Aug
(2) |
Sep
(21) |
Oct
(10) |
Nov
|
Dec
(28) |
| 2020 |
Jan
(4) |
Feb
(10) |
Mar
(7) |
Apr
(16) |
May
(10) |
Jun
(7) |
Jul
(2) |
Aug
(5) |
Sep
(3) |
Oct
(3) |
Nov
(2) |
Dec
(1) |
| 2021 |
Jan
|
Feb
(5) |
Mar
(13) |
Apr
(13) |
May
(7) |
Jun
|
Jul
(1) |
Aug
(11) |
Sep
(12) |
Oct
(7) |
Nov
(26) |
Dec
(41) |
| 2022 |
Jan
(23) |
Feb
|
Mar
(8) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(3) |
Nov
(1) |
Dec
(1) |
| 2023 |
Jan
|
Feb
(5) |
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(11) |
Sep
(5) |
Oct
(1) |
Nov
|
Dec
|
| 2024 |
Jan
(2) |
Feb
(4) |
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(10) |
Dec
|
| 2025 |
Jan
|
Feb
(4) |
Mar
(1) |
Apr
(2) |
May
|
Jun
(17) |
Jul
(1) |
Aug
(4) |
Sep
(7) |
Oct
(1) |
Nov
(9) |
Dec
|
|
From: <le...@gr...> - 2004-05-19 09:49:53
|
Le 19 mai 04, =E0 10:50, Christian Schoenebeck a =E9crit : > Es geschah am Dienstag, 18. Mai 2004 19:50 als St=E9phane Letz = schrieb: >> Le 18 mai 04, =E0 19:27, be...@ga... a =E9crit : >>> Yes, its wonderful that Stephane joined the team. >>> After having been at his Jack on OS X talk at ZKM >>> I have no doubt that LS on OS X will rock :) >>> I chatted with Stephane on irc today and have him a few hints >>> what LSCP commands to issue, where to find a free GIG file etc. >>> He said it now compiles and runs but when loading the Freepiano.gig >>> he gets a "Not a RIFF file error". >>> I guess it=B4s probably a bigendian problem in libgig/LS ? >> >> I tried to define WORDS_BIGENDIAN but still without success... > > Ok, you could check if it works with the libgig tools: > > cvs -z3 =20 > -d:pserver:ano...@cv...:/var/cvs/linuxsampler co > libgig > > or > > http://stud.fh-heilbronn.de/~cschoene/projects/libgig/libgig=20 > -0.7.0.tar.bz2 > > CVS head and tarball should be the same at the moment. So compile it =20= > with > WORDS_BIGENDIAN set to 1 (which should be done automatically by =20 > configure on > your box) and try if the tools work. Start with 'rifftree', if that =20= > fails, > all other will fail too. If that works, try the other ones as well > ('dlsdump', 'gigdump' and 'gigextract'). All tools come with a short =20= > man page > each and if you don't provide any argument, usage will be displayed. > > If you even have problems with these, then I have to debug the lib on =20= > a OSX > box somewhere, let's see... > > CU > Christian > I've got the libgig tarbar, configure and make seems to work but then =20= when using rifftree : rifftree /Users/letz/FreePiano.gig dyld: rifftree Undefined symbols: __ZNSs20_S_empty_rep_storageE __ZNSs4_Rep11_S_max_sizeE __ZNSs4_Rep11_S_terminalE __ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE __ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE __ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE __ZSt4cout __ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ __ZTVN10__cxxabiv117__class_type_infoE ___gxx_personality_v0 So here is a link problem somewhere. Here is the config.log file in cas =20= it helps Stephane |
|
From: Christian S. <chr...@ep...> - 2004-05-18 23:15:33
|
Hi! See the latest LSCP draft as an proposal for LSCP extension to be able to configure audio output and MIDI input drivers: http://www.linuxsampler.org/api/draft-linuxsampler-protocol-05.sxw http://www.linuxsampler.org/api/draft-linuxsampler-protocol-05.pdf Instead of defining commands and parameters for each driver individually, I proposed with this draft a general protocol to obtain all available drivers, their supported parameters, purpose of each parameter and possible values or range AT RUNTIME! Not sure if you are happy with this, because that makes the protocol a bit abstract and complicated, but it has the big advantage, that frontends can be implemented independently from already implemented drivers and independently from which parameters these drivers offer. So even if we add a new driver one day with very abscure parameters, the GUI frontend will be able to handle it without any change. Additions: - added commands for loading / unloading and configuring audio output drivers (chapter 3.1 et seqq.) and MIDI input drivers (chapters 3.2 et seqq.) Changes: - redefined output fields of "GET CHANNEL INFO" command (3.3.8) - redefined command "SET CHANNEL AUDIO_OUTPUT_CHANNEL" command (3.3.13) - MIDI port is now a number for the virtual MIDI port of a MIDI driver (=MIDI input device) in LS instead of a driver dependent port identifier (e.g. 3.3.14) - MIDI channel can now also be set to ALL to listen on all 16 MIDI channels (e.g. 3.3.15) Again, this is only a suggestion so far. Critics, suggestions, improvements always appreciated! If it's still unclear from the specification, or if you're too lazy to really read it :) I can also make a short example to show you how I thought it to work. CU Christian P.S. chapter 4 ("Command Syntax" et seqq.) is not yet updated for the changes. |
|
From: Mark K. <mk...@co...> - 2004-05-18 18:41:59
|
Christian Schoenebeck wrote: <SNIP> > > Yes, they're simply mixed at the moment, but audio and MIDI driver > configuration (including what you want) is in work. Great! > > Currently: no, no > Very soon: yes and yes Cool! >>I also noticed that LS is picky about what channel numbers I use. For >>instance, if there isn't a channel 0 then I cannot assign an engine to >>channel 1. I don't know if this is intended or a bug, but it seems > > > Intended Hum.... > > >>likely that later we'll want to be adding and dropping channels as we >>use the sampler and it would be good to just allow the user to use any >>unique number instead of an incremental one. Just a thought. > > > For what purpose? For what purpose would it be good to be able to use any number? I had the 2-channel script I presented in the start of this thread. I just cut it in half to test the MIDI channel 10 item and wasn't allowed to do this since it was using sampler channel 1. I was forced to change it to 0. For what purpose would I be adding and dropping channels? Possibly I'm doing a performance where a certain voice is used early but then not use later. I want to remove this voice and all loaded samples from memory to free up the resources. Possibly there's a command for doing this that leave the sampler channel in place? If so what is it? My original thought was that I'd do this by just killing the channel but you've probably got a more elegant solution I haven't discovered yet. > The sampler channel number is only meant as an unique ID to > distinguish the sampler channels. If it's *only* intended to be unique then why can't the first one be 1 or 5? It would seem to me that if I attempt to reuse the number then LS could tell me the number is in use, couldn't it? Thanks! Mark |
|
From: Christian S. <chr...@ep...> - 2004-05-18 18:24:07
|
Es geschah am Dienstag, 18. Mai 2004 19:57 als Mark Knecht schrieb: > 1) I get only a single pair of audio outputs, not the two separate pairs > I might have expected. Is LS currently mixing the output of all engines > into a single stereo output pair or is the second engine not there at > all? I think they should be separate so that I can send them to > different signal processing chains. Yes, they're simply mixed at the moment, but audio and MIDI driver configuration (including what you want) is in work. > > 2) I only get a single MIDI port inside the MIDI connections page of > qjackctl. This may be correct as I think qjackctl doesn't show me what > is hooked to each MIDI channel, but I want to check that this is the > expected operation. If this is expected then can I somehow create > separate ports for each loaded instrument, and even nicer, can I somehow > name these ports so that connections to them become more user friendly? Currently: no, no Very soon: yes and yes > I also noticed that LS is picky about what channel numbers I use. For > instance, if there isn't a channel 0 then I cannot assign an engine to > channel 1. I don't know if this is intended or a bug, but it seems Intended > likely that later we'll want to be adding and dropping channels as we > use the sampler and it would be good to just allow the user to use any > unique number instead of an incremental one. Just a thought. For what purpose? The sampler channel number is only meant as an unique ID to distinguish the sampler channels. CU Christian |
|
From: Christian S. <chr...@ep...> - 2004-05-18 18:11:09
|
Es geschah am Dienstag, 18. Mai 2004 19:50 als St=E9phane Letz schrieb: > What IRC do you use? irc.freenode.org (#linuxsampler and #lad) CU Christian |
|
From: Christian S. <chr...@ep...> - 2004-05-18 18:08:23
|
Es geschah am Dienstag, 18. Mai 2004 19:16 als St=E9phane Letz schrieb: > Le 18 mai 04, =E0 17:00, Christian Schoenebeck a =E9crit : > > Es geschah am Dienstag, 18. Mai 2004 15:50 als St=E9phane Letz schrieb: > >> Hi, > >> > >> I'm working on the CoreMidi driver for MacOSX. The CoeMidi driver will > >> be callback based thus I guess the "MidiInputDeviceCoreMidi" class > >> does > >> to need to be a subclass of MidiThread and does not implements the > >> Main > >> method? > > > > Hi St=E9phane! > > > > Good to hear that you're woring for it! > > > > The abstract Main() method (from abstract class Thread) is the method > > which > > will be executed by the thread, so this method _HAS_ to be implemented > > (otherwise you'll get an compiler error anyway). > > The driver is callback based, thus it does not need any thread. > > I have now a CoreMidi driver compiling and loading but i can not load > the FreePiano gig file that is not recognized as a RIFF file on Mac... Sorry, my fault, I only read half of your mail. Of course, you're right if= =20 it's callback based it should not derive the Thread class of course. But I= =20 wonder if you have the latest version of LinuxSampler. In current CVS versi= on=20 there is not 'MidiThread' class anymore. And I already fixed the bigendian= =20 specific bugs that caused gig files not to be recognized as RIFF files on M= ac=20 in december or so. At least I could successfully test it on a PPC running=20 Linux, so please check if you have the latest version: cvs -z3 -d:pserver:ano...@cv...:/var/cvs/linuxsampler co= =20 linuxsampler CU Christian |
|
From: Mark K. <mk...@co...> - 2004-05-18 17:57:17
|
Hi,
I'm just starting to set up a few files to automatically load
multiple gig files. I want to check with you all something about the way
LS presents itself to qjackctl. (Or probably more accurately to Jack)
I'm using the following script:
GET CHANNELS
ADD CHANNEL
SET CHANNEL AUDIO_OUTPUT_TYPE 0 JACK
SET CHANNEL MIDI_INPUT_TYPE 0 ALSA
SET CHANNEL MIDI_INPUT_CHANNEL 0 1
LOAD ENGINE gig 0
LOAD INSTRUMENT
/home/mark/data/samples/Gigs/Drones/04DramaDrones/45DroneArcheol
ogy.gig 0 0
SET CHANNEL VOLUME 0 1.4
ADD CHANNEL
SET CHANNEL AUDIO_OUTPUT_TYPE 1 JACK
SET CHANNEL MIDI_INPUT_TYPE 1 ALSA
SET CHANNEL MIDI_INPUT_CHANNEL 1 10
LOAD ENGINE gig 1
LOAD INSTRUMENT /home/mark/data/samples/Gigs/Drums/Wizzo/Ambience Kit
XXL.gig 0
1
SET CHANNEL VOLUME 1 1.4
GET CHANNELS
All indications in the two LS terminals are that things are working
correctly, but when I look at LS inside of qjackctl I see the following
that I want to ask questions about:
1) I get only a single pair of audio outputs, not the two separate pairs
I might have expected. Is LS currently mixing the output of all engines
into a single stereo output pair or is the second engine not there at
all? I think they should be separate so that I can send them to
different signal processing chains.
2) I only get a single MIDI port inside the MIDI connections page of
qjackctl. This may be correct as I think qjackctl doesn't show me what
is hooked to each MIDI channel, but I want to check that this is the
expected operation. If this is expected then can I somehow create
separate ports for each loaded instrument, and even nicer, can I somehow
name these ports so that connections to them become more user friendly?
I also noticed that LS is picky about what channel numbers I use. For
instance, if there isn't a channel 0 then I cannot assign an engine to
channel 1. I don't know if this is intended or a bug, but it seems
likely that later we'll want to be adding and dropping channels as we
use the sampler and it would be good to just allow the user to use any
unique number instead of an incremental one. Just a thought.
I haven't made much sound yet. Just getting started...
Thanks,
Mark
|
|
From: <le...@gr...> - 2004-05-18 17:51:45
|
Le 18 mai 04, =E0 19:27, be...@ga... a =E9crit : > Yes, its wonderful that Stephane joined the team. > After having been at his Jack on OS X talk at ZKM > I have no doubt that LS on OS X will rock :) > I chatted with Stephane on irc today and have him a few hints > what LSCP commands to issue, where to find a free GIG file etc. > He said it now compiles and runs but when loading the Freepiano.gig > he gets a "Not a RIFF file error". > I guess it=B4s probably a bigendian problem in libgig/LS ? I tried to define WORDS_BIGENDIAN but still without success... > Anyway its pretty exciting if we get an OS X port soon since > combined with the GUI (which is just a recompile away since > Qt GPL is available on OS X) it will get us lots of new users and > perhaps a few developers too which will help out for the last > tuning bits the GIG engine needs. > > Another positive note: I ported the LS threading and mutex classes > to the WIN32 API :) > This is a prerequisite to turn LS into a Windows VSTi. > But this is not enough, some other stuff will need to be astracted > like usleep(), perhaps file i/o too, but it=B4s not big work. > I=B4ll discuss about this with Christian and others on IRC next time = we=20 > meet. What IRC do you use? Stephane |
|
From: <be...@ga...> - 2004-05-18 17:27:44
|
Yes, its wonderful that Stephane joined the team. After having been at his Jack on OS X talk at ZKM I have no doubt that LS on OS X will rock :) I chatted with Stephane on irc today and have him a few hints what LSCP commands to issue, where to find a free GIG file etc. He said it now compiles and runs but when loading the Freepiano.gig he gets a "Not a RIFF file error". I guess it´s probably a bigendian problem in libgig/LS ? Anyway its pretty exciting if we get an OS X port soon since combined with the GUI (which is just a recompile away since Qt GPL is available on OS X) it will get us lots of new users and perhaps a few developers too which will help out for the last tuning bits the GIG engine needs. Another positive note: I ported the LS threading and mutex classes to the WIN32 API :) This is a prerequisite to turn LS into a Windows VSTi. But this is not enough, some other stuff will need to be astracted like usleep(), perhaps file i/o too, but it´s not big work. I´ll discuss about this with Christian and others on IRC next time we meet. :) cheers, Benno Scrive Christian Schoenebeck <chr...@ep...>: > Es geschah am Dienstag, 18. Mai 2004 15:50 als St=E9phane Letz schrieb: > > Hi, > > > > I'm working on the CoreMidi driver for MacOSX. The CoeMidi driver will > > be callback based thus I guess the "MidiInputDeviceCoreMidi" class does > > to need to be a subclass of MidiThread and does not implements the Main > > method? > > Hi St=E9phane! > > Good to hear that you're woring for it! > > The abstract Main() method (from abstract class Thread) is the method which= > =20 > will be executed by the thread, so this method _HAS_ to be implemented=20 > (otherwise you'll get an compiler error anyway). > > CU > Christian > > > ------------------------------------------------------- > This SF.Net email is sponsored by: SourceForge.net Broadband > Sign-up now for SourceForge Broadband and get the fastest > 6.0/768 connection for only $19.95/mo for the first 3 months! > http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click > _______________________________________________ > Linuxsampler-devel mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel > ------------------------------------------------- This mail sent through http://www.gardena.net |
|
From: <le...@gr...> - 2004-05-18 17:18:08
|
Le 18 mai 04, =E0 17:00, Christian Schoenebeck a =E9crit : > Es geschah am Dienstag, 18. Mai 2004 15:50 als St=E9phane Letz = schrieb: >> Hi, >> >> I'm working on the CoreMidi driver for MacOSX. The CoeMidi driver = will >> be callback based thus I guess the "MidiInputDeviceCoreMidi" class=20 >> does >> to need to be a subclass of MidiThread and does not implements the=20 >> Main >> method? > > Hi St=E9phane! > > Good to hear that you're woring for it! > > The abstract Main() method (from abstract class Thread) is the method=20= > which > will be executed by the thread, so this method _HAS_ to be implemented > (otherwise you'll get an compiler error anyway). The driver is callback based, thus it does not need any thread. I have now a CoreMidi driver compiling and loading but i can not load=20 the FreePiano gig file that is not recognized as a RIFF file on Mac... Stephane > > CU > Christian > > > ------------------------------------------------------- > This SF.Net email is sponsored by: SourceForge.net Broadband > Sign-up now for SourceForge Broadband and get the fastest > 6.0/768 connection for only $19.95/mo for the first 3 months! > http://ads.osdn.com/?ad_id%62&alloc_ida84&op=3Dclick > _______________________________________________ > Linuxsampler-devel mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel > |
|
From: Christian S. <chr...@ep...> - 2004-05-18 15:09:28
|
Es geschah am Dienstag, 18. Mai 2004 15:50 als St=E9phane Letz schrieb: > Hi, > > I'm working on the CoreMidi driver for MacOSX. The CoeMidi driver will > be callback based thus I guess the "MidiInputDeviceCoreMidi" class does > to need to be a subclass of MidiThread and does not implements the Main > method? Hi St=E9phane! Good to hear that you're woring for it! The abstract Main() method (from abstract class Thread) is the method which= =20 will be executed by the thread, so this method _HAS_ to be implemented=20 (otherwise you'll get an compiler error anyway). CU Christian |
|
From: <le...@gr...> - 2004-05-18 13:52:26
|
Hi, I'm working on the CoreMidi driver for MacOSX. The CoeMidi driver will be callback based thus I guess the "MidiInputDeviceCoreMidi" class does to need to be a subclass of MidiThread and does not implements the Main method? Thanks Stephane Letz |
|
From: Christian S. <chr...@ep...> - 2004-05-18 09:35:25
|
Es geschah am Montag, 17. Mai 2004 23:39 als Mark Knecht schrieb: > Hi, > OK, so I managed to get RG and LS to play together at lunch today. > Cool so far. > > Since I'll be without Internet access two questions: > > 1) How can I feed a setup script file to LS without having to type in > all the commands myself every time? cat your_lscp_script_file | nc -t localhost 8888 You have to install netcat for this to work. > 2) How do I handle spaces in the path to a gig file? Can I double quote > the whole path? Do I back-slash the spaces? How do I do that? You don't have to, no double quotes, no backslash spaces, just type it as is. Example: LOAD INSTRUMENT /That's a path/to your own/Gigasampler patch (file).gig 0 0 That will load the file "Gigasampler patch (file).gig" with path "/That's a path/to your own/" on sampler channel 0 and will pick the very first instrument from that gig file. > Sorry, but I'm at work and don't have time to mess with this stuff > during the day right now. No problem, I hope soon you don't have to mess with such things at all, as soon as the GUI is working. That scripting ability is sometimes quite handy though. CU Christian |
|
From: Mark K. <mk...@co...> - 2004-05-17 21:40:05
|
Hi,
OK, so I managed to get RG and LS to play together at lunch today.
Cool so far.
Since I'll be without Internet access two questions:
1) How can I feed a setup script file to LS without having to type in
all the commands myself every time?
2) How do I handle spaces in the path to a gig file? Can I double quote
the whole path? Do I back-slash the spaces? How do I do that?
Sorry, but I'm at work and don't have time to mess with this stuff
during the day right now.
Thanks in advance,
Mark
|
|
From: Mark K. <mk...@co...> - 2004-05-16 17:10:13
|
Christian Schoenebeck wrote: > ------------------------------------------------------------------------ > > ADD CHANNEL > SET CHANNEL AUDIO_OUTPUT_TYPE 0 ALSA > SET CHANNEL MIDI_INPUT_TYPE 0 ALSA > LOAD ENGINE gig 0 > LOAD INSTRUMENT /home/cuse/piano.gig 0 0 > SET CHANNEL VOLUME 0 1.4 > Just reporting that this script did not work for me. The second line reports that something like plughw:0,0 either doesn't exist or is invalid. I forget which and unfortunately don't have the machine with me right now to give you the exact message. I'm running LS (or trying to...) on a Compaq laptop using the snd-atiixp driver. alsaplayer and xine both work fine so this seems to be an LS problem. This is not the only Alsa problem I'm having on this machine though. Jack won't run recently on this laptop either. Typical Alsa problems for me. Say what you want about Windows but I mixed much of a CD yesterday on Pro Tools using this same machine. It was a pleasure. Don't really know how to proceed. Report a bug to the Alsa bug tracker I suppose? Take care, Mark |
|
From: Mark K. <mk...@co...> - 2004-05-16 17:04:07
|
Rui Nuno Capela wrote:
> This registration thing means that /usr/local/lib must be either on the
> shared object cache, as listed in /etc/ld.so.conf file,
Hi,
There actually seemed to be two requirements going this way:
1) /usr/local/lib in /etc/ld.so.conf
which was already true in my case, but that wasn't enough.
2) Run ldconfig to update whatever database is keeping track of the
entries that /etc/ld.so.conf is pointing to.
After doing both of those I was able to get qsampler to display last
evening.
Sorry for ht eslow replies but I don't have Internet access and am just
stopping by my office once or twice on the weekends to catch up.
- Mark
|
|
From: <be...@ga...> - 2004-05-16 13:55:09
|
On Sat, 2004-05-15 at 14:39, Rui Nuno Capela wrote: > > I'm working on something that works in the first place; whether it's nice > > it's kind of subjective ;) > > > > But,... tada... I have already something that you can look at: > > > > It's qsampler! Hi Rui, compiles fine, indeed nice work :) I think once LS stabilizes, GIG engine gets tuned and the GUI works and an all in one tarball will be released the userbase will grow fast. (since qsampler is our official GUI so I suggest when we will decide to release the first alpha or beta tarball to put everything in package that's easy to compile or even make some binaries). A question about the handling CHANNEL BUFFER PERCENTAGE LSCP commands in GUI. Since this command returns all the buffer fill percentages relative to one single channel and the channel has only one fill status bar (which is the right thing to do), I think the best way to display the buffer fill data is computing the percentage of the least filled buffer. And then display this in the horizontal bar. That way if we have 20 active voices on sampler channel 1 we always see the status of the most empty buffer, which makes sense since we don't care if all others are filled because they are not going to cause eventual troubles in high load situations. About the buffer fill status messages. I'd like to ask you guys an opinion how LS should construct them. As we know each sample consists of a RAM part, usually 32k samples which is played when the note is started. At the same time a stream is created and the disk thread starts reading data from disk and filling the associated ringbuffer. As soon as the RAM part of the sample got played, LS seamlessly switches to the ringbuffer and reads the samples to output to the audio card from here. The main purpose of these buffer fill bars are to give the user visual feedback if there are bottlenecks during the playback which is caused by buffers which are too filled with too less data which poses a high risk of a voice dropout. There are multiple ways to interpret the buffer fill status. 1) simply return the percentage of filling of the ringbuffer associated to the (disk based) voice, regardless if the voice is in RAM or disk playback mode. This is not optimal since as soon as the voice is started, the ringbuffer is created and will have a 0% fill status and the GUI since it always displays the lowest value associated to a sampler channel will display 0% which could mean that there is a problem (but in effect there isn't any problem). In this mode the buffer fill bar would constantly jump back and forth everytime new notes are started. So I'd say let's forget about this mode since it does not offer useful information to the GUI user. This is the method currently used by LS see String DiskThread::GetBufferFillPercentage() in Stream.cpp 2) return the percentage of filling of the ringbuffer associated to the voice but only return a value if the associated voice is in disk mode. So basically during the RAM playback no buffer fill percentage is sent even if the ringbuffer was already created and it's currently getting filled with data readed from disk. Over method 1) this method has the advantage that it shows only the fill percentage when in use so as soon as the voice switches to disk playback it shows how much headroom we have in the buffer before we get a dropout. This is ok but still not perfect since voice dropouts could occur because the system is under high load and while the RAM part of a voice is played the disk thread does not fill the associated ringbuffer in time so when the voices wants to switch to disk playback no data is ready in the ringbuffer. So in order to have feedback about the worst case "buffer head room", we need to take into account RAM preload bufffers too. See the next method 3) while the voice is in RAM playback mode return a buffer percentage based on (RAM preload size - playback position) + ringbuffer fill percentage Let's make an example: mono sample we preload 32k samples , ringbuffer 128k samples. When we start the note playback begins from position 0 of the 32k RAM preload buffer. So we return 32k/128k = 25% Assume the disk thread takes a while to read the data from disk. RAM playback has advaced to position 8k (in samples). So according to the above equation we return (32k-8k)/128k=24k/128k = 18% Now assume playback has advanced to position 12k but the disk buffer meanwhile contains 40k of samples so we return (32k-12k+40k)/128k = 60k/128k = 46% As soon as the ram playback finished and the voice switches to disk playback. In this more we return only the ringbuffer fill percentage because the RAM part is not accessed anymore and does not contribute to the total "buffer headroom" which describes the number of samples wich equals to a certain headroom time (just divide by the samplerate). So when we play a single note we see first the buffer fill bar dropping to 25% and then go down a bit and then quickly go up to almost 100%. If we have sequences of notes we see that at each note on the buffer drops to 25% or below (since the RAM part is 25% of the ringbuffer size). but if it starts to drop well below the 25% during high polyphony passages then in means that active ringbuffers are very empty and this could signal to the user potential bottlenecks. (which can in some cases be solved by increasing either RAM preload or ring buffer sizes). I think mode 3) is the best for the user of the GUI since it always shows how much headroom LS has during the disk streaming. What do you think guys ? As said as a user I want to know how much headroom (in terms of buffer time) the streaming engine has during high polyphony situations and I think method 3) is the best way to give the user this real time feedback. Keep in mind since LS has uses the same ringbuffer sizes for mono and stereo, but the preload sizes are twice as big for stereo samples (otherwise stereo samples would risk causing dropouts since they use twice the buffer space per time unit compared to mono samples), if we take the above example, a stereo samples preloads 32k stereo samples = 64k mono samples which is 50% of the 128k samples that the ringbuffer holds. This would mean that during note ons this buffer size (using method 3) would jump pack to 50% (instead 25%) giving the user even better visual feedback. But even with 25% in case of mono samples the user has good feedback if things are ok or if sh*t is about to happen :)) let me know. cheers, Benno http://www.linuxsampler.org he only thing that LS must take care of when sending these messages is (I haven't looked at the code that emits these messages yet so I could say nonsense). ------------------------------------------------- This mail sent through http://www.gardena.net |
|
From: Marek P. <ma...@na...> - 2004-05-16 10:16:28
|
On Sun, 2004-05-16 at 02:09, Rui Nuno Capela wrote: > Mark, > > >> > >> This will install liblscp.so under /usr/local/lib, so be sure to > >> have it registered on your shared library path. > >> > > > > Hi, > > Everything built, but I do not understand what this step means. > > Where is registration done for my shared library path? > > > > Cannot run qsampler due to just this strp I think... > > > > This registration thing means that /usr/local/lib must be either on the > shared object cache, as listed in /etc/ld.so.conf file, or in > LD_LIBRARY_PATH environment variable search path. If you edit the former, > remember to run ldconfig (as root). > > FWIW as a quick-start, just enter the following command line under the > qsampler build directory: > > LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ./qsampler > > Feel free to report any difficulties you may find. > Isn't that globally solved with the --prefix configure option? I did --prefix=/usr since i have it all there - instead of /usr/local. Marek |
|
From: Marek P. <ma...@na...> - 2004-05-16 09:56:57
|
On Sun, 2004-05-16 at 13:39, Marek Peteraj wrote: > Hi Rui, > > > On Sat, 2004-05-15 at 14:39, Rui Nuno Capela wrote: > > Hi Benno, > > > > > > > > Rui, I told northernsounds.com users that you are writing a very nice > > > GUI, don't disappoint them :) > > > > > > > I'm working on something that works in the first place; whether it's nice > > it's kind of subjective ;) > > > > But,... tada... I have already something that you can look at: > > > > It's qsampler! > > > > OK. It's still in prototypical alpha stage i.e. it doesn't do anything > > useful, but it surely is something you can preview for the intended > > look-and-feel right now. > > > > Qsampler's project is hosted on sourceforge.net and it's preliminar CVS > > repository can be checked out through anonymous (pserver) CVS with the > > following instructions: > > > > cvs -d:pserver:ano...@cv...:/cvsroot/qsampler login > > > > when prompted for a password, you'll know what to do: just hit enter. > > > > First, you'll need to install the liblscp package. This is for > > LinuxSampler Control Protocol support library, which qsampler is based: > > > > cvs -z3 -d:pserver:ano...@cv...:/cvsroot/qsampler co > > liblscp > > cd liblscp > > make -f Makefile.cvs > > ./configure > > make > > make install > > cd .. > > > > This will install liblscp.so under /usr/local/lib, so be sure to have it > > registered on your shared library path. > > > > Then, you'll may try with qsampler itself. > > > > cvs -z3 -d:pserver:ano...@cv...:/cvsroot/qsampler co > > qsampler > > cd qsampler > > make -f Makefile.cvs > > ./configure > > make > > I get the following when compiling qsampler: > /qsamplerMessages.cpp: In member function `void > qsamplerMessages::stdoutNotify(int)': > src/qsamplerMessages.cpp:100: `::read' undeclared (first use here) > src/qsamplerMessages.cpp: In member function `void > qsamplerMessages::setCaptureEnabled(bool)': > src/qsamplerMessages.cpp:153: `::close' undeclared (first use here) > src/qsamplerMessages.cpp:162: `::pipe' undeclared (first use here) > src/qsamplerMessages.cpp:163: `::dup2' undeclared (first use here) > src/qsamplerMessages.cpp:163: `STDOUT_FILENO' undeclared (first use this > function) > src/qsamplerMessages.cpp:163: (Each undeclared identifier is reported > only once > for each function it appears in.) > src/qsamplerMessages.cpp:164: `STDERR_FILENO' undeclared (first use this > function) > make[1]: *** [qsamplerMessages.o] Error 1 including <unistd.h> in qsamplerMessages.cpp solved the issue, good work! :) Marek |
|
From: Marek P. <ma...@na...> - 2004-05-16 09:33:21
|
Hi Rui, On Sat, 2004-05-15 at 14:39, Rui Nuno Capela wrote: > Hi Benno, > > > > > Rui, I told northernsounds.com users that you are writing a very nice > > GUI, don't disappoint them :) > > > > I'm working on something that works in the first place; whether it's nice > it's kind of subjective ;) > > But,... tada... I have already something that you can look at: > > It's qsampler! > > OK. It's still in prototypical alpha stage i.e. it doesn't do anything > useful, but it surely is something you can preview for the intended > look-and-feel right now. > > Qsampler's project is hosted on sourceforge.net and it's preliminar CVS > repository can be checked out through anonymous (pserver) CVS with the > following instructions: > > cvs -d:pserver:ano...@cv...:/cvsroot/qsampler login > > when prompted for a password, you'll know what to do: just hit enter. > > First, you'll need to install the liblscp package. This is for > LinuxSampler Control Protocol support library, which qsampler is based: > > cvs -z3 -d:pserver:ano...@cv...:/cvsroot/qsampler co > liblscp > cd liblscp > make -f Makefile.cvs > ./configure > make > make install > cd .. > > This will install liblscp.so under /usr/local/lib, so be sure to have it > registered on your shared library path. > > Then, you'll may try with qsampler itself. > > cvs -z3 -d:pserver:ano...@cv...:/cvsroot/qsampler co > qsampler > cd qsampler > make -f Makefile.cvs > ./configure > make I get the following when compiling qsampler: /qsamplerMessages.cpp: In member function `void qsamplerMessages::stdoutNotify(int)': src/qsamplerMessages.cpp:100: `::read' undeclared (first use here) src/qsamplerMessages.cpp: In member function `void qsamplerMessages::setCaptureEnabled(bool)': src/qsamplerMessages.cpp:153: `::close' undeclared (first use here) src/qsamplerMessages.cpp:162: `::pipe' undeclared (first use here) src/qsamplerMessages.cpp:163: `::dup2' undeclared (first use here) src/qsamplerMessages.cpp:163: `STDOUT_FILENO' undeclared (first use this function) src/qsamplerMessages.cpp:163: (Each undeclared identifier is reported only once for each function it appears in.) src/qsamplerMessages.cpp:164: `STDERR_FILENO' undeclared (first use this function) make[1]: *** [qsamplerMessages.o] Error 1 Marek |
|
From: Rui N. C. <rn...@rn...> - 2004-05-16 00:12:11
|
Mark, >> >> This will install liblscp.so under /usr/local/lib, so be sure to >> have it registered on your shared library path. >> > > Hi, > Everything built, but I do not understand what this step means. > Where is registration done for my shared library path? > > Cannot run qsampler due to just this strp I think... > This registration thing means that /usr/local/lib must be either on the shared object cache, as listed in /etc/ld.so.conf file, or in LD_LIBRARY_PATH environment variable search path. If you edit the former, remember to run ldconfig (as root). FWIW as a quick-start, just enter the following command line under the qsampler build directory: LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ./qsampler Feel free to report any difficulties you may find. Cheers. -- rncbc aka Rui Nuno Capela rn...@rn... |
|
From: <be...@ga...> - 2004-05-15 17:34:33
|
Scrive Christian Schoenebeck <chr...@ep...>: > > Benno, again: the point is not mono / stereo, the point is that the > Gigasampler filter always consists of two biquad filters to create the 4 > filter poles. Maybe with another filter algo there other ways but AFAIK not > with biquads. Correct me Steve if I'm telling something incorrect! sorry :) the other day when I talked to you I thought 10 coefficients meant 5 for left and 5 for right chan. But the current code base still does filterleft->apply() and filterright->apply() so the coeffs are not share yet. So please don't be too harsh with me :) > > So, a Gigasampler LP filter in LS is actually one biquad BP + one biquad LP, > a > Gigasampler BP in LS are two biquad BPs and a Gigasampler HP is... guess > it... yes, a biquad BP + a biquad HP. Means we still need 10 coefficients! ok, but isn't there a way to make the LPs with only one biquad LP ? My DSP math is a bit rusty (Steve where are you ? :) ), but if it would be possible to describe LPs and HPs with only one biquad then I guess the performance would be bigger (BP would not change I guess since you always need a LP + HP). > > Anyway, I think we'll stick with the matrix idea and let all (10) filter > coefficients be calculated outside the render loop and within the render loop > > we just read those 10 coefficients from the synthesis parameter matrix. It must be better than the current code anyway which places a if(counter % filter_update_interval) in the innermost loop :) > > I think there will be machines where one approach might be more efficient > than > the other one, so in long term of course the user will be able to choose > between e.g. either the matrix or in-loop event solution, preferebly done > automatically by some benchmarking routine on his host, controllable by a > nice GUI. I'm curious too about the performance. On a related note, today I made some benchmarks with and without filter enabled. without about 150 voices peak, with filter neabled 100-120 voices peak. Not bad I'd say. (I changed the % filter_update_interval in the if() into & filter_update_interval) since & is faster than % on most archs. the update_interval was set to 63 , fragmentsize 128 frames, jackd output. Athlon 2000 , Maxtor HD 80GB. I expected much worse performance with the filter enabled and since it's already excellent now it can only get better :) This is a piece from Chopin I rendered with the filter enabled. http://www.linuxsampler.org/misc/chopin1.mp3 more infos at the end of this thread :) http://www.northernsounds.com/ubbthreads/showflat.php?Cat=&Number=162226&page=0&view=collapsed&sb=5&o=&fpart=1#162226 > > CU > Christian > > P.S. I guess for the not yet implemented so called "turbo low pass" filter of > > Gigasampler, we'll need even 3 biquad filters, means 15 filter coefficients, > > not sure yet I'd say for now since I assume most sample libs use the standard filters let make these sound well, the rest is not that important. Anyway I thought "Turbo" meant less CPU usage thus a simpler equation in involved while you here seem to imply that the equation for the turbo LP is more complex. Another thing we will need to think about is the ability of the voice to switch on/off the filters to save CPU. I'm not sure yet what would be the best way to implement it. Either through virtual C++ classes but while quite efficient (just a jmp asm instruction more over standard classes) that would probably make it hard to switch in real time. C++ function pointers are slower than C funcpointer and I guess it's probably better not to use them. I'm not sure yet. Only benchmarking can tell us the truth. The other alternative is switch() statements, they are translated into efficient jmp tables but they do not offer the flexibility of func tables. But I guess for filter on/off switch() is ok. cheers, Benno ------------------------------------------------- This mail sent through http://www.gardena.net |
|
From: Garett S. <shu...@co...> - 2004-05-15 17:05:47
|
You DO NOT need telnetd. In fact, telnetd is a massive security problem. think of the ls server as the telnetd. Mark Knecht wrote: > Christian Schoenebeck wrote: > >> Es geschah am Samstag, 15. Mai 2004 17:56 als Mark Knecht schrieb: >> >>> Garett, >>> None of my machines run telnet! >> >> >> >> Misapprehension: You don't have to run a telnet deamon on your box. >> You only need a telnet client to type the LSCP commands manually or >> 'netcat' or something similar to send a LSCP script file to LS. > > > Yes, I emerged telnetd and I can see the command and server windows > talking, but I didn't understand the language they wanted. Your script > will likely help. I'm in the office and will be going back to the > house soon. I'll try things out later. > > Thanks! > > > ------------------------------------------------------- > This SF.Net email is sponsored by: SourceForge.net Broadband > Sign-up now for SourceForge Broadband and get the fastest > 6.0/768 connection for only $19.95/mo for the first 3 months! > http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click > _______________________________________________ > Linuxsampler-devel mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel |
|
From: Mark K. <mk...@co...> - 2004-05-15 17:00:10
|
Rui Nuno Capela wrote:
>
> This will install liblscp.so under /usr/local/lib, so be sure to have it
> registered on your shared library path.
>
Hi,
Everything built, but I do not understand what this step means.
Where is registration done for my shared library path?
Cannot run qsampler due to just this strp I think...
Thanks,
Mark
|
|
From: Mark K. <mk...@co...> - 2004-05-15 16:52:32
|
Christian Schoenebeck wrote: > Es geschah am Samstag, 15. Mai 2004 17:56 als Mark Knecht schrieb: > >>Garett, >> None of my machines run telnet! > > > Misapprehension: You don't have to run a telnet deamon on your box. You only > need a telnet client to type the LSCP commands manually or 'netcat' or > something similar to send a LSCP script file to LS. Yes, I emerged telnetd and I can see the command and server windows talking, but I didn't understand the language they wanted. Your script will likely help. I'm in the office and will be going back to the house soon. I'll try things out later. Thanks! |