Csound Csound-dev Csound-tekno Search About

catching events in web based csound (pnacl)

Date2016-01-16 16:28
FromRichard
Subjectcatching events in web based csound (pnacl)
For my web based Music tutor program, I would like to catch midi events 
(a midi file being played) and show the notes on a javascript piano.
My previous version of Music Tutor was stand alone, and required csound 
to be installed, OSC and python.
I used OSC then as the 'glue' between midi events and the keyboard.
What would be the best way to catch midi events in the pnacl based 
situation? I am considering web sockets, but I have to catch the midi 
notes first....

Richard

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 17:13
FromTarmo Johannes
SubjectRe: catching events in web based csound (pnacl)

Hi,

 

I have never used it but I think Csound pnacl has MIDI support:

http://vlazzarini.github.io/docs/pnacl_csound.html

 

MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.

NoteOn(channel,number,velocity) - sends a Note ON message to Csound.

NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.

PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch message to Csound.

ControlChange(channel,control,amount) - sends a control change message to Csound.

ProgramChange(channel,control) - sends a program change message to Csound.

Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.

PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.

 

For catching MIDI messages from the javascript side I think there is web midi api

 

https://webaudio.github.io/web-midi-api/

 

Otherwise websockets is definitely good idea, now there is websocket opcode inside Csound.

 

Hope it helps a bit further!

 

tarmo

 

 

On Saturday 16 January 2016 17:28:23 you wrote:

> For my web based Music tutor program, I would like to catch midi events

> (a midi file being played) and show the notes on a javascript piano.

> My previous version of Music Tutor was stand alone, and required csound

> to be installed, OSC and python.

> I used OSC then as the 'glue' between midi events and the keyboard.

> What would be the best way to catch midi events in the pnacl based

> situation? I am considering web sockets, but I have to catch the midi

> notes first....

>

> Richard

>

> Csound mailing list

> Csound@listserv.heanet.ie

> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND

> Send bugs reports to

> https://github.com/csound/csound/issues

> Discussions of bugs and features can be posted here

 


Date2016-01-16 18:01
FromRichard
SubjectRe: catching events in web based csound (pnacl)
Thank Tarmo,

Yes we have web sockets now, forgot about that.
My lessons are short midi files played by csound (and textual explanations) and the notes have to be animated on a GUI piano keyboard. So I guess csound websockets are my best option, provided they work in the pnacl environment....

Richard

On 16/01/16 18:13, Tarmo Johannes wrote:

Hi,

 

I have never used it but I think Csound pnacl has MIDI support:

http://vlazzarini.github.io/docs/pnacl_csound.html

 

MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.

NoteOn(channel,number,velocity) - sends a Note ON message to Csound.

NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.

PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch message to Csound.

ControlChange(channel,control,amount) - sends a control change message to Csound.

ProgramChange(channel,control) - sends a program change message to Csound.

Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.

PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.

 

For catching MIDI messages from the javascript side I think there is web midi api

 

https://webaudio.github.io/web-midi-api/

 

Otherwise websockets is definitely good idea, now there is websocket opcode inside Csound.

 

Hope it helps a bit further!

 

tarmo

 

 

On Saturday 16 January 2016 17:28:23 you wrote:

> For my web based Music tutor program, I would like to catch midi events

> (a midi file being played) and show the notes on a javascript piano.

> My previous version of Music Tutor was stand alone, and required csound

> to be installed, OSC and python.

> I used OSC then as the 'glue' between midi events and the keyboard.

> What would be the best way to catch midi events in the pnacl based

> situation? I am considering web sockets, but I have to catch the midi

> notes first....

>

> Richard

>

> Csound mailing list

> Csound@listserv.heanet.ie

> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND

> Send bugs reports to

> https://github.com/csound/csound/issues

> Discussions of bugs and features can be posted here

 

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here


Date2016-01-16 18:06
FromTarmo Johannes
SubjectRe: catching events in web based csound (pnacl)
Hi,

I am afraid they don't, in fact  - as pnacl does not support csound plugins 
and websocket depends on libwebsockets library.

But you can implement receiving websockets in the javascript side and foraward 
data via channels events as needed.

Best!
tarmo

On Saturday 16 January 2016 19:01:58 you wrote:
> Thank Tarmo,
> 
> Yes we have web sockets now, forgot about that.
> My lessons are short midi files played by csound (and textual
> explanations) and the notes have to be animated on a GUI piano keyboard.
> So I guess csound websockets are my best option, provided they work in
> the pnacl environment....
> 
> Richard
> 
> On 16/01/16 18:13, Tarmo Johannes wrote:
> > Hi,
> > 
> > I have never used it but I think Csound pnacl has MIDI support:
> > 
> > http://vlazzarini.github.io/docs/pnacl_csound.html
> > 
> > MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
> > 
> > NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
> > 
> > NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
> > 
> > PolyAftertouch(channel,number,aftertouch) - sends a polyphonic
> > aftertouch message to Csound.
> > 
> > ControlChange(channel,control,amount) - sends a control change message
> > to Csound.
> > 
> > ProgramChange(channel,control) - sends a program change message to
> > Csound.
> > 
> > Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.
> > 
> > PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
> > 
> > For catching MIDI messages from the javascript side I think there is
> > web midi api
> > 
> > https://webaudio.github.io/web-midi-api/
> > 
> > Otherwise websockets is definitely good idea, now there is websocket
> > opcode inside Csound.
> > 
> > Hope it helps a bit further!
> > 
> > tarmo
> > 
> > On Saturday 16 January 2016 17:28:23 you wrote:
> > > For my web based Music tutor program, I would like to catch midi events
> > > 
> > > (a midi file being played) and show the notes on a javascript piano.
> > > 
> > > My previous version of Music Tutor was stand alone, and required csound
> > > 
> > > to be installed, OSC and python.
> > > 
> > > I used OSC then as the 'glue' between midi events and the keyboard.
> > > 
> > > What would be the best way to catch midi events in the pnacl based
> > > 
> > > situation? I am considering web sockets, but I have to catch the midi
> > > 
> > > notes first....
> > > 
> > > 
> > > 
> > > Richard
> > > 
> > > 
> > > 
> > > Csound mailing list
> > > 
> > > Csound@listserv.heanet.ie
> > > 
> > > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> > > 
> > > Send bugs reports to
> > > 
> > > https://github.com/csound/csound/issues
> > > 
> > > Discussions of bugs and features can be posted here
> > 
> > Csound mailing list Csound@listserv.heanet.ie
> > 
> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> > https://github.com/csound/csound/issues Discussions of bugs and
> > features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 18:07
FromMichael Gogins
SubjectRe: catching events in web based csound (pnacl)
Why do you need Csound websockets? With PNaCl you can just go ahead
and use JavaScript WebSockets.

Regards,
Mike

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


On Sat, Jan 16, 2016 at 1:01 PM, Richard  wrote:
> Thank Tarmo,
>
> Yes we have web sockets now, forgot about that.
> My lessons are short midi files played by csound (and textual explanations)
> and the notes have to be animated on a GUI piano keyboard. So I guess csound
> websockets are my best option, provided they work in the pnacl
> environment....
>
> Richard
>
>
> On 16/01/16 18:13, Tarmo Johannes wrote:
>
> Hi,
>
>
>
> I have never used it but I think Csound pnacl has MIDI support:
>
> http://vlazzarini.github.io/docs/pnacl_csound.html
>
>
>
> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>
> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>
> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>
> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch
> message to Csound.
>
> ControlChange(channel,control,amount) - sends a control change message to
> Csound.
>
> ProgramChange(channel,control) - sends a program change message to Csound.
>
> Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.
>
> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>
>
>
> For catching MIDI messages from the javascript side I think there is web
> midi api
>
>
>
> https://webaudio.github.io/web-midi-api/
>
>
>
> Otherwise websockets is definitely good idea, now there is websocket opcode
> inside Csound.
>
>
>
> Hope it helps a bit further!
>
>
>
> tarmo
>
>
>
>
>
> On Saturday 16 January 2016 17:28:23 you wrote:
>
>> For my web based Music tutor program, I would like to catch midi events
>
>> (a midi file being played) and show the notes on a javascript piano.
>
>> My previous version of Music Tutor was stand alone, and required csound
>
>> to be installed, OSC and python.
>
>> I used OSC then as the 'glue' between midi events and the keyboard.
>
>> What would be the best way to catch midi events in the pnacl based
>
>> situation? I am considering web sockets, but I have to catch the midi
>
>> notes first....
>
>>
>
>> Richard
>
>>
>
>> Csound mailing list
>
>> Csound@listserv.heanet.ie
>
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>
>> Send bugs reports to
>
>> https://github.com/csound/csound/issues
>
>> Discussions of bugs and features can be posted here
>
>
>
> Csound mailing list Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here
>
>
> Csound mailing list Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 18:11
FromRichard
SubjectRe: catching events in web based csound (pnacl)
Yes, but how do I get the midi events (of the midi file being played) to 
javascript? Channel messages?

regards,
Richard

On 16/01/16 19:07, Michael Gogins wrote:
> Why do you need Csound websockets? With PNaCl you can just go ahead
> and use JavaScript WebSockets.
>
> Regards,
> Mike
>
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
>
>
> On Sat, Jan 16, 2016 at 1:01 PM, Richard  wrote:
>> Thank Tarmo,
>>
>> Yes we have web sockets now, forgot about that.
>> My lessons are short midi files played by csound (and textual explanations)
>> and the notes have to be animated on a GUI piano keyboard. So I guess csound
>> websockets are my best option, provided they work in the pnacl
>> environment....
>>
>> Richard
>>
>>
>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>
>> Hi,
>>
>>
>>
>> I have never used it but I think Csound pnacl has MIDI support:
>>
>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>
>>
>>
>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>
>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>
>> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>>
>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch
>> message to Csound.
>>
>> ControlChange(channel,control,amount) - sends a control change message to
>> Csound.
>>
>> ProgramChange(channel,control) - sends a program change message to Csound.
>>
>> Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.
>>
>> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>>
>>
>>
>> For catching MIDI messages from the javascript side I think there is web
>> midi api
>>
>>
>>
>> https://webaudio.github.io/web-midi-api/
>>
>>
>>
>> Otherwise websockets is definitely good idea, now there is websocket opcode
>> inside Csound.
>>
>>
>>
>> Hope it helps a bit further!
>>
>>
>>
>> tarmo
>>
>>
>>
>>
>>
>> On Saturday 16 January 2016 17:28:23 you wrote:
>>
>>> For my web based Music tutor program, I would like to catch midi events
>>> (a midi file being played) and show the notes on a javascript piano.
>>> My previous version of Music Tutor was stand alone, and required csound
>>> to be installed, OSC and python.
>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>> What would be the best way to catch midi events in the pnacl based
>>> situation? I am considering web sockets, but I have to catch the midi
>>> notes first....
>>> Richard
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>> https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>
>>
>> Csound mailing list Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>> https://github.com/csound/csound/issues Discussions of bugs and features can
>> be posted here
>>
>>
>> Csound mailing list Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>> https://github.com/csound/csound/issues Discussions of bugs and features can
>> be posted here
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>          https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 18:56
FromMichael Gogins
SubjectRe: catching events in web based csound (pnacl)
Build score events, send them to Csound.

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


