Csound Csound-dev Csound-tekno Search About

[Cs-dev] Possible API extension

Date2008-03-06 11:22
Fromjpff
Subject[Cs-dev] Possible API extension
Talking to Rory at LAC2008 I was convinced that we need an API
operation to insert a MIDI event into the Csound MIDI controller.  I
have not looked too closely yet, but i think there are PortMIDI
operation to do this, but the host program may need to have a simple
way of running MIDI, especially so the GUI stuff can move out of the
base code.
  Related, but I was impressed with Cabbage, and am looking at it as a
way to do what we said we wanted at LAC last year.
==John ffitch

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-03-06 12:06
FromVictor Lazzarini
SubjectRe: [Cs-dev] Possible API extension
Not wanting to misappropriate Rory's invention, but... should we consider
including it in the Csound distribution?

At 11:22 06/03/2008, you wrote:
>Talking to Rory at LAC2008 I was convinced that we need an API
>operation to insert a MIDI event into the Csound MIDI controller.  I
>have not looked too closely yet, but i think there are PortMIDI
>operation to do this, but the host program may need to have a simple
>way of running MIDI, especially so the GUI stuff can move out of the
>base code.
>   Related, but I was impressed with Cabbage, and am looking at it as a
>way to do what we said we wanted at LAC last year.
>==John ffitch
>
>-------------------------------------------------------------------------
>This SF.net email is sponsored by: Microsoft
>Defy all challenges. Microsoft(R) Visual Studio 2008.
>http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>_______________________________________________
>Csound-devel mailing list
>Csound-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/csound-devel

Victor Lazzarini
Music Technology Laboratory
Music Department
National University of Ireland, Maynooth


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-03-06 12:12
FromVictor Lazzarini
SubjectRe: [Cs-dev] Possible API extension
Also in relation to MIDI and urgent:

We need to review the MIDI file playback in Csound. Ideally we would
like:

1) Multiple MIDI file playback (currently the Csound structure only holds
a reference to one file)

2) Control of playback position, speed etc

3) Opcodes a la diskin, diskin2 to access MIDI files (using memory file 
functions
perhaps? Anthony?)

These would mean that we would be looking at generating
events that would trigger instruments from an instrument,
possibly an infinite loop here? Well, nothing too far from
what the 'event' and 'schedule' opcodes already do.

I think this is very, very urgent, in view of the requirements of OLPC.

Victor

At 11:22 06/03/2008, you wrote:
>Talking to Rory at LAC2008 I was convinced that we need an API
>operation to insert a MIDI event into the Csound MIDI controller.  I
>have not looked too closely yet, but i think there are PortMIDI
>operation to do this, but the host program may need to have a simple
>way of running MIDI, especially so the GUI stuff can move out of the
>base code.
>   Related, but I was impressed with Cabbage, and am looking at it as a
>way to do what we said we wanted at LAC last year.
>==John ffitch
>
>-------------------------------------------------------------------------
>This SF.net email is sponsored by: Microsoft
>Defy all challenges. Microsoft(R) Visual Studio 2008.
>http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>_______________________________________________
>Csound-devel mailing list
>Csound-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/csound-devel

Victor Lazzarini
Music Technology Laboratory
Music Department
National University of Ireland, Maynooth


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-03-06 12:12
FromRory Walsh
SubjectRe: [Cs-dev] Possible API extension
We discussed this but decided that we should wait until the code is 
really tight and everything is working perfectly. The sourceforge page 
is http://sourceforge.net/projects/cabbage/ If anyone is interested in 
helping feel free to sign up as a developer. I'm interested to see how 
it runs on OSX. On the MIDI side of things I think it would be nice to 
be able to send MIDI messages out of Csound. With this users could build 
fltk or other GUI instruments that could acts as MIDI controllers.

Rory.


Victor Lazzarini wrote:
> Not wanting to misappropriate Rory's invention, but... should we consider
> including it in the Csound distribution?
> 
> At 11:22 06/03/2008, you wrote:
>> Talking to Rory at LAC2008 I was convinced that we need an API
>> operation to insert a MIDI event into the Csound MIDI controller.  I
>> have not looked too closely yet, but i think there are PortMIDI
>> operation to do this, but the host program may need to have a simple
>> way of running MIDI, especially so the GUI stuff can move out of the
>> base code.
>>   Related, but I was impressed with Cabbage, and am looking at it as a
>> way to do what we said we wanted at LAC last year.
>> ==John ffitch
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>> _______________________________________________
>> Csound-devel mailing list
>> Csound-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/csound-devel
> 
> Victor Lazzarini
> Music Technology Laboratory
> Music Department
> National University of Ireland, Maynooth
> 
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-03-06 12:17
Fromjpff
SubjectRe: [Cs-dev] Possible API extension
Cabbage should certainly be incorpotated if Rory agrees.  At present the 
code needs some tidying and it is hard to build except on one file layout.  
I have done some work on it, and it is high in teh list of what to do for 
5.09 (with the changes I have already queued up to commit.
==John ff

On Thu, 6 Mar 2008, Victor Lazzarini wrote:

> Not wanting to misappropriate Rory's invention, but... should we consider
> including it in the Csound distribution?
> 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-03-09 17:46
FromAnthony Kozar
SubjectRe: [Cs-dev] Possible API extension
Victor Lazzarini wrote on 3/6/08 7:12 AM:

> 3) Opcodes a la diskin, diskin2 to access MIDI files (using memory file
> functions perhaps? Anthony?)

I am not sure what the goal here is, so I cannot say whether something like
ldmemfile2() ought to be used.  diskin of course reads the file from disk
while performing.  It is easy enough to open the same file multiple times
this way.  The advantages of ldmemfile2() are that it loads the whole file
into memory for better performance and it ensures that a file is only loaded
once when used by multiple opcodes.  I don't know if these would be
advantages for Midi files (or OLPC)?

The problem with trying to use ldmemfile2() for Midi files is that it was
intended to be used only with analysis files and thus searches only SADIR
and the current directory.  There is also csoundLoadSoundFile() but that
won't work for Midi files at all.  It would be a fairly simple task though
to add extra parameters to the existing ldmemfile2() function so that the
search path could be specified (MFDIR for instance).  In this case, it
should be renamed again (perhaps ldmemfilewithpath?) and a simple
ldmemfile2() wrapper should be written to pass "SADIR" to preserve the
current functionality of the plugin API.

Anthony Kozar
mailing-lists-1001 AT anthonykozar DOT net
http://anthonykozar.net/



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-03-09 20:20
Frommatt ingalls
SubjectRe: [Cs-dev] Possible API extension
congrats rory,

i'm all for moving this into csound cvs!  and willing to try it out on  
OSX
(if you could help me through setup)

so is cabbage the wxwidget implenation too?  i thought i was just
if it this is going to be a standard, i still would like to see  
the .csd syntax a bit different
to allow other hosts to support it:

all parameters optional.
a defined flexibility so new parameters would not break old (or  
unsupported) implementations.
( i guess this really just means:  "hosts ignore parameters they do  
not understand" )
consider use XML syntax instead?
(do i dare mention unicode?)

and as we discussed previously,  eventually having dynamic-control of  
parameters/attributes from within score!



On Mar 6, 2008, at 4:12 AM, Rory Walsh wrote:

> We discussed this but decided that we should wait until the code is
> really tight and everything is working perfectly. The sourceforge page
> is http://sourceforge.net/projects/cabbage/ If anyone is interested in
> helping feel free to sign up as a developer. I'm interested to see how
> it runs on OSX. On the MIDI side of things I think it would be nice to
> be able to send MIDI messages out of Csound. With this users could  
> build
> fltk or other GUI instruments that could acts as MIDI controllers.
>
> Rory.
>
>
> Victor Lazzarini wrote:
>> Not wanting to misappropriate Rory's invention, but... should we  
>> consider
>> including it in the Csound distribution?
>>
>> At 11:22 06/03/2008, you wrote:
>>> Talking to Rory at LAC2008 I was convinced that we need an API
>>> operation to insert a MIDI event into the Csound MIDI controller.  I
>>> have not looked too closely yet, but i think there are PortMIDI
>>> operation to do this, but the host program may need to have a simple
>>> way of running MIDI, especially so the GUI stuff can move out of the
>>> base code.
>>>  Related, but I was impressed with Cabbage, and am looking at it  
>>> as a
>>> way to do what we said we wanted at LAC last year.
>>> ==John ffitch
>>>
>>> -------------------------------------------------------------------------
>>> This SF.net email is sponsored by: Microsoft
>>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>> _______________________________________________
>>> Csound-devel mailing list
>>> Csound-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>>
>> Victor Lazzarini
>> Music Technology Laboratory
>> Music Department
>> National University of Ireland, Maynooth
>>
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>> _______________________________________________
>> Csound-devel mailing list
>> Csound-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel

matt ingalls
development@gvox.com




-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-03-09 20:27
FromRory Walsh
SubjectRe: [Cs-dev] Possible API extension
> i'm all for moving this into csound cvs!  and willing to try it out on  
> OSX
> (if you could help me through setup)

Sure will. I will let you know when it's ready to be tested on OSX, the 
build process is still a little messy..

> so is cabbage the wxwidget implenation too?  i thought i was just
> if it this is going to be a standard, i still would like to see  
> the .csd syntax a bit different
> to allow other hosts to support it:
> all parameters optional.
> a defined flexibility so new parameters would not break old (or  
> unsupported) implementations.
> ( i guess this really just means:  "hosts ignore parameters they do  
> not understand" )
> consider use XML syntax instead?
> (do i dare mention unicode?)

The syntax has changed slightly from when you saw it last. All 
parameters are optional now as we discussed. New parameters do not break 
existing ones and I still think that xml code is a bit cumbersome to 
type by hand?

> and as we discussed previously,  eventually having dynamic-control of  
> parameters/attributes from within score!

This would be great. Users could then create GUIs using variables rather 
than static text at the top/bottom of the score. I gotta bounce, take it 
easy,

Rory.

> 
> 
> On Mar 6, 2008, at 4:12 AM, Rory Walsh wrote:
> 
>> We discussed this but decided that we should wait until the code is
>> really tight and everything is working perfectly. The sourceforge page
>> is http://sourceforge.net/projects/cabbage/ If anyone is interested in
>> helping feel 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-03-10 18:26
Frommatt ingalls
SubjectRe: [Cs-dev] Possible API extension
> API
> operation to insert a MIDI event into the Csound MIDI controller.  I


Well there is the MIDIRead callback already --  i guess you are  
talking about having portMIDI running internally and host app sending  
MIDI events too? ( and i believe once you register your own callback  
portMIDI is disabled? )

As i think there are a lot of instances where csoundlib doesn't need  
portmidi (for instance running inside a vst plugin it would receive  
MIDI from the vst host via the existing MIDIRead callback ), what  
about  removing the PortMIDI module out of csoundlib and instead make  
it's own dylib that host apps could use directly  -- you could add the  
MIDIInputEvent() to the portMIDI module.   --- although maybe this  
gets too tedious for host developers?

matt ingalls
development@gvox.com




-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-03-10 18:29
Frommatt ingalls
SubjectRe: [Cs-dev] Possible API extension
> The syntax has changed slightly from when you saw it last. All
> parameters are optional now as we discussed. New parameters do not  
> break
> existing ones

great!

> and I still think that xml code is a bit cumbersome to
> type by hand?

yes, i agree too, but there is always the platform-specific linebreak  
issues, and i'm sure someone is going to eventually complain that it  
is not xml-compliant (with good reasons?)



matt ingalls
development@gvox.com




-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-03-10 18:38
FromRory Walsh
SubjectRe: [Cs-dev] Possible API extension
> yes, i agree too, but there is always the platform-specific linebreak  
> issues, and i'm sure someone is going to eventually complain that it  
> is not xml-compliant (with good reasons?)

Yes but by the time that happens hopefully the GUI code can be called 
using a special GUI widget in Csound, or not.. There seems to be a 
general desire to remove all GUI stuff from the Csound language. I can't 
say I'm against this idea but I do think a single generic GUI opcode 
might be a good idea. The main advantage of it would be that users could 
use features of the Csound language when building GUIs. We should really 
host a Csound conference so everyone can discuss this stuff in person! 
Failing that everyone should attend next year's LAC!



> 
> 
> matt ingalls
> development@gvox.com
> 
> 
> 
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-03-10 18:43
From"Steven Yi"
SubjectRe: [Cs-dev] Possible API extension
AttachmentsNone  

Date2008-03-11 01:10
FromTim Mortimer
SubjectRe: [Cs-dev] Possible API extension
Can i just re-mention the idea of transmitting out midi on multiple out ports
if there is to be a MIDI overhaul?

at work, gotta run.

(Adelaide presently enjoying it's longest heatwave on record.....)


Victor Lazzarini wrote:
> 
> Also in relation to MIDI and urgent:
> 
> We need to review the MIDI file playback in Csound. Ideally we would
> like:
> 
> 1) Multiple MIDI file playback (currently the Csound structure only holds
> a reference to one file)
> 
> 2) Control of playback position, speed etc
> 
> 3) Opcodes a la diskin, diskin2 to access MIDI files (using memory file 
> functions
> perhaps? Anthony?)
> 
> These would mean that we would be looking at generating
> events that would trigger instruments from an instrument,
> possibly an infinite loop here? Well, nothing too far from
> what the 'event' and 'schedule' opcodes already do.
> 
> I think this is very, very urgent, in view of the requirements of OLPC.
> 
> Victor
> 
> At 11:22 06/03/2008, you wrote:
>>Talking to Rory at LAC2008 I was convinced that we need an API
>>operation to insert a MIDI event into the Csound MIDI controller.  I
>>have not looked too closely yet, but i think there are PortMIDI
>>operation to do this, but the host program may need to have a simple
>>way of running MIDI, especially so the GUI stuff can move out of the
>>base code.
>>   Related, but I was impressed with Cabbage, and am looking at it as a
>>way to do what we said we wanted at LAC last year.
>>==John ffitch
>>
>>-------------------------------------------------------------------------
>>This SF.net email is sponsored by: Microsoft
>>Defy all challenges. Microsoft(R) Visual Studio 2008.
>>http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>_______________________________________________
>>Csound-devel mailing list
>>Csound-devel@lists.sourceforge.net
>>https://lists.sourceforge.net/lists/listinfo/csound-devel
> 
> Victor Lazzarini
> Music Technology Laboratory
> Music Department
> National University of Ireland, Maynooth
> 
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> 
> 


-----
*******************
www.phasetransitions.net
hermetic music * python * csound * possibly mindless ranting
various werk in perpetual delusions of progress....

-- 
View this message in context: http://www.nabble.com/Possible-API-extension-tp15871265p15972408.html
Sent from the Csound - Dev mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net