More Power to Ingretate MOHO into pipelines

Discuss ideas for new features with other users. To submit feature requests to Smith Micro, please visit support.smithmicro.com

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
LuisArmengol
Posts: 10
Joined: Thu Sep 14, 2023 10:08 am

More Power to Ingretate MOHO into pipelines

Post by LuisArmengol »

Hi to all,

Im a newbie on Moho, but I've integrated a lot of softwares in our pipeline and making tools always searching the production eficiency in these last 20 years like Softimage, Maya, Blender, Toonboom Harmony, etc

Now Im trying to integrate Moho Studio but I've found a lot of limitations for developers (doing a comparison with another softwares, sorry):

- LUA is a very high level scripting language so we have very limitations when we want to do some low level actions.
- Moho API has its limitations: Maybe LUA natively has its limitations, but it could be avoided through a good MOHO API (I dont believe that is we want to create a folder we need to do a system call or compile LuaFileSystem plugin.. with all the complications to load external compiled plugins on MOHO)
- Some features don't make sense to me as they are made: For example: We have the possibility of render a scene from the command line, but we cannot specify certain parameters without having to open the scene and save it again like the width or height.
- A lot of MOHO actions dont have the posibility to do it programatically: For example: Rendering an animation sequence inside the app, Toggling viewport elements like Curves, etc, etc ,etc

So I recommend this whislit to have a better software that could be integrated easily and with more funcionality in more animation studios:

- Integrate another scripting engine like Python or QTScript (I know that maybe this is the most complicated feature to implement)
- Make a powerful API in order to accomplish manually actions via programatic.
- Add the posibility to create/manage custom menus have more visibility of some custom tools/actions.
- Have the posibility of a permanent toolbar to avoid excessive clicks (changing the active tool a lot of times)


I will continue trying to accomplish all the stuff we want to do via scripting but I know there will be many things that I won't be able to do.

Best regards
User avatar
mmmaarten
Posts: 271
Joined: Mon Sep 19, 2022 2:19 pm
Location: Utrecht, The Netherlands
Contact:

Re: More Power to Ingretate MOHO into pipelines

Post by mmmaarten »

I would opt for either Python or Javascript as these are both very well used languages (especially Javascript is leading).
Also some kind of API module with some kind of watcher to receive commands via (internal) network (while still keeping the UI responsive at the same time, so in a different thread) would be very welcome, because than we could control Moho via external software like a universal bone picker tool like the one made for Blender (which is based on the one created by ANimSchool for Maya) so that we can use the same picker tool for Maya, Blender and Moho.
Adults should play more often
User avatar
synthsin75
Posts: 9981
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: More Power to Ingretate MOHO into pipelines

Post by synthsin75 »

LuisArmengol wrote: Thu Sep 14, 2023 11:06 am ...Toggling viewport elements like Curves, ...
https://mohoscripting.com/search/?subject=qualityflags
User avatar
SimplSam
Posts: 1048
Joined: Thu Mar 13, 2014 5:09 pm
Location: London, UK
Contact:

Re: More Power to Ingretate MOHO into pipelines

Post by SimplSam »

Yes. There are some limitations - but also ways around some of them, as you imply using system calls, etc (which is not ideal). I am equally one that has called for some level of native Python integration, but that may never see the light of day.

- The Command Line Render - Resolution issue has been raised before.
- You can render from inside the app, by using a 'os.execute system call' to run the command line render. I use this frequently.
- Some peeps use keyboard shortcut automation to sends commands to Moho - to modify things like the state of Moho.
- Recently significant work has been done to improve the use of Modeless dialogs in MH14 - so they can interact fully with Moho, and further work is due.
- The Moho Lua scripting interface is still very powerful. It may not do what you want it to do 'readily', but it is still very capable and improving and evolving.

Now that MH14 is out - I feel a lot more attention can be paid to the outstanding 'little things'. Lost Marble has also just integrated links to mohoscripting.com and mohoscripts.com in the app, and are actively encouraging more people to script for Moho, so I do believe they will be supporting that side-of-things much more.

p.s. Welcome to Moho
Moho 14.1 » Win 11 Pro 64GB » NVIDIA GTX 1080ti 11GB
Moho 14.1 » Mac mini 2012 8GB » macOS 10.15 Catalina
Tube: SimplSam


Sam
LuisArmengol
Posts: 10
Joined: Thu Sep 14, 2023 10:08 am

Re: More Power to Ingretate MOHO into pipelines

Post by LuisArmengol »

synthsin75 wrote: Thu Sep 14, 2023 11:41 pm
LuisArmengol wrote: Thu Sep 14, 2023 11:06 am ...Toggling viewport elements like Curves, ...
https://mohoscripting.com/search/?subject=qualityflags
Thaaaanks :) Quality Display in UI "Path" = Show Curves View Menu = LDQ_WIREFRAME flag value (i suppose)
I will use it :) thanks again.
LuisArmengol
Posts: 10
Joined: Thu Sep 14, 2023 10:08 am

Re: More Power to Ingretate MOHO into pipelines

Post by LuisArmengol »

SimplSam wrote: Thu Sep 14, 2023 11:54 pm Yes. There are some limitations - but also ways around some of them, as you imply using system calls, etc (which is not ideal). I am equally one that has called for some level of native Python integration, but that may never see the light of day.

