[Csnd] Is csnd.jar portable?
Date | 2011-10-12 11:29 |
From | Michele Nasti |
Subject | [Csnd] Is csnd.jar portable? |
Hi all, I'm following the mailing list and i'm founding a lot of useful tips. Since my project is Java based, I have to ask you a little question. I have already mailed Jim Hearon (the author of some Java and CSound articles in the CSound Journal) but I ask here too.
I have not understood if csnd.jar is "really" portable, the way java means. This question arises for two motives: the first is that csnd.jar is generated with SWIG starting from C sources, and I really don't know how this works. I simply use it as a black box. The second fact is that my application runs smoothly on linux, but I can't make it work on windows (for now). It complains about a _jcsound object, something that shouldn't complain since everything is packed into another .jar .
Is there anybody that can confirm that csnd.jar is "really" portable? Or do I have to distribute 3 csnd.jar - one for linux, one for mac and another for windows? Thanks in advance.
Michele Nasti
|
Date | 2011-10-12 12:17 |
From | Steven Yi |
Subject | Re: [Csnd] Is csnd.jar portable? |
csnd.jar is itself portable, but it is a wrapper to a native library. It has the same issues as any JNI-based library. For my software blue, I use csnd.jar packaged with blue, and it is a matter of getting the correct JNI path when starting up your program so that it will find the .dll, .so, or .dylib that csnd.jar wraps. You can either distribute the native parts with your app, or set the JNI path. For example, you could use: -Djava.library.path=/path/to/where/_jcsnd.so/is/located as part of your executable string, so writing a .bat or .sh file that executes your applcation would be good. Java runtimes have a default place to put support and native libraries, but they are different on each platform. I believe blue just worked out of the box on Windows, should do so with the next OSX release, and with Linux requires some modification to locate where the .so is. steven On Wed, Oct 12, 2011 at 11:29 AM, Michele Nasti |
Date | 2011-10-12 13:38 |
From | Michele Nasti |
Subject | Re: [Csnd] Is csnd.jar portable? |
Hi Steven, just to tell you that I downloaded the Blue source code and the binaries, and it just worked out of the box. So I think that you have done a great job :) I'm going to experiment with java paths in the next hours.
Thanks for your help! Michele 2011/10/12 Steven Yi <stevenyi@gmail.com> csnd.jar is itself portable, but it is a wrapper to a native library. |
Date | 2011-10-12 15:27 |
From | Michele Nasti |
Subject | Re: [Csnd] Is csnd.jar portable? |
Excuse me Steven, are you telling me that the only file that I need to include with my software is _jcsnd.so (.dll or .dylib) ? Is this the only file that I have to import for the three main operative systems? Do you already know where these are located or where I can find them on the web?
Portability is crucial for my work, since it's target is made of blind people and it must be as easy as possible.
Michele 2011/10/12 Michele Nasti <michele.nasti@gmail.com> Hi Steven, |
Date | 2011-10-12 17:06 |
From | Steven Yi |
Subject | Re: [Csnd] Is csnd.jar portable? |
Hi Michele, No, the way I do it is only package the .jar file. I depend on the user having the .dll, .so, or .dylib installed, which is the case when they have used the Sourceforge installer for Windows or OSX, or if they have installed csound from repos (on Fedora, Debian, and Ubuntu at least). It's worked for me so far at least, though I am debating moving to having blue download a version of csound for the platform the user is on in the future. The alternative is to package csound with your application, which is possible but may be a bit more work. I think one of the todos after this release is to start making zip packages for each platform for application builders to use to bundles with their apps (at least, this topic came up at the Csound Conference). Let me know if you have any further questions! steven On Wed, Oct 12, 2011 at 3:27 PM, Michele Nasti |
Date | 2011-10-13 14:07 |
From | Michele Nasti |
Subject | Re: [Csnd] Is csnd.jar portable? |
Attachments | hs_err_pid952.log |
Hi Steven, I do have other questions, and I've seen in the Blue mailing list that you have already answered it somehow. I was trying to make my .jar app work in windows, so I've installed a default CSound from sourceforge (version is 5.13) on my Windows XP machine (32bit). Java was installed easily from their website. These are all default installs of the softwares.
However the java virtual machine dies with a fatal error of this kind: PortMIDI real time MIDI plugin for Csound If you want to see the .log file, I attach it to this email. Any ideas of what can be? It is "very" important that it runs on windows.
2011/10/12 Steven Yi <stevenyi@gmail.com> Hi Michele, |
Date | 2011-10-13 14:21 |
From | Dave Phillips |
Subject | Re: [Csnd] Is csnd.jar portable? |
On 10/13/2011 09:07 AM, Michele Nasti wrote: > > I was trying to make my .jar app work in windows, so I've installed a > default CSound from sourceforge (version is 5.13) on my Windows XP > machine (32bit). Java was installed easily from their website. These > are all default installs of the softwares. > However the java virtual machine dies with a fatal error of this kind: > > This looks like it may be due to your csound binary, it's the sort of message I got when I compiled Csound with support for the new parser. Best, dp Send bugs reports to the Sourceforge bug tracker https://sourceforge.net/tracker/?group_id=81968&atid=564599 Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2011-10-13 14:40 |
From | Michele Nasti |
Subject | Re: [Csnd] Is csnd.jar portable? |
I may try to download an older version to see if the problem fades away. 2011/10/13 Dave Phillips <dlphillips@woh.rr.com>
|
Date | 2011-10-13 15:03 |
From | Steven Yi |
Subject | Re: [Csnd] Is csnd.jar portable? |
Hi Michele, One thing that is a tricky is that the csnd.jar isn't named differently if csound was compiled with float or doubles. One possibility is that you might have a csnd.jar that was compiled for float being used with doubles native library. Try replacing whatever csnd.jar you have been using with the one in blue (there should be a blue/modules folder within the main blue directory that has it). Otherwise, you can email me a copy of your project off list and I can try to assist. steven On Thu, Oct 13, 2011 at 2:07 PM, Michele Nasti |
Date | 2011-10-13 15:23 |
From | Michele Nasti |
Subject | Re: [Csnd] Is csnd.jar portable? |
Steven, before giving you my project, I noted that on windows if I install CSound 5.12 it runs but it doesn't recognize the opcode pvstanal , while on linux (and maybe csound 5.13?) it works like a charm. I'm getting crazy !!!! 2011/10/13 Steven Yi <stevenyi@gmail.com> Hi Michele, |
Date | 2011-10-13 15:43 |
From | Steven Yi |
Subject | Re: [Csnd] Is csnd.jar portable? |
pvstanal may not have been released until 5.13. Have you tried 5.14? On Thu, Oct 13, 2011 at 3:23 PM, Michele Nasti |
Date | 2011-10-13 15:48 |
From | Michele Nasti |
Subject | Re: [Csnd] Is csnd.jar portable? |
I'm trying 5.14 but if I launch from command line I get csound 5.13 version. Maybe they forgot to change the string? :) 2011/10/13 Steven Yi <stevenyi@gmail.com> pvstanal may not have been released until 5.13. Have you tried 5.14? |
Date | 2011-10-13 16:32 |
From | Steven Yi |
Subject | Re: [Csnd] Is csnd.jar portable? |
Hm, I'm not sure, but I did try downloading from Sourceforge just now and it looks like the Windows 5.13.1 is still marked as the default download for Windows. I had to go into the 5.14 folder to explicitly download 5.14. On Thu, Oct 13, 2011 at 3:48 PM, Michele Nasti |
Date | 2011-10-13 20:54 |
From | Michele Nasti |
Subject | Re: [Csnd] Is csnd.jar portable? |
This was exactly my problem.. I believed I was using csound 5.14 but I was downloading 5.13, that was having the annoying bug. Il giorno 13/ott/2011 17:33, "Steven Yi" <stevenyi@gmail.com> ha scritto:
Hm, I'm not sure, but I did try downloading from Sourceforge just now |
Date | 2011-10-14 10:34 |
From | Michele Nasti |
Subject | [Csnd] Re: Is csnd.jar portable? |
I can confirm that with version 5.14 my simple program is working. Thanks Steven for this distributed debugging. :) Il giorno giovedì 13 ottobre 2011, Michele Nasti ha scritto:
|
Date | 2011-10-14 14:10 |
From | Steven Yi |
Subject | Re: [Csnd] Re: Is csnd.jar portable? |
You're very welcome! Glad it's all sorted out now. On Fri, Oct 14, 2011 at 10:34 AM, Michele Nasti |