> On 05/29/11 16:24, Fred Mellender wrote:
>
> Hi!
>
>> I would like to see a general scripting capability that would have
>> commands for all the menu items in SCID as well as keyboard shortcuts.
>>   As an example project: construct "mate in one" puzzles (which I have
>> done via the current interface to SCID, game by game):
>
> Though a nice idea to have some sort of macro recorder, I feel that at
> the moment no one has capacities to work on this. Do you? Could you
> contribute the code? I fear this could get quite complex. And I'm not
> sure how much use a macro recorder is in the end.
>
> [...]
>> If there were a scripting capability that would include language for all
>> menu commands and key short cuts it would make SCID very powerful for
>> projects like the above.  Perhaps a separate script interpreter (outside
>> of SCID) that could send commands to SCID (say, via STDIN) and receive
>> results back would be simplest to implement.  If SCID would define the
>> command protocol, that would be enough to get us started (leaving the
>> script language definition and interpreter to the user community).
>
> Well, if you want a full scale scripting language within Scid you can
> just do it right now. You can even do it for years. There is no need to
> invent yet another language (a wast of time anyway) and in fact not to
> write a single line of code.
>
> Just use TCL as language and use Scid as API backend. It's all there,
> it's the very way how Scid is done itself. For simple examples on how to
> do such things see e.g. sc_spell, sc_addmove, sc_spell, sc_import, sc_...
>
> Doing automatic searches within the Scid database to find individual
> games by some criteria is e.g. done extensively in the correspondence
> chess code. (tcl/tools/correspondence.tcl) All the cc functionality
> lives on top of the tcl ie. scripting layer of Scid. Not a single line
> of C code is involved here. Though it integrates with Scids menues it
> was in fact written almost entirely without this linkage, in a way it is
> a sample of a (well, by now pretty large) Scid macro. If one drops the
> requirement for NLS support, one could even move all menues and buttons
> geneated right into the very module itself and it would have no
> interference with Scids main code at all.
>
> If you want to check out how such things can be done I've attached a
> simple "macro" that embeds itself into Scids CC functions to provide
> better blending with some functionalities my favourite chess club. This
> is used as a plugin. This plugin adds it's own menu entries (in this
> case to the CC window) and lives completely on it's own. It doesn't
> provide NLS for that reason. (But personally I don't care about NLS
> myself as long as everything is in English.)
>
> However beware: if you do such scripting you can easily trigger side
> effects and/or destroy your work. So place your favourite disclaimer
> here before you proceed. You've been warned! ;)
>
> --
>
> Kind regards,                /                 War is Peace.
>                             |            Freedom is Slavery.
> Alexander Wagner            |         Ignorance is Strength.

So, all we need is a menu item "Run Script" that allows the user to
choose a tcl file and loads and runs it and we all can destroy our
databases any way we choose. This would also be convenient for testing
new features. Perhaps also a configuration entry to enable or disable
(default disabled) this feature would also be good

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Scid-users mailing list
Scid-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scid-users

Reply via email to