XSIforum.com

¿Shortcut para cambiar layout?

0 Usuarios y 1 Visitante están viendo este tema.

¿Shortcut para cambiar layout?
« en: 26 Marzo 2009, 09:19:21 »
¿Alguna manera de automatizar pasar del default layout al de Compositing sin tener que estar constantemente buscandolo en la barra de menús?

Gracias de antemano  O0

Re: ¿Shortcut para cambiar layout?
« Respuesta #1 en: 26 Marzo 2009, 15:44:14 »
No es exactamente lo mismo pero con alt+1 obtienes el fxTree y alt+2 el fxViewer.

alanf

  • *****
  • 6029
  • Pipeline Developer @ Felix & Paul Studios
Re: ¿Shortcut para cambiar layout?
« Respuesta #2 en: 26 Marzo 2009, 15:51:08 »
Create un plugin que haga un custom command.

Usa algo como este JScript:
Código: [Seleccionar]
var desktop = Application.Desktop;
var layout = desktop.Layouts("Compositing");
desktop.ActiveLayout = layout;
LogMessage( desktop.ActiveLayout.Name );

Al ser custom command, le puedes asignar hotkey/atajo.

M-TUNE

  • **
  • 668
  • Mental Reeeyyy..!!!
Re: ¿Shortcut para cambiar layout?
« Respuesta #3 en: 26 Marzo 2009, 22:08:57 »
gracias alanf.!!

 ::) y para devolverse al layout anterior sin tener q crear otro hotkey para el layout default con el mismo hotkey ? ::)


alanf

  • *****
  • 6029
  • Pipeline Developer @ Felix & Paul Studios
Re: ¿Shortcut para cambiar layout?
« Respuesta #4 en: 27 Marzo 2009, 00:22:22 »
En mi codigo puse como obtener el layout activo.

Basta con poner un simple If:
Código: [Seleccionar]
var desktop = Application.Desktop;
var now = desktop.ActiveLayout.Name;
if (now == "Compositing") { var to = "Default"; }
else { var to = "Compositing"; }
var layout = desktop.Layouts(to);
desktop.ActiveLayout = layout;
(Si el activo es Compositing, pasar a Default. Si no es asi, pasar a Compositing.)

« Última modificación: 27 Marzo 2009, 00:34:40 por alanf »

Re: ¿Shortcut para cambiar layout?
« Respuesta #5 en: 27 Marzo 2009, 00:51:02 »
Una opción sería guardar en un custom property el nombre del layout actual para saber a cual volver cuando hagamos el cambio desde el compositing (no todos usamos el layout default) :)

Código: (Python) [Seleccionar]
import win32com.client
from win32com.client import constants as c
xsi = win32com.client.Dispatch("XSI.Application").Application
root = xsi.ActiveProject.ActiveScene.Root

if len([i for i in root.Properties if i.Name == "storeLayout"]) == 0:
cp = root.AddProperty("CustomProperty", False, "storeLayout")
cp.AddParameter3("layout", c.siString, xsi.Desktop.ActiveLayout.Name, "", "", False, False)

collect = [i for i in root.Properties if i.Name == "storeLayout"]
oldLayout = collect[0].layout.value

if xsi.Desktop.ActiveLayout.Name == "Compositing":
xsi.Desktop.ActiveLayout = xsi.Desktop.Layouts(oldLayout)
else:
xsi.Desktop.ActiveLayout = xsi.Desktop.Layouts("Compositing")

if oldLayout == "Compositing":
xsi.DeleteObj(collect)
xsi.Desktop.ActiveLayout = xsi.Desktop.Layouts("Default")

Re: ¿Shortcut para cambiar layout?
« Respuesta #6 en: 27 Marzo 2009, 09:00:21 »
Ya he visto que funciona muy bien :D . Muchas gracias a los dos :)

M-TUNE

  • **
  • 668
  • Mental Reeeyyy..!!!
Re: ¿Shortcut para cambiar layout?
« Respuesta #7 en: 27 Marzo 2009, 13:32:59 »
 :D gracias masters.!!