Common Music and Csound 5
Date | 2005-10-10 18:43 |
From | Michael Gogins |
Subject | Common Music and Csound 5 |
I will undertake a Lisp or Scheme binding for Csound 5 so that the Csound API can be called natively from Common Music. Before I do this, I would like to know which version of Scheme or Lisp I should target. I will be doing the development work on Windows and Linux. Rick Taube's book comes with CLisp for Windows and this also can be used on OS X and Linux, so I would guess this is the best target. CLisp runs Common Music just fine on my PC. I do not have time to maintain multiple bindings, so I need to know the best compromise. Unfortunately, the most mature SWIG facilities for Lisp are actually for Guile and MzScheme (both Scheme). On my PC, Guile does not run and building it requires many dependencies, which I can obtain if consensus favors Guile over CLisp. As part of this work, I will be moving the C++ form of the Csound API from the CsoundVST project into the Csound API library proper, and also moving the Python wrappers. This will NOT introduce any additional dependencies in the Csound API library build except for SWIG, and I can book in the generated wrapper code so that even SWIG is not required for the normal build. Please advise me which is the best version of Lisp or Scheme to use for Common Music and the Csound API. I would like to finish this work before Csound 5 achieves release status. Thanks, Mike |
Date | 2005-10-10 19:04 |
From | Dave Phillips |
Subject | Re: [Cs-dev] Common Music and Csound 5 |
Hi Michael: Consider recent releases of CMUCL and/or SBCL if CM's new realtime services will be involved. Best, dp Michael Gogins wrote: >I will undertake a Lisp or Scheme binding for Csound 5 so that the Csound API can be called natively from Common Music. > >Before I do this, I would like to know which version of Scheme or Lisp I should target. I will be doing the development work on Windows and Linux. Rick Taube's book comes with CLisp for Windows and this also can be used on OS X and Linux, so I would guess this is the best target. CLisp runs Common Music just fine on my PC. > >I do not have time to maintain multiple bindings, so I need to know the best compromise. > >Unfortunately, the most mature SWIG facilities for Lisp are actually for Guile and MzScheme (both Scheme). On my PC, Guile does not run and building it requires many dependencies, which I can obtain if consensus favors Guile over CLisp. > >As part of this work, I will be moving the C++ form of the Csound API from the CsoundVST project into the Csound API library proper, and also moving the Python wrappers. > >This will NOT introduce any additional dependencies in the Csound API library build except for SWIG, and I can book in the generated wrapper code so that even SWIG is not required for the normal build. > >Please advise me which is the best version of Lisp or Scheme to use for Common Music and the Csound API. > >I would like to finish this work before Csound 5 achieves release status. > >Thanks, >Mike > > > > > >------------------------------------------------------- >This SF.Net email is sponsored by: >Power Architecture Resource Center: Free content, downloads, discussions, >and more. http://solutions.newsforge.com/ibmarch.tmpl >_______________________________________________ >Csound-devel mailing list >Csound-devel@lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/csound-devel > > > ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2005-10-10 19:50 |
From | Rick Taube |
Subject | [Cs-dev] Re: Common Music and Csound 5 |
On Oct 10, 2005, at 12:43 PM, Michael Gogins wrote: > I will undertake a Lisp or Scheme binding for Csound 5 so that the > Csound API can be called natively from Common Music. > > Before I do this, I would like to know which version of Scheme or Lisp > I should target. I will be doing the development work on Windows and > Linux. Rick Taube's book comes with CLisp for Windows and this also > can be used on OS X and Linux, so I would guess this is the best > target. CLisp runs Common Music just fine on my PC. > > I do not have time to maintain multiple bindings, so I need to know > the best compromise. Hi, In my opinion the best compromise would be to write your code using CFFI for Common Lisp -- that way your code should run in every Lisp that CFFI supports, and it currently supports most CLs on all the major platforms. You can read about CFFI here: http://common-lisp.net/project/cffi/ Note that currently CM does not use CFFI yet but I will definately be moving to it (both CM and Lambda-GTK) in the fairly near future At any rate that would not have any bearing on your work, ehich if I understandd it, could be used by any common lisp (or scheme) program. For Scheme there is no simple solution -- my understanding is that the next release of Gauche Scheme (0.8.6) will include an "easy" FFI interface. http://www.shiro.dreamhost.com/scheme/gauche/ If you do a scheme binding I would perfer Gauche over Guile, mainly because we have CM's realtime scheduler working in Gauche (sort of...), but also because I have had too many problems trying to build Guile on OS X. Hoever CM 2.7.0 does run in Guile, Gauche and STklos Schemes. > As part of this work, I will be moving the C++ form of the Csound API > from the CsoundVST project into the Csound API library proper, and > also moving the Python wrappers. An FFI to C++ will entail additional headache, there is a project called Verragano that does this, I belileve that it uses CFFI to help do this: http://common-lisp.net/project/fetter/ > > I would like to finish this work before Csound 5 achieves release > status. Depending on what you want to do, another possibilty would be to connect Csound and CM using OSC via UDP -- I think that OSC/UDP is working in CM right now, or if it isnt, it will be very shortly (ie days not weeks) Hope this helps! --rick ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/csound-devel |
Date | 2005-10-10 20:34 |
From | Istvan Varga |
Subject | Re: Common Music and Csound 5 |
Michael Gogins wrote: > As part of this work, I will be moving the C++ form of the Csound API > from the CsoundVST project into the Csound API library proper, and also > moving the Python wrappers. > > This will NOT introduce any additional dependencies in the Csound API > library build except for SWIG, and I can book in the generated wrapper > code so that even SWIG is not required for the normal build. Why is it absolutely necessary to integrate the C++ and other wrappers into the main library ? |
Date | 2005-10-11 02:59 |
From | Anthony Kozar |
Subject | Re: [Cs-dev] Common Music and Csound 5 |
Mike, I really appreciate that you are taking on the Lisp/Scheme binding! Rick's advice is definitely probably the best to follow :) Regarding the C++ and Python wrappers: I admit that I do not see the necessity of putting them into the main library. BUT, I know that many people have voiced similar feelings over several of my proposed additions to Csound 5. I have reached the point where I "know for certain" that my additions are necessary and I am willing to accept that you are motivated by similar conviction. Therefore, follow through with what you know to be true! (I hope to do the same with my proposals before Csound 5 is released :) I have just one request for the bindings. Can you please make it so that it is possible to build without them via some compiler defines or something. There is an old version of SWIG for MacOS 9, but it seems likely to me that it will not work for this (just guessing). Thanks! That's all that I need! Anthony Kozar anthonykozar AT sbcglobal DOT net http://akozar.spymac.net/ Michael Gogins wrote on 10/10/05 1:43 PM: > As part of this work, I will be moving the C++ form of the Csound API from the > CsoundVST project into the Csound API library proper, and also moving the > Python wrappers. > > This will NOT introduce any additional dependencies in the Csound API library > build except for SWIG, and I can book in the generated wrapper code so that > even SWIG is not required for the normal build. ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2005-10-11 03:31 |
From | "M. Edward (Ed) Borasky" |
Subject | [Cs-dev] Re: [CM] Common Music and Csound 5 |
Speaking mostly as a Linux user, the best Lisp for Common Music in my environment has proved to be CMUCL. SBCL is "almost" there but CMUCL supports Rick's new GUI out of the box. Clisp doesn't support the GUI but will run CM. Guile doesn't support the GUI but will run CM. GCL won't run CM. On the Windows side, I haven't used any Lisp but the CygWin port of Clisp. Most of the CygWin Lisp/Scheme packages use Clisp or Guile. In any event, both Clisp and Guile are ready on CygWin, so the choice is up to you. So ... Rick ... how difficult would it be to put the CM GUI up on Clisp or Guile? Michael Gogins wrote: >I will undertake a Lisp or Scheme binding for Csound 5 so that the Csound API can be called natively from Common Music. > >Before I do this, I would like to know which version of Scheme or Lisp I should target. I will be doing the development work on Windows and Linux. Rick Taube's book comes with CLisp for Windows and this also can be used on OS X and Linux, so I would guess this is the best target. CLisp runs Common Music just fine on my PC. > >I do not have time to maintain multiple bindings, so I need to know the best compromise. > >Unfortunately, the most mature SWIG facilities for Lisp are actually for Guile and MzScheme (both Scheme). On my PC, Guile does not run and building it requires many dependencies, which I can obtain if consensus favors Guile over CLisp. > >As part of this work, I will be moving the C++ form of the Csound API from the CsoundVST project into the Csound API library proper, and also moving the Python wrappers. > >This will NOT introduce any additional dependencies in the Csound API library build except for SWIG, and I can book in the generated wrapper code so that even SWIG is not required for the normal build. > >Please advise me which is the best version of Lisp or Scheme to use for Common Music and the Csound API. > >I would like to finish this work before Csound 5 achieves release status. > >Thanks, >Mike > > > >_______________________________________________ >Cmdist mailing list >Cmdist@ccrma.stanford.edu >http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > > > -- M. Edward (Ed) Borasky http://www.borasky-research.net/ http://borasky-research.blogspot.com/ http://pdxneurosemantics.com http://pdx-sales-coach.com http://algocompsynth.com ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/csound-devel |
Date | 2005-10-11 07:59 |
From | Stéphane Rollandin |
Subject | Re: Common Music and Csound 5 |
Michael Gogins wrote: > Please advise me which is the best version of Lisp or Scheme to use for Common Music and the Csound API. CLisp seems a good Lisp candidate, althoulg SBCL would probably be a better one if the Windows port was available at last. as for Scheme, PLT Scheme has my preference. I'm not familiar with C developement (last time I coded C was 15 years ago or so), so my question may be stupid, but here it is: why do you have to write a specific binding for each and every langage ? all high-level langages have a FFI protocol; couldn't Csound expose whatever functions/interfaces are necessary so that the binding can easily be written on the other langage side ? (I'm specifically interested into a Squeak Smalltalk binding) regards, Stef |