[Csnd] New jsfx plugins
Date | 2019-09-07 16:40 |
From | Eduardo Moguillansky |
Subject | [Csnd] New jsfx plugins |
Dear all, preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has a diode simulation, feedback and other non-linearities. Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). Source lives at https://github.com/csound-plugins/csound-plugins Documentation: https://csound-plugins.github.io/csound-plugins/ I am grateful for any feedback, Eduardo Moguillansky klibA hashtable for csound
polyMultiple (parallel or sequential) instances of an opcode
jsfxA csound interface to the opensource implementation of jsfx
schedSchedule an action when note is stopped
elseCollection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx
|
Date | 2019-09-07 18:07 |
From | Rory Walsh |
Subject | Re: [Csnd] New jsfx plugins |
Great work Eduardo. So one can run any jsfx scripts out there in Csound? Brilliant. On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:
|
Date | 2019-09-07 18:57 |
From | Rory Walsh |
Subject | Re: [Csnd] New jsfx plugins |
👏 On Sat, 7 Sep 2019 at 19:48, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:
|
Date | 2019-09-07 19:47 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd] New jsfx plugins |
On 07.09.19 19:07, Rory Walsh wrote:
yes
|
Date | 2019-09-07 20:38 |
From | Steven Yi |
Subject | Re: [Csnd] New jsfx plugins |
This looks really neat, thanks for sharing! I did run into a problem though in trying to build the plugins. I followed the README.md and when running the cmake command I got: -- make_plugin: else CMake Warning at CMakeLists.txt:74 (message): Skipping /Users/syyigmmbp/work/csound/csound-plugins/src/jsusfx because no CMakeLists.txt file was found Call Stack (most recent call first): CMakeLists.txt:194 (ADD_ALL_SUBDIRECTORIES) Is there supposed to be a .gitmodules file to pull in jsusfx? That directory is empty here. Thanks! Steven On Sat, Sep 7, 2019 at 2:57 PM Rory Walsh <rorywalsh@ear.ie> wrote:
|
Date | 2019-09-07 20:50 |
From | Victor Lazzarini |
Subject | Re: [Csnd] New jsfx plugins |
Great to see this. It looks like an alternative to faust. I think we could invest in doing a JIT compiler for UDOs ad yet another alternative. Prof. Victor Lazzarini
Maynooth University
Ireland
|
Date | 2019-09-07 23:37 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd] New jsfx plugins |
On 07.09.19 21:38, Steven Yi wrote:
Sorry, this was its own repo before and it did not really get
added. Now fixed, please try again
|
Date | 2019-09-08 15:13 |
From | Oeyvind Brandtsegg |
Subject | Re: [Csnd] New jsfx plugins |
+1, yes, This is very nice. Thank you! The Lossius Ambisonics Toolkit for jsfx now available in Csound. Neat! lør. 7. sep. 2019 kl. 21:50 skrev Victor Lazzarini <Victor.Lazzarini@mu.ie>:
|
Date | 2019-09-08 15:37 |
From | Steven Yi |
Subject | Re: [Csnd] New jsfx plugins |
Pulled and tried again and got stuck here: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc libjsusfx.a CMakeFiles/jsusfx.dir/jsusfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_file.cpp.o CMakeFiles/jsusfx.dir/jsusfx_gfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_serialize.cpp.o CMakeFiles/jsusfx.dir/riff.cpp.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-compiler.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-eval.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-ram.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-yylex.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-cfunc.c.o CMakeFiles/jsusfx.dir/WDL/fft.c.o ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o ar: ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o: No such file or directory make[2]: *** [src/jsusfx/jsfx-src/libjsusfx.a] Error 1 make[2]: *** Deleting file `src/jsusfx/jsfx-src/libjsusfx.a' make[1]: *** [src/jsusfx/jsfx-src/CMakeFiles/jsusfx.dir/all] Error 2 make: *** [all] Error 2 Also, I should have mentioned I'm building this on OSX 10.14.6. On Sat, Sep 7, 2019 at 6:37 PM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:
|
Date | 2019-09-08 20:39 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd] New jsfx plugins |
Thanks for trying. I think I know at least where this is not working. Can you try the following? Inside jsfx-src/WDL/eel2 $ php a2x64.ph elf64 And check which files are generated (maybe look at ctime).
Looking at the code below (taken from the Makefile), it seems that
in macOS you need to install nasm via brew. Normally this code
generates two files, named after the architecture being built (for
me, this generates asm-nseel-x64.asm and asm-nseel-x64.o, so the
fact that you are missing asm-nseel-x64-macho.o indicates that
this step is not working. if ($fmt == "macho64") { $fnout="asm-nseel-x64-macho.asm"; $nasm
= "nasm64"; $want_funclead = "_"; }
On 08.09.19 16:37, Steven Yi wrote:
|
Date | 2019-09-09 16:21 |
From | Steven Yi |
Subject | Re: [Csnd] New jsfx plugins |
After installing homebrew and running "php a2x64.php elf64" in that directory it created the macho.asm file. Compiling after that worked out well and after installation I was able to run the jsfx examples. Looks like that was the only missing piece, thanks! On Sun, Sep 8, 2019 at 3:40 PM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:
|
Date | 2019-09-09 16:21 |
From | Steven Yi |
Subject | Re: [Csnd] New jsfx plugins |
(correction, installing "nasm" with homebrew, no installing homebrew ;) ) On Mon, Sep 9, 2019 at 11:21 AM Steven Yi <stevenyi@gmail.com> wrote:
|
Date | 2019-09-09 16:44 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd] New jsfx plugins |
Thanks for confirming this. I would like to provide binaries for macos for these plugins, but lack the knowledge of how to setup travis to build this. It would be great if anyone with some experience in this regard could help out.
On 09.09.19 17:21, Steven Yi wrote:
|
Date | 2019-09-09 16:47 |
From | Steven Yi |
Subject | Re: [Csnd] New jsfx plugins |
Travis does not store artifacts itself so has to upload to a second location which can be tricky. I think Rory has done some work with continuous builds with Azure Pipelines and various platforms, perhaps he could chime in. On Mon, Sep 9, 2019 at 11:44 AM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:
|