[Cs-dev] Android csound
Date | 2013-06-10 04:55 |
From | Michael Gogins |
Subject | [Cs-dev] Android csound |
Attachments | None None |
As the app is becoming quite definitely usable, let me know your wish list. |
Date | 2013-06-10 21:01 |
From | Steven Yi |
Subject | Re: [Cs-dev] Android csound |
Hi Michael, As much as all the developments have been great, I went to do a build today and found things pretty much exactly the opposite of what I had requested earlier. 1. Why is luajit listed in the Android.mk for libcsoundandroid.so? 2. Why ares there these libraries listed in CsoundAndroid/jni/Android.mk: LOCAL_PREBUILT_LIBRARIES += luajit-2.0 sndfile libstdutil signalflowgraph libfluidsynth 3. If you modified libsndfile to be a shared library, could you post the changes to the Android.mk for that project? 4. Because libsndfile was changed to be a shared library, the build needs updating. Before, I used build.sh to build libcsoundandroid.so, then I would use the release.sh script to package up everything for release the SDK. This is now broken. 5. I still believe that the dependencies should be dealt with outside of CsoundAndroid. If you put them in CSDPlayer/lib/armeabi-v7a, they should get picked up the same as if they were in CsoundAndroid/lib/armeabi-v7a, yes? Thanks, steven On Sun, Jun 9, 2013 at 11:55 PM, Michael Gogins |
Date | 2013-06-10 21:06 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Android csound |
I would add my voice to this request. Please do not add luajit as a dependency to libcsoundandroid.so, or any other plugin dependency. The whole point of that project is so that it can be built without any plugins. I think points 1,2 and 5 are really important. We need plugins to be kept in separate projects. Victor On 10 Jun 2013, at 21:01, Steven Yi wrote: > Hi Michael, > > As much as all the developments have been great, I went to do a build > today and found things pretty much exactly the opposite of what I had > requested earlier. > > 1. Why is luajit listed in the Android.mk for libcsoundandroid.so? > > 2. Why ares there these libraries listed in CsoundAndroid/jni/Android.mk: > > LOCAL_PREBUILT_LIBRARIES += luajit-2.0 sndfile libstdutil > signalflowgraph libfluidsynth > > 3. If you modified libsndfile to be a shared library, could you post > the changes to the Android.mk for that project? > > 4. Because libsndfile was changed to be a shared library, the build > needs updating. Before, I used build.sh to build libcsoundandroid.so, > then I would use the release.sh script to package up everything for > release the SDK. This is now broken. > > 5. I still believe that the dependencies should be dealt with outside > of CsoundAndroid. If you put them in CSDPlayer/lib/armeabi-v7a, they > should get picked up the same as if they were in > CsoundAndroid/lib/armeabi-v7a, yes? > > Thanks, > steven > > > On Sun, Jun 9, 2013 at 11:55 PM, Michael Gogins > |
Date | 2013-06-10 21:09 |
From | Steven Yi |
Subject | Re: [Cs-dev] Android csound |
Just to add, I was trying to prep an rc3 release for Csound for Android SDK and this is what I found today. Also, the libcsoundandroid.so builds despite those libs being listed, even though I do not have some of them here. The change for libsndfile is critical though to figure out what to do about packaging the release. On Mon, Jun 10, 2013 at 4:06 PM, Victor Lazzarini |
Date | 2013-06-10 21:33 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Android csound |
Why can't we keep libsndfile as a static lib? On 10 Jun 2013, at 21:09, Steven Yi wrote: > Just to add, I was trying to prep an rc3 release for Csound for > Android SDK and this is what I found today. Also, the > libcsoundandroid.so builds despite those libs being listed, even > though I do not have some of them here. The change for libsndfile is > critical though to figure out what to do about packaging the release. > > On Mon, Jun 10, 2013 at 4:06 PM, Victor Lazzarini > |
Date | 2013-06-10 23:58 |
From | Michael Gogins |
Subject | Re: [Cs-dev] Android csound |
Attachments | None None |
Jeez... I don't appreciate being criticized for not following assumptions that are not documented. If you want other people to use a build system the way you want, you have to tell them what that is. I made no effort to fix release.sh because I was able to build the package with the Eclipse project, which seemed intuitive to me. Since I got a build that seemed satisfactory to me, I did not even look at release.sh.
If you follow my build instructions, things should work. If you haven't tried my build instructions, maybe you should. If you try them and they don't work, or you want to change some things, let me know.
If you want me to follow your build instructions, create a document similar in function and content to mine, and I'll try it. I do get your point that the plugins should not be a part of the AndroidCsound build at all, because people will use that library for a variety of purposes, some with their own libs, some not needing these pluginlibs. As it is they are not dependencies of AndroidCsound, since it will build and run without them, but I will move the script to install them to the CSDPlayer project. Regards, Mike Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Mon, Jun 10, 2013 at 4:33 PM, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote: Why can't we keep libsndfile as a static lib? |
Date | 2013-06-11 00:03 |
From | Michael Gogins |
Subject | Re: [Cs-dev] Android csound |
Attachments | None None |
About libsndfile being static, I made it dynamic because it looked to me like you had tried to make it dynamic and it didn't work, so you made it static. I think libsndfile should be dynamic because they way other software can call it, for example if I write a piece that reads or writes soundfiles to be used by Csound, I can do that with LuaJIT, FFI, and shared libsndfile. Not that you couldn't probably do it with just Csound, but why should it be static if it can be dynamic?
Regards, Mike Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Mon, Jun 10, 2013 at 6:58 PM, Michael Gogins <michael.gogins@gmail.com> wrote:
|
Date | 2013-06-11 03:35 |
From | Steven Yi |
Subject | Re: [Cs-dev] Android csound |
Hi Michael, I don't understand why you're being very hostile about the questions I've asked. You yourself mention: "If you follow my build instructions, things should work. If you haven't tried my build instructions, maybe you should. If you try them and they don't work, or you want to change some things, let me know. " Well... that's exactly what I did in the first place. I DID try your build instructions, so please don't assume I didn't. I used your build instructions, mentioned things that I think should change, and reported things that don't work.. You asked along these same lines in another email thread so that's what I did. "I made no effort to fix release.sh because I was able to build the package with the Eclipse project, which seemed intuitive to me. Since I got a build that seemed satisfactory to me, I did not even look at release.sh. " Okay, but as I mentioned I've been using that script to do releases for the Csound for Android SDK. If you want to ignore that, well, that's up to you. I see from your latest commit that things were clarified. Regarding questions 1 & 2, it looks like those lines from the build referring to other libraries were removed. The reason I asked about questions 1 & 2 were that I did not see any reason for those libs there, but I did not know if you found it necessary for them or not. I guess from the change that they weren't necessary after all, so thanks for clearing that up. As for libsndfile, I think I actually had it dynamic to start, and changed to making it a static lib that was compiled into libcsoundandroid.so. It's been a while since that part got sorted out, and I seem to remember taking that path to make it easier to distribute as a single lib. It was the quickest path to getting Csound for Android released to start, and there hasn't been any one asking for it to be otherwise up until now. The only other change in terms of its history up until now has been to add FLAC and OGG support. But anyways, I'm now stuck in with the same issues putting a build together and also a release, and I can not continue without your help. The critical part as mentioned is that you made changes to libsndfile. That's fine, but the build changes aren't available anywhere. I can't do a build of the system to test, and I can't do a release without using the same libsndfile build files as you have been using. So I ask again, could you post the changes that you did for libsndfile here? Thanks, steven On Mon, Jun 10, 2013 at 6:58 PM, Michael Gogins |
Date | 2013-06-11 10:05 |
From | Michael Gogins |
Subject | Re: [Cs-dev] Android csound |
Attachments | None None |
I apologize for the tone of my email. I think I see what the problem is. I had indeed not made the Android.mk for libsndfile as shared available. I overlooked it because I was assuming that the file would be picked up but git -a -m, but the Android.mk files for the prebuilt libraries are in git only in the zip file in Csound 5, not in git for Csound 6 anywhere, is that correct? I have pushed the Android.mk files that I use for all the prebuilt libraries to Csound 6 git. I hope this solves the problem. If not, let me know and I will fix it ASAP. Best, Mike On Jun 10, 2013 10:36 PM, "Steven Yi" <stevenyi@gmail.com> wrote:
Hi Michael, |
Date | 2013-06-11 17:26 |
From | Steven Yi |
Subject | Re: [Cs-dev] Android csound |
Hi Michael, No worries, my original email probably could have been clearer as to what I was trying to get across. Glad that we're on the same page now. As for the Android.mk for libsndfile, it really only existed with the libsndfile-android.zip, and did not exist within the Csound6 GIT. In some ways, that makes sense I think, as it's an external library. On the other hand, it's not terribly convenient. Looking through my folders here, I see that I had done a private repo on Bitbucket when I first worked on libsndfile-android with Victor. I'm thinking, maybe the best step forward for development process is: 1. Make that libsndfile-android project public on BitBucket 2. Add a script to clone all dependencies from remote repos or pull tarballs into whatever the user sets for NDK_MODULE_PATH folder. This can include libsndfile-android, fluidsynth, and whatever else you have added (luajit, anything else that comes to mind). The script would act like the csound6/dependencies/download.sh file I wrote and should hopefully simplify getting the build system up and running for everyone. For releases, I think we would still need to publish the libsndfile-android.zip, but really that could be done on BitBucket now. I think that might simplify things. I've gone ahead and made the libsndfile-android project public at: https://bitbucket.org/kunstmusik/libsndfile-android If you send me a bitbucket account name offline, I'll add you to the project so you can make changes. I'm going to work on using the Android.mk you committed to CS6 to see if I can get things going now for the release build. Thanks! steven p.s. - After having issues with my old Nexus One (power button broke), I ordered and received a new Nexus 4 in the mail yesterday. Very excited! It's quite a nice device. For the future though, that means I'll be using a Nexus 4 and Nexus 7 when doing device testing and releases, and will likely have to resort to using the Emulator for testing on Android 2.3.x. On Tue, Jun 11, 2013 at 5:05 AM, Michael Gogins |
Date | 2013-06-11 18:15 |
From | Michael Gogins |
Subject | Re: [Cs-dev] Android csound |
Attachments | None None |
That's great. Your plan about bitbucket is good. Let me know how it goes... Best, Mike Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Tue, Jun 11, 2013 at 12:26 PM, Steven Yi <stevenyi@gmail.com> wrote: Hi Michael, |
Date | 2013-06-11 18:33 |
From | Steven Yi |
Subject | Re: [Cs-dev] Android csound |
So far so good! With the modified Android.mk, I built the libsndfile shared libraries and I see that the Android build system will pull in the shared libsndfile.so automatically into the CsoundAndroid/libs/xxx folders which is great. I just got developer debugging setup on the N4 and am about to test the Csound Examples project. If that goes well, I think we can remove the libsndfile-android folder from pluginlibs and use the one from bitbucket. Once this is all tested, I'll see about the plugins. Regarding the crashing, I noticed there was a change in the build.sh for CsoundAndroid regarding the sed line where ".bak" was added. I'll see if changing that affects the crashing. On Tue, Jun 11, 2013 at 1:15 PM, Michael Gogins |
Date | 2013-06-11 22:57 |
From | Steven Yi |
Subject | Re: [Cs-dev] Android csound |
Hi Michael, So I tried building the plugin libs. I got through libstdutil and libfluidsynth okay using just ndk-build. With signalflowgraph, I got: Steven-Yis-MacBook-Pro:signalflowgraph stevenyi$ ndk-build Compile++ thumb : signalflowgraph <= signalflowgraph.cpp In file included from jni/../../../../Opcodes/signalflowgraph.cpp:96:0: jni/../../../../include/OpcodeBase.hpp:10:19: fatal error: cstdarg: No such file or directory compilation terminated. make: *** [obj/local/armeabi/objs/signalflowgraph/__/__/__/__/Opcodes/signalflowgraph.o] Error 1 I need to take of some other things, so will come back to this later tonight or tomorrow. Thanks! steven On Tue, Jun 11, 2013 at 1:33 PM, Steven Yi |
Date | 2013-06-11 23:06 |
From | Michael Gogins |
Subject | Re: [Cs-dev] Android csound |
Attachments | None None |
You need to run ndk-build in the jni dir. I have removed the one in the signal flow graph root dir. On Jun 11, 2013 5:57 PM, "Steven Yi" <stevenyi@gmail.com> wrote:
Hi Michael, |
Date | 2013-06-12 00:07 |
From | Steven Yi |
Subject | Re: [Cs-dev] Android csound |
I think it doesn't make a difference to run in the project root or in the jni folder; at least, I get the same result here: Steven-Yis-MacBook-Pro:jni stevenyi$ ndk-build clean Clean: signalflowgraph [armeabi] Clean: stdc++ [armeabi] Steven-Yis-MacBook-Pro:jni stevenyi$ ndk-build Compile++ thumb : signalflowgraph <= signalflowgraph.cpp In file included from /Users/stevenyi/work/csound/csound6/android/pluginlibs/signalflowgraph/jni/../../../../Opcodes/signalflowgraph.cpp:96:0: /Users/stevenyi/work/csound/csound6/android/pluginlibs/signalflowgraph/jni/../../../../include/OpcodeBase.hpp:10:19: fatal error: cstdarg: No such file or directory compilation terminated. make: *** [/Users/stevenyi/work/csound/csound6/android/pluginlibs/signalflowgraph/obj/local/armeabi/objs/signalflowgraph/__/__/__/__/Opcodes/signalflowgraph.o] Error 1 Steven-Yis-MacBook-Pro:jni stevenyi$ On Tue, Jun 11, 2013 at 6:06 PM, Michael Gogins |
Date | 2013-06-12 02:51 |
From | Steven Yi |
Subject | Re: [Cs-dev] Android csound |
I figured it out. The signalflowgraph opcodes did not have a jni/Application.mk. I used the one I had done for fluidsynth a while back and that adds in libgnustl_shared, which in turns get things to compile. (Pushed to GIT) Michael: did you have a similar file on your system that didn't get checked in maybe? Otherwise, I don't see how it could compile there. On Tue, Jun 11, 2013 at 7:07 PM, Steven Yi |