2 votos

Abrir una nota o mostrar un diálogo con la aplicación

Trabajo con un colega editando vídeos y deseo activar un diálogo o un documento de notas cada vez que abra Final Cut, para poder dejarle mensajes para que haga el trabajo. La máquina tiene que estar siempre encendida, así que no puedo utilizar ningún método de inicio.

Es la misma estación de trabajo la misma cuenta de usuario, compartimos la sala en diferentes turnos.

El Capitan 10.11.6 - FinalCut Pro 7 -- Entra después de las 18 horas

¿Algún consejo sobre cómo mostrar un mensaje al abrir una aplicación?

1 votos

Dónde está, cómo está conectado, qué HW,SW está utilizando. Ayúdanos a ayudarte. Si es la misma máquina, ¿tiene su propia cuenta de usuario?

0 votos

Es el mismo puesto de trabajo, compartimos la sala en diferentes turnos.

1 votos

Por favor, responda a todas mis preguntas, especialidad la de si tiene su propia cuenta de usuario. Cómo sabría el sistema que fue él quien abrió el Final Cut y no tú. Podríamos usar la marca de tiempo si eso no cambia. Siempre la misma mierda.

1voto

wch1zpink Puntos 11

No tengo "Final Cut.app" así que he probado este código con el TextEdit.app. Si guardas este código en script Editor como una aplicación que permanece abierta, en la primera ejecución, esta app mostrará un cuadro de diálogo para que introduzcas el mensaje que quieres que lea la persona que abre "Final Cut". Si el "Final Cut" se cierra o sale inesperadamente . Al volver a abrir "Final Cut", se mostrará de nuevo el cuadro de diálogo original que hayas establecido previamente. Cuando se sale de la aplicación abierta y se vuelve a abrir . Ese cuadro de diálogo volverá a aparecer pidiéndote que introduzcas el mensaje que quieres que lea la persona que abre "Final Cut".

property theApp : "TextEdit" -- Change this
property theMessage : missing value
property appIsRunning : missing value

activate
set theMessage to text returned of (display dialog ¬
    "THE MESSAGE" default answer ¬
    "Message You Want To Display" buttons ¬
    "OK" default button ¬
    "OK" with title ¬
    "Message You Want To Display" with icon 2)

on idle
    repeat
        repeat until appIsRunning is true
            delay 5 -- avoids dialog and theApp (if relaunching) opening at same time
            set appIsRunning to application theApp is running
            if appIsRunning is true then
                activate
                -- Running A Display Dialog Within An Application Tell Block... 
                -- Inherits The Apps Icon To Be Used In The Dialog Window
                tell application theApp to display dialog theMessage buttons {"OK"} default button "OK" with icon 1
            end if
        end repeat
        -- next line necessary to re-trigger the "repeat until" loop again
        set appIsRunning to application theApp is running
        return 5 -- in seconds
    end repeat
end idle

1 votos

Le ruego que compruebe si necesita el exterior repeat en su on idle ¿Manipulador? Teniendo en cuenta que el controlador se ejecuta cada 5 segundos (desde su return 5 ), sospecho que es superfluo. Mi segunda pregunta es si se desharía de if appIsRunning is true then moviendo el contenido de ese bloque justo fuera del bloque interior repeat que en realidad sólo sirve como monitor en un ciclo de retardo. Una vez que el bucle se rompe, se conozca que appIsRunning es verdadero, por lo que se puede mostrar el diálogo; entonces tampoco es necesario set appIsRunning una segunda vez.

1 votos

De hecho, sólo hay que tirar el appIsRunning propiedad en su totalidad. Sólo lo utilizas efectivamente una vez, por lo que no tiene ningún valor real. Simplemente puedes hacerlo: repeat until application theApp is running ... delay 5 ... end repeat . Entonces activate y display dialog entonces return 5 .

3 votos

He recortado toda la grasa que he podido y he añadido algunas descripciones comentadas. Gracias a todos... por los consejos

-1voto

Buscar웃 Puntos 23467

Aquí hay un Apple script (en su carpeta de Utilidades script Editor) que abrirá Notas si se abre el Final Cut.

No tengo Final Cut, así que usé Skype para probar. Sólo tienes que copiar y pegar lo siguiente, y luego guardar.

repeat until application "Final Cut Pro" is running
    delay 1
end repeat

delay 5
if application "Final Cut Pro" is running then activate application "Notes"

El Retraso 5 (segundos) es para tener Notas como ventana superior después de que se inicie Final Cut. Puede aumentar ese número. Este script se ejecutará de forma continua hasta que se inicie Final Cut, pero podríamos ir de lujo y hacer que se inicie a las 18:00.

El requisito es que dejes el corte final antes de salir.

Como siempre puedes ser muy elaborado dejando un mensaje e instrucciones en Nota.

También configure las Notas en las Preferencias para que se ordenen por fecha de creación y así tener la última nota en la parte superior.

1 votos

"AppleScript" no está en la carpeta "Utilidad". Sin embargo, script Editor está en la carpeta "Utilidades" de la carpeta "Aplicaciones". Probar la aplicación con Skype es razonable, pero por qué no sustituirlo entonces por Corte final antes de enviar la respuesta, en lugar de sugerir al lector que lo haga? No tiene sentido dejarlo así. El appName es superflua: tiene más sentido decir simplemente if application "Final Cut" is running then y posteriormente activate application "Notes" . Continúa...

1 votos

...Continuación De hecho, ese es todo su script en una línea: if application "Final Cut" is running then activate application "Notes" . El resto es basura innecesaria. Dicho esto, no creo que esta respuesta resuelva la solución del PO en absoluto tal y como está actualmente. Si el OP ejecuta su script tal y como está, lanzará Notas o no lo hará, entonces se termina. Eso no es especialmente útil.

1 votos

open location tampoco es un Notas de mando. Hay un comando llamado open notes location pero requiere una URL a una nota preexistente. Como punto final, acabo de hacer una búsqueda en Google y resulta que Final Cut (Pro) no es scriptable (a menos que esa información esté desactualizada). Esto significa que no se puede utilizar el running para comprobar si se está ejecutando. Por lo tanto, el script no se ejecutará. Creo que esta respuesta debe ser mejorada radicalmente con más detalles y correcciones, o eliminada por ser insuficiente y un ejemplo de AppleScripting incorrecto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X