anders.vinjar | 28 Oct 19:46 2013
Picon

linux-port of OpenMusic

Hi all.

Ive been working on a linux-port of IRCAMs OpenMusic lately, and think
its approaching a useful state now.

I would very much appreciate it if some of the brave ones out there did
some testing and sent me feedback:

  http://forge.ircam.fr/p/OM6/downloads/label/421/

The tarball you'll find there includes the OM-6.7 image, source code, a
README and the various resources it uses (.so's, libs, fonts, icons,
help-files, tutorials, other).

This beta is not prepared to be installed anywhere, only to be run from
inside the directory where you unpack it (type ./OM_6.7_beta_4 ... ).
Plan is to make an installable version once the dust settles some.

Theres one thing which needs installing to work however, the music-fonts
used in the various editors and factories etc.  Theres an .rpm here:

  http://forge.ircam.fr/p/OM6/downloads/get/omfonts-1.0-1.noarch.rpm.zip

- which hopefully takes care of the fonts (theyre also available for
manual install in the tarball).  The .rpm installs them (4 .ttf-files)
inside its own folder /usr/share/fonts/omfonts/*

The present version uses JACK for audio + midi I/O, and will try to
start a JACK server if its not already running.

(Continue reading)

Dave Phillips | 28 Oct 20:13 2013
Picon

Re: linux-port of OpenMusic

On 10/28/2013 02:46 PM, anders.vinjar@... wrote:
> Hi all.
>
> Ive been working on a linux-port of IRCAMs OpenMusic lately, and think
> its approaching a useful state now.
>

Hi Anders,

Great news ! I will *definitely* check it out this evening after 
teaching. I tried and reported on older versions for Linux, but nothing 
was really usable then.

Best regards,

dp
Kjetil Matheussen | 28 Oct 21:42 2013
Picon

Re: linux-port of OpenMusic

Congratulations, It works!

I had to do this first on my fedora box:

yum install fluidsynth-libs.i686
yum install jack-audio-connection-kit.i686

Loading a sound using the Class->Audio->SOUND object causes a segfault
for me though:

Error: Segmentation violation(11) [code 0] at 22527186
     {Offset 1852 inside #<Function (method om-draw-waveform
(soundpanel t)) 22526A4A>}
eax        0 ; ebx        0 ; ecx      200 ; edx 200DDE30
esp 1CEFD5B0 ; ebp 1CEFD690 ; esi       56 ; edi        0
  1 (continue) Remove display-callback from #<soundpanel  24A6AB43>
  2 Remove display-callback from #<soundpanel  24A6AB43>
  3 (abort) Return to event loop.

Type :b for backtrace or :c <option number> to proceed.
Type :bug-form "<subject>" for a bug report template or :? for other options.

OpenMusic 1 : 1 >
; Loading text file /home/kjetil/openmusic_testworkspace/elements/Patch 2.omp
; Loading text file /home/kjetil/openmusic_testworkspace/elements/Patch 2.omp
:b
Call to capi-gtk-library::with-gdk-unlocked-debugger-wrapper
Call to invoke-debugger
Call to error
Call to (method om-draw-waveform (soundpanel t))
(Continue reading)

anders.vinjar | 28 Oct 22:35 2013
Picon

Re: linux-port of OpenMusic

Hi Kjetil, thanks alot for testing, and for bug-reports!

    K> yum install fluidsynth-libs.i686
    K> yum install jack-audio-connection-kit.i686

They (32-bit versions of libjack + libfluidsynth) should be loaded from
the provided resources-folder if theyre not already installed.

Did you get any startup-messages about missing libs or wrong types etc?

    K> Loading a sound using the Class->Audio->SOUND object causes a segfault
    K> for me though:

Right.  This is a known bug when zooming in or displaying short sounds.
Ill fix that (temporarily, so it doesnt break at least) for now, and put
out a new build.

The patch-file below makes a temporary fix.  To use the patch just save
it inside the OM_6.7_**/patches/ dir and restart (or load it in the
running program):

Attachment (sound-draw-patch-1.lisp): application/octet-stream, 4186 bytes

-anders
_______________________________________________
Cmdist mailing list
(Continue reading)

anders.vinjar | 28 Oct 23:03 2013
Picon

Re: linux-port of OpenMusic

    a> Right.  This is a known bug when zooming in or displaying short sounds.

Should be fixed in the new one i just uploaded.
Kjetil Matheussen | 29 Oct 19:59 2013
Picon

