10
votes

Écrire un code personnalisé pour PowerPoint à l'aide de Leap Motion?

J'essaie de faire un diaporama PowerPoint basé sur un geste . JavaScript ne fonctionnerait certainement pas ici car je veux que mon diaporama fonctionne lorsque ce fichier PowerPoint (.ppt) particulier est ouvert pour Windows.

J'ai googlé, posté une question sur le forum de mouvement Leap, mais en vain. Mes principales préoccupations sont les suivantes:

  1. Je ne suis pas sûr de ce qu'il faut utiliser ici. Y a-t-il des SDK à cette fin? En mots simples, comment puis-je écrire un code personnalisé pour un fichier PowerPoint sur notre système? Les applications Leap Motion peuvent être développées avec C #, C ++, Python, JavaScript, Java, Objective-C

  2. Intégration du code pour Dispositif de mouvement LEAP avec le code ci-dessus.

    C'est bon si vous répondez avec l'un des deux points. Je suis désolé, je ne pouvais pas poster de code car je suis absolument nouveau à la programmation basée sur PowerPoint pour le système lui-même.

    Je suis ouvert à n'importe quelle langue (C, C #, C ++, Java et Objective-C) qui me permet de faire ma tâche. SUGESSTIONS AVEC DES INFORMATIONS / CODE Serait définitivement aider.

    Je suis un PHP et JavaScript développeur. J'espère que je suis clair et non mal compris.

    mise à jour:

    J'ai trouvé add-ins Leap Motion Controller pour Microsoft Office 2010/2013 (C #) . < / p>


12 commentaires

N'hésitez pas à corriger le marquage si c'est pour bon,


Bonjour, il semble que ici Vous pouvez trouver des informations utiles, un code source et / ou des collaborateurs.


@RAZCOR: THX, mais y a-t-il une chose pour Mac.. et est le marquage correct?


@RAZCOR: Comment puis-je faire le C ++, Python, Java afin de voir cette question, je pense que j'aurai besoin de plus de 5 tags ici ..


Je viens de redéfinir votre message! Je ne sais pas si, pour le moment, il existe des projets open source impliquant Mac OS X, Leap Motion et MS Office, où vous pouvez trouver des informations.


Je pense que ces tags sont assez populaires à ce sujet, laissez les gens à connaître la question, je changerai plus tard les tags en conséquence .. OS X, intégration, python, SDK, PowerPoint sont des autres balises qui pourrait être pratique


Vous pouvez utiliser C # pour créer un complément pour PowerPoint (par exemple: MSDN. Microsoft.com/en-us/Library/vstudio/cc668192.aspx ). Vous pouvez également utiliser Visual C ++ pour contrôler et automatiser Microsoft Office ( support.microsoft.com/kb/238972<< a>).


J'ai oublié de mentionner que pour exécuter les applications .NET sur Mac, vous pouvez utiliser Mono ( Mono-Project.com / Main_Page ).


Hé, pas sûr de ce que vous voulez faire. En fait, VBScript peut être utilisé si vous souhaitez automatiser certains travaux sur PowerPoint en utilisant son objet d'automatisation.


@CODOMNitrix: Je suppose que vous savez que vous savez à propos de Leap Motion? Devez-vous? J'ai besoin de commencer avec la programmation pour PowerPoint..Je espère que je suis clair maintenant ..


Pour être utilisé, les compléments du contrôleur de mouvement Leap devraient être installés localement sur la machine à exécuter PowerPoint. Est-ce que ça marche pour toi?


@Jasonplutext: La chose est que je n'ai jamais utilisé d'add-in.sdk avant et que jamais codé dans C #. J'ai téléchargé le SDK.Mais ne sais pas comment aller de l'avant?


4 Réponses :


2
votes

Si votre objectif est juste d'interagir avec une présentation PowerPoint, une solution simple peut être d'utiliser mieuxtouchtool .

Il est conçu pour OS X, il fonctionne avec le Leap Motion Controller , il vous permet de mapper Gestures (capturées par le contrôleur LM) aux raccourcis clavier et aussi longtemps que c'est Configuré correctement , cela fonctionne tandis que cela fonctionne en arrière-plan.

essentiellement, il devrait être possible de cartographier un balayage avec X doigts à droite comme une presse sur la touche fléchée droite - qui fera avancer la présentation à la diapositive suivante. Et ainsi de suite.

Si, toutefois, vous recherchez un défi programmatique / espérant faire cela dans une application pour AirPace, vous pouvez utiliser quelque chose comme Apache POI API JAVA 'S.

Il s'agit d'une solution beaucoup plus compliquée, mais elle bénéficie de l'avantage qu'il fonctionnera sur OS X - et vous oblige à bouer avec un certain code :).

Il semble que la solution la plus simple soit de suivre l'exemple de Exportation Les glissades des images . Vous avez maintenant une collection d'images - une pour chaque diapositive PowerPoint. Cela vous donne beaucoup d'options, telles que

  • Vous pouvez traiter ces données une base de données en mémoire (et un service Web) et revenir à votre zone de confort de PHP et JS et utilisez l'API JS pour le contrôleur de mouvement Leap pour capturer des gestes pour conduire essentiellement une image en ligne. Galerie.
  • Vous pouvez développer une solution pure Java à l'aide de l'API Java pour capturer des gestes à partir du contrôleur de mouvement Leap et afficher les données à l'aide de Swing / JavaFX ou dans le navigateur à l'aide de JSF.

2 commentaires

Est-ce que cette application «meilleur outil tactile» permettrait de contrôler mes diapositives PPT, quand elles sont ouvertes et comment cette mappage sera terminée. Je vous demande une réponse détaillée. Nous avons également une application similaire pour Windows? Avez-vous fait sauter saut Intégration de programme avant.thx


Je le crois. Je ne possède pas de Mac, donc je ne suis pas certain à 100%, mais un de mes amis l'a utilisé avec son contrôleur de mouvement de saut et l'a trouvé à bien intégrer. C'est gratuit, il vaut donc la peine de le télécharger et d'expérimenter avec brièvement. À en juger par le site Web, il devrait être possible de configurer les mappages sur les appelles de touches, puis de l'avoir exécuté à l'arrière-plan. Il n'y a pas de port pour Windows et il semble qu'il n'y en ait probablement pas un. dans mon temps libre, j'expérie une intégration de geste de mouvement LEAP < / a>



8
votes

le Les compléments de contrôleur de mouvement Leap pour Microsoft Office que vous avez trouvé est probablement le meilleur moyen de Intégrez le contrôleur avec PowerPoint.

Pour commencer, vous aurez besoin de Visual Studio (on dirait que vous aurez besoin de 2012). Microsoft a une page de vue d'ensemble de Développement de bureau dans Visual Studio .

Suivez les instructions sur le Configuration d'un Ordinateur pour développer des solutions de bureau page.

Téléchargez le SDK Leap pour Windows et déconnectez-le, puis dans Visual Studio dans le projet Gesturelib.net4.0, ajoutez une référence à la DLLaakshaarp.net4.0 DLL

faire Une solution triviale à Geturelistener.cs (utilisez ISPTY à la ligne 44).

Après cela, vous devriez pouvoir exécuter le complément du contrôleur de mouvement Leap Motion de Visual Studio. Ça va commencer PowerPoint lorsque vous faites cela.

"vsto" est le nom de la technologie que vous utilisez ici, donc pour plus d'autres, Google 'VSTo Add-in PowerPoint'.

À partir du code source de l'add-in , il a l'air comme si vous devriez voir un seul bouton sur le ruban dans PowerPoint, pour commencer et arrêter le saut.

En regardant sur ThiAddin.cs, une fois démarré (en appuyant sur le bouton du ruban), le contrôleur doit répondre à Gestures gauche et droite, en passant aux diapositives suivantes / précédentes, respectivement: - xxx

gestuelib soutient des gestes supplémentaires, que vous pourriez faire faire quelque chose après ce même motif.


6 commentaires

J'aimerais discuter avec vous ... Je sais que lorsque vous êtes sur Stackoverflow? J'ai trouvé ce code.msdn.microsoft.com/Office/how -à-Automate-Control-23CD2 A8F


Ok, bien celui-ci automatiser PowerPoint. Com Interop est une approche différente de VSTO (n'utilisant pas VSTO, même s'il est dit que cela fait), et vous pourriez faire des choses de cette façon. Voir Stackoverflow.com/Questtions/1568693/... et blogs.msdn.com/b/ericwhite/archive/2010/12/02/...


: OK, j'ai vu le code dans un complément et je pense que peu de choses codant ne sont laissées, raison étant couvraient toutes les pièces dans Ajouter ... J'ai juste besoin d'importer tous les fichiers de mon studio visuel et de wat ?


voir mes modifications ci-dessus; Finalement, vous devrez penser au déploiement. Google 'ClickOnce déploiement' pour une approche à cela.


OK, après avoir importé ces fichiers dans mon dossier de projet, j'ai besoin de déterminer le code de la détection de geste et de son déploiement?


Belle solution! Juste une note latérale: VSTO est uniquement disponible pour VS Professional ou ci-dessus (voir en.wikipedia.org/wiki/ Visual_studio_tools_for_office ). Cela ne fonctionnera pas avec les éditions Express gratuites ni avec SharpDEvelop.



0
votes

PowerPoint et tous les outils de bureau prend en charge les macros Visual Basic .NET. A simplement écrit une macro VB pour votre fichier PPT qui reconnaît le geste et déclenche l'action de changement de page. Ceci suffit.

Si vous voulez, C # Code du mouvement Leap peut être intégré à votre macro VB.NET


3 commentaires

Thx pour la réponse, mais pour être honnête, puis-je obtenir plus de détails sur ce que vous dites?


Les diapositives PowerPoint peuvent contenir un code de base visual: par exemple, vous pouvez exécuter du code dans une réponse à un événement (pour ex. Un clic).


chat.stackoverflow.com/rooms/36636/... peut Vous rejoignez la discussion?



2
votes

Une solution très simple pourrait ressembler à ceci:

  1. Construisez une application C # de base basée sur l'API LeapMotion (vous pouvez utiliser le C # Exemple d'application de THR SDK). Cette application doit être autorisée à fonctionner en arrière-plan. Il se connecte au sauteur et attend des gestes. Il fournit une interface de télécommande .NET (voir ici Pour un exemple facile) et soulève un événement (voir ici pour un exemple d'événements avec des télécommandes) pour chaque geste intéressant. Lorsque vous utilisez l'exemple de l'application, remplacez simplement une partie du Safeewriteline (...) avec l'élever l'événement approprié.
  2. Construire un complément de bureau avec C # (il suffit d'utiliser netOffice , il est GRATUIT ). Ce complément démarre l'application d'arrière-plan à partir de l'étape 1, se connecte à des discitations et attend les événements.
  3. Lorsque le complément obtient un événement, il déclenche les actions conformément à PowerPoint (E.G. présentation.gotoslide (présentation.slides.count) ).

8 commentaires

Hey, merci pour la réponse, mais si possible, pouvez-vous ajouter des détails à votre réponse? Avez-vous construire une application de saut avant?


Je fais partie du programme de développeur. Mais je n'ai pas d'application publique disponible Leap Motion (Encore).


Eh bien, je suis en train d'apprendre actuellement C #, serait-ce possible en python aussi ... je veux dire sans navigateur..quel je pense avoir compris la majeure partie de la pièce mentionnée dans la réponse..mais si j'ai besoin d'aide, si j'aurais besoin d'aide, si Possible..by mail ou chat? Est-ce que votre suggestion et votre suggestion de JsonPlutext est la même que vous recommande de vsto ..


Pour le plug-in Office, vous aurez besoin de dotnet, mais vous pourriez essayer Ir IronPython ( IronPython.net ) avec NetOffice. Pour la partie LeapMotion, il suffit de regarder l'exemple Python ( développeur.leapmotion. Com / Documentation / Langues / Python / Gui Des / ... ). Au lieu de vous rapprocher, votre programme Python peut exporter un service WebService ou vous pouvez utiliser Zeromq ( Zeromq.org ).


Mais si je ne veux pas que d'Internet soit utilisé, cela soit possible sur Python ou C # serait le meilleur ..


Zeromq avec TCP sous Windows est très rapide. Si vous êtes préoccupé par la sécurité, vérifiez simplement que la connexion provient de localhost ou incluez une UUID créée de manière aléatoire dans chaque requête, stockée dans un fichier local accessible par le plug-in Office et l'application LeapMotion et rafraîchis sur chaque redémarrage de l'application. Sinon, utilisez la communication (par exemple avec un service Web) sur un tuyau nommé (exemple: Stackoverflow.com / Questions / 13319679 / Createnamedpipe-in-Pyth sur ).


Et btw. Vous trouverez peut-être les échantillons de Zeromq dans Python intéressant: GITUB.COM/ZGUITIX/ZGUIDE/ Arbre / Master / Exemples / Python


Laissez-nous Continuer cette discussion en chat