Emerald Editor Discussion
July 20, 2017, 09:48:03 pm *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Embedded scripting skeleton ready  (Read 5063 times)
0 Members and 1 Guest are viewing this topic.
jonnymind
Miner
**
Posts: 18


« on: May 10, 2007, 10:57:32 pm »

Hello,

I have been trying to reach Arantor for the last 4 days, but it seems I can't reach him no matter how many private messages I send nor how many times he logs in this forum.

I am writing here to report that I have succeeded in embedding Falcon VM in my local copy of Emerald Editor. The skeleton embedding consists only in a "script" menu entry by which it is possible to load a Falcon script. The script can have arbitrary content and is run sequentially.

I have also written a skeleton "application module" that provides a function that allows falcon scripts to write strings at current position in the editor. Of course, it's a very rudimentary integration, but there's everything to start the embedding process.

All the changes I have made are protected under an #ifdef directive; I have added a separate gnu makefile that enables the compilation with Falcon libraries. The code is isomorphic with the repository prior to my work. In other words, normal users not explicitly willing to test this embedding feature won't even notice it's there.

I have still not committed it because I am waiting for confirmation from Arantor for a "clear to go", and I am not planning to go further into the work without a prior planning with the community, yet I think it would be useful to see how this skeleton embedding works as a basic idea.

If my proposal gets definitely accepted I will work to provide a generic scripting engine, that would be capable to accept any other scripting language integration. Just as an example, there is the need to abstract the search & replace interface that is now bound with the widgets actually performing the operations. The abstract layer could then be used by any scripting facility.

Theoretically, scripting facilities could be also plugged with dlls. There may be a dll plugin for Falcon scripting, one for Python scripting, and one for who-knows scripting; compilation requirements (i.e. script libraries) would then only be needed to compile a single DLL. However, this would require an extra abstraction layer and may actually add little or none value to the flexibility of the scriptability itself: the script support would still require to be written somewhere. Having it linked in the app or plugged as a dll is just a "structural" choice. The extra indirection layer and inter-module communication would add a bit of overhead; it may or may not be worth.

I would however help in doing what is needed for one thing or the other, provided Falcon is one of the scripting options. Actually, I strongly believe in abstraction and interfaces can make a better software even if they are used only once, so it would really be no extra effort for me...

So, I wait for a nod (and private account confirmation) to check in the skeleton embedding.

Bests.
JM.
Logged
Phil
Administrator
Master Jeweller
*****
Posts: 427


« Reply #1 on: May 11, 2007, 05:28:02 pm »

I was under the impression that the current EE source was going to get trashed, but it still might be good to look at as a reference for later.

Phil
Logged
jonnymind
Miner
**
Posts: 18


« Reply #2 on: May 11, 2007, 06:43:49 pm »

Well, yeah... that's what skeletons are for ;-)
Logged
Arantor
Site Administrator
Administrator
Master Jeweller
*****
Posts: 618



« Reply #3 on: May 18, 2007, 09:14:57 pm »

Hello!
I'm really sorry about this; I've been away from the forum for a few days, although for some reason the logs still have me listed as being here even when I'm at work which doesn't permit access to emeraldeditor.com...

Anyway I have set this up - I did it when we discussed it, I guess I forgot to let you know. Confirmation of user name and password in PM to you.
Logged

"Cleverly disguised as a responsible adult!"
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.247 seconds with 18 queries.