Très confus par un problème contraignant entre une application Cocoa et un patch Loader film dans Quartz Composer

StackOverflow https://stackoverflow.com/questions/6350120

Question

J'ai été la programmation pendant un certain temps, mais tout récemment décidé de commencer à développer pour Mac OS X. Je sens que je suis venu aux prises avec les bases de Objective-C et le développement du cacao au cours de la semaine dernière. Je prévois faire des applications graphiques, et en tant que tels suis actuellement en train d'apprendre comment contrôler des compositions Quartz grâce à une application Cocoa. Je suis passé par le tutoriel que les offres de pomme (avec la composition Mac), et Gravures a pu créer que très bien. Afin de vous assurer que j'ai vraiment compris ce que j'ai appris, j'ai décidé de créer ma propre composition et le lier à une application Cocoa un peu plus compliqué.

Pour l'essentiel, j'ai une composition qui se charge d'une séquence vidéo ou image à travers un patch Loader film, à quel point il applique différents filtres aux images avant la sortie du résultat. Dans mon application Cocoa, j'ai le code écrit (ou plutôt copié et collé d'autres exemples de pommes) qui permet de choisir un utilisateur un fichier en utilisant un objet NSOpenPanel. Le filepath du fichier, ils se prennent place dans un texte boîte que j'ai placé dans la fenêtre de l'application en utilisant Interface Builder. Je binded la valeur dudit zone de texte à la touche « Movie_Location » dans ma composition, qui est une entrée publiée dans le patch Loader film que j'utilise. Cependant, peu importe ce que je fais, les films et les images ne sont pas chargées dans cette composition, peu importe ce que j'essaie. La seule chose qui s'affiche est l'image par défaut que je l'ai enregistré dans cette entrée de Quartz Composer (ou rien si je laisse le champ vide avant de publier).

J'ai ajouté un patch de couleur claire à la composition et à un binded que colorwell dans mon interface utilisateur, et qui change avec succès la couleur de mon écran, donc je sais que la composition et mon application Cocoa sont communicants. J'ai passé de nombreuses heures à ce moment à essayer de comprendre ce qui se passe, et je suis à peu près abandonné. Est-ce que le chargeur du film ont des comportements étranges que je ne suis pas au courant, ou est-il quelque chose d'évident que je semble manquer? Je vous en serais reconnaissant de l'aide ou des conseils de personne.

Merci pour la lecture de ce ...

Best, Sami

Était-ce utile?

La solution

Il y a deux choses que je peux considérer comme raisons pour lesquelles il fait ceci:

  1. Le chemin du fichier n'est pas formaté correctement. Essayez de vérifier antislashs, etc, côlons.
  2. La case est mise à jour de la valeur. Essayez de cliquer littéralement dans le champ texte et en appuyant sur entrée.

C'est tout ce que je peux penser sans voir votre composition de quartz et / ou code.

EDIT:

Vérifier l'autre boîte continue, dans les propriétés générales.

Autres conseils

Je me suis dit ceci hier. deuxième idée de spudwaffle est ce qui se passait. Si je devais taper un filepath et appuyez sur Entrée, il fonctionne très bien. Je suis arrivé que cela fonctionne correctement en supprimant tout simplement la liaison et au lieu d'utiliser la setValue: keyInPath: fonction qui offre un contrôleur de patch. Cela dit, est-il un moyen de forcer un texte boîte à jour? Je me souviens avoir vu une « mise à jour en permanence » ou quelque chose comme ce bouton dans le sous-menu de liaison dans l'inspecteur, mais mon code ne fonctionnait pas avec qui vérifiait soit.

Merci à ceux d'entre vous qui ont essayé de me aider! J'apprécie vraiment cela.

Best, Sami

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top