Re: linux-port of OpenMusic

On Mon, Oct 28, 2013 at 10:35 PM,  <anders.vinjar@...> wrote:
> Hi Kjetil, thanks alot for testing, and for bug-reports!
>
>     K> yum install fluidsynth-libs.i686
>     K> yum install jack-audio-connection-kit.i686
>
> They (32-bit versions of libjack + libfluidsynth) should be loaded from
> the provided resources-folder if theyre not already installed.
>
> Did you get any startup-messages about missing libs or wrong types etc?
>

Yes, I get a message that libjack couldn't be loaded:

[kjetil <at> ttlush OM_6.7_beta_4]$ ./OM_6.7_beta_4
Warning: G-domain : Gtk, level 16: Unable to locate theme engine in
module_path: "clearlooks",
Warning: G-domain : Gtk, level 16: Unable to locate theme engine in
module_path: "clearlooks",
Warning: G-domain : Gtk, level 16: Unable to locate theme engine in
module_path: "clearlooks",
Warning: G-domain : Gtk, level 16: Unable to locate theme engine in
module_path: "clearlooks",
Warning: G-domain : Gtk, level 16: Unable to locate theme engine in
module_path: "clearlooks",
Warning: G-domain : Gtk, level 16: Unable to locate theme engine in
module_path: "clearlooks",
Warning: G-domain : Gtk, level 16: Unable to locate theme engine in
module_path: "clearlooks",
Warning: G-domain : Gtk, level 16: Unable to locate theme engine in
(Continue reading)

anders.vinjar | 29 Oct 21:03 2013
Picon

Re: linux-port of OpenMusic

>>>>> "K" == Kjetil Matheussen <k.s.matheussen@...> writes:

    K> libopus.so.0 => not found

Dont know why this is used by the libjack.so sent along (its from the
standard fc-19 repo), but not on your system.

What does the one coming with your jack-audio-connection-kit.i686 say?

-anders
Kjetil Matheussen | 29 Oct 22:06 2013
Picon

Re: linux-port of OpenMusic

On Tue, Oct 29, 2013 at 9:03 PM,  <anders.vinjar@...> wrote:
>>>>>> "K" == Kjetil Matheussen <k.s.matheussen@...> writes:
>
>     K> libopus.so.0 => not found
>
> Dont know why this is used by the libjack.so sent along (its from the
> standard fc-19 repo), but not on your system.
>
> What does the one coming with your jack-audio-connection-kit.i686 say?
>

[root <at> ttlush kjetil]# ldd -r /usr/lib/libjack.so.0
linux-gate.so.1 =>  (0xf77d4000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf773b000)
libcelt0.so.2 => /lib/libcelt0.so.2 (0xf7723000)
librt.so.1 => /lib/librt.so.1 (0xf771a000)
libdl.so.2 => /lib/libdl.so.2 (0xf7715000)
libstdc++.so.6 => /lib/libstdc++.so.6 (0xf7628000)
libm.so.6 => /lib/libm.so.6 (0xf75fd000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf75e0000)
libc.so.6 => /lib/libc.so.6 (0xf742e000)
/lib/ld-linux.so.2 (0x4e6d5000)

Maybe it's a good idea to use static versions of libcelt and/or libopus
in the libjack included with open music.
anders.vinjar | 29 Oct 22:14 2013
Picon

Re: linux-port of OpenMusic

>>>>> "K" == Kjetil Matheussen <k.s.matheussen@...> writes:

    K> Maybe it's a good idea to use static versions of libcelt and/or libopus
    K> in the libjack included with open music.

Fernando sent me some suggestions about this, and it seems the good idea
is to make users install the .so's through their various dists.

Ill change that on thursday :-)

Cheers,

-anders
Ralf Mattes | 29 Oct 22:44 2013
Picon

Re: linux-port of OpenMusic

On Tue, Oct 29, 2013 at 10:14:22PM +0100, anders.vinjar@... wrote:
> >>>>> "K" == Kjetil Matheussen <k.s.matheussen@...> writes:
> 
>     K> Maybe it's a good idea to use static versions of libcelt and/or libopus
>     K> in the libjack included with open music.
> 
> Fernando sent me some suggestions about this, and it seems the good idea
> is to make users install the .so's through their various dists.

I think that's not really a viable solution. At least libcelt isn't even 
currently available in Debian stable/testing.

I don't see a reason to include a _static_ version of libcelt/libopus. Since
you distribute libjack, why not distribute libcelt/libopus?

