MXSEditor Control Plugin ( Beta )


#1

Hi ,
Some of you might remember a video i posted last year about a plugin i was developing to control the Maxscript Editor via maxscript. Development on it is on hold (actually since last year) because i’ve got loads of other things to do. But it is in a pretty usable shape already, so i decided to release it in the current state…

It provides a powerfull Maxscript interface to the maxscript editor (MXSE) and the underlying Scintilla component, allows MXSE to sit in an extended viewport etc. Scintilla knowledge is a plus if you want to control the editor. It’s important to read the readme accompaning the package.

Anyways, feel free do give it a go and post your experience here

BTW: it contains Max 2008 up to 2012 only, 32 and 64 bit
2013 would require some rework because of unicode

[B]Update:
The bug appearing while MXSE sits in an extended viewport, where the Max main window cannot be minimized/maxmizied or closed is fixed with V0.50a - Please redownload !

[/B]

Here’s the demo video i recorded last year, where i control the editors text selection via an realtime playing Mp3 per AudioFloat animation controller. Pardon my voice, but i had caught a cold at that time :cool:

MSEditor GUP demo clip on Youtube
Please Note: some commands i use in this video have a different syntax now, so they work differently. Eg. there is no global “mxsecall” function any longer, it’s encapsulated in the MXSEFuncs struct now

And here the download
[Download MXSEditor GUP V0.5 Beta1](http://www.frogsinspace.at/?download=MXSEditor Global Utility Plugin)

And finally, here’s a list of interfaces/structs the plugin provides (besides all Scintilla commands):
[B]

Interface: MXSEditor
   Properties:
    .x : integer : Read|Write
    .y : integer : Read|Write
    .width : integer : Read|Write
    .height : integer : Read|Write
    .enableCallbacks : boolean : Read|Write
    .isVisible : boolean : Read|Write
    .verbose : boolean : Read|Write
    .isExtendedVP : boolean : Read
    .mainHWND : HWND : Read
    .editHWND : HWND : Read
    .documentCount : integer : Read
    .currentDocument : string : Read
   Methods:
    <void>redraw()
    <void>show()
    <boolean>endExtendedVP()
    <void>reloadOptions()
    <boolean>editFile <string>filename quiet:<boolean>
       quiet default value: false
    <string>documentAtNumber <integer>index
    <boolean>sendCommand <string>commandstring
    <void>menuCommand <string>menucode
    <boolean>setWindowPosition <integer>x <integer>y <integer>width <integer>height
    <string>getConfigProperty <string>name
    <integer>getConfigIntProperty <string>name
    <void>setConfigProperty <string>name <string>value
    <integer>listFunctions()
    <integer>listConstants()
    <integer>listProperties()
    <integer>listMenucodes()
   Actions:
MXSEProps (const StructDef): #Struct:MXSEProps(
  list:<fn>,
  set:<fn>,
  get:<fn>,
  dump:<fn>)
MXSEFuncs (const StructDef): #Struct:MXSEFuncs(
  list:<fn>,
  call:<fn>)

-- DO NOT USE MXSECallback ! , it is totally broken/unimplemented
MXSECallback (const StructDef): #Struct:MXSECallback(
  list:<fn>,
  set:<fn>,
  disable:<fn>,
  remove:<fn>,
  get:<fn>,
  removeAll:<fn>,
  enable:<fn>)

[/B]


#2

Cool stuff, a bit swamped at the moment but will have a look into it later. I still have that intelli-sense / chm link thing in the back of my mind :slight_smile:


#3

Cool! I’ve always wanted to make my maxscript editor dance! :surprised :shrug:


#4

Nice to be able to put the editor in a viewport, the window always bugs me. :slight_smile:


#5

Has anybody downloaded already ?
I have a download counter on the link, but it sits there without going up …

Just to make sure that the DL works for you …


#6

Yep download link works fine, what about 2011 version?


#7

Could someone make an maxscript spell-checker auto-correct please?


#8

Max 2010 plugins are binary compatible with Max 2011, so simply use the Max 2010 versions

I will correct the package’s folder names to prevent further confusion…


#9

This is an awesome framework, I look forward to finding the time to playing with it.
Kudos for releasing it Joseph :thumbsup:


#10

Just having the maxscript editor as an extended viewport is awesome!

Don’t know what kind of magic you had to do to make that happen but totally worth it! :bounce:


#11

Great! One thing I noticed though… With the editor docked in the viewport, I’m not able to maximize / minimize / close Max through the default window buttons in the top right corner. Not a major issue, but thought it was worth noting.


#12

Thanks for reporting

Just tested here on Max 2012,2010 and 2009. Max 2012 and 2012 show the bug you mention, Max 2009 does not… I guess the reason for this is that the Appframe introduced with Max 2010 hooks itself into Max’s message loop in a trickery way to pass windows messages between appframe and Max main window titlebar ( which is still there but hidden behind the appframe).
I do something similar and hook into mxs editor’s message loop…and block maximizing/minimizing messages etc. from being passed to the editor window (if in extended viewport mode) , which would leave the viewport boundaries otherwise after recieving those messages of course…

Seems passing on those messages to the max main window handle is not enough any longer, i should adapt the code to send those messages to the appframe instead …

Don’t know if/when i will fix it … but i try to keep that bug in mind :wink:


#13

Package Updated (V0.51a - Beta 2) !

I fixed the bug reported by lostfilez and replaced the package.
Minimize/Maximize/Close for the 3ds Max main window in versions 2010 and above works now again as it should, even with the maxscript editor sitting in an extended viewport…

Simply redownload and overwrite the plugins in your max folder …


#14

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.