On Sat, Jan 16, 2016 at 1:11 PM, Richard  wrote:
> Yes, but how do I get the midi events (of the midi file being played) to
> javascript? Channel messages?
>
> regards,
> Richard
>
>
> On 16/01/16 19:07, Michael Gogins wrote:
>>
>> Why do you need Csound websockets? With PNaCl you can just go ahead
>> and use JavaScript WebSockets.
>>
>> Regards,
>> Mike
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>>
>>
>> On Sat, Jan 16, 2016 at 1:01 PM, Richard  wrote:
>>>
>>> Thank Tarmo,
>>>
>>> Yes we have web sockets now, forgot about that.
>>> My lessons are short midi files played by csound (and textual
>>> explanations)
>>> and the notes have to be animated on a GUI piano keyboard. So I guess
>>> csound
>>> websockets are my best option, provided they work in the pnacl
>>> environment....
>>>
>>> Richard
>>>
>>>
>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>>
>>> Hi,
>>>
>>>
>>>
>>> I have never used it but I think Csound pnacl has MIDI support:
>>>
>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>>
>>>
>>>
>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>>
>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>>
>>> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>>>
>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch
>>> message to Csound.
>>>
>>> ControlChange(channel,control,amount) - sends a control change message to
>>> Csound.
>>>
>>> ProgramChange(channel,control) - sends a program change message to
>>> Csound.
>>>
>>> Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.
>>>
>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>>>
>>>
>>>
>>> For catching MIDI messages from the javascript side I think there is web
>>> midi api
>>>
>>>
>>>
>>> https://webaudio.github.io/web-midi-api/
>>>
>>>
>>>
>>> Otherwise websockets is definitely good idea, now there is websocket
>>> opcode
>>> inside Csound.
>>>
>>>
>>>
>>> Hope it helps a bit further!
>>>
>>>
>>>
>>> tarmo
>>>
>>>
>>>
>>>
>>>
>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>>
>>>> For my web based Music tutor program, I would like to catch midi events
>>>> (a midi file being played) and show the notes on a javascript piano.
>>>> My previous version of Music Tutor was stand alone, and required csound
>>>> to be installed, OSC and python.
>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>> What would be the best way to catch midi events in the pnacl based
>>>> situation? I am considering web sockets, but I have to catch the midi
>>>> notes first....
>>>> Richard
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>> https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>>
>>>
>>>
>>> Csound mailing list Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>> https://github.com/csound/csound/issues Discussions of bugs and features
>>> can
>>> be posted here
>>>
>>>
>>> Csound mailing list Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>> https://github.com/csound/csound/issues Discussions of bugs and features
>>> can
>>> be posted here
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>          https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 19:27
FromVictor Lazzarini
SubjectRe: catching events in web based csound (pnacl)
Why do you need that?
========================
Dr Victor Lazzarini
Dean of Arts, Celtic Studies and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 16 Jan 2016, at 18:11, Richard  wrote:
> 
> Yes, but how do I get the midi events (of the midi file being played) to javascript? Channel messages?
> 
> regards,
> Richard
> 
> On 16/01/16 19:07, Michael Gogins wrote:
>> Why do you need Csound websockets? With PNaCl you can just go ahead
>> and use JavaScript WebSockets.
>> 
>> Regards,
>> Mike
>> 
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>> 
>> 
>> On Sat, Jan 16, 2016 at 1:01 PM, Richard  wrote:
>>> Thank Tarmo,
>>> 
>>> Yes we have web sockets now, forgot about that.
>>> My lessons are short midi files played by csound (and textual explanations)
>>> and the notes have to be animated on a GUI piano keyboard. So I guess csound
>>> websockets are my best option, provided they work in the pnacl
>>> environment....
>>> 
>>> Richard
>>> 
>>> 
>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>> 
>>> Hi,
>>> 
>>> 
>>> 
>>> I have never used it but I think Csound pnacl has MIDI support:
>>> 
>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>> 
>>> 
>>> 
>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>> 
>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>> 
>>> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>>> 
>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch
>>> message to Csound.
>>> 
>>> ControlChange(channel,control,amount) - sends a control change message to
>>> Csound.
>>> 
>>> ProgramChange(channel,control) - sends a program change message to Csound.
>>> 
>>> Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.
>>> 
>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>>> 
>>> 
>>> 
>>> For catching MIDI messages from the javascript side I think there is web
>>> midi api
>>> 
>>> 
>>> 
>>> https://webaudio.github.io/web-midi-api/
>>> 
>>> 
>>> 
>>> Otherwise websockets is definitely good idea, now there is websocket opcode
>>> inside Csound.
>>> 
>>> 
>>> 
>>> Hope it helps a bit further!
>>> 
>>> 
>>> 
>>> tarmo
>>> 
>>> 
>>> 
>>> 
>>> 
>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>> 
>>>> For my web based Music tutor program, I would like to catch midi events
>>>> (a midi file being played) and show the notes on a javascript piano.
>>>> My previous version of Music Tutor was stand alone, and required csound
>>>> to be installed, OSC and python.
>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>> What would be the best way to catch midi events in the pnacl based
>>>> situation? I am considering web sockets, but I have to catch the midi
>>>> notes first....
>>>> Richard
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>> https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>> 
>>> 
>>> Csound mailing list Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>> https://github.com/csound/csound/issues Discussions of bugs and features can
>>> be posted here
>>> 
>>> 
>>> Csound mailing list Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>> https://github.com/csound/csound/issues Discussions of bugs and features can
>>> be posted here
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>       https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 19:27
FromVictor Lazzarini
SubjectRe: catching events in web based csound (pnacl)
But Csound can read MIDI files directly (there is a pnacl example showing that).
========================
Dr Victor Lazzarini
Dean of Arts, Celtic Studies and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 16 Jan 2016, at 18:56, Michael Gogins  wrote:
> 
> Build score events, send them to Csound.
> 
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
> 
> 
> On Sat, Jan 16, 2016 at 1:11 PM, Richard  wrote:
>> Yes, but how do I get the midi events (of the midi file being played) to
>> javascript? Channel messages?
>> 
>> regards,
>> Richard
>> 
>> 
>> On 16/01/16 19:07, Michael Gogins wrote:
>>> 
>>> Why do you need Csound websockets? With PNaCl you can just go ahead
>>> and use JavaScript WebSockets.
>>> 
>>> Regards,
>>> Mike
>>> 
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>> 
>>> 
>>> On Sat, Jan 16, 2016 at 1:01 PM, Richard  wrote:
>>>> 
>>>> Thank Tarmo,
>>>> 
>>>> Yes we have web sockets now, forgot about that.
>>>> My lessons are short midi files played by csound (and textual
>>>> explanations)
>>>> and the notes have to be animated on a GUI piano keyboard. So I guess
>>>> csound
>>>> websockets are my best option, provided they work in the pnacl
>>>> environment....
>>>> 
>>>> Richard
>>>> 
>>>> 
>>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> 
>>>> 
>>>> I have never used it but I think Csound pnacl has MIDI support:
>>>> 
>>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>>> 
>>>> 
>>>> 
>>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>>> 
>>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>>> 
>>>> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>>>> 
>>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch
>>>> message to Csound.
>>>> 
>>>> ControlChange(channel,control,amount) - sends a control change message to
>>>> Csound.
>>>> 
>>>> ProgramChange(channel,control) - sends a program change message to
>>>> Csound.
>>>> 
>>>> Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.
>>>> 
>>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>>>> 
>>>> 
>>>> 
>>>> For catching MIDI messages from the javascript side I think there is web
>>>> midi api
>>>> 
>>>> 
>>>> 
>>>> https://webaudio.github.io/web-midi-api/
>>>> 
>>>> 
>>>> 
>>>> Otherwise websockets is definitely good idea, now there is websocket
>>>> opcode
>>>> inside Csound.
>>>> 
>>>> 
>>>> 
>>>> Hope it helps a bit further!
>>>> 
>>>> 
>>>> 
>>>> tarmo
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>>> 
>>>>> For my web based Music tutor program, I would like to catch midi events
>>>>> (a midi file being played) and show the notes on a javascript piano.
>>>>> My previous version of Music Tutor was stand alone, and required csound
>>>>> to be installed, OSC and python.
>>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>>> What would be the best way to catch midi events in the pnacl based
>>>>> situation? I am considering web sockets, but I have to catch the midi
>>>>> notes first....
>>>>> Richard
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> Send bugs reports to
>>>>> https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>> 
>>>> 
>>>> 
>>>> Csound mailing list Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>> https://github.com/csound/csound/issues Discussions of bugs and features
>>>> can
>>>> be posted here
>>>> 
>>>> 
>>>> Csound mailing list Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>> https://github.com/csound/csound/issues Discussions of bugs and features
>>>> can
>>>> be posted here
>>> 
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>         https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>> 
>> 
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>       https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 19:57
FromMichael Gogins
SubjectRe: catching events in web based csound (pnacl)
He doesn't want to do this in real time? I interpreted "catch MIDI
events" as receiving MIDI events in real time.

Regards,
Mike

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


On Sat, Jan 16, 2016 at 2:27 PM, Victor Lazzarini
 wrote:
> But Csound can read MIDI files directly (there is a pnacl example showing that).
> ========================
> Dr Victor Lazzarini
> Dean of Arts, Celtic Studies and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 16 Jan 2016, at 18:56, Michael Gogins  wrote:
>>
>> Build score events, send them to Csound.
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>>
>>
>> On Sat, Jan 16, 2016 at 1:11 PM, Richard  wrote:
>>> Yes, but how do I get the midi events (of the midi file being played) to
>>> javascript? Channel messages?
>>>
>>> regards,
>>> Richard
>>>
>>>
>>> On 16/01/16 19:07, Michael Gogins wrote:
>>>>
>>>> Why do you need Csound websockets? With PNaCl you can just go ahead
>>>> and use JavaScript WebSockets.
>>>>
>>>> Regards,
>>>> Mike
>>>>
>>>> -----------------------------------------------------
>>>> Michael Gogins
>>>> Irreducible Productions
>>>> http://michaelgogins.tumblr.com
>>>> Michael dot Gogins at gmail dot com
>>>>
>>>>
>>>> On Sat, Jan 16, 2016 at 1:01 PM, Richard  wrote:
>>>>>
>>>>> Thank Tarmo,
>>>>>
>>>>> Yes we have web sockets now, forgot about that.
>>>>> My lessons are short midi files played by csound (and textual
>>>>> explanations)
>>>>> and the notes have to be animated on a GUI piano keyboard. So I guess
>>>>> csound
>>>>> websockets are my best option, provided they work in the pnacl
>>>>> environment....
>>>>>
>>>>> Richard
>>>>>
>>>>>
>>>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>>
>>>>>
>>>>> I have never used it but I think Csound pnacl has MIDI support:
>>>>>
>>>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>>>>
>>>>>
>>>>>
>>>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>>>>
>>>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>>>>
>>>>> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>>>>>
>>>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch
>>>>> message to Csound.
>>>>>
>>>>> ControlChange(channel,control,amount) - sends a control change message to
>>>>> Csound.
>>>>>
>>>>> ProgramChange(channel,control) - sends a program change message to
>>>>> Csound.
>>>>>
>>>>> Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.
>>>>>
>>>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>>>>>
>>>>>
>>>>>
>>>>> For catching MIDI messages from the javascript side I think there is web
>>>>> midi api
>>>>>
>>>>>
>>>>>
>>>>> https://webaudio.github.io/web-midi-api/
>>>>>
>>>>>
>>>>>
>>>>> Otherwise websockets is definitely good idea, now there is websocket
>>>>> opcode
>>>>> inside Csound.
>>>>>
>>>>>
>>>>>
>>>>> Hope it helps a bit further!
>>>>>
>>>>>
>>>>>
>>>>> tarmo
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>>>>
>>>>>> For my web based Music tutor program, I would like to catch midi events
>>>>>> (a midi file being played) and show the notes on a javascript piano.
>>>>>> My previous version of Music Tutor was stand alone, and required csound
>>>>>> to be installed, OSC and python.
>>>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>>>> What would be the best way to catch midi events in the pnacl based
>>>>>> situation? I am considering web sockets, but I have to catch the midi
>>>>>> notes first....
>>>>>> Richard
>>>>>> Csound mailing list
>>>>>> Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>> Send bugs reports to
>>>>>> https://github.com/csound/csound/issues
>>>>>> Discussions of bugs and features can be posted here
>>>>>
>>>>>
>>>>>
>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>> https://github.com/csound/csound/issues Discussions of bugs and features
>>>>> can
>>>>> be posted here
>>>>>
>>>>>
>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>> https://github.com/csound/csound/issues Discussions of bugs and features
>>>>> can
>>>>> be posted here
>>>>
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>         https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>>
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>        https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 20:03
FromRichard
SubjectRe: catching events in web based csound (pnacl)
Csound is playing the midi files in pnacl with a GM soundfont. But I 
need to animate the keyboard displayed in the browser with the midi 
notes being played.