BTW, any chance to get a 64bit version? I'm not shure a 32bit libjack will play
nicely with a 64bit jackd.

 Thanks a lot, RalfD
anders.vinjar | 29 Oct 23:17 2013
Picon

Re: linux-port of OpenMusic


    R> I think that's not really a viable solution. At least libcelt
    R> isn't even currently available in Debian stable/testing.

Then i guess your libjack doesnt need it?

The jack-api in use in OM is very simple, and doesnt rely on anything
outside jack.h

    R> BTW, any chance to get a 64bit version? 

If you provide me with a 'enterprise'-license for lw (= 3 times the
price of the 'pro'-license :-/ )

    R> I'm not shure a 32bit libjack will play nicely with a 64bit
    R> jackd.

It usually does.  What troubles do you see?
Ralf Mattes | 29 Oct 23:40 2013
Picon

Re: linux-port of OpenMusic

On Tue, Oct 29, 2013 at 11:17:09PM +0100, anders.vinjar@... wrote:
> 
>     R> I think that's not really a viable solution. At least libcelt
>     R> isn't even currently available in Debian stable/testing.
> 
> Then i guess your libjack doesnt need it?

This is the Debian-provided libjack:

 ldd /usr/lib/x86_64-linux-gnu/libjack.so.0
	linux-vdso.so.1 (0x00007fff6afe8000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fec6650a000)
	libopus.so.0 => /usr/lib/libopus.so.0 (0x00007fec662c3000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fec660ba000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fec65eb6000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fec65bb3000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fec658b4000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fec6569e000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fec652f2000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fec669c6000)

> The jack-api in use in OM is very simple, and doesnt rely on anything
> outside jack.h
> 
>     R> BTW, any chance to get a 64bit version? 
> 
> If you provide me with a 'enterprise'-license for lw (= 3 times the
> price of the 'pro'-license :-/ )

Yeah, tell me. I was _almost: buying a LW Licence, until I saw that huge price
(Continue reading)

Fernando Lopez-Lezcano | 30 Oct 03:24 2013
Picon

Re: linux-port of OpenMusic

On 10/29/2013 03:40 PM, Ralf Mattes wrote:
> On Tue, Oct 29, 2013 at 11:17:09PM +0100, anders.vinjar@... wrote:
>>
>>      R> I think that's not really a viable solution. At least libcelt
>>      R> isn't even currently available in Debian stable/testing.
>>
>> Then i guess your libjack doesnt need it?
>
> This is the Debian-provided libjack:
>
>   ldd /usr/lib/x86_64-linux-gnu/libjack.so.0
> 	linux-vdso.so.1 (0x00007fff6afe8000)
> 	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fec6650a000)
> 	libopus.so.0 => /usr/lib/libopus.so.0 (0x00007fec662c3000)
> 	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fec660ba000)
> 	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fec65eb6000)
> 	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fec65bb3000)
> 	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fec658b4000)
> 	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fec6569e000)
> 	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fec652f2000)
> 	/lib64/ld-linux-x86-64.so.2 (0x00007fec669c6000)
>
>> The jack-api in use in OM is very simple, and doesnt rely on anything
>> outside jack.h

Then dynamically linking against the native build of libjack should be 
more than enough, no need to package .so binaries which will always lead 
to problems (for example, libcelt is required by a certain build of 
libjack but not others - if you use the native libjack the distribution 
will take care of the proper library dependencies).
(Continue reading)

Ralf Mattes | 30 Oct 04:28 2013
Picon

Re: linux-port of OpenMusic

On Tue, Oct 29, 2013 at 07:24:16PM -0700, Fernando Lopez-Lezcano wrote:
> >On Tue, Oct 29, 2013 at 11:17:09PM +0100, anders.vinjar@... wrote:
> >>The jack-api in use in OM is very simple, and doesnt rely on anything
> >>outside jack.h
> 
> Then dynamically linking against the native build of libjack should
> be more than enough, no need to package .so binaries which will
> always lead to problems (for example, libcelt is required by a
> certain build of libjack but not others - if you use the native
> libjack the distribution will take care of the proper library
> dependencies).

Yes, use the distribution if possible at all.

