[linux-audio-user] lv2dynparam

Atte André Jensen atte.jensen at gmail.com
Wed Feb 28 06:39:57 EST 2007


Nedko Arnaudov wrote:

> Current Makefile hackery installs the plugin into LV2_PATH. Have you
> "export"-ed the LV2_PATH variable?

Sure:
atte at ajstrup:~/software/zynjacku/zynjacku$ echo $LV2_PATH
/usr/lib/lv2:/usr/local/lib/lv2:/home/atte/.lv2

> I plan to switch zyn and zynjacku projects to autotools or scons in
> future.

Seems like a good plan :-)

>> * I installed the latest phat + pyphat from source, but (after
>> * starting jack, nothing else)
> 
> Yes, this is best to do (I guess you mean SVN).

Nope, grabbed it from 
http://developer.berlios.de/project/showfiles.php?group_id=6271

  I should talk with Loki
> to release newer version of PHAT. This will help jack_mixer too. Loki
> you read?
> 
>> I get this:
>> atte at ajstrup:~/software/zynjacku/zynjacku$ ./zynjacku.py
>> http://home.gna.org/zyn/zynadd/0
>> zynjacku library is missing lv2dynparam constants.
>>
>> Hope you could help me the last part of the way!
> 
> Recently someone in IRC (maybe you) had problem with those constants
> failing to autogenerate. This causes window without controls. So I added
> check to detect this at start. However the guy left and I still don't
> know what causes it. Can you please run this command from within
> zynjacku directory:
> 
> ./gen_py_constants.py `pkg-config --variable=includedir lv2dynparamhost-1` '^LV2DYNPARAM_PARAMETER_'
> 
> Do you get any output?

First I got this:
atte at ajstrup:~/software/zynjacku/zynjacku$ ./gen_py_constants.py 
`pkg-config --variable=includedir lv2dynparamhost-1` 
'^LV2DYNPARAM_PARAMETER_'
-bash: ./gen_py_constants.py: Permission denied

After making doing chmod +x I got:

atte at ajstrup:~/software/zynjacku/zynjacku$ ./gen_py_constants.py 
`pkg-config --variable=includedir lv2dynparamhost-1` 
'^LV2DYNPARAM_PARAMETER_'
PyModule_AddObject(m, "LV2DYNPARAM_PARAMETER_TYPE_FLOAT_URI", 
PyString_FromString("http://home.gna.org/lv2dynparam/v1#parameter_float"));
PyModule_AddObject(m, "LV2DYNPARAM_PARAMETER_TYPE_INT_URI", 
PyString_FromString("http://home.gna.org/lv2dynparam/v1#parameter_int"));
PyModule_AddObject(m, "LV2DYNPARAM_PARAMETER_TYPE_NOTE_URI", 
PyString_FromString("http://home.gna.org/lv2dynparam/v1#parameter_note"));
PyModule_AddObject(m, "LV2DYNPARAM_PARAMETER_TYPE_STRING_URI", 
PyString_FromString("http://home.gna.org/lv2dynparam/v1#parameter_string"));
PyModule_AddObject(m, "LV2DYNPARAM_PARAMETER_TYPE_FILENAME_URI", 
PyString_FromString("http://home.gna.org/lv2dynparam/v1#parameter_filename"));
PyModule_AddObject(m, "LV2DYNPARAM_PARAMETER_TYPE_BOOLEAN_URI", 
PyString_FromString("http://home.gna.org/lv2dynparam/v1#parameter_boolean"));
PyModule_AddObject(m, "LV2DYNPARAM_PARAMETER_TYPE_ENUM_URI", 
PyString_FromString("http://home.gna.org/lv2dynparam/v1#parameter_enum"));

> gen_py_constants.py is executed several times, with different regex,
> From Makefile. Result is collected in init_py_constants.c
> I guess that file is empty for some strange reason?

It's not even there. Note that I didn't run make in the zynjacku 
directory before (should I?). Now I tried and got this:

atte at ajstrup:~/software/zynjacku/zynjacku$ make
Package libslv2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libslv2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libslv2' found
Package libslv2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libslv2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libslv2' found
gcc -c  -g -I/usr/include/python2.4 -Wall -Werror -D_GNU_SOURCE -fPIC 
engine.c 

-o engine.o
engine.c:26:23: error: slv2/slv2.h: No such file or directory
engine.c:28:27: error: jack/midiport.h: No such file or directory
engine.c:29:25: error: glib-object.h: No such file or directory
In file included from engine.c:30:
/usr/local/include/lv2dynparam/host.h:62: error: expected ';', ',' or 
')' before 

  '*' token
In file included from engine.c:37:
synth.h:38: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'type 

def'
synth.h:42: error: expected specifier-qualifier-list before 'GObject'
synth.h:47: error: expected specifier-qualifier-list before 'GObjectClass'
synth.h:52: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'zynj 

acku_synth_get_type'
synth.h:55: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'zynj 

acku_synth_construct'
synth.h:61: error: expected ')' before '*' token
synth.h:64: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'zynj 

acku_synth_supports_generic_ui'
synth.h:68: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'zynj 

acku_synth_supports_custom_ui'
synth.h:73: error: expected ')' before '*' token
synth.h:77: error: expected ')' before '*' token
synth.h:81: error: expected ')' before '*' token
synth.h:85: error: expected ')' before '*' token
synth.h:89: error: expected ')' before '*' token
synth.h:93: error: expected ')' before '*' token
synth.h:99: error: expected ')' before '*' token
synth.h:105: error: expected ')' before '*' token
In file included from engine.c:38:
engine.h:27: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'G_B 

EGIN_DECLS'
engine.h:42: error: expected specifier-qualifier-list before 'GObject'
engine.h:47: error: expected specifier-qualifier-list before 'GObjectClass'
engine.h:52: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'zyn 

