Re: [LAD] Saving plugin presets
On Sun, Jan 18, 2009 at 00:04, Luis Garrido luisgarr...@users.sourceforge.net wrote: brush your shells and learn to dance the turtle. And I can do the frug ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Re: [LAD] Writing a library?
On Sat, Jul 26, 2008 at 00:03, Anders Dahnielson [EMAIL PROTECTED]wrote: On Wed, Jul 23, 2008 at 18:13, Anders Dahnielson [EMAIL PROTECTED]wrote: Here's a simple tokenizer for SFZ I wrote once upon a time in Python. Not sure if I got it completely right. Nope. E.g. it matches lokey= twice (once as lokey= with a value and as key= without a value). *Blushes*. LOL. Ok, this is now an old thread. But to not appear as a complete fool I will post some code that actually works. ;-) [BEGIN PYTHON] import sys def parse(f): token_stack = [] string_stack = [] for line in f: # COMMENT if line.startswith('//'): continue # DEFINITION for token in line.split(): if token.startswith('') and token.endswith(''): # HEAD if string_stack: token_stack.append( .join(string_stack)) string_stack[:] = [] string_stack.append(token) elif token.find('=') != -1: # HEAD if string_stack: token_stack.append( .join(string_stack)) string_stack[:] = [] string_stack.append(token) else: # TAIL string_stack.append(token) # EOL if string_stack: token_stack.append( .join(string_stack)) string_stack[:] = [] return token_stack if __name__ == '__main__': sfzf = open(sys.argv[1], 'r') print parse(sfzf) sfzf.close() [END PYTHON] -- Anders Dahnielson [EMAIL PROTECTED] ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Re: [LAD] [Linuxsampler-devel] jack, kernel, etc. versions priorities
On Mon, Jul 28, 2008 at 03:32, Garett Shulman [EMAIL PROTECTED] wrote: Hello, I had a great performing linux audio setup until I had to move to a newer kernel to get some hardware on a new motherboard to work. Now I can't seem to get decent performance and thought it might be helpful if folks could chime in with what versions, etc. they are using with decent success. In particular I'm having a very challenging time with Linux Sampler, which I had previously working very solidly but now regardless of numerous jack/ls version permutations segfaults when I create a jack driver in ls. Thanks! -Garett Kernel version? RT patch? Preemption mode? Audio hardware IRQ scheduling policy and priority? Alsa version if different from kernel? Jack version, scheduling policy and priority? Linux Sampler version (or cvs date), scheduling policy and priority? Kernel version: 2.6.24.7-rt8 Preemption mode: Preempt RT (Ingo's patch) IRQ scheduling: running rtirq In limits.conf: * - rtprio 0 @realtime - rtprio 99 @realtime - memlock 2048000 @realtime - nice-19 Jack version: 0.109.2 LinuxSampler version: CVS (compiled 19 july) -- Anders Dahnielson [EMAIL PROTECTED] ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Re: [LAD] Writing a library?
On Wed, Jul 23, 2008 at 18:13, Anders Dahnielson [EMAIL PROTECTED]wrote: Here's a simple tokenizer for SFZ I wrote once upon a time in Python. Not sure if I got it completely right. Nope. E.g. it matches lokey= twice (once as lokey= with a value and as key= without a value). *Blushes*. LOL. -- Anders Dahnielson [EMAIL PROTECTED] ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Re: [LAD] Writing a library?
=', 'fillfo_freq=', 'fillfo_depth=', ] + [ 'fillfo_depthcc%d=' % cc for cc in range(128) ] + [ 'fillfo_depthchanaft=', 'fillfo_depthpolyaft=', ] + [ 'fillfo_freqcc%d=' % cc for cc in range(128) ] + [ 'fillfo_freqchanaft=', 'fillfo_freqpolyaft=', # amplifier 'volume=', 'pan=', 'width=', 'position=', 'amp_keytrack=', 'amp_keycenter=', 'amp_veltrack=', ] + [ 'amp_velcurve_%d=' % c for c in range(128) ] + [ 'amp_random=', 'rt_decay=', 'output=', ] + [ 'gain_cc%d=' % cc for cc in range(128) ] + [ 'xfin_lokey=', 'xfin_hikey=', 'xfout_lokey=', 'xfout_hikey=', 'xf_keycurve=', 'xfin_lovel=', 'xfin_hilev=', 'xfout_lovel=', 'xfout_hilev=', 'xf_velcurve=', ] + [ 'xfin_locc%d=' % cc for cc in range(128) ] + [ 'xfin_hicc%d=' % cc for cc in range(128) ] + [ 'xfout_locc%d=' % cc for cc in range(128) ] + [ 'xfout_hicc%d=' % cc for cc in range(128) ] + [ 'xf_cccurve=', # amplifier eg 'ampeg_delay=', 'ampeg_start=', 'ampeg_attack=', 'ampeg_hold=', 'ampeg_decay=', 'ampeg_sustain=', 'ampeg_release=', 'ampeg_vel2delay=', 'ampeg_vel2attack=', 'ampeg_vel2hold=', 'ampeg_vel2decay=', 'ampeg_vel2sustain=', 'ampeg_vel2release=', ] + [ 'ampeg_delaycc%d=' % cc for cc in range(128) ] + [ 'ampeg_startcc%d=' % cc for cc in range(128) ] + [ 'ampeg_attackcc%d=' % cc for cc in range(128) ] + [ 'ampeg_holdcc%d=' % cc for cc in range(128) ] + [ 'ampeg_decaycc%d=' % cc for cc in range(128) ] + [ 'ampeg_sustaincc%d=' % cc for cc in range(128) ] + [ 'ampeg_releasecc%d=' % cc for cc in range(128) ] + [ # amplifier lfo 'amplfo_delay=', 'amplfo_fade=', 'amplfo_freq=', 'amplfo_depth=', ] + [ 'amplfo_depthcc%d=' % cc for cc in range(128) ] + [ 'amplfo_depthchanaft=', 'amplfo_depthpolyaft=', ] + [ 'amplfo_freqcc%d=' % cc for cc in range(128) ] + [ 'amplfo_freqchanaft=', 'amplfo_freqpolyaft=', # equalizer 'eq1_freq=', 'eq2_freq=', 'eq3_freq=', ] + [ 'eq1_freqcc%d=' % cc for cc in range(128) ] + [ 'eq2_freqcc%d=' % cc for cc in range(128) ] + [ 'eq3_freqcc%d=' % cc for cc in range(128) ] + [ 'eq1_vel2freq', 'eq2_vel2freq', 'eq3_vel2freq', 'eq1_bw', 'eq2_bw', 'eq3_bw', ] + [ 'eq1_bwcc%d=' % cc for cc in range(128) ] + [ 'eq2_bwcc%d=' % cc for cc in range(128) ] + [ 'eq3_bwcc%d=' % cc for cc in range(128) ] + [ 'eq1_gain=', 'eq2_gain=', 'eq3_gain=', ] + [ 'eq1_gaincc%d=' % cc for cc in range(128) ] + [ 'eq2_gaincc%d=' % cc for cc in range(128) ] + [ 'eq3_gaincc%d=' % cc for cc in range(128) ] + [ 'eq1_vel2gain=', 'eq2_vel2gain=', 'eq3_vel2gain=', # effects 'effect1=', 'effect2=', ] stack = find_all_delimiters(string, delimiters) stack.sort() stack.reverse() comment = False tokens = [] while True: try: start = stack.pop() end = stack.pop() stack.append(end) except IndexError: break if start[1] == '//': comment = True elif start[1] == '\n': comment = False continue if not comment: tokens.append(sfz[start[0]:end[0]].rstrip().split('=', 1)) return tokens sfzf = open(sys.argv[1], 'r') sfz = sfzf.read() sfzf.close() print tokenize_sfz(sfz) [END PYTHON] -- Anders Dahnielson [EMAIL PROTECTED] ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Re: [LAD] Writing a library?
On Wed, Jul 23, 2008 at 15:25, Julien Claassen [EMAIL PROTECTED] wrote: Hi! Paul: As I understood the sfz format is text-based. I didn't take a look. But depending on what it looks like, a parser generator might be good advice. If the SFZ is an xml variant libxml might be better suited. Kindest regards Julien Here's what a snippet from a SFZ file looks like: [BEGIN SFZ] / // Region Name: NOTE E_ region sample=E_1.wav key=52 lovel=111 hivel=127 region sample=E_2.wav key=52 lovel=86 hivel=110 region sample=E_3.wav key=52 lovel=71 hivel=85 region sample=E_4.wav key=52 lovel=0 hivel=70 / // Region Name: NOTE F_ region sample=F_1.wav key=53 lovel=111 hivel=127 region sample=F_2.wav key=53 lovel=86 hivel=110 region sample=F_3.wav key=53 lovel=71 hivel=85 region sample=F_4.wav key=53 lovel=0 hivel=70 [END SFZ] -- Anders Dahnielson [EMAIL PROTECTED] ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Re: [LAD] Freeverb3 convolution + JACK
On Fri, Feb 15, 2008 at 3:59 PM, Fons Adriaensen [EMAIL PROTECTED] wrote: On Fri, Feb 15, 2008 at 01:48:12PM +0100, Anders Dahnielson wrote: Unfortunately I've not been able to compile JConv or What problem do you have with compiling jconv ? After emerging clthreads and zita-convolver and the other dependencies on Gentoo Linux (thanks to the pro-audio overlay) and the proceed to compile jconv manually, giving me this: $ make g++ -O3 -Wall -MMD -MP -DVERSION=\0.2.0\ -c -o jconv.o jconv.cc g++ -O3 -Wall -MMD -MP -DVERSION=\0.2.0\ -c -o config.o config.cc g++ -O3 -Wall -MMD -MP -DVERSION=\0.2.0\ -c -o jconfig.o jconfig.cc g++ -O3 -Wall -MMD -MP -DVERSION=\0.2.0\ -c -o jclient.o jclient.cc g++ -L/usr/local/lib64 -o jconv jconv.o config.o jconfig.o jclient.o -lzita-convolver -lfftw3f -lsndfile -lclthreads -ljack -lpthread -lrt g++ -O3 -Wall -MMD -MP -DVERSION=\0.2.0\ -c -o fconv.o fconv.cc g++ -O3 -Wall -MMD -MP -DVERSION=\0.2.0\ -c -o fconfig.o fconfig.cc g++ -L/usr/local/lib64 -o fconv fconv.o config.o fconfig.o -lzita-convolver -lfftw3f -lsndfile -lpthread -lrt g++ -O3 -Wall -MMD -MP -DVERSION=\0.2.0\ -c -o mkwavex.o mkwavex.cc mkwavex.cc:30: varning: konvertering från strängkonstant till char* bör undvikas g++ -O3 -Wall -MMD -MP -DVERSION=\0.2.0\ -c -o impdata.o impdata.cc impdata.cc: In member function int Impdata::sf_open_read(const char*): impdata.cc:264: fel: SFC_WAVEX_GET_AMBISONIC deklarerades inte i detta definitionsområde impdata.cc:264: fel: SF_AMBISONIC_B_FORMAT deklarerades inte i detta definitionsområde impdata.cc: In member function int Impdata::sf_open_write(const char*): impdata.cc:306: fel: SFC_WAVEX_SET_AMBISONIC deklarerades inte i detta definitionsområde impdata.cc:306: fel: SF_AMBISONIC_B_FORMAT deklarerades inte i detta definitionsområde make: *** [impdata.o] Fel 1 (sorry about the error messages in Swedish) Using: jconv-0.2.0 libclthreads-2.2.1 zita-convolver-0.1.0 fftw-3.1.2 libsndfile-1.0.17-r1 jack-audio-connection-kit-0.109.0 Output from uname -a: Linux monolith 2.6.23-gentoo-r3 #2 SMP Sun Jan 20 16:23:51 CET 2008 x86_64 Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz GenuineIntel GNU/Linux -- Anders Dahnielson [EMAIL PROTECTED] ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev