R: [PD] Re: [PD-announce] clr: externals in CLR assemblies

Thomas Grill gr at grrrr.org
Wed Jan 18 00:33:52 CET 2006


Hi all,
i was busy with live recordings for the last couple of days. (looking 
forward to a fantastic Low Frequency Orchestra CD!!)
When things have calmed down a bit i'll gladly try to implement the 
loader functionality for the clr external.
Great work Davide!

best greetings,
Thomas

Am 17.01.2006 um 23:20 schrieb Davide Morelli:

>
> well, not yet..
> I mean i've asked Thomas how to use it and he kindly explained me but I
> haven't had time yet to write that code..
> I'd surely need more info from him.. and a bit of time to recompile pd 
> with
> his patch, read the source code, understand how it works and modify my
> external..
> this way sounds complicated but that is not tru, should be simple
>
> ...maybe the better thing would be that he modify clr directly on CVS?
>
> or write a very very simple how-to?
>
> davide.
>
>
>> -----Messaggio originale-----
>> Da: pd-list-bounces at iem.at [mailto:pd-list-bounces at iem.at]
>> Per conto di Hans-Christoph Steiner
>> Inviato: martedì 17 gennaio 2006 20.57
>> A: pd-list at iem.kug.ac.at
>> Oggetto: [PD] Re: [PD-announce] clr: externals in CLR assemblies
>>
>>
>> This is great.  I am assuming that you are using the new
>> loader functionality from Thomas.  Would it be possible if
>> you could put up some notes about what you did?  It'll help
>> others like me write other loaders.
>>
>> .hc
>>
>> On Jan 17, 2006, at 11:07 AM, Davide Morelli wrote:
>>
>>>
>>> hello!
>>>
>>> [clr] is an external that lets you create externals using clr
>>> languages (C#, vb.net, ruby.net, dotLisp, etc..), it embeds mono.
>>>
>>> you can find it in
>>> /externals/clr
>>>
>>> At the moment it can only receive and send bangs, floats,
>> symbols and
>>> lists. ASAP I'll add support for pointers, signals and Gem.
>> Also many
>>> important functions are not present (things like timer callbacks
>>> etc..)
>>>
>>> I've tested it on winXp and osx 10.3 but i'm pretty sure it
>> will work
>>> on linux too.
>>> I need help writing makefiles, defining dependancies and testing.
>>> I will soon build binary packages.
>>> It is possible to build binary packages including mono and
>> all the GAC
>>> so the "end-user" won't need to install mono to use [clr] and the
>>> externals needing it
>>>
>>> requirements:
>>>  * mono installed
>>>  * glib, gthread, iconv in path (they should be inside mono as well)
>>>
>>> what you need to do to compile it:
>>>  * edit PATHs in the makefile so the compiler can find mono, glib,
>>> gthread, etc...
>>>
>>> to write an external you need to:
>>>  * in the pd folder compile pd.cs and Atom.cs into PureData.dll
>>>  * use the PureData namespace
>>>  * add PureData.dll to the references
>>>  * declare an "private intPtr x" variable
>>>  * declare a "void SetUp()" function and put there inlet,
>> outlet and
>>> selectors creation (see the external folder for a couple of
>> examples)
>>>
>>> -----------
>>>
>>> features:
>>>  * you can write externals in any clr language (C#, managed
>> C++, J#,
>>> Jscript.Net, PerlNET, Ruby, Scheme, VB.NET, dotLisp and a
>> lot more.. )
>>>  * use bangs, symbols, lists (both in and out)
>>>  * declare inlets, outlets, selectors
>>>  * use initialization arguments
>>>  * multi-instance
>>>  * compile many externals into one single .dll file
>>>  * extend an external including its assembly instead of
>> modifying its
>>> source code
>>>  * you can compile the external using whichever clr
>> compiler you like
>>> most
>>>  * assemblies are "cross-platform" (a single .dll file for all
>>> platforms)
>>>
>>> what is missing:
>>>  * support for signals, Gem, graphical externals
>>>  * many callback functions like timers etc..
>>>  * there may be threading issues
>>>  * testing, testing, testing!
>>>
>>> --------------
>>>
>>> detailed implementation notes, (future) binary pakages here:
>>> http://www.davidemorelli.it/dokuwiki/doku.php?id=csharp:csharp
>>>
>>> PS. many thanks to Thomas Grill for his help!
>>>
>>> Ciao,
>>> Davide Morelli
>>> www.davidemorelli.it
>>>
>>>
>>> _______________________________________________
>>> PD-announce mailing list
>>> PD-announce at iem.at
>>> http://lists.puredata.info/listinfo/pd-announce
>>>
>>
>> ______________________________________________________________
>> __________
>> ____
>>
>> Man has survived hitherto because he was too ignorant to know
>> how to realize his wishes.
>> Now that he can realize them, he must either change them, or perish.
>> 		
>> -William Carlos Williams
>>
>>
>> _______________________________________________
>> PD-list at iem.at mailing list
>> UNSUBSCRIBE and account-management ->
>> http://lists.puredata.info/listinfo/pd-list
>>
>
>
>





More information about the Pd-list mailing list