[Vm-dev] Re: help on creating plugin
John M McIntosh
johnmci at smalltalkconsulting.com
Wed Sep 17 15:22:57 UTC 2008
There is no slang defined methods.
The rule is
self blafoobar: thing
becomes blafoobar(thing) when it builds the C code because it is
methodName: argument becomes methodName(argument)
For methods with more than one argument SLANG concatinates the parts
into one Name.
Thus you can construct something like
self mem: foo c: bar py: too
then becomes
memcpy(foo,bar,too);
Or so I remember
You can also use this to code procedures in SLANG for the plugin.
For example in the GStreamer plugin I code a SLANG method
cb: element new: newPad pad: data
"Ok the trick here is on the signal pad_add we may have multiple pads
being created.
Therefore we must find the sink pad that can handle the request. Note
for ogg you could have the
audio and video stream for example"
| max result gstPadValue gstCapsValue |
self var: #gstPadValue declareC: 'GstPad* gstPadValue'.
self var: #gstCapsValue declareC: 'GstCaps* gstCapsValue'.
self var: #data declareC: 'sqInt *data'.
that becomes a C procedure
static sqInt cbnewpad(sqInt element, sqInt newPad, sqInt *data)
On Sep 16, 2008, at 8:17 PM, Esteban Lorenzano wrote:
> Hi,
> Thanks for the answers... I'm trying to advance my plugin with your
> advices, but is a little hard to understand (and no much time
> available).
> I have a question, maybe very basic, but I'm a newbie at plugin
> development:
>
> Is there a place where I can see all the Slang defined methods? I'm
> asking because in some places I see a "self strlen: blah" and I
> would like to know which ones are available for use, instead of
> fill my code of "self cCode: 'blah') sentences.
>
> Many thanks,
> Esteban
>
>
--
=
=
=
========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
=
=
=
========================================================================
More information about the Vm-dev
mailing list