Csound Csound-dev Csound-tekno Search About

[Cs-dev] ANNOUNCEMENT: csound.node now available

Date2015-06-12 15:42
FromMichael Gogins
Subject[Cs-dev] ANNOUNCEMENT: csound.node now available
AttachmentsNone  None  
I am pleased to announce a beta version of csound.node, available in the develop branch of the Csound Git repository. 

Csound.node is an addon for NW.js (which used to be called Node-Webkit) at http://nwjs.io. Csound.node enables running Csound and calling the Csound API from Web pages in NW.js. This is conceptually similar to how the Emscripten build or the PNaCl build of Csound work -- except that with csound.node, there is no need for a Web server.

In other words, NW.js runs as a desktop application that uses an embedded Web browser for a user interface. In the JavaScript context for this Web browser, there is a "csound" object that exposes the basic core of the Csound API. 

Currently there is one rudimentary demo in the Csound examples/html directory. It displays the orc and sco for "Xanadu" in a Web page and plays it when the page is loaded, printing the Csound log messages in the JavaScript console. It should be possible to generate scores in JavaScript, create custom user interfaces in HTML, generate and display 2- and 3-dimensional animated graphics, typeset mathematical equations, embed hyperlinks, interact with the file system, and so on, and so on, and even edit Csound pieces in the browser with an embedded JavaScript code editor such as Ace (http://ace.c9.io/).

Currently csound.node is available only in the Csound GIT repository as source code, but it should build and run on all desktop platforms that support NW.js. Some basic instructions for building and installing csound.node are included in the example HTML file.

There are some potential advantages for NW.js over other HTML platforms for Csound: the Web browser and the JavaScript back end run in the same process, and this has got to be more efficient. Also, the C++ code for csound.node is very small, and it is completely cross-platform.

My goal is that HTML code to be used with Csound should behave the same on all HTML-enabled platforms, with the same "csound" object and methods. Currently this is true of Csound for Android and CsoundQt, and it will soon be the case for csound.node as well.

I will be presenting a talk and demonstration of csound.node, as well as Csound for Android, CsoundQt with HTML, and some other JavaScript computer music goodies such as Gibber, at the upcoming New York Electroacoustic Music Festival (http://nycemf.org/): "New Developments in JavaScript and HTML for Computer Music," in Paper Presentation 2, Wednesday, June 24, 10:30-11:30 AM, New York University, Education Building, 35 West 4th Street, Room 303.

Regards,
Mike Gogins

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com

Date2015-06-12 16:04
FromVictor Lazzarini
SubjectRe: ANNOUNCEMENT: csound.node now available
AttachmentsNone  None  
This looks very interesting. Can you run this on a browser or does it run only as a standalone application? Can you deploy it over the web?

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 12 Jun 2015, at 15:42, Michael Gogins <michael.gogins@gmail.com> wrote:

I am pleased to announce a beta version of csound.node, available in the develop branch of the Csound Git repository. 

Csound.node is an addon for NW.js (which used to be called Node-Webkit) at http://nwjs.io. Csound.node enables running Csound and calling the Csound API from Web pages in NW.js. This is conceptually similar to how the Emscripten build or the PNaCl build of Csound work -- except that with csound.node, there is no need for a Web server.

In other words, NW.js runs as a desktop application that uses an embedded Web browser for a user interface. In the JavaScript context for this Web browser, there is a "csound" object that exposes the basic core of the Csound API. 

Currently there is one rudimentary demo in the Csound examples/html directory. It displays the orc and sco for "Xanadu" in a Web page and plays it when the page is loaded, printing the Csound log messages in the JavaScript console. It should be possible to generate scores in JavaScript, create custom user interfaces in HTML, generate and display 2- and 3-dimensional animated graphics, typeset mathematical equations, embed hyperlinks, interact with the file system, and so on, and so on, and even edit Csound pieces in the browser with an embedded JavaScript code editor such as Ace (http://ace.c9.io/).

Currently csound.node is available only in the Csound GIT repository as source code, but it should build and run on all desktop platforms that support NW.js. Some basic instructions for building and installing csound.node are included in the example HTML file.

There are some potential advantages for NW.js over other HTML platforms for Csound: the Web browser and the JavaScript back end run in the same process, and this has got to be more efficient. Also, the C++ code for csound.node is very small, and it is completely cross-platform.

My goal is that HTML code to be used with Csound should behave the same on all HTML-enabled platforms, with the same "csound" object and methods. Currently this is true of Csound for Android and CsoundQt, and it will soon be the case for csound.node as well.

I will be presenting a talk and demonstration of csound.node, as well as Csound for Android, CsoundQt with HTML, and some other JavaScript computer music goodies such as Gibber, at the upcoming New York Electroacoustic Music Festival (http://nycemf.org/): "New Developments in JavaScript and HTML for Computer Music," in Paper Presentation 2, Wednesday, June 24, 10:30-11:30 AM, New York University, Education Building, 35 West 4th Street, Room 303.

Regards,
Mike Gogins

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com
------------------------------------------------------------------------------
_______________________________________________
Csound-users mailing list
Csound-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-users
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2015-06-12 16:05
FromDave Seidel
SubjectRe: [Cs-dev] ANNOUNCEMENT: csound.node now available
AttachmentsNone  None  

Great stuff, Mike!

On Jun 12, 2015 7:43 AM, "Michael Gogins" <michael.gogins@gmail.com> wrote:
I am pleased to announce a beta version of csound.node, available in the develop branch of the Csound Git repository. 

Csound.node is an addon for NW.js (which used to be called Node-Webkit) at http://nwjs.io. Csound.node enables running Csound and calling the Csound API from Web pages in NW.js. This is conceptually similar to how the Emscripten build or the PNaCl build of Csound work -- except that with csound.node, there is no need for a Web server.

In other words, NW.js runs as a desktop application that uses an embedded Web browser for a user interface. In the JavaScript context for this Web browser, there is a "csound" object that exposes the basic core of the Csound API. 

Currently there is one rudimentary demo in the Csound examples/html directory. It displays the orc and sco for "Xanadu" in a Web page and plays it when the page is loaded, printing the Csound log messages in the JavaScript console. It should be possible to generate scores in JavaScript, create custom user interfaces in HTML, generate and display 2- and 3-dimensional animated graphics, typeset mathematical equations, embed hyperlinks, interact with the file system, and so on, and so on, and even edit Csound pieces in the browser with an embedded JavaScript code editor such as Ace (http://ace.c9.io/).

Currently csound.node is available only in the Csound GIT repository as source code, but it should build and run on all desktop platforms that support NW.js. Some basic instructions for building and installing csound.node are included in the example HTML file.

There are some potential advantages for NW.js over other HTML platforms for Csound: the Web browser and the JavaScript back end run in the same process, and this has got to be more efficient. Also, the C++ code for csound.node is very small, and it is completely cross-platform.

My goal is that HTML code to be used with Csound should behave the same on all HTML-enabled platforms, with the same "csound" object and methods. Currently this is true of Csound for Android and CsoundQt, and it will soon be the case for csound.node as well.

I will be presenting a talk and demonstration of csound.node, as well as Csound for Android, CsoundQt with HTML, and some other JavaScript computer music goodies such as Gibber, at the upcoming New York Electroacoustic Music Festival (http://nycemf.org/): "New Developments in JavaScript and HTML for Computer Music," in Paper Presentation 2, Wednesday, June 24, 10:30-11:30 AM, New York University, Education Building, 35 West 4th Street, Room 303.

Regards,
Mike Gogins

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com

------------------------------------------------------------------------------

_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-devel


Date2015-06-12 16:17
FromMichael Gogins
SubjectRe: ANNOUNCEMENT: csound.node now available
AttachmentsNone  None  
No, it runs only on the desktop, that is in fact the point. I had no desire at all to replicate Emscripten or PNaCl Csound. But I will ensure that the same pieces that run on the Web from a server, such as pieces for Emscripten Csound or PNaCl Csound, will also run in csound.node.

My thesis is that HTML and JavaScript and associated "Web protocols" are a potentially unifying standard in computer music (and other fields of computing as well). I am convinced that computer music (and other fields of computing as well) suffers from a serious case of reinventing the wheel all the time. This has the effect of gobbling up the time of talented people for no good reason, and dividing up the field into a lot of mutually incompatible communities based on choice of progrmaming language, application, etc. A real "tower of Babel" situation.

One of the things that csound.node will do is really cut down the time required to produce a stand-alone application (an interactive piece, say, or a teaching application) based on Csound, while at the same time quite possibly expanding the features available for use.

I think that probably for my own work, I will use csound.node on the desktop at home and Csound for Android while traveling, but the csd files will run the same on both platforms. 

This ability to run the same csds on both computers and devices is something I already use with CsoundQt and Csound for Android.

Regards,
Mike




-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com

On Fri, Jun 12, 2015 at 11:04 AM, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
This looks very interesting. Can you run this on a browser or does it run only as a standalone application? Can you deploy it over the web?

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 12 Jun 2015, at 15:42, Michael Gogins <michael.gogins@gmail.com> wrote:

I am pleased to announce a beta version of csound.node, available in the develop branch of the Csound Git repository. 

Csound.node is an addon for NW.js (which used to be called Node-Webkit) at http://nwjs.io. Csound.node enables running Csound and calling the Csound API from Web pages in NW.js. This is conceptually similar to how the Emscripten build or the PNaCl build of Csound work -- except that with csound.node, there is no need for a Web server.

In other words, NW.js runs as a desktop application that uses an embedded Web browser for a user interface. In the JavaScript context for this Web browser, there is a "csound" object that exposes the basic core of the Csound API. 

Currently there is one rudimentary demo in the Csound examples/html directory. It displays the orc and sco for "Xanadu" in a Web page and plays it when the page is loaded, printing the Csound log messages in the JavaScript console. It should be possible to generate scores in JavaScript, create custom user interfaces in HTML, generate and display 2- and 3-dimensional animated graphics, typeset mathematical equations, embed hyperlinks, interact with the file system, and so on, and so on, and even edit Csound pieces in the browser with an embedded JavaScript code editor such as Ace (http://ace.c9.io/).

Currently csound.node is available only in the Csound GIT repository as source code, but it should build and run on all desktop platforms that support NW.js. Some basic instructions for building and installing csound.node are included in the example HTML file.

There are some potential advantages for NW.js over other HTML platforms for Csound: the Web browser and the JavaScript back end run in the same process, and this has got to be more efficient. Also, the C++ code for csound.node is very small, and it is completely cross-platform.

My goal is that HTML code to be used with Csound should behave the same on all HTML-enabled platforms, with the same "csound" object and methods. Currently this is true of Csound for Android and CsoundQt, and it will soon be the case for csound.node as well.

I will be presenting a talk and demonstration of csound.node, as well as Csound for Android, CsoundQt with HTML, and some other JavaScript computer music goodies such as Gibber, at the upcoming New York Electroacoustic Music Festival (http://nycemf.org/): "New Developments in JavaScript and HTML for Computer Music," in Paper Presentation 2, Wednesday, June 24, 10:30-11:30 AM, New York University, Education Building, 35 West 4th Street, Room 303.

Regards,
Mike Gogins

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com
------------------------------------------------------------------------------
_______________________________________________
Csound-users mailing list
Csound-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-users
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

------------------------------------------------------------------------------

_______________________________________________
Csound-users mailing list
Csound-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-users
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here



Date2015-06-12 19:07
From"\\js"
SubjectRe: ANNOUNCEMENT: csound.node now available
hi

i haven't looked at your release yet, but it sounds very exciting. i
wonder what kind of overlap it has with the w3 web audio group's work:
http://webaudio.github.io/web-audio-api/

i think you are correct that there will be some kind of web audio
standard that emerges. it just would be too useful to pass up- we all
understand that same network audio dream each in our own way.

the csound engine and conceptual framework have survived for many
[internet] years because they help musicians do things they want to. i
think the w3 group's plan is very much informed by the abstractions also
found in csound framework, but maybe that's just a bigger grouping that
i am not seeing.

i am disappointed that i will not be able to your presentation, as i
very much enjoyed your android csound overview at the csound conference
in boston. it's completely up to you, of course, but if there are
materials from your talk, or streaming options for virtually attending,
please let us know.

best of luck with the presentation and thx for all your work in moving
csound ahead.



------------------------------------------------------------------------------
_______________________________________________
Csound-users mailing list
Csound-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-users
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2015-06-12 19:45
FromMichael Gogins
SubjectRe: ANNOUNCEMENT: csound.node now available
AttachmentsNone  None  
I will be sure to post my slides on my blog.

About Web Audio, I have studied this a bit. The Emscripten build of Csound uses Web Audio. So does the live coding in JavaScript program Gibber, which I will also talk about.

I do plan to add a Web Audio interface to the "csound" object in all HTML environments where it does not already exist. I do not yet know how difficult this is.

There are some drawbacks to Web Audio (according to the Gibber people, who wrote about Gibber and Web Audio in Computer Music Journal). The latency is not the greatest and the Gibber programmers had to jump through some impressive hoops.

Best,
Mike


-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com

On Fri, Jun 12, 2015 at 2:07 PM, \js <johns@or8.net> wrote:
hi

i haven't looked at your release yet, but it sounds very exciting. i
wonder what kind of overlap it has with the w3 web audio group's work:
http://webaudio.github.io/web-audio-api/

i think you are correct that there will be some kind of web audio
standard that emerges. it just would be too useful to pass up- we all
understand that same network audio dream each in our own way.

the csound engine and conceptual framework have survived for many
[internet] years because they help musicians do things they want to. i
think the w3 group's plan is very much informed by the abstractions also
found in csound framework, but maybe that's just a bigger grouping that
i am not seeing.

i am disappointed that i will not be able to your presentation, as i
very much enjoyed your android csound overview at the csound conference
in boston. it's completely up to you, of course, but if there are
materials from your talk, or streaming options for virtually attending,
please let us know.

best of luck with the presentation and thx for all your work in moving
csound ahead.



------------------------------------------------------------------------------
_______________________________________________
Csound-users mailing list
Csound-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-users
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here