| Yeah it all feels pretty rough at the moment, hopefully things will settle down soon. I’m holding out hope for when pthread support and worker based audio nodes come around we can start taking it a bit more seriously.
Wow, nice finds! Also, with things changing, it doesn't make me particularly confident about the web for audio. :P On Mon Nov 24 2014 at 8:30:53 AM Edward Costello < EDWARD.COSTELLO@nuim.ie> wrote: Hey,
So O2 actually does work, the way you need to work with the emscripten module has just changed. Before you could just called the functions as you would normally but now emscripten has to load a separate memory file asynchronously so you need to wait for that to load. The way to make it work is to set the ‘noExitRuntime’ variable and use the ‘main’ callback. Here is a simple example:
Module["noExitRuntime"] = true; Module['_main'] = function() { var csound = new CsoundObj(); csound.compileOrc("ksmps=256\n" + "nchnls=2\n" + "0dbfs=1\n" + "instr 1\n" + "a1 vco2 0.2, 440\n" + "outs a1, a1\n" + "endin\n"); csound.startAudioCallback(); var scoreString = "i1 0 1" csound.readScore(scoreString); };
So main is called when the memory file has loaded, the noExitRuntime ensures the emscripten module stays alive for the duration of the web page rather than exiting when the last line of code is executed in javascript. As for this problem : "sample rate overrides: esr = 44100.0000, ekr = 172.2650, ksmps = 256" libcsound.js:128 "sr = 44100, kr = 172.265, ksmps = 256.0009”
As far as I remember the krate needed to be set dynamically as firefox’s web audio runs at 44100, and webkit runs at 48000 or vice versa, this just seemed to work before, for some reason the ksmps is out by 9/1000. I’ll have to look at that code again and come up with a better way of dealing with the issue. Ed
Sounds good, later! On Sun Nov 23 2014 at 6:26:40 PM Ed Costello < phasereset@gmail.com> wrote: I'll have a look tomorrow, gonna hit the hay now, when I get a look at the examples I'll let ya know,
Ed
On 24 Nov 2014 00:23, "Steven Yi" < stevenyi@gmail.com> wrote: Compiling with -O0 got things working. However, what I'm getting now is that the examples don't work:
"sample rate overrides: esr = 44100.0000, ekr = 172.2650, ksmps = 256" libcsound.js:128 "sr = 44100, kr = 172.265, ksmps = 256.0009"
Could you see about running the examples that are in cs6's page (use the update_example_libs_from_dist.sh script) and see if you get the same thing there? Also, any ideas what would cause the problem with O2? Maybe we need to add some more functions to the exported functions list?
On Sun Nov 23 2014 at 6:18:02 PM Ed Costello < phasereset@gmail.com> wrote: No I just actually tested with the simple example in the wac paper, maybe try with that, I compiled with latest emscripten used a web server and ran it on chrome, actually when I think of it I just used O0 to compile, maybe it doesn't work with O2 I think that's the default in the build script
On 24 Nov 2014 00:13, "Steven Yi" < stevenyi@gmail.com> wrote: Hm, that didn't change anything. Do you have any other changes in the index.html or anything maybe?
On Sun Nov 23 2014 at 6:03:47 PM Ed Costello < phasereset@gmail.com> wrote: Yeah I'd say try running the simple http server python thing in the directory and check if it works then
On 24 Nov 2014 00:00, "Steven Yi" < stevenyi@gmail.com> wrote: Hey hey,
I pulled that request in. However, when I try building and running the examples with the stuff I built, it doesn't seem to work here:
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead jquery.js:1 Successfully compiled asm.js code (total compilation time 1143ms; not stored in cache) libcsound.js NS_ERROR_DOM_BAD_URI: Access to restricted URI denied libcsound.js:1 Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead jquery.js:1
If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information. 16 libcsound.js:1 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help http://xhr.spec.whatwg.org/ fileToString.js:16 not well-formed index.txt:1 Use of Mutation Events is deprecated. Use MutationObserver instead. script.js:19
Any ideas? Do I need to access this using a server or something?
Thanks! steven
On Sun Nov 23 2014 at 4:02:06 PM Edward Costello < EDWARD.COSTELLO@nuim.ie> wrote:
Whoah nice! Could you submit changes you have there as a pull request?
On Sun, Nov 23, 2014, 3:42 PM Edward Costello < EDWARD.COSTELLO@nuim.ie> wrote: Hey,
It works! Just getting error messages on the console now saying that Csound mutex isn’t implemented on this platform but other than that we seem to be good. Ed
Hey man,
I have been pretty busy over the weekend so I didn’t get a chance to build it yet, I’ve still got some things to do today, but I’ll try building it later on Ed
Hey Ed!
Did you have a chance to look at this email?
I'm at the airport now and getting ready to go home. Got loads of time though, so I am going to try to catch up with all the stuff that's been queued up to do. ;P
Later! steven ---------- Forwarded message --------- From: Steven Yi < stevenyi@gmail.com> Date: Fri Nov 21 2014 at 2:35:39 PM Subject: Re: [Cs-dev] Update for Emscripten To: Developer discussions < csound-devel@lists.sourceforge.net> Hey Ed,
I tried just #ifdef'ing out the problem functions in Engine/csound_orc.y. This seemed to compile but now I'm getting an infinite loop at startup. (Note, this is buiding with -DBUILD_MULTI_CORE=0 in build.sh). Could you give this csound_orc.y a try (just drop into Engine and rebuild with build.sh in emscripten folder)?
steven On Wed Nov 19 2014 at 10:51:49 AM Edward Costello < phasereset@gmail.com> wrote: Yeah cool man, whenever you get a chance is great. Looking forward to seeing how it performs with the new builds of Emscripten. Ed
Thanks Ed, I'm now getting the error reported. I think what happened is that I had set BUILD_MULTI_CORE=0 thinking that would get rid of the multicore stuff for CS6. However, the codebase as it is today assumes you're building with multicore (hence the missing symbol) and doesn't really work without that flag enabled. I turned that back on to 1, but now there's compilation issues having to get around not having pthreads. Just need to go through and add some more #ifdef __EMSCRIPTEN__ in there, or need to #ifdef out the the calls to the parallel code in csound_orc.y.
I'm flying out this morning for a conference and I have some last minute things to do for a presentation tomorrow. I'll take a look at this sometime Friday or after. On Wed Nov 19 2014 at 6:15:10 AM Edward Costello < phasereset@gmail.com> wrote: Find the CsoundObj.js attached, had a look at the source and csp_orc_sa_instr_add_tree is not implemented as asm.js it’s just left as a stub for some reason.
Hi Ed, Could you send any changes you've made to CsoundObj.js and other files here? I can probably help better if I can reproduce the issue locally.
steven On Mon Nov 17 2014 at 6:27:19 PM Edward Costello < phasereset@gmail.com> wrote: Ok, so that error actually isn’t an error, it’s just a warning that all the javascript hasn’t loaded yet. So I can instantiate Csound now, I had to change some of the cwrap functions in the constructor as you used to be able to give the input/output arguments to the C function without square braces if there was only 1 argument, now you have to put them always in square braces, so that will have to change. e.g from this:
var _process = cwrap('CsoundObj_process', 'number', ['number', 'number', 'number', 'number']);
to this:
var _process = cwrap('CsoundObj_process', ['number'], ['number', 'number', 'number', 'number']); But now I am getting crashes when I try to compile an orchestra with this:
missing function: csp_orc_sa_instr_add_tree libcsound.js:1
Ok,
I did a fresh clone and it builds fine now. Unfortunately it won’t run, I’m getting this weird error:
run() called, but dependencies remain, so not running libcsound.js:1
I need to investigate further, I’ll have a look tomorrow and if I don’t come up with anything I’ll ask on the mailing list.
------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk_______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/csound-devel
------------------------------ ------------------------------ ------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk_______________________________________________Csound-devel mailing list Csound-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/csound-devel
------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk_______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/csound-devel
------------------------------ ------------------------------ ------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk_______________________________________________Csound-devel mailing list Csound-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/csound-devel
------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk_______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/csound-devel
<csound_orc.y>
|