> >>     R> I'm not shure a 32bit libjack will play nicely with a 64bit
> >>     R> jackd.
> >>
> >>It usually does.  What troubles do you see?
> >
> >None, since I couldn't get OM to run without libcelt. I just speculated, since
> >libjack and jack need to work as a pair (i.e. jackd and libjack need to match)
> >and from toying with jack on ARN I know that there are some struct packing issues.
> 
> Jack needs to be compiled with the -DJACK_32_64 option (at least
> jack2 does - there's also a compile flag but I forget the name),
> that creates structures that can be accessed from the 32 and 64
> worlds without compatibility problems. I needed to do that for
> Planet CCRMA when chuck was 32 bit only and our workstations were
> running 64 bit OSs. A Jack that is built with that option will work
> with 32 bit apps on a 64 bit environment.
(Continue reading)

Ralf Mattes | 28 Oct 22:42 2013
Picon

Re: linux-port of OpenMusic

On Mon, Oct 28, 2013 at 07:46:36PM +0100, anders.vinjar@... wrote:
> Hi all.
> 
> Ive been working on a linux-port of IRCAMs OpenMusic lately, and think
> its approaching a useful state now.
> 
> I would very much appreciate it if some of the brave ones out there did
> some testing and sent me feedback:
> 
>   http://forge.ircam.fr/p/OM6/downloads/label/421/

Where is it? For me this webpage only shows omfonts-1.0-1.noarch.rpm.zip

Cheers, Ralf Mattes
anders.vinjar | 28 Oct 23:04 2013
Picon

Re: linux-port of OpenMusic


    >> http://forge.ircam.fr/p/OM6/downloads/label/421/

    R> Where is it? For me this webpage only shows omfonts-1.0-1.noarch.rpm.zip

Sorry, was just replacing with a fix for the bug Kjetil found.  Its
there now.

Cheers,

-anders
Dave Phillips | 29 Oct 15:23 2013
Picon

Re: linux-port of OpenMusic

Greetings,

Okay, here are some random impressions.

It's amazing. All props to the makers of former Linux versions of OM, 
but this version is already far ahead of previous work. AFAICT, in the 
little tests I've done so far, this port is usable and relatively 
stable. I tested some of the Tutorial patches, had some crashes 
(graphics issues, IIRC), I'll send details later.

Any chance we'll get the OM2Csound library ? (I had to ask. :)

Lots of xruns with JACK on my desktop box, not so many on the laptop. 
The desktop has an M-Audio Delta 66, the laptop uses its built-in 
hda_intel chipset. I need to play with settings, I'm sure.

Graphics updates are sometimes slow, especially with some click & drag 
moves. Both systems here have nVidia GPUs.

I know I have enough to get into with OM, but I'm curious: Is PWGL for 
Linux on anyone's roadmap ?

I had only a little time to work with the IRCAM docs and the port, I'll 
get some more time into it today. Busy week here.

Great work, Anders !

Best,

dp
(Continue reading)

anders.vinjar | 29 Oct 17:48 2013
Picon

Re: linux-port of OpenMusic

Hi Dave, thanks for reports and feedback!

    D> Any chance we'll get the OM2Csound library ? (I had to ask. :)

If its not part of the included libs its download-able from IRCAM
(http://forumnet.ircam.fr/product/openmusic-libraries/?lang=en).

After unzipping the lib, you can add it as an 'external' lib
(Windows->Library, and from the file-menu choose "Add remote user
library").  Or install it as a default lib in your OM (you'll find
how-tos in the docs).

There shouldnt be any real issues - lisp being lisp - afaik the
csound-thing does its work running an external csound-command in a
shell.  But please tell me what you find.

Just checked, the library loads ok at least.  The version you download
has a typo in one file-name, after unzipping, rename "OM2Csound.lisp" ->
"OM2CSound.lisp" (same as part of folder-name).

    D> Lots of xruns with JACK on my desktop box, not so many on the laptop. 
    D> The desktop has an M-Audio Delta 66, the laptop uses its built-in 
    D> hda_intel chipset. I need to play with settings, I'm sure.

    D> Graphics updates are sometimes slow, especially with some click & drag 
    D> moves. Both systems here have nVidia GPUs.

Well, OM is a composition tool, and a quite graphic-intense thing.
Depending on what you do, your cpu, multiprocessing etc, performance
will vary quite much.  If you observe some patterns in the behavior
(Continue reading)

anders.vinjar | 29 Oct 18:06 2013
Picon

Re: linux-port of OpenMusic


    D> Any chance we'll get the OM2Csound library ? (I had to ask. :)

btw, one of the things id really like to do is finding good ways to use
CLM/Sndlib and CM together with this package.

CM loads fine just using the normal incantations.

CLM/sndlib needs some adjustments to the ffi-code to use CFFI
(preferably, or else lispworks FLI) to get up to speed, but there are
already about a dozen variants of the same ffi-code in sndlib2clm.lisp
already, so this should be possible (im sure Bill S., if he reads this,
gets a strange smile on his face now...)

-anders
Bill Schottstaedt | 29 Oct 22:56 2013
Picon

Re: linux-port of OpenMusic

Besides sndlib2clm.lisp, I think you would need to deal with ffi.lisp
and defins.lisp, but it's been a long time since I looked at this code.
I vaguely remember that the CFFI problem was passing float and
int arrays to/from C (in defins.lisp?). 
anders.vinjar | 29 Oct 23:25 2013
Picon

Re: linux-port of OpenMusic

>>>>> "B" == Bill Schottstaedt <bil@...> writes:

    B> I vaguely remember that the CFFI problem was passing float and
    B> int arrays to/from C (in defins.lisp?).

Hi Bill.

Im not too sure, but dont think that should be a problem anymore.  Afaik
CFFI has had support for passing of arrays for some time.

I can look into that later (end of november?), if noone gets there
before me :-)

-anders
Dave Phillips | 30 Oct 13:30 2013
Picon

Re: linux-port of OpenMusic

Greetings,

Made a simple patch, renamed it, OM crashed with this report
:

**
Gtk:ERROR:/build/buildd/gtk+2.0-2.24.10/gtk/gtkcontainer.c:2763:IA__gtk_container_propagate_expose: 
assertion failed: (child->parent == GTK_WIDGET (container))

Error: Segmentation violation(11) [code 0] at 21918042
      {Offset 8 inside #<Function 
capi-gtk-library::lispworks-layout-widget-set-child-geometry 2191803A>}
eax       58 ; ebx A00F75B0 ; ecx 2061062C ; edx        1
esp 1CEFD5A4 ; ebp 1CEFD5AC ; esi       56 ; edi        0
   1 (abort) Return to event loop.
   2 Destroy interface "omwork" (of type editorwindow)

Type :b for backtrace or :c <option number> to proceed.
Type :bug-form "<subject>" for a bug report template or :? for other 
options.

OpenMusic 1 : 1 >

Ctrl-C gets me out of the loop, and the patch is renamed correctly - and 
works - when I restart. It's a simple calculator for a harmonic series, 
copied from this video :

http://www.youtube.com/watch?v=C_yo4Xgwo0w

The patch doesn't appear to cause any problems. Maybe LW doesn't get 
(Continue reading)

anders.vinjar | 31 Oct 00:41 2013
Picon

Re: linux-port of OpenMusic

>>>>> "D" == Dave Phillips:

    D> Greetings, Made a simple patch, renamed it, OM crashed with this
    D> report :

That on was a bit tricky.  Sorry to be of little or no help, but im only
able to ask questions atm:

You mean double-clicking the name, typing in a new name, then hit enter?
Or clicking on the workspace-background?

Exactly when (at which action) did it break?

Is it reproducable, ie, every time, only certain times, any pattern of
behavior?

-anders
Dave Phillips | 31 Oct 01:55 2013
Picon

Re: linux-port of OpenMusic

On 10/30/2013 07:41 PM, anders.vinjar@... wrote:
>      D> Greetings, Made a simple patch, renamed it, OM crashed with this
>      D> report :
>
> That on was a bit tricky.  Sorry to be of little or no help, but im only
> able to ask questions atm:
>
> You mean double-clicking the name, typing in a new name, then hit enter?

That's it, and it is reproducible. I just tried on the second machine's 
installation, same result. However, I used the Lisp interface to recover 
from the error. OM proceeded as though nothing had happened.

I can also freeze the program by using the scroller/slider that Ubuntu 
imposed on its users. When I use it to scroll down an OM window it 
sometimes freezes the app. I'll generate a report for that one asap.

Sorry I'm not so detailed with the reports right now, I'm in the middle 
of teaching and prepping a performance for the weekend. But I'll keep 
working with it. I've been following various tutorial materials, lots of 
good stuff to work with.

Best,

dp
Dave Phillips | 31 Oct 01:57 2013
Picon

Re: linux-port of OpenMusic

Greetings,

Btw, I also get truncated text of the last line in some displays. I'll 
post some screenshots tomorrow.

Best,

dp

Gmane