- The Command Line Render - Resolution issue has been raised before.
- You can render from inside the app, by using a 'os.execute system call' to run the command line render. I use this frequently.
- Some peeps use keyboard shortcut automation to sends commands to Moho - to modify things like the state of Moho.
- Recently significant work has been done to improve the use of Modeless dialogs in MH14 - so they can interact fully with Moho, and further work is due.
- The Moho Lua scripting interface is still very powerful. It may not do what you want it to do 'readily', but it is still very capable and improving and evolving.

Now that MH14 is out - I feel a lot more attention can be paid to the outstanding 'little things'. Lost Marble has also just integrated links to mohoscripting.com and mohoscripts.com in the app, and are actively encouraging more people to script for Moho, so I do believe they will be supporting that side-of-things much more.

p.s. Welcome to Moho

Thanks SimplSam, I need to learn a lot about Moho yet. Im still on 13.5.5 but I will move to 14. I need to recompile some dlls (lua winapi and lfs) with the new LUA version used in 14.
LuisArmengol
Posts: 10
Joined: Thu Sep 14, 2023 10:08 am

Re: More Power to Ingretate MOHO into pipelines

Post by LuisArmengol »

mmmaarten wrote: Thu Sep 14, 2023 9:02 pm I would opt for either Python or Javascript as these are both very well used languages (especially Javascript is leading).
Also some kind of API module with some kind of watcher to receive commands via (internal) network (while still keeping the UI responsive at the same time, so in a different thread) would be very welcome, because than we could control Moho via external software like a universal bone picker tool like the one made for Blender (which is based on the one created by ANimSchool for Maya) so that we can use the same picker tool for Maya, Blender and Moho.
I've developed a proxy in nodejs that accepts websockets from our web based production system. It writes the received command to a logfile. With luawinapi im watching the modification of that file (Im still need to investigate how to do it for MAC), so when it changes, Moho read that file and executes the command. Our custom implementation for that websocket server inside Maya and Harmony is using QT. In Blender we use directly python modules. I like QT because in addition to having all those powerful modules (I could launch that websocket server inside the app), we can also create very powerful visual tools without the limitation of the program's own API about UIs
User avatar
mmmaarten
Posts: 271
Joined: Mon Sep 19, 2022 2:19 pm
Location: Utrecht, The Netherlands
Contact:

Re: More Power to Ingretate MOHO into pipelines

Post by mmmaarten »

LuisArmengol wrote: Fri Sep 15, 2023 10:04 am I've developed a proxy in nodejs that accepts websockets from our web based production system.
I understand we can create such things outside of Moho, but when wanting to use external code to send things to Moho we need Moho to react to it at realtime, so the watcher should be running from within the Moho instance while working with the same instance's GUI/editor to use things like external bone pickers for animation to trigger Moho stuff (see https://www.blendermarket.com/products/x-pose-picker).
(As a side note it could also be benificial for doing things like feeding dynamic data (like charts) from outside sources (like nodejs scripts) into moho while working in the Moho editor. Although I understand that's not the core business of Moho, as that is character animation (and not something I'm looking for either tbh, but just mention it because when possible it would open up many possibilities tho))
Adults should play more often
User avatar
Lukas
Posts: 1297
Joined: Fri Apr 09, 2010 9:00 am
Location: Netherlands
Contact:

Re: More Power to Ingretate MOHO into pipelines

Post by Lukas »

I'm all for these suggestions. I think animation software that let's you add custom code is very important, because every art style needs it own pipeline.

I use this for rendering: LK_Render
There's also some code in there where it sends info to a python scripts (you'll have to dig a bit) that sends it to our renderfarm. It's far from a complete solution though. For example, Moho doesn't send a signal to tell the system a render is complete, so we currently check the folders for activity before marking a render as finished. It works, but it would be nice to track it more efficiently and see at how many % a render is.
LuisArmengol
Posts: 10
Joined: Thu Sep 14, 2023 10:08 am

Re: More Power to Ingretate MOHO into pipelines

Post by LuisArmengol »

Lukas wrote: Fri Sep 15, 2023 12:23 pm I'm all for these suggestions. I think animation software that let's you add custom code is very important, because every art style needs it own pipeline.

I use this for rendering: LK_Render
There's also some code in there where it sends info to a python scripts (you'll have to dig a bit) that sends it to our renderfarm. It's far from a complete solution though. For example, Moho doesn't send a signal to tell the system a render is complete, so we currently check the folders for activity before marking a render as finished. It works, but it would be nice to track it more efficiently and see at how many % a render is.
I want to show you what I have progressed so far in the integration with our pipeline, which is agnostic regarding the working software. Its communicates via websocket from a webpage with Moho (Although a proxy that generates a log because I cannot start a socket server inside it)

Right now Im developing the modification of the json file inside the moho file to send the render export to the renderfarm. As via command line we cannot specify parameters like export width or height, or the output image pattern dinamically I need to modify the moho file in a temporary file (or rename the file with another name) before being rendered.

And I would love a better /powerful way to manage UI / Windows inside Moho, but at least Im achieving all the objectives programagically.

https://drive.google.com/file/d/1hTj4rP ... BRbT0/view
Post Reply