jacku_engine_get_type'
engine.h:55: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'zyn 

jacku_engine_start_jack'
engine.h:61: error: expected ')' before '*' token
engine.h:65: error: expected ')' before '*' token
engine.h:70: error: expected ')' before '*' token
engine.h:74: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'zyn 

jacku_engine_get_sample_rate'
engine.h:79: error: expected ')' before '*' token
In file included from engine.c:39:
gtk2gui.h:26: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'ty 

pedef'
gtk2gui.h:30: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'zy 

njacku_gtk2gui_init'
gtk2gui.h:37: error: expected ')' before 'gtk2gui_handle'
gtk2gui.h:41: error: expected ')' before 'gtk2gui_handle'
gtk2gui.h:45: error: expected ')' before 'gtk2gui_handle'
gtk2gui.h:50: error: expected ')' before 'gtk2gui_handle'
gtk2gui.h:55: error: expected ')' before 'gtk2gui_handle'
In file included from engine.c:41:
zynjacku.h:51: error: expected specifier-qualifier-list before 'GObject'
zynjacku.h:56: error: expected specifier-qualifier-list before 'gboolean'
zynjacku.h:76: error: expected specifier-qualifier-list before 'gboolean'
zynjacku.h:87: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'z 

ynjacku_plugin_repo_lookup_by_uri'
engine.c:52: error: expected ')' before '*' token
engine.c:88: error: expected ')' before '*' token
engine.c:106: error: expected ')' before 'class_ptr'
engine.c:119: error: expected ')' before '*' token
engine.c:133: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'zy 

njacku_engine_get_type'
engine.c:152: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'zy 

njacku_engine_start_jack'
engine.c:229: error: expected ')' before '*' token
engine.c: In function 'jackmidi2lv2midi':
engine.c:270: error: 'jack_midi_event_t' undeclared (first use in this 
function)
engine.c:270: error: (Each undeclared identifier is reported only once
engine.c:270: error: for each function it appears in.)
engine.c:270: error: expected ';' before 'input_event'
cc1: warnings being treated as errors
engine.c:279: warning: implicit declaration of function 
'jack_midi_get_event_cou 

nt'
engine.c:286: warning: implicit declaration of function 
'jack_midi_event_get'
engine.c:286: error: 'input_event' undeclared (first use in this function)
engine.c: In function 'jack_process_cb':
engine.c:325: error: 'struct zynjacku_engine' has no member named 
'jack_midi_in'
engine.c:325: error: 'struct zynjacku_engine' has no member named 
'lv2_midi_buff 

er'
engine.c:328: error: 'struct zynjacku_engine' has no member named 'plugins'
engine.c:328: error: 'struct zynjacku_engine' has no member named 'plugins'
engine.c:330: error: 'struct zynjacku_synth' has no member named 'siblings'
engine.c:330: warning: type defaults to 'int' in declaration of '__mptr'
engine.c:330: warning: initialization from incompatible pointer type
engine.c:330: error: 'struct zynjacku_synth' has no member named 'siblings'
engine.c:332: error: 'struct zynjacku_synth' has no member named 'dynparams'
engine.c:334: error: 'struct zynjacku_synth' has no member named 'dynparams'
engine.c:338: error: 'struct zynjacku_synth' has no member named 
'audio_out_left 

_port'
engine.c:340: warning: implicit declaration of function 
'slv2_instance_connect_p 

ort'
engine.c:341: error: 'struct zynjacku_synth' has no member named 'instance'
engine.c:342: error: 'struct zynjacku_synth' has no member named 
'audio_out_left 

_port'
engine.c:343: error: 'struct zynjacku_synth' has no member named 
'audio_out_left 

_port'
engine.c:347: error: 'struct zynjacku_synth' has no member named 
'audio_out_righ 

t_port'
engine.c:350: error: 'struct zynjacku_synth' has no member named 'instance'
engine.c:351: error: 'struct zynjacku_synth' has no member named 
'audio_out_righ 

t_port'
engine.c:352: error: 'struct zynjacku_synth' has no member named 
'audio_out_righ 

t_port'
engine.c:356: warning: implicit declaration of function 'slv2_instance_run'
engine.c:356: error: 'struct zynjacku_synth' has no member named 'instance'
engine.c: At top level:
engine.c:366: error: expected ')' before '*' token
engine.c:385: error: expected ')' before '*' token
engine.c:399: error: expected ')' before '*' token
engine.c:422: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'zy 

njacku_engine_get_sample_rate'
make: *** [engine.o] Error 1

Basically the first thing it complains is it's unable to find 
libslv2.pc. And sure it's nowhere on my system (according to slocate 
with a fresh slocatedb

> Also, once I got report that gen_py_constants.py is not executable. That
> was strage to me because AFAIK subversion client should put +x to the
> file when it is checked out. Please check if gen_py_constants.py is
> executable and if not, make it executable. And tell me :)

As mentioned it wasn't executable but I changed that...

>> * Will I be able to load original zynaddsubfx patches?
> 
> ATM, no. This feature is in my plan however, as "import" in zynjacku. Of
> course it will load only adsynth-zynadd settings until other synths are
> ported too.

Ah, I see.

>> * Are the realtime problems of zynaddsubfx still there?
> 
> <snip>I particular zynadd has
> no lock (mutex) at all. I removed lots of memory allocations in audio
> processing context, but this is not complete yet. The results I get
> here are quite amazing, I never got any "clicks" or JACK
> crashes.

That sounds promising! Looking forward to getting it running!

-- 
peace, love & harmony
Atte

http://www.atte.dk      | quintet:      http://www.anagrammer.dk
                         | compositions: http://www.atte.dk/compositions



More information about the Linux-audio-user mailing list