Lingo Message Window

©05 Alex da Franca -- alex@farbflash.de
Version 1.4, Release date: 03/31/08

  • MyMessWin is a Director Tool Miaw for use in authoring. It can be used as replacement for the built-in message window. It is entirely written in lingo and due to quirks and performance of editable text in Director it is unfortunately not a complete replacement of the message window (In Director 11 however the performance of the script editor and the message window has degraed so much, that I tend more and more to use this "fake message window").

  • It has a lot more features, than the message window. It also uses the MU xtra to create socket connections to servers and the shell xtra to do basic "terminal" tasks from within director.

  • It's just like a rough lingo fake of the terminal.app, which I have become so used lately, that I constantly do silly things like hitting return in the middle of a line in Directors message window and pulling my hair, that I need to restart the movie I am working on again. Now you can execute a line without moving the cursor to the end of the line, have a history of recently used commands, have seld defined aliases, plus a number of lingo specific functions.

  • Macromedia Director 8 and higher (currently Adobe Director 11).
  • Valentin Schmidts Shell xtra for shell mode (not necessary, if you don't use shell mode)
  • Directors built-in MultiUser xtra for socket conections to webservers.
  • Download and unstuff the zip archive.
  • Drag the folder "myMessWin" to your Director Xtras folder and restart Director.

 

  • The Director source file is included in the zip archive in the folder "source". Most of the work is done in the behavior "handleKeyBoardInput" in castlib 2, which is attached to the text entry field.

 

  • Lingo autocomplete. (Object sensitive, somewhat like intellisense)
  • Command history
  • Command aliases, user defined snippets.
  • Execution of command with return without moving to the end of the line
  • Multiline lingo statements
  • Lingo syntax coloring
  • Shell mode, using Valentin Schmidts shell xtra
  • ftp/ssh/http mode through a socket connection using Directors MultiUser xtra.
  • Image object preview
  • Formatted list output

 

  • Go to the trac project page to read further documentation and to get the latest version from the subversion repository.
  • Drop me a line: Alex da Franca

 

  • I thought catching a script error with the alerthook would prevent my movie to stop execution, if my alert handler returns true, but that doesn't seem to be the case. But maybe there is just some tricky part I am missing?

  • Copy and paste is suboptimal. But since the commandkey is taken by Director in authoring I didn't find a better way to copy and paste, than these clumsy buttons. Anyone has a better idea? Please share!

  • The autocomplete functionality has still some flaws and I am constantly working to improve it further. Feel free to contribute!

    Here is a brief overview of its function:

    • If there are more than one and less than 200 possible autocompletions a menu will appear.

    • Use the UP- and DOWN-ARROW keys to browse,

    • use the RIGHT-ARROW arrow key to select,

    • use the LEFT-ARROW arrow key to discard.

    • SPECIAL CASE for autocomplete:
      If there is a dot in the current word, the item before the dot is evaluated with value(). If it yields an object the handlers and properties for that object are used for autocompletion!
      That's a handy way to explore objects:
      instantiate an object and after the dot press the TAB key.
      Example:
      myObj = new(script "myScript")
      put myObj.<and now press the TAB key>

      Or, in case of using D10 or above, ypou can explore the top level DOM objects:
      • _system
      • _player
      • _movie
      • _mouse
      • _key
      • _sound
      put _<and now press the TAB key to get a list of the above>
      select one of them, for example _system, and enter a dot character
      put _system.<and now press the TAB key>

      Be aware of the fact, that evaluation is done backwards until the next space is found. So if you use functions make sure that there are no spaces surrounding the parentheses.
      Try for example to explore the handlers of my utilities script with:
      xscr().<and now press the TAB key> (note the dot after the xscr() function, which yields a script object -> script "commonMovieScript")

    • further if it is a script object and has a handler interface this handler is called to retrieve a string with the public handlers of this script object. This way the tool also can display parameter placeholders, if the handler definition which was yield with interface() also lists the parameters.

    here is an example of such a handler in your script:

    on interface me
      str = ""
      put "on handlerName me, string_parameter1, integer_parameter2" & RETURN after str
      put "-- a comment for the above handler used in other context" & RETURN after str
      put RETURN after str
      put "on handlerName2 me, list_parameter1, proplist_parameter2" & RETURN after str
      return str
    end

 

  • Version 1.4 from 31 March 2008

    • added keywords for more objects to the file "myMesswin_ObjectKeywords.xml" and fixed a number of bugs.

  • Version 1.3 from 22 March 2008

    • put keywords for objects in external file, so that they can be completed. (the keywords for objects are somewhat incomplete ;-) Added reveal handler in script editor function

  • Version 1.2 from 19 March 2008

    • Added support for image preview and refined object autocomplete. To preview an image object just 'put' the image object. Object autocomplete now works for some properties of instances and some director objects. Since dbgporplist doesn't work for all director objects, the keywords for each object need to be hardcoded :-( feel free to change that in the script 'handleKeyBoardInput' in castlib 2.

 

 

  • This tool is free of charge, however you are not allowed to remove the copyright marks in the scripts. All rights on the scripts are reserved.

    If you use it for a paid job and it saved you some time and you feel generous, you are welcome to support my work by donating via
    PayPal Donation
    (PayPal), whatever you think is appropriate.

  • Use the scripts at your own risk.