Richard

On 16/01/16 20:27, Victor Lazzarini wrote:
> But Csound can read MIDI files directly (there is a pnacl example showing that).
> ========================
> Dr Victor Lazzarini
> Dean of Arts, Celtic Studies and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 16 Jan 2016, at 18:56, Michael Gogins  wrote:
>>
>> Build score events, send them to Csound.
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>>
>>
>> On Sat, Jan 16, 2016 at 1:11 PM, Richard  wrote:
>>> Yes, but how do I get the midi events (of the midi file being played) to
>>> javascript? Channel messages?
>>>
>>> regards,
>>> Richard
>>>
>>>
>>> On 16/01/16 19:07, Michael Gogins wrote:
>>>> Why do you need Csound websockets? With PNaCl you can just go ahead
>>>> and use JavaScript WebSockets.
>>>>
>>>> Regards,
>>>> Mike
>>>>
>>>> -----------------------------------------------------
>>>> Michael Gogins
>>>> Irreducible Productions
>>>> http://michaelgogins.tumblr.com
>>>> Michael dot Gogins at gmail dot com
>>>>
>>>>
>>>> On Sat, Jan 16, 2016 at 1:01 PM, Richard  wrote:
>>>>> Thank Tarmo,
>>>>>
>>>>> Yes we have web sockets now, forgot about that.
>>>>> My lessons are short midi files played by csound (and textual
>>>>> explanations)
>>>>> and the notes have to be animated on a GUI piano keyboard. So I guess
>>>>> csound
>>>>> websockets are my best option, provided they work in the pnacl
>>>>> environment....
>>>>>
>>>>> Richard
>>>>>
>>>>>
>>>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>>
>>>>>
>>>>> I have never used it but I think Csound pnacl has MIDI support:
>>>>>
>>>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>>>>
>>>>>
>>>>>
>>>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>>>>
>>>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>>>>
>>>>> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>>>>>
>>>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch
>>>>> message to Csound.
>>>>>
>>>>> ControlChange(channel,control,amount) - sends a control change message to
>>>>> Csound.
>>>>>
>>>>> ProgramChange(channel,control) - sends a program change message to
>>>>> Csound.
>>>>>
>>>>> Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.
>>>>>
>>>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>>>>>
>>>>>
>>>>>
>>>>> For catching MIDI messages from the javascript side I think there is web
>>>>> midi api
>>>>>
>>>>>
>>>>>
>>>>> https://webaudio.github.io/web-midi-api/
>>>>>
>>>>>
>>>>>
>>>>> Otherwise websockets is definitely good idea, now there is websocket
>>>>> opcode
>>>>> inside Csound.
>>>>>
>>>>>
>>>>>
>>>>> Hope it helps a bit further!
>>>>>
>>>>>
>>>>>
>>>>> tarmo
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>>>>
>>>>>> For my web based Music tutor program, I would like to catch midi events
>>>>>> (a midi file being played) and show the notes on a javascript piano.
>>>>>> My previous version of Music Tutor was stand alone, and required csound
>>>>>> to be installed, OSC and python.
>>>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>>>> What would be the best way to catch midi events in the pnacl based
>>>>>> situation? I am considering web sockets, but I have to catch the midi
>>>>>> notes first....
>>>>>> Richard
>>>>>> Csound mailing list
>>>>>> Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>> Send bugs reports to
>>>>>> https://github.com/csound/csound/issues
>>>>>> Discussions of bugs and features can be posted here
>>>>>
>>>>>
>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>> https://github.com/csound/csound/issues Discussions of bugs and features
>>>>> can
>>>>> be posted here
>>>>>
>>>>>
>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>> https://github.com/csound/csound/issues Discussions of bugs and features
>>>>> can
>>>>> be posted here
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>          https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>        https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>          https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 20:38
FromMichael Gogins
SubjectRe: catching events in web based csound (pnacl)
Check this out. I think you could adapt this to use PNaCl fairly easily.

https://github.com/qiao/euphony

In fact, there are a lot of wonderful goodies here that would be
useful with PNaCl, csound.node, Csound for Android, CsoundQt, or any
other system that allows you to call the Csound API using JavaScript.
It should be possible to embed MIDI files directly in Web pages,
create a piano roll viewer for Csound scores, play an on-screen 3D
piano keyboard, etc., etc.

Regards,
Mike

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


On Sat, Jan 16, 2016 at 3:03 PM, Richard  wrote:
> Csound is playing the midi files in pnacl with a GM soundfont. But I need to
> animate the keyboard displayed in the browser with the midi notes being
> played.
>
> Richard
>
>
> On 16/01/16 20:27, Victor Lazzarini wrote:
>>
>> But Csound can read MIDI files directly (there is a pnacl example showing
>> that).
>> ========================
>> Dr Victor Lazzarini
>> Dean of Arts, Celtic Studies and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>>
>>> On 16 Jan 2016, at 18:56, Michael Gogins 
>>> wrote:
>>>
>>> Build score events, send them to Csound.
>>>
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>>
>>>
>>> On Sat, Jan 16, 2016 at 1:11 PM, Richard  wrote:
>>>>
>>>> Yes, but how do I get the midi events (of the midi file being played) to
>>>> javascript? Channel messages?
>>>>
>>>> regards,
>>>> Richard
>>>>
>>>>
>>>> On 16/01/16 19:07, Michael Gogins wrote:
>>>>>
>>>>> Why do you need Csound websockets? With PNaCl you can just go ahead
>>>>> and use JavaScript WebSockets.
>>>>>
>>>>> Regards,
>>>>> Mike
>>>>>
>>>>> -----------------------------------------------------
>>>>> Michael Gogins
>>>>> Irreducible Productions
>>>>> http://michaelgogins.tumblr.com
>>>>> Michael dot Gogins at gmail dot com
>>>>>
>>>>>
>>>>> On Sat, Jan 16, 2016 at 1:01 PM, Richard  wrote:
>>>>>>
>>>>>> Thank Tarmo,
>>>>>>
>>>>>> Yes we have web sockets now, forgot about that.
>>>>>> My lessons are short midi files played by csound (and textual
>>>>>> explanations)
>>>>>> and the notes have to be animated on a GUI piano keyboard. So I guess
>>>>>> csound
>>>>>> websockets are my best option, provided they work in the pnacl
>>>>>> environment....
>>>>>>
>>>>>> Richard
>>>>>>
>>>>>>
>>>>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>>
>>>>>>
>>>>>> I have never used it but I think Csound pnacl has MIDI support:
>>>>>>
>>>>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>>>>>
>>>>>>
>>>>>>
>>>>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>>>>>
>>>>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>>>>>
>>>>>> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>>>>>>
>>>>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic
>>>>>> aftertouch
>>>>>> message to Csound.
>>>>>>
>>>>>> ControlChange(channel,control,amount) - sends a control change message
>>>>>> to
>>>>>> Csound.
>>>>>>
>>>>>> ProgramChange(channel,control) - sends a program change message to
>>>>>> Csound.
>>>>>>
>>>>>> Aftertouch(channel,amount) - sends a mono aftertouch message to
>>>>>> Csound.
>>>>>>
>>>>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>>>>>>
>>>>>>
>>>>>>
>>>>>> For catching MIDI messages from the javascript side I think there is
>>>>>> web
>>>>>> midi api
>>>>>>
>>>>>>
>>>>>>
>>>>>> https://webaudio.github.io/web-midi-api/
>>>>>>
>>>>>>
>>>>>>
>>>>>> Otherwise websockets is definitely good idea, now there is websocket
>>>>>> opcode
>>>>>> inside Csound.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Hope it helps a bit further!
>>>>>>
>>>>>>
>>>>>>
>>>>>> tarmo
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>>>>>
>>>>>>> For my web based Music tutor program, I would like to catch midi
>>>>>>> events
>>>>>>> (a midi file being played) and show the notes on a javascript piano.
>>>>>>> My previous version of Music Tutor was stand alone, and required
>>>>>>> csound
>>>>>>> to be installed, OSC and python.
>>>>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>>>>> What would be the best way to catch midi events in the pnacl based
>>>>>>> situation? I am considering web sockets, but I have to catch the midi
>>>>>>> notes first....
>>>>>>> Richard
>>>>>>> Csound mailing list
>>>>>>> Csound@listserv.heanet.ie
>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>> Send bugs reports to
>>>>>>> https://github.com/csound/csound/issues
>>>>>>> Discussions of bugs and features can be posted here
>>>>>>
>>>>>>
>>>>>>
>>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>>> https://github.com/csound/csound/issues Discussions of bugs and
>>>>>> features
>>>>>> can
>>>>>> be posted here
>>>>>>
>>>>>>
>>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>>> https://github.com/csound/csound/issues Discussions of bugs and
>>>>>> features
>>>>>> can
>>>>>> be posted here
>>>>>
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> Send bugs reports to
>>>>>          https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>>
>>>>
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>        https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>         https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>          https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 20:49
FromRichard
SubjectRe: catching events in web based csound (pnacl)
Wow, this is awesome! Thanks for sharing...

Richard

On 16/01/16 21:38, Michael Gogins wrote:
> Check this out. I think you could adapt this to use PNaCl fairly easily.
>
> https://github.com/qiao/euphony
>
> In fact, there are a lot of wonderful goodies here that would be
> useful with PNaCl, csound.node, Csound for Android, CsoundQt, or any
> other system that allows you to call the Csound API using JavaScript.
> It should be possible to embed MIDI files directly in Web pages,
> create a piano roll viewer for Csound scores, play an on-screen 3D
> piano keyboard, etc., etc.
>
> Regards,
> Mike
>
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
>
>
> On Sat, Jan 16, 2016 at 3:03 PM, Richard  wrote:
>> Csound is playing the midi files in pnacl with a GM soundfont. But I need to
>> animate the keyboard displayed in the browser with the midi notes being
>> played.
>>
>> Richard
>>
>>
>> On 16/01/16 20:27, Victor Lazzarini wrote:
>>> But Csound can read MIDI files directly (there is a pnacl example showing
>>> that).
>>> ========================
>>> Dr Victor Lazzarini
>>> Dean of Arts, Celtic Studies and Philosophy,
>>> Maynooth University,
>>> Maynooth, Co Kildare, Ireland
>>> Tel: 00 353 7086936
>>> Fax: 00 353 1 7086952
>>>
>>>> On 16 Jan 2016, at 18:56, Michael Gogins 
>>>> wrote:
>>>>
>>>> Build score events, send them to Csound.
>>>>
>>>> -----------------------------------------------------
>>>> Michael Gogins
>>>> Irreducible Productions
>>>> http://michaelgogins.tumblr.com
>>>> Michael dot Gogins at gmail dot com
>>>>
>>>>
>>>> On Sat, Jan 16, 2016 at 1:11 PM, Richard  wrote:
>>>>> Yes, but how do I get the midi events (of the midi file being played) to
>>>>> javascript? Channel messages?
>>>>>
>>>>> regards,
>>>>> Richard
>>>>>
>>>>>
>>>>> On 16/01/16 19:07, Michael Gogins wrote:
>>>>>> Why do you need Csound websockets? With PNaCl you can just go ahead
>>>>>> and use JavaScript WebSockets.
>>>>>>
>>>>>> Regards,
>>>>>> Mike
>>>>>>
>>>>>> -----------------------------------------------------
>>>>>> Michael Gogins
>>>>>> Irreducible Productions
>>>>>> http://michaelgogins.tumblr.com
>>>>>> Michael dot Gogins at gmail dot com
>>>>>>
>>>>>>
>>>>>> On Sat, Jan 16, 2016 at 1:01 PM, Richard  wrote:
>>>>>>> Thank Tarmo,
>>>>>>>
>>>>>>> Yes we have web sockets now, forgot about that.
>>>>>>> My lessons are short midi files played by csound (and textual
>>>>>>> explanations)
>>>>>>> and the notes have to be animated on a GUI piano keyboard. So I guess
>>>>>>> csound
>>>>>>> websockets are my best option, provided they work in the pnacl
>>>>>>> environment....
>>>>>>>
>>>>>>> Richard
>>>>>>>
>>>>>>>
>>>>>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I have never used it but I think Csound pnacl has MIDI support:
>>>>>>>
>>>>>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>>>>>>
>>>>>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>>>>>>
>>>>>>> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>>>>>>>
>>>>>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic
>>>>>>> aftertouch
>>>>>>> message to Csound.
>>>>>>>
>>>>>>> ControlChange(channel,control,amount) - sends a control change message
>>>>>>> to
>>>>>>> Csound.
>>>>>>>
>>>>>>> ProgramChange(channel,control) - sends a program change message to
>>>>>>> Csound.
>>>>>>>
>>>>>>> Aftertouch(channel,amount) - sends a mono aftertouch message to
>>>>>>> Csound.
>>>>>>>
>>>>>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> For catching MIDI messages from the javascript side I think there is
>>>>>>> web
>>>>>>> midi api
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> https://webaudio.github.io/web-midi-api/
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Otherwise websockets is definitely good idea, now there is websocket
>>>>>>> opcode
>>>>>>> inside Csound.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Hope it helps a bit further!
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> tarmo
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>>>>>>
>>>>>>>> For my web based Music tutor program, I would like to catch midi
>>>>>>>> events
>>>>>>>> (a midi file being played) and show the notes on a javascript piano.
>>>>>>>> My previous version of Music Tutor was stand alone, and required
>>>>>>>> csound
>>>>>>>> to be installed, OSC and python.
>>>>>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>>>>>> What would be the best way to catch midi events in the pnacl based
>>>>>>>> situation? I am considering web sockets, but I have to catch the midi
>>>>>>>> notes first....
>>>>>>>> Richard
>>>>>>>> Csound mailing list
>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>> Send bugs reports to
>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>
>>>>>>>
>>>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>>>> https://github.com/csound/csound/issues Discussions of bugs and
>>>>>>> features
>>>>>>> can
>>>>>>> be posted here
>>>>>>>
>>>>>>>
>>>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>>>> https://github.com/csound/csound/issues Discussions of bugs and
>>>>>>> features
>>>>>>> can
>>>>>>> be posted here
>>>>>> Csound mailing list
>>>>>> Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>> Send bugs reports to
>>>>>>           https://github.com/csound/csound/issues
>>>>>> Discussions of bugs and features can be posted here
>>>>>
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> Send bugs reports to
>>>>>         https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>          https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>           https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>          https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 20:54
FromVictor Lazzarini
SubjectRe: catching events in web based csound (pnacl)
You could use channel messages.
========================
Dr Victor Lazzarini
Dean of Arts, Celtic Studies and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 16 Jan 2016, at 20:03, Richard  wrote:
> 
> Csound is playing the midi files in pnacl with a GM soundfont. But I need to animate the keyboard displayed in the browser with the midi notes being played.
> 
> Richard
> 
> On 16/01/16 20:27, Victor Lazzarini wrote:
>> But Csound can read MIDI files directly (there is a pnacl example showing that).
>> ========================
>> Dr Victor Lazzarini
>> Dean of Arts, Celtic Studies and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>> 
>>> On 16 Jan 2016, at 18:56, Michael Gogins  wrote:
>>> 
>>> Build score events, send them to Csound.
>>> 
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>> 
>>> 
>>> On Sat, Jan 16, 2016 at 1:11 PM, Richard  wrote:
>>>> Yes, but how do I get the midi events (of the midi file being played) to
>>>> javascript? Channel messages?
>>>> 
>>>> regards,
>>>> Richard
>>>> 
>>>> 
>>>> On 16/01/16 19:07, Michael Gogins wrote:
>>>>> Why do you need Csound websockets? With PNaCl you can just go ahead
>>>>> and use JavaScript WebSockets.
>>>>> 
>>>>> Regards,
>>>>> Mike
>>>>> 
>>>>> -----------------------------------------------------
>>>>> Michael Gogins
>>>>> Irreducible Productions
>>>>> http://michaelgogins.tumblr.com
>>>>> Michael dot Gogins at gmail dot com
>>>>> 
>>>>> 
>>>>> On Sat, Jan 16, 2016 at 1:01 PM, Richard  wrote:
>>>>>> Thank Tarmo,
>>>>>> 
>>>>>> Yes we have web sockets now, forgot about that.
>>>>>> My lessons are short midi files played by csound (and textual
>>>>>> explanations)
>>>>>> and the notes have to be animated on a GUI piano keyboard. So I guess
>>>>>> csound
>>>>>> websockets are my best option, provided they work in the pnacl
>>>>>> environment....
>>>>>> 
>>>>>> Richard
>>>>>> 
>>>>>> 
>>>>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> I have never used it but I think Csound pnacl has MIDI support:
>>>>>> 
>>>>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>>>>> 
>>>>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>>>>> 
>>>>>> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>>>>>> 
>>>>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch
>>>>>> message to Csound.
>>>>>> 
>>>>>> ControlChange(channel,control,amount) - sends a control change message to
>>>>>> Csound.
>>>>>> 
>>>>>> ProgramChange(channel,control) - sends a program change message to
>>>>>> Csound.
>>>>>> 
>>>>>> Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.
>>>>>> 
>>>>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> For catching MIDI messages from the javascript side I think there is web
>>>>>> midi api
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> https://webaudio.github.io/web-midi-api/
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Otherwise websockets is definitely good idea, now there is websocket
>>>>>> opcode
>>>>>> inside Csound.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Hope it helps a bit further!
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> tarmo
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>>>>> 
>>>>>>> For my web based Music tutor program, I would like to catch midi events
>>>>>>> (a midi file being played) and show the notes on a javascript piano.
>>>>>>> My previous version of Music Tutor was stand alone, and required csound
>>>>>>> to be installed, OSC and python.
>>>>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>>>>> What would be the best way to catch midi events in the pnacl based
>>>>>>> situation? I am considering web sockets, but I have to catch the midi
>>>>>>> notes first....
>>>>>>> Richard
>>>>>>> Csound mailing list
>>>>>>> Csound@listserv.heanet.ie
>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>> Send bugs reports to
>>>>>>> https://github.com/csound/csound/issues
>>>>>>> Discussions of bugs and features can be posted here
>>>>>> 
>>>>>> 
>>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>>> https://github.com/csound/csound/issues Discussions of bugs and features
>>>>>> can
>>>>>> be posted here
>>>>>> 
>>>>>> 
>>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>>> https://github.com/csound/csound/issues Discussions of bugs and features
>>>>>> can
>>>>>> be posted here
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> Send bugs reports to
>>>>>         https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>> 
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>       https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>        https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>       https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 20:55
FromMichael Gogins
SubjectRe: catching events in web based csound (pnacl)
Wait till this is happening in virtual reality. Because Csound now
runs in browsers, Csound will be there in virtual reality.

Best,
Mike

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


On Sat, Jan 16, 2016 at 3:49 PM, Richard  wrote:
> Wow, this is awesome! Thanks for sharing...
>
> Richard
>
>
> On 16/01/16 21:38, Michael Gogins wrote:
>>
>> Check this out. I think you could adapt this to use PNaCl fairly easily.
>>
>> https://github.com/qiao/euphony
>>
>> In fact, there are a lot of wonderful goodies here that would be
>> useful with PNaCl, csound.node, Csound for Android, CsoundQt, or any
>> other system that allows you to call the Csound API using JavaScript.
>> It should be possible to embed MIDI files directly in Web pages,
>> create a piano roll viewer for Csound scores, play an on-screen 3D
>> piano keyboard, etc., etc.
>>
>> Regards,
>> Mike
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>>
>>
>> On Sat, Jan 16, 2016 at 3:03 PM, Richard  wrote:
>>>
>>> Csound is playing the midi files in pnacl with a GM soundfont. But I need
>>> to
>>> animate the keyboard displayed in the browser with the midi notes being
>>> played.
>>>
>>> Richard
>>>
>>>
>>> On 16/01/16 20:27, Victor Lazzarini wrote:
>>>>
>>>> But Csound can read MIDI files directly (there is a pnacl example
>>>> showing
>>>> that).
>>>> ========================
>>>> Dr Victor Lazzarini
>>>> Dean of Arts, Celtic Studies and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>>
>>>>> On 16 Jan 2016, at 18:56, Michael Gogins 
>>>>> wrote:
>>>>>
>>>>> Build score events, send them to Csound.
>>>>>
>>>>> -----------------------------------------------------
>>>>> Michael Gogins
>>>>> Irreducible Productions
>>>>> http://michaelgogins.tumblr.com
>>>>> Michael dot Gogins at gmail dot com
>>>>>
>>>>>
>>>>> On Sat, Jan 16, 2016 at 1:11 PM, Richard  wrote:
>>>>>>
>>>>>> Yes, but how do I get the midi events (of the midi file being played)
>>>>>> to
>>>>>> javascript? Channel messages?
>>>>>>
>>>>>> regards,
>>>>>> Richard
>>>>>>
>>>>>>
>>>>>> On 16/01/16 19:07, Michael Gogins wrote:
>>>>>>>
>>>>>>> Why do you need Csound websockets? With PNaCl you can just go ahead
>>>>>>> and use JavaScript WebSockets.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Mike
>>>>>>>
>>>>>>> -----------------------------------------------------
>>>>>>> Michael Gogins
>>>>>>> Irreducible Productions
>>>>>>> http://michaelgogins.tumblr.com
>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Jan 16, 2016 at 1:01 PM, Richard 
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Thank Tarmo,
>>>>>>>>
>>>>>>>> Yes we have web sockets now, forgot about that.
>>>>>>>> My lessons are short midi files played by csound (and textual
>>>>>>>> explanations)
>>>>>>>> and the notes have to be animated on a GUI piano keyboard. So I
>>>>>>>> guess
>>>>>>>> csound
>>>>>>>> websockets are my best option, provided they work in the pnacl
>>>>>>>> environment....
>>>>>>>>
>>>>>>>> Richard
>>>>>>>>
>>>>>>>>
>>>>>>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> I have never used it but I think Csound pnacl has MIDI support:
>>>>>>>>
>>>>>>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>>>>>>>
>>>>>>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>>>>>>>
>>>>>>>> NoteOff(channel,number,velocity) - sends a Note OFF message to
>>>>>>>> Csound.
>>>>>>>>
>>>>>>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic
>>>>>>>> aftertouch
>>>>>>>> message to Csound.
>>>>>>>>
>>>>>>>> ControlChange(channel,control,amount) - sends a control change
>>>>>>>> message
>>>>>>>> to
>>>>>>>> Csound.
>>>>>>>>
>>>>>>>> ProgramChange(channel,control) - sends a program change message to
>>>>>>>> Csound.
>>>>>>>>
>>>>>>>> Aftertouch(channel,amount) - sends a mono aftertouch message to
>>>>>>>> Csound.
>>>>>>>>
>>>>>>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to
>>>>>>>> Csound.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> For catching MIDI messages from the javascript side I think there is
>>>>>>>> web
>>>>>>>> midi api
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> https://webaudio.github.io/web-midi-api/
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Otherwise websockets is definitely good idea, now there is websocket
>>>>>>>> opcode
>>>>>>>> inside Csound.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Hope it helps a bit further!
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> tarmo
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>>>>>>>
>>>>>>>>> For my web based Music tutor program, I would like to catch midi
>>>>>>>>> events
>>>>>>>>> (a midi file being played) and show the notes on a javascript
>>>>>>>>> piano.
>>>>>>>>> My previous version of Music Tutor was stand alone, and required
>>>>>>>>> csound
>>>>>>>>> to be installed, OSC and python.
>>>>>>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>>>>>>> What would be the best way to catch midi events in the pnacl based
>>>>>>>>> situation? I am considering web sockets, but I have to catch the
>>>>>>>>> midi
>>>>>>>>> notes first....
>>>>>>>>> Richard
>>>>>>>>> Csound mailing list
>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>> Send bugs reports to
>>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>>>>> https://github.com/csound/csound/issues Discussions of bugs and
>>>>>>>> features
>>>>>>>> can
>>>>>>>> be posted here
>>>>>>>>
>>>>>>>>
>>>>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>>>>> https://github.com/csound/csound/issues Discussions of bugs and
>>>>>>>> features
>>>>>>>> can
>>>>>>>> be posted here
>>>>>>>
>>>>>>> Csound mailing list
>>>>>>> Csound@listserv.heanet.ie
>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>> Send bugs reports to
>>>>>>>           https://github.com/csound/csound/issues
>>>>>>> Discussions of bugs and features can be posted here
>>>>>>
>>>>>>
>>>>>> Csound mailing list
>>>>>> Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>> Send bugs reports to
>>>>>>         https://github.com/csound/csound/issues
>>>>>> Discussions of bugs and features can be posted here
>>>>>
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> Send bugs reports to
>>>>>          https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>>
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>           https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>>
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>         https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>          https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 20:58
FromVictor Lazzarini
SubjectRe: catching events in web based csound (pnacl)
In this case, you can use the pnacl-Csound MIDI functions to send in data from a
midi source (csound.MIDIin etc).
========================
Dr Victor Lazzarini
Dean of Arts, Celtic Studies and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 16 Jan 2016, at 20:49, Richard  wrote:
> 
> Wow, this is awesome! Thanks for sharing...
> 
> Richard
> 
> On 16/01/16 21:38, Michael Gogins wrote:
>> Check this out. I think you could adapt this to use PNaCl fairly easily.
>> 
>> https://github.com/qiao/euphony
>> 
>> In fact, there are a lot of wonderful goodies here that would be
>> useful with PNaCl, csound.node, Csound for Android, CsoundQt, or any
>> other system that allows you to call the Csound API using JavaScript.
>> It should be possible to embed MIDI files directly in Web pages,
>> create a piano roll viewer for Csound scores, play an on-screen 3D
>> piano keyboard, etc., etc.
>> 
>> Regards,
>> Mike
>> 
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>> 
>> 
>> On Sat, Jan 16, 2016 at 3:03 PM, Richard  wrote:
>>> Csound is playing the midi files in pnacl with a GM soundfont. But I need to
>>> animate the keyboard displayed in the browser with the midi notes being
>>> played.
>>> 
>>> Richard
>>> 
>>> 
>>> On 16/01/16 20:27, Victor Lazzarini wrote:
>>>> But Csound can read MIDI files directly (there is a pnacl example showing
>>>> that).
>>>> ========================
>>>> Dr Victor Lazzarini
>>>> Dean of Arts, Celtic Studies and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>> 
>>>>> On 16 Jan 2016, at 18:56, Michael Gogins 
>>>>> wrote:
>>>>> 
>>>>> Build score events, send them to Csound.
>>>>> 
>>>>> -----------------------------------------------------
>>>>> Michael Gogins
>>>>> Irreducible Productions
>>>>> http://michaelgogins.tumblr.com
>>>>> Michael dot Gogins at gmail dot com
>>>>> 
>>>>> 
>>>>> On Sat, Jan 16, 2016 at 1:11 PM, Richard  wrote:
>>>>>> Yes, but how do I get the midi events (of the midi file being played) to
>>>>>> javascript? Channel messages?
>>>>>> 
>>>>>> regards,
>>>>>> Richard
>>>>>> 
>>>>>> 
>>>>>> On 16/01/16 19:07, Michael Gogins wrote:
>>>>>>> Why do you need Csound websockets? With PNaCl you can just go ahead
>>>>>>> and use JavaScript WebSockets.
>>>>>>> 
>>>>>>> Regards,
>>>>>>> Mike
>>>>>>> 
>>>>>>> -----------------------------------------------------
>>>>>>> Michael Gogins
>>>>>>> Irreducible Productions
>>>>>>> http://michaelgogins.tumblr.com
>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>> 
>>>>>>> 
>>>>>>> On Sat, Jan 16, 2016 at 1:01 PM, Richard  wrote:
>>>>>>>> Thank Tarmo,
>>>>>>>> 
>>>>>>>> Yes we have web sockets now, forgot about that.
>>>>>>>> My lessons are short midi files played by csound (and textual
>>>>>>>> explanations)
>>>>>>>> and the notes have to be animated on a GUI piano keyboard. So I guess
>>>>>>>> csound
>>>>>>>> websockets are my best option, provided they work in the pnacl
>>>>>>>> environment....
>>>>>>>> 
>>>>>>>> Richard
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>>>>>>> 
>>>>>>>> Hi,
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> I have never used it but I think Csound pnacl has MIDI support:
>>>>>>>> 
>>>>>>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>>>>>>> 
>>>>>>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>>>>>>> 
>>>>>>>> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>>>>>>>> 
>>>>>>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic
>>>>>>>> aftertouch
>>>>>>>> message to Csound.
>>>>>>>> 
>>>>>>>> ControlChange(channel,control,amount) - sends a control change message
>>>>>>>> to
>>>>>>>> Csound.
>>>>>>>> 
>>>>>>>> ProgramChange(channel,control) - sends a program change message to
>>>>>>>> Csound.
>>>>>>>> 
>>>>>>>> Aftertouch(channel,amount) - sends a mono aftertouch message to
>>>>>>>> Csound.
>>>>>>>> 
>>>>>>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> For catching MIDI messages from the javascript side I think there is
>>>>>>>> web
>>>>>>>> midi api
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> https://webaudio.github.io/web-midi-api/
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Otherwise websockets is definitely good idea, now there is websocket
>>>>>>>> opcode
>>>>>>>> inside Csound.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Hope it helps a bit further!
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> tarmo
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>>>>>>> 
>>>>>>>>> For my web based Music tutor program, I would like to catch midi
>>>>>>>>> events
>>>>>>>>> (a midi file being played) and show the notes on a javascript piano.
>>>>>>>>> My previous version of Music Tutor was stand alone, and required
>>>>>>>>> csound
>>>>>>>>> to be installed, OSC and python.
>>>>>>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>>>>>>> What would be the best way to catch midi events in the pnacl based
>>>>>>>>> situation? I am considering web sockets, but I have to catch the midi
>>>>>>>>> notes first....
>>>>>>>>> Richard
>>>>>>>>> Csound mailing list
>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>> Send bugs reports to
>>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>>>>> https://github.com/csound/csound/issues Discussions of bugs and
>>>>>>>> features
>>>>>>>> can
>>>>>>>> be posted here
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>>>>> https://github.com/csound/csound/issues Discussions of bugs and
>>>>>>>> features
>>>>>>>> can
>>>>>>>> be posted here
>>>>>>> Csound mailing list
>>>>>>> Csound@listserv.heanet.ie
>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>> Send bugs reports to
>>>>>>>          https://github.com/csound/csound/issues
>>>>>>> Discussions of bugs and features can be posted here
>>>>>> 
>>>>>> Csound mailing list
>>>>>> Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>> Send bugs reports to
>>>>>>        https://github.com/csound/csound/issues
>>>>>> Discussions of bugs and features can be posted here
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> Send bugs reports to
>>>>>         https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>          https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>> 
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>        https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>       https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-16 21:06
FromVictor Lazzarini
SubjectRe: catching events in web based csound (pnacl)
Which reminds me that we need to keep a close eye on Web Assembly, so
we can develop a Csound port once it is released.
========================
Dr Victor Lazzarini
Dean of Arts, Celtic Studies and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 16 Jan 2016, at 20:55, Michael Gogins  wrote:
> 
> Wait till this is happening in virtual reality. Because Csound now
> runs in browsers, Csound will be there in virtual reality.
> 
> Best,
> Mike
> 
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
> 
> 
> On Sat, Jan 16, 2016 at 3:49 PM, Richard  wrote:
>> Wow, this is awesome! Thanks for sharing...
>> 
>> Richard
>> 
>> 
>> On 16/01/16 21:38, Michael Gogins wrote:
>>> 
>>> Check this out. I think you could adapt this to use PNaCl fairly easily.
>>> 
>>> https://github.com/qiao/euphony
>>> 
>>> In fact, there are a lot of wonderful goodies here that would be
>>> useful with PNaCl, csound.node, Csound for Android, CsoundQt, or any
>>> other system that allows you to call the Csound API using JavaScript.
>>> It should be possible to embed MIDI files directly in Web pages,
>>> create a piano roll viewer for Csound scores, play an on-screen 3D
>>> piano keyboard, etc., etc.
>>> 
>>> Regards,
>>> Mike
>>> 
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>> 
>>> 
>>> On Sat, Jan 16, 2016 at 3:03 PM, Richard  wrote:
>>>> 
>>>> Csound is playing the midi files in pnacl with a GM soundfont. But I need
>>>> to
>>>> animate the keyboard displayed in the browser with the midi notes being
>>>> played.
>>>> 
>>>> Richard
>>>> 
>>>> 
>>>> On 16/01/16 20:27, Victor Lazzarini wrote:
>>>>> 
>>>>> But Csound can read MIDI files directly (there is a pnacl example
>>>>> showing
>>>>> that).
>>>>> ========================
>>>>> Dr Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies and Philosophy,
>>>>> Maynooth University,
>>>>> Maynooth, Co Kildare, Ireland
>>>>> Tel: 00 353 7086936
>>>>> Fax: 00 353 1 7086952
>>>>> 
>>>>>> On 16 Jan 2016, at 18:56, Michael Gogins 
>>>>>> wrote:
>>>>>> 
>>>>>> Build score events, send them to Csound.
>>>>>> 
>>>>>> -----------------------------------------------------
>>>>>> Michael Gogins
>>>>>> Irreducible Productions
>>>>>> http://michaelgogins.tumblr.com
>>>>>> Michael dot Gogins at gmail dot com
>>>>>> 
>>>>>> 
>>>>>> On Sat, Jan 16, 2016 at 1:11 PM, Richard  wrote:
>>>>>>> 
>>>>>>> Yes, but how do I get the midi events (of the midi file being played)
>>>>>>> to
>>>>>>> javascript? Channel messages?
>>>>>>> 
>>>>>>> regards,
>>>>>>> Richard
>>>>>>> 
>>>>>>> 
>>>>>>> On 16/01/16 19:07, Michael Gogins wrote:
>>>>>>>> 
>>>>>>>> Why do you need Csound websockets? With PNaCl you can just go ahead
>>>>>>>> and use JavaScript WebSockets.
>>>>>>>> 
>>>>>>>> Regards,
>>>>>>>> Mike
>>>>>>>> 
>>>>>>>> -----------------------------------------------------
>>>>>>>> Michael Gogins
>>>>>>>> Irreducible Productions
>>>>>>>> http://michaelgogins.tumblr.com
>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Sat, Jan 16, 2016 at 1:01 PM, Richard 
>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>> Thank Tarmo,
>>>>>>>>> 
>>>>>>>>> Yes we have web sockets now, forgot about that.
>>>>>>>>> My lessons are short midi files played by csound (and textual
>>>>>>>>> explanations)
>>>>>>>>> and the notes have to be animated on a GUI piano keyboard. So I
>>>>>>>>> guess
>>>>>>>>> csound
>>>>>>>>> websockets are my best option, provided they work in the pnacl
>>>>>>>>> environment....
>>>>>>>>> 
>>>>>>>>> Richard
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>>>>>>>> 
>>>>>>>>> Hi,
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> I have never used it but I think Csound pnacl has MIDI support:
>>>>>>>>> 
>>>>>>>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>>>>>>>> 
>>>>>>>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>>>>>>>> 
>>>>>>>>> NoteOff(channel,number,velocity) - sends a Note OFF message to
>>>>>>>>> Csound.
>>>>>>>>> 
>>>>>>>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic
>>>>>>>>> aftertouch
>>>>>>>>> message to Csound.
>>>>>>>>> 
>>>>>>>>> ControlChange(channel,control,amount) - sends a control change
>>>>>>>>> message
>>>>>>>>> to
>>>>>>>>> Csound.
>>>>>>>>> 
>>>>>>>>> ProgramChange(channel,control) - sends a program change message to
>>>>>>>>> Csound.
>>>>>>>>> 
>>>>>>>>> Aftertouch(channel,amount) - sends a mono aftertouch message to
>>>>>>>>> Csound.
>>>>>>>>> 
>>>>>>>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to
>>>>>>>>> Csound.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> For catching MIDI messages from the javascript side I think there is
>>>>>>>>> web
>>>>>>>>> midi api
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> https://webaudio.github.io/web-midi-api/
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Otherwise websockets is definitely good idea, now there is websocket
>>>>>>>>> opcode
>>>>>>>>> inside Csound.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Hope it helps a bit further!
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> tarmo
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>>>>>>>> 
>>>>>>>>>> For my web based Music tutor program, I would like to catch midi
>>>>>>>>>> events
>>>>>>>>>> (a midi file being played) and show the notes on a javascript
>>>>>>>>>> piano.
>>>>>>>>>> My previous version of Music Tutor was stand alone, and required
>>>>>>>>>> csound
>>>>>>>>>> to be installed, OSC and python.
>>>>>>>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>>>>>>>> What would be the best way to catch midi events in the pnacl based
>>>>>>>>>> situation? I am considering web sockets, but I have to catch the
>>>>>>>>>> midi
>>>>>>>>>> notes first....
>>>>>>>>>> Richard
>>>>>>>>>> Csound mailing list
>>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>>> Send bugs reports to
>>>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>>>>>> https://github.com/csound/csound/issues Discussions of bugs and
>>>>>>>>> features
>>>>>>>>> can
>>>>>>>>> be posted here
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Csound mailing list Csound@listserv.heanet.ie
>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>>>>>>> https://github.com/csound/csound/issues Discussions of bugs and
>>>>>>>>> features
>>>>>>>>> can
>>>>>>>>> be posted here
>>>>>>>> 
>>>>>>>> Csound mailing list
>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>> Send bugs reports to
>>>>>>>>          https://github.com/csound/csound/issues
>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>> 
>>>>>>> 
>>>>>>> Csound mailing list
>>>>>>> Csound@listserv.heanet.ie
>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>> Send bugs reports to
>>>>>>>        https://github.com/csound/csound/issues
>>>>>>> Discussions of bugs and features can be posted here
>>>>>> 
>>>>>> Csound mailing list
>>>>>> Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>> Send bugs reports to
>>>>>>         https://github.com/csound/csound/issues
>>>>>> Discussions of bugs and features can be posted here
>>>>> 
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> Send bugs reports to
>>>>>          https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>> 
>>>> 
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>        https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>> 
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>         https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>> 
>> 
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>       https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-17 12:09
FromRichard
SubjectRe: catching events in web based csound (pnacl)
This seems to work, see my code snippet below.
In the 'loop' part (handleMessage) I use csound.RequestChannel, and then filter on the message received.
But, If I understand it correcly, this lags one cycle behind: the RequestChannel only has effect the next time the function handleMessage is called?

Richard

function filter(msg, filt) {
    var found = false;
    var sval = '';
    var x = "::control::" + filt + ":";
    if (msg.data.substring(0, x.length) === x) {
        sval = (msg.data.replace(x,''));
        found = true
    }
    return {found:found, sval:sval};
 }

 function handleMessage(message) {
   csound.RequestChannel("volume");
   var ret = filter(message, "volume");
   if (ret.found == true) {
    console.log(ret.sval);
   } else { // normal message handling ...

On 16/01/16 21:54, Victor Lazzarini wrote:
You could use channel messages.
========================
Dr Victor Lazzarini
Dean of Arts, Celtic Studies and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

On 16 Jan 2016, at 20:03, Richard <zappfinger@GMAIL.COM> wrote:

Csound is playing the midi files in pnacl with a GM soundfont. But I need to animate the keyboard displayed in the browser with the midi notes being played.

Richard

On 16/01/16 20:27, Victor Lazzarini wrote:
But Csound can read MIDI files directly (there is a pnacl example showing that).
========================
Dr Victor Lazzarini
Dean of Arts, Celtic Studies and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

On 16 Jan 2016, at 18:56, Michael Gogins <michael.gogins@GMAIL.COM> wrote:

Build score events, send them to Csound.

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


On Sat, Jan 16, 2016 at 1:11 PM, Richard <zappfinger@gmail.com> wrote:
Yes, but how do I get the midi events (of the midi file being played) to
javascript? Channel messages?

regards,
Richard


On 16/01/16 19:07, Michael Gogins wrote:
Why do you need Csound websockets? With PNaCl you can just go ahead
and use JavaScript WebSockets.

Regards,
Mike

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


On Sat, Jan 16, 2016 at 1:01 PM, Richard <zappfinger@gmail.com> wrote:
Thank Tarmo,

Yes we have web sockets now, forgot about that.
My lessons are short midi files played by csound (and textual
explanations)
and the notes have to be animated on a GUI piano keyboard. So I guess
csound
websockets are my best option, provided they work in the pnacl
environment....

Richard


On 16/01/16 18:13, Tarmo Johannes wrote:

Hi,



I have never used it but I think Csound pnacl has MIDI support:

http://vlazzarini.github.io/docs/pnacl_csound.html



MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.

NoteOn(channel,number,velocity) - sends a Note ON message to Csound.

NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.

PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch
message to Csound.

ControlChange(channel,control,amount) - sends a control change message to
Csound.

ProgramChange(channel,control) - sends a program change message to
Csound.

Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.

PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.



For catching MIDI messages from the javascript side I think there is web
midi api



https://webaudio.github.io/web-midi-api/



Otherwise websockets is definitely good idea, now there is websocket
opcode
inside Csound.



Hope it helps a bit further!



tarmo





On Saturday 16 January 2016 17:28:23 you wrote:

For my web based Music tutor program, I would like to catch midi events
(a midi file being played) and show the notes on a javascript piano.
My previous version of Music Tutor was stand alone, and required csound
to be installed, OSC and python.
I used OSC then as the 'glue' between midi events and the keyboard.
What would be the best way to catch midi events in the pnacl based
situation? I am considering web sockets, but I have to catch the midi
notes first....
Richard
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
https://github.com/csound/csound/issues Discussions of bugs and features
can
be posted here


Csound mailing list Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
https://github.com/csound/csound/issues Discussions of bugs and features
can
be posted here
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
      https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
      https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here


Date2016-01-17 12:14
FromVictor Lazzarini
SubjectRe: catching events in web based csound (pnacl)
No quite sure without examining the code.You might be right.
========================
Dr Victor Lazzarini
Dean of Arts, Celtic Studies and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 17 Jan 2016, at 12:09, Richard  wrote:
> 
> This seems to work, see my code snippet below. 
> In the 'loop' part (handleMessage) I use csound.RequestChannel, and then filter on the message received. 
> But, If I understand it correcly, this lags one cycle behind: the RequestChannel only has effect the next time the function handleMessage is called?
> 
> Richard
> 
> function filter(msg, filt) {
>     var found = false;
>     var sval = '';
>     var x = "::control::" + filt + ":";
>     if (msg.data.substring(0, x.length) === x) {
>         sval = (msg.data.replace(x,''));
>         found = true
>     }
>     return {found:found, sval:sval};
>  }
> 
>  function handleMessage(message) {
>    csound.RequestChannel("volume");
>    var ret = filter(message, "volume");
>    if (ret.found == true) {
>     console.log(ret.sval);
>    } else { // normal message handling ...
> 
> On 16/01/16 21:54, Victor Lazzarini wrote:
>> You could use channel messages.
>> ========================
>> Dr Victor Lazzarini
>> Dean of Arts, Celtic Studies and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952 
>> 
>> 
>>> On 16 Jan 2016, at 20:03, Richard 
>>>  wrote:
>>> 
>>> Csound is playing the midi files in pnacl with a GM soundfont. But I need to animate the keyboard displayed in the browser with the midi notes being played.
>>> 
>>> Richard
>>> 
>>> On 16/01/16 20:27, Victor Lazzarini wrote:
>>> 
>>>> But Csound can read MIDI files directly (there is a pnacl example showing that).
>>>> ========================
>>>> Dr Victor Lazzarini
>>>> Dean of Arts, Celtic Studies and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>> 
>>>> 
>>>>> On 16 Jan 2016, at 18:56, Michael Gogins 
>>>>>  wrote:
>>>>> 
>>>>> Build score events, send them to Csound.
>>>>> 
>>>>> -----------------------------------------------------
>>>>> Michael Gogins
>>>>> Irreducible Productions
>>>>> 
>>>>> http://michaelgogins.tumblr.com
>>>>> 
>>>>> Michael dot Gogins at gmail dot com
>>>>> 
>>>>> 
>>>>> On Sat, Jan 16, 2016 at 1:11 PM, Richard 
>>>>> 
>>>>>  wrote:
>>>>> 
>>>>>> Yes, but how do I get the midi events (of the midi file being played) to
>>>>>> javascript? Channel messages?
>>>>>> 
>>>>>> regards,
>>>>>> Richard
>>>>>> 
>>>>>> 
>>>>>> On 16/01/16 19:07, Michael Gogins wrote:
>>>>>> 
>>>>>>> Why do you need Csound websockets? With PNaCl you can just go ahead
>>>>>>> and use JavaScript WebSockets.
>>>>>>> 
>>>>>>> Regards,
>>>>>>> Mike
>>>>>>> 
>>>>>>> -----------------------------------------------------
>>>>>>> Michael Gogins
>>>>>>> Irreducible Productions
>>>>>>> 
>>>>>>> http://michaelgogins.tumblr.com
>>>>>>> 
>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>> 
>>>>>>> 
>>>>>>> On Sat, Jan 16, 2016 at 1:01 PM, Richard 
>>>>>>> 
>>>>>>>  wrote:
>>>>>>> 
>>>>>>>> Thank Tarmo,
>>>>>>>> 
>>>>>>>> Yes we have web sockets now, forgot about that.
>>>>>>>> My lessons are short midi files played by csound (and textual
>>>>>>>> explanations)
>>>>>>>> and the notes have to be animated on a GUI piano keyboard. So I guess
>>>>>>>> csound
>>>>>>>> websockets are my best option, provided they work in the pnacl
>>>>>>>> environment....
>>>>>>>> 
>>>>>>>> Richard
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>>>>>>> 
>>>>>>>> Hi,
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> I have never used it but I think Csound pnacl has MIDI support:
>>>>>>>> 
>>>>>>>> 
>>>>>>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>>>>>>> 
>>>>>>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>>>>>>> 
>>>>>>>> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>>>>>>>> 
>>>>>>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch
>>>>>>>> message to Csound.
>>>>>>>> 
>>>>>>>> ControlChange(channel,control,amount) - sends a control change message to
>>>>>>>> Csound.
>>>>>>>> 
>>>>>>>> ProgramChange(channel,control) - sends a program change message to
>>>>>>>> Csound.
>>>>>>>> 
>>>>>>>> Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.
>>>>>>>> 
>>>>>>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> For catching MIDI messages from the javascript side I think there is web
>>>>>>>> midi api
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> https://webaudio.github.io/web-midi-api/
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Otherwise websockets is definitely good idea, now there is websocket
>>>>>>>> opcode
>>>>>>>> inside Csound.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Hope it helps a bit further!
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> tarmo
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> For my web based Music tutor program, I would like to catch midi events
>>>>>>>>> (a midi file being played) and show the notes on a javascript piano.
>>>>>>>>> My previous version of Music Tutor was stand alone, and required csound
>>>>>>>>> to be installed, OSC and python.
>>>>>>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>>>>>>> What would be the best way to catch midi events in the pnacl based
>>>>>>>>> situation? I am considering web sockets, but I have to catch the midi
>>>>>>>>> notes first....
>>>>>>>>> Richard
>>>>>>>>> Csound mailing list
>>>>>>>>> 
>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>> 
>>>>>>>>> Send bugs reports to
>>>>>>>>> 
>>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>> 
>>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> Csound mailing list 
>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>  Send bugs reports to
>>>>>>>> 
>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>  Discussions of bugs and features
>>>>>>>> can
>>>>>>>> be posted here
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Csound mailing list 
>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>  Send bugs reports to
>>>>>>>> 
>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>  Discussions of bugs and features
>>>>>>>> can
>>>>>>>> be posted here
>>>>>>>> 
>>>>>>> Csound mailing list
>>>>>>> 
>>>>>>> Csound@listserv.heanet.ie
>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>> 
>>>>>>> Send bugs reports to
>>>>>>>         
>>>>>>> https://github.com/csound/csound/issues
>>>>>>> 
>>>>>>> Discussions of bugs and features can be posted here
>>>>>>> 
>>>>>> Csound mailing list
>>>>>> 
>>>>>> Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>> 
>>>>>> Send bugs reports to
>>>>>>       
>>>>>> https://github.com/csound/csound/issues
>>>>>> 
>>>>>> Discussions of bugs and features can be posted here
>>>>>> 
>>>>> Csound mailing list
>>>>> 
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> 
>>>>> Send bugs reports to
>>>>>        
>>>>> https://github.com/csound/csound/issues
>>>>> 
>>>>> Discussions of bugs and features can be posted here
>>>>> 
>>>> Csound mailing list
>>>> 
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> 
>>>> Send bugs reports to
>>>>         
>>>> https://github.com/csound/csound/issues
>>>> 
>>>> Discussions of bugs and features can be posted here
>>>> 
>>> Csound mailing list
>>> 
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> 
>>> Send bugs reports to
>>>       
>>> https://github.com/csound/csound/issues
>>> 
>>> Discussions of bugs and features can be posted here
>>> 
>> Csound mailing list
>> 
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> 
>> Send bugs reports to
>>         
>> https://github.com/csound/csound/issues
>> 
>> Discussions of bugs and features can be posted here
>> 
> 
> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-17 12:38
FromRichard
SubjectRe: catching events in web based csound (pnacl)
Well, the code is based on your midiplayer.html. I only added the 
function filter() and the lines in handleMessage().
I was just wondering if there is a nicer way of doing this.

Richard


On 17/01/16 13:14, Victor Lazzarini wrote:
> No quite sure without examining the code.You might be right.
> ========================
> Dr Victor Lazzarini
> Dean of Arts, Celtic Studies and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 17 Jan 2016, at 12:09, Richard  wrote:
>>
>> This seems to work, see my code snippet below.
>> In the 'loop' part (handleMessage) I use csound.RequestChannel, and then filter on the message received.
>> But, If I understand it correcly, this lags one cycle behind: the RequestChannel only has effect the next time the function handleMessage is called?
>>
>> Richard
>>
>> function filter(msg, filt) {
>>      var found = false;
>>      var sval = '';
>>      var x = "::control::" + filt + ":";
>>      if (msg.data.substring(0, x.length) === x) {
>>          sval = (msg.data.replace(x,''));
>>          found = true
>>      }
>>      return {found:found, sval:sval};
>>   }
>>
>>   function handleMessage(message) {
>>     csound.RequestChannel("volume");
>>     var ret = filter(message, "volume");
>>     if (ret.found == true) {
>>      console.log(ret.sval);
>>     } else { // normal message handling ...
>>
>> On 16/01/16 21:54, Victor Lazzarini wrote:
>>> You could use channel messages.
>>> ========================
>>> Dr Victor Lazzarini
>>> Dean of Arts, Celtic Studies and Philosophy,
>>> Maynooth University,
>>> Maynooth, Co Kildare, Ireland
>>> Tel: 00 353 7086936
>>> Fax: 00 353 1 7086952
>>>
>>>
>>>> On 16 Jan 2016, at 20:03, Richard 
>>>>   wrote:
>>>>
>>>> Csound is playing the midi files in pnacl with a GM soundfont. But I need to animate the keyboard displayed in the browser with the midi notes being played.
>>>>
>>>> Richard
>>>>
>>>> On 16/01/16 20:27, Victor Lazzarini wrote:
>>>>
>>>>> But Csound can read MIDI files directly (there is a pnacl example showing that).
>>>>> ========================
>>>>> Dr Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies and Philosophy,
>>>>> Maynooth University,
>>>>> Maynooth, Co Kildare, Ireland
>>>>> Tel: 00 353 7086936
>>>>> Fax: 00 353 1 7086952
>>>>>
>>>>>
>>>>>> On 16 Jan 2016, at 18:56, Michael Gogins 
>>>>>>   wrote:
>>>>>>
>>>>>> Build score events, send them to Csound.
>>>>>>
>>>>>> -----------------------------------------------------
>>>>>> Michael Gogins
>>>>>> Irreducible Productions
>>>>>>
>>>>>> http://michaelgogins.tumblr.com
>>>>>>
>>>>>> Michael dot Gogins at gmail dot com
>>>>>>
>>>>>>
>>>>>> On Sat, Jan 16, 2016 at 1:11 PM, Richard
>>>>>> 
>>>>>>   wrote:
>>>>>>
>>>>>>> Yes, but how do I get the midi events (of the midi file being played) to
>>>>>>> javascript? Channel messages?
>>>>>>>
>>>>>>> regards,
>>>>>>> Richard
>>>>>>>
>>>>>>>
>>>>>>> On 16/01/16 19:07, Michael Gogins wrote:
>>>>>>>
>>>>>>>> Why do you need Csound websockets? With PNaCl you can just go ahead
>>>>>>>> and use JavaScript WebSockets.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Mike
>>>>>>>>
>>>>>>>> -----------------------------------------------------
>>>>>>>> Michael Gogins
>>>>>>>> Irreducible Productions
>>>>>>>>
>>>>>>>> http://michaelgogins.tumblr.com
>>>>>>>>
>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sat, Jan 16, 2016 at 1:01 PM, Richard
>>>>>>>> 
>>>>>>>>   wrote:
>>>>>>>>
>>>>>>>>> Thank Tarmo,
>>>>>>>>>
>>>>>>>>> Yes we have web sockets now, forgot about that.
>>>>>>>>> My lessons are short midi files played by csound (and textual
>>>>>>>>> explanations)
>>>>>>>>> and the notes have to be animated on a GUI piano keyboard. So I guess
>>>>>>>>> csound
>>>>>>>>> websockets are my best option, provided they work in the pnacl
>>>>>>>>> environment....
>>>>>>>>>
>>>>>>>>> Richard
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I have never used it but I think Csound pnacl has MIDI support:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>>>>>>>>
>>>>>>>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>>>>>>>>
>>>>>>>>> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>>>>>>>>>
>>>>>>>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch
>>>>>>>>> message to Csound.
>>>>>>>>>
>>>>>>>>> ControlChange(channel,control,amount) - sends a control change message to
>>>>>>>>> Csound.
>>>>>>>>>
>>>>>>>>> ProgramChange(channel,control) - sends a program change message to
>>>>>>>>> Csound.
>>>>>>>>>
>>>>>>>>> Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.
>>>>>>>>>
>>>>>>>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> For catching MIDI messages from the javascript side I think there is web
>>>>>>>>> midi api
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://webaudio.github.io/web-midi-api/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Otherwise websockets is definitely good idea, now there is websocket
>>>>>>>>> opcode
>>>>>>>>> inside Csound.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hope it helps a bit further!
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> tarmo
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> For my web based Music tutor program, I would like to catch midi events
>>>>>>>>>> (a midi file being played) and show the notes on a javascript piano.
>>>>>>>>>> My previous version of Music Tutor was stand alone, and required csound
>>>>>>>>>> to be installed, OSC and python.
>>>>>>>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>>>>>>>> What would be the best way to catch midi events in the pnacl based
>>>>>>>>>> situation? I am considering web sockets, but I have to catch the midi
>>>>>>>>>> notes first....
>>>>>>>>>> Richard
>>>>>>>>>> Csound mailing list
>>>>>>>>>>
>>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>>>
>>>>>>>>>> Send bugs reports to
>>>>>>>>>>
>>>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>>>
>>>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>>>>
>>>>>>>>> Csound mailing list
>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>>   Send bugs reports to
>>>>>>>>>
>>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>>   Discussions of bugs and features
>>>>>>>>> can
>>>>>>>>> be posted here
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Csound mailing list
>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>>   Send bugs reports to
>>>>>>>>>
>>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>>   Discussions of bugs and features
>>>>>>>>> can
>>>>>>>>> be posted here
>>>>>>>>>
>>>>>>>> Csound mailing list
>>>>>>>>
>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>
>>>>>>>> Send bugs reports to
>>>>>>>>          
>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>
>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>>
>>>>>>> Csound mailing list
>>>>>>>
>>>>>>> Csound@listserv.heanet.ie
>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>
>>>>>>> Send bugs reports to
>>>>>>>        
>>>>>>> https://github.com/csound/csound/issues
>>>>>>>
>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>
>>>>>> Csound mailing list
>>>>>>
>>>>>> Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>
>>>>>> Send bugs reports to
>>>>>>         
>>>>>> https://github.com/csound/csound/issues
>>>>>>
>>>>>> Discussions of bugs and features can be posted here
>>>>>>
>>>>> Csound mailing list
>>>>>
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>
>>>>> Send bugs reports to
>>>>>          
>>>>> https://github.com/csound/csound/issues
>>>>>
>>>>> Discussions of bugs and features can be posted here
>>>>>
>>>> Csound mailing list
>>>>
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>
>>>> Send bugs reports to
>>>>        
>>>> https://github.com/csound/csound/issues
>>>>
>>>> Discussions of bugs and features can be posted here
>>>>
>>> Csound mailing list
>>>
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>
>>> Send bugs reports to
>>>          
>>> https://github.com/csound/csound/issues
>>>
>>> Discussions of bugs and features can be posted here
>>>
>> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>          https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-01-17 12:48
FromVictor Lazzarini
SubjectRe: catching events in web based csound (pnacl)
I think that is the way to do it. The alternative is to read the midifile in JS and send midi RT events to Csound.
========================
Dr Victor Lazzarini
Dean of Arts, Celtic Studies and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 17 Jan 2016, at 12:38, Richard  wrote:
> 
> Well, the code is based on your midiplayer.html. I only added the function filter() and the lines in handleMessage().
> I was just wondering if there is a nicer way of doing this.
> 
> Richard
> 
> 
> On 17/01/16 13:14, Victor Lazzarini wrote:
>> No quite sure without examining the code.You might be right.
>> ========================
>> Dr Victor Lazzarini
>> Dean of Arts, Celtic Studies and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>> 
>>> On 17 Jan 2016, at 12:09, Richard  wrote:
>>> 
>>> This seems to work, see my code snippet below.
>>> In the 'loop' part (handleMessage) I use csound.RequestChannel, and then filter on the message received.
>>> But, If I understand it correcly, this lags one cycle behind: the RequestChannel only has effect the next time the function handleMessage is called?
>>> 
>>> Richard
>>> 
>>> function filter(msg, filt) {
>>>     var found = false;
>>>     var sval = '';
>>>     var x = "::control::" + filt + ":";
>>>     if (msg.data.substring(0, x.length) === x) {
>>>         sval = (msg.data.replace(x,''));
>>>         found = true
>>>     }
>>>     return {found:found, sval:sval};
>>>  }
>>> 
>>>  function handleMessage(message) {
>>>    csound.RequestChannel("volume");
>>>    var ret = filter(message, "volume");
>>>    if (ret.found == true) {
>>>     console.log(ret.sval);
>>>    } else { // normal message handling ...
>>> 
>>> On 16/01/16 21:54, Victor Lazzarini wrote:
>>>> You could use channel messages.
>>>> ========================
>>>> Dr Victor Lazzarini
>>>> Dean of Arts, Celtic Studies and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>> 
>>>> 
>>>>> On 16 Jan 2016, at 20:03, Richard 
>>>>>  wrote:
>>>>> 
>>>>> Csound is playing the midi files in pnacl with a GM soundfont. But I need to animate the keyboard displayed in the browser with the midi notes being played.
>>>>> 
>>>>> Richard
>>>>> 
>>>>> On 16/01/16 20:27, Victor Lazzarini wrote:
>>>>> 
>>>>>> But Csound can read MIDI files directly (there is a pnacl example showing that).
>>>>>> ========================
>>>>>> Dr Victor Lazzarini
>>>>>> Dean of Arts, Celtic Studies and Philosophy,
>>>>>> Maynooth University,
>>>>>> Maynooth, Co Kildare, Ireland
>>>>>> Tel: 00 353 7086936
>>>>>> Fax: 00 353 1 7086952
>>>>>> 
>>>>>> 
>>>>>>> On 16 Jan 2016, at 18:56, Michael Gogins 
>>>>>>>  wrote:
>>>>>>> 
>>>>>>> Build score events, send them to Csound.
>>>>>>> 
>>>>>>> -----------------------------------------------------
>>>>>>> Michael Gogins
>>>>>>> Irreducible Productions
>>>>>>> 
>>>>>>> http://michaelgogins.tumblr.com
>>>>>>> 
>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>> 
>>>>>>> 
>>>>>>> On Sat, Jan 16, 2016 at 1:11 PM, Richard
>>>>>>> 
>>>>>>>  wrote:
>>>>>>> 
>>>>>>>> Yes, but how do I get the midi events (of the midi file being played) to
>>>>>>>> javascript? Channel messages?
>>>>>>>> 
>>>>>>>> regards,
>>>>>>>> Richard
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 16/01/16 19:07, Michael Gogins wrote:
>>>>>>>> 
>>>>>>>>> Why do you need Csound websockets? With PNaCl you can just go ahead
>>>>>>>>> and use JavaScript WebSockets.
>>>>>>>>> 
>>>>>>>>> Regards,
>>>>>>>>> Mike
>>>>>>>>> 
>>>>>>>>> -----------------------------------------------------
>>>>>>>>> Michael Gogins
>>>>>>>>> Irreducible Productions
>>>>>>>>> 
>>>>>>>>> http://michaelgogins.tumblr.com
>>>>>>>>> 
>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Sat, Jan 16, 2016 at 1:01 PM, Richard
>>>>>>>>> 
>>>>>>>>>  wrote:
>>>>>>>>> 
>>>>>>>>>> Thank Tarmo,
>>>>>>>>>> 
>>>>>>>>>> Yes we have web sockets now, forgot about that.
>>>>>>>>>> My lessons are short midi files played by csound (and textual
>>>>>>>>>> explanations)
>>>>>>>>>> and the notes have to be animated on a GUI piano keyboard. So I guess
>>>>>>>>>> csound
>>>>>>>>>> websockets are my best option, provided they work in the pnacl
>>>>>>>>>> environment....
>>>>>>>>>> 
>>>>>>>>>> Richard
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On 16/01/16 18:13, Tarmo Johannes wrote:
>>>>>>>>>> 
>>>>>>>>>> Hi,
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> I have never used it but I think Csound pnacl has MIDI support:
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> http://vlazzarini.github.io/docs/pnacl_csound.html
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> MIDIin(byte1, byte2, byte3) - sends a MIDI in message to Csound.
>>>>>>>>>> 
>>>>>>>>>> NoteOn(channel,number,velocity) - sends a Note ON message to Csound.
>>>>>>>>>> 
>>>>>>>>>> NoteOff(channel,number,velocity) - sends a Note OFF message to Csound.
>>>>>>>>>> 
>>>>>>>>>> PolyAftertouch(channel,number,aftertouch) - sends a polyphonic aftertouch
>>>>>>>>>> message to Csound.
>>>>>>>>>> 
>>>>>>>>>> ControlChange(channel,control,amount) - sends a control change message to
>>>>>>>>>> Csound.
>>>>>>>>>> 
>>>>>>>>>> ProgramChange(channel,control) - sends a program change message to
>>>>>>>>>> Csound.
>>>>>>>>>> 
>>>>>>>>>> Aftertouch(channel,amount) - sends a mono aftertouch message to Csound.
>>>>>>>>>> 
>>>>>>>>>> PitchBend(channel,fine,coarse) - sends a pitchbend message to Csound.
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> For catching MIDI messages from the javascript side I think there is web
>>>>>>>>>> midi api
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> https://webaudio.github.io/web-midi-api/
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Otherwise websockets is definitely good idea, now there is websocket
>>>>>>>>>> opcode
>>>>>>>>>> inside Csound.
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Hope it helps a bit further!
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> tarmo
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Saturday 16 January 2016 17:28:23 you wrote:
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> For my web based Music tutor program, I would like to catch midi events
>>>>>>>>>>> (a midi file being played) and show the notes on a javascript piano.
>>>>>>>>>>> My previous version of Music Tutor was stand alone, and required csound
>>>>>>>>>>> to be installed, OSC and python.
>>>>>>>>>>> I used OSC then as the 'glue' between midi events and the keyboard.
>>>>>>>>>>> What would be the best way to catch midi events in the pnacl based
>>>>>>>>>>> situation? I am considering web sockets, but I have to catch the midi
>>>>>>>>>>> notes first....
>>>>>>>>>>> Richard
>>>>>>>>>>> Csound mailing list
>>>>>>>>>>> 
>>>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>>>> 
>>>>>>>>>>> Send bugs reports to
>>>>>>>>>>> 
>>>>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>>>> 
>>>>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>>>>> 
>>>>>>>>>> Csound mailing list
>>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>>>  Send bugs reports to
>>>>>>>>>> 
>>>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>>>  Discussions of bugs and features
>>>>>>>>>> can
>>>>>>>>>> be posted here
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Csound mailing list
>>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>>>  Send bugs reports to
>>>>>>>>>> 
>>>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>>>  Discussions of bugs and features
>>>>>>>>>> can
>>>>>>>>>> be posted here
>>>>>>>>>> 
>>>>>>>>> Csound mailing list
>>>>>>>>> 
>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>> 
>>>>>>>>> Send bugs reports to
>>>>>>>>>         https://github.com/csound/csound/issues
>>>>>>>>> 
>>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>>> 
>>>>>>>> Csound mailing list
>>>>>>>> 
>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>> 
>>>>>>>> Send bugs reports to
>>>>>>>>       https://github.com/csound/csound/issues
>>>>>>>> 
>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>> 
>>>>>>> Csound mailing list
>>>>>>> 
>>>>>>> Csound@listserv.heanet.ie
>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>> 
>>>>>>> Send bugs reports to
>>>>>>>        https://github.com/csound/csound/issues
>>>>>>> 
>>>>>>> Discussions of bugs and features can be posted here
>>>>>>> 
>>>>>> Csound mailing list
>>>>>> 
>>>>>> Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>> 
>>>>>> Send bugs reports to
>>>>>>         https://github.com/csound/csound/issues
>>>>>> 
>>>>>> Discussions of bugs and features can be posted here
>>>>>> 
>>>>> Csound mailing list
>>>>> 
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> 
>>>>> Send bugs reports to
>>>>>       https://github.com/csound/csound/issues
>>>>> 
>>>>> Discussions of bugs and features can be posted here
>>>>> 
>>>> Csound mailing list
>>>> 
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> 
>>>> Send bugs reports to
>>>>         https://github.com/csound/csound/issues
>>>> 
>>>> Discussions of bugs and features can be posted here
>>>> 
>>> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>       https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here