En effet, la MBU est bien soignée par Apple, qui ont du à mon avis leur fournir la doc CGS nécessaire, pour mettre un effet Génie dans Word. Mais ils ont beau être bien soignés, ce n'est pas pour autant qu'ils vont nous sortir un MSN potable....:P
d'après certaines discussions sur la mailing list développeurs, il semblerait que l'effet génie ait été réimplémenté par M$, donc sans utiliser de fonction CGS cachée, et ça n'a pas l'air trop compliqué: http://www.cocoabuilder.com/search/archive/cocoa?words=genie
Bon... je vois que depuis que Tiger est sorti, ben y'a plus personne ! Il est si génial que ça ce Tiger ?
Moi, pas encore pu l'essayer :-\\ J'attends mon nouveau powerbook qui sera livré avec
Plus sérieusement, y a-t-il eu des changement des Tiger qui vous ai obliger d'arrêter le développement de cet éco d'écran ? Ou des nouveautés qui permettraient de le faire plus simplement ?
Normalement, Tiger ne devrait rien changer (il suffit d'essayer la démo en attachement plus haut sur Tiger pour être fixé, et je ne l'ai pas encore). La progression du projet se fait selon nos disponibilitées, un peu de patience....
Je suis tout nouveau, et je comprends pas grand chose au développement, même si j'essaie de faire quelques efforts ces derniers temps.
je viens de découvrir ce projet d'économiseur d'écran que je trouve très prometteur. je me demandais : est ce que Quartz Composer pourrait "faciliter" la mise en oeuvre du projet ? Si on arrive à injecter l'information des differentes fenetres et du fond d'écran dans QC, programmer le mouvement en 2D, 3D, voire avec des effets blur...etc... semble à la portée de pas mal de monde : chacun pourrait même faire sa propre sauce. (à condition d'avoir Tiger bien sur...)
Bref voila ma question : savez vous si il est possible en combinant/modifiant les fonctions de Quartz Composer fournies par Apple d'obtenir une macro qui récupère toutes les fenetres et le fond d'écran et les met dans des "Sprites" ou autre "Billboards" ou bien des "Image Importer" ?
Est ce que le travail de Bru peut être récupéré dans QC ?
Salut jhools, Bien que je n'ai pas encore eu l'occasion de m'en servir, Quartz Composer semble être un très bel outil, mais le problème principal reste le même que si on voulait simplement passer par OpenGL : La récupération des images des fenêtres et de l'écran. :-\\
Moi je pense que ça serait possible mais pour les app Cocoa uniquement. Il faudrait un inputManager qui lors du lancement de screen saveur capture le contenu des fenêtres ouvertes. Au screen saver de tout récupérer ensuite.
Bon, je sais pas si tu sais, mais je n'ai eu que l'idée du truc. J'y connais malheureusement rien en dévelopoment... je ne comprends donc pas vraiement à quoi va servir ce que t'as posté. J'ai testé le "testeur". Mais rien ne se passe. Je suppose que c'est normal ?
En espérant que ça aide d'autre dev ici pour peut-être faire renaà®tre ce projet !!!
Pour moi ça ne capture que les fenêtres d'AlphaValue et la petite fenêtre pour lancer la capture, ce qui est normal vu le code, mais il faudrait que ça marche aussi pour toutes les fenêtres hors de l'application. Comment comptes-tu procéder ?
Pour les fenêtres des applications masquées, je ne sais pas... capturer les visibles ce n'est pas assez ?
Mode d'emploi... 1. Télécharger setAlphaValue (la paresse de faire un autre IM...) 2. Installer setAlphaValue... 3. Relancer les app Cocoa afin qu'elles chargent setAlphaValue 4. Lancer et utiliser le testeur. 5. Les images sont dans le dossier /Library/Caches/CapturerToutesLesFenetres/
Ok oui ça fonctionne ! :kicking: <br />Bien joué supermic...trés intéressant ces IM pour bidouiller. Donc maintenant tu peux faire un IM dédié que l'on notifierait à partir du screensaver pour faire les captures c'est ça ?
Bon effectivement ça ne prend que le cocoa... ça n'a pas pris par exemple les fenêtres finalcutpro, finder, itunes 5,... etc... mais ça marche déjà hyper bien pour celle en cocoa.
J'y pense, pourquoi ça ne prend pas le bureau ?
Et enfin, y'aura-t-il une solution pour prendre les non-cocoa ?
Enfin, pour avancer, il nous manque maintenant à récupérer les coordonnées des fenêtres cocoa prises. Et en l'état, je propose déjà une première version qui ressemblerai à ça :
- on prend une capture de l'ensemble de l'écran tel quel - on prend les fenêtre cocoa et leurs coordonnées. - on recompose tout ça dans QuartzComposer : la capture générale au fond, et par devant, aux bons endroits, les fenêtre cocoa. - et on anime de la manière suivante : le fond disparait dans un simple fondu au noir, et alors, les fenêtres restante se mettent à virevolter lentement dans l'espace !!!
Ca marche pour le Finder (il faut le relancer lui aussi)... par contre le bureau je sais pas. Je sais obtenir l'image de fond mais il n'y aura pas les icônes
J'ai bcp de boulot, par dessus la tête même :P, mais je devrais trouver un peu de temps pour OpenGl-iser ça, je dis pas que ça avancera vite mais on va essayer. Je ne sais pas ou en est Bru avec la méthode CGS, mais on peut déjà commencer un truc avec ça.
J'ai bcp de boulot, par dessus la tête même :P, mais je devrais trouver un peu de temps pour OpenGl-iser ça, je dis pas que ça avancera vite mais on va essayer. Je ne sais pas ou en est Bru avec la méthode CGS, mais on peut déjà commencer un truc avec ça.
Disons que j'ai jamais utilisé Quartz Composer, il faudrait que j'y jette un coup d'oeil pour voir la marge de manoeuvre qu'il offre, mais en adressant directement OpenGL ça doit laisser plus de possibilitées je pense.
D'mon coté, j'me disais que quartz composer a peut-être des fonctions toutes prêtes pour faire les ombres par exemple... etc... enfin je sais pas... t'es l'air de sacrément mieux t'y connaà®tre
Bon, un petit bilan... visuel : Vu ce que nous sommes capables de faire et de récupérer actuellement (c'est a dire pas certaines fenêtres, ni les icones, il me semble que nous devrions pouvoir obtenir ça :
Qu'en dites vous ? ça peut avoir une sacrée allure ! n'est-ce pas ?
DEUX REMARQUES : - Là , j'ai un peu triché : la fenêtre QuickTime, je l'ai capturée à la main (MAJ+POMME+4) parce que "Testeur" capture bien la fenêtre quicktime, mais son contenu est tout blanc ! Et j'ai essayé avec différents formats de video affichés... Qu'en dites-vous ? - Un élément hyper important est néssecaire pour reconstituer l'écran : l'ordre de superposition des fenêtre (avant-plan > ... > arrière-plan > bureau). Savez-vous récupérer ce genre d'information ?
C'est logique que ça ne capture pas le Finder. Le Finder est encore une appli Carbon, et non Cocoa, si je ne m'abuse.
C'est aussi compréhensible l'histoire de la fenêtre blanche pour QuickTime. Je suis prêt à parier ce que tu veux que ça fait le même effet (mais je dirais plutôt une fenêtre noire) avec des softs d'affichage de vidéo comme VLC (si c'est en Cocoa ?) ou même p'tet bien DVDPlayer. C'est dû à la façon qu'ont les cartes graphiques pour gérer cela : en fait il s'agit du système d'"Overlay", où la surface où doit se faire l'affichage est d'une couleur uniforme donnée, et la vidéo est ensuite appliquée sur cette surface uniforme qui sert un peu de "masque".
Tu peux t'en rendre parfois compte en déplaçant très très rapidement la fenêtre de VLC où s'affiche la vidéo : la vidéo en elle même va se repositionner au bon endroit un peu en retard par raport à la fenêtre, genre tu déplaces la fenêtre et seulement qques ms après ta vidéo se déplace.
Une solution pour palier à ça, c'est utiliser ce que tu as fait (capture de la fenêtre par Pomme-Maj-4) mais ce qui peut être automatisé, puisqu'il existe une ligne de commande pour capturer l'écran (à voir ensuite ce que l'on peut lui fournir comme paramètres, si on peut lui préciser les coordonnées on devrait pouvoir se démerder). Je crois que la commande en question s'appelle "screencapture" un truc du genre.
Réponses
d'après certaines discussions sur la mailing list développeurs, il semblerait que l'effet génie ait été réimplémenté par M$, donc sans utiliser de fonction CGS cachée, et ça n'a pas l'air trop compliqué: http://www.cocoabuilder.com/search/archive/cocoa?words=genie
Comment va autour de ce projet ? Zavez des bonnes pistes ? De nouvelles betas ?
Bon... je vois que depuis que Tiger est sorti, ben y'a plus personne ! Il est si génial que ça ce Tiger ?
Moi, pas encore pu l'essayer :-\\ J'attends mon nouveau powerbook qui sera livré avec
Plus sérieusement, y a-t-il eu des changement des Tiger qui vous ai obliger d'arrêter le développement de cet éco d'écran ? Ou des nouveautés qui permettraient de le faire plus simplement ?
Zavez des news ? Zavez des avancées sur cet éco d'écran ? Tiger a-t-il finalement changé la donne ?
Je suis tout nouveau, et je comprends pas grand chose au développement, même si j'essaie de faire quelques efforts ces derniers temps.
je viens de découvrir ce projet d'économiseur d'écran que je trouve très prometteur. je me demandais : est ce que Quartz Composer pourrait "faciliter" la mise en oeuvre du projet ? Si on arrive à injecter l'information des differentes fenetres et du fond d'écran dans QC, programmer le mouvement en 2D, 3D, voire avec des effets blur...etc... semble à la portée de pas mal de monde : chacun pourrait même faire sa propre sauce. (à condition d'avoir Tiger bien sur...)
Bref voila ma question : savez vous si il est possible en combinant/modifiant les fonctions de Quartz Composer fournies par Apple d'obtenir une macro qui récupère toutes les fenetres et le fond d'écran et les met dans des "Sprites" ou autre "Billboards" ou bien des "Image Importer" ?
Est ce que le travail de Bru peut être récupéré dans QC ?
Bien que je n'ai pas encore eu l'occasion de m'en servir, Quartz Composer semble être un très bel outil, mais le problème principal reste le même que si on voulait simplement passer par OpenGL : La récupération des images des fenêtres et de l'écran. :-\\
Le temps a passé... et a oublié
Je vois que ce projet est bien trop compliqué au niveau de la récupération du contenu de fenêtre... tampis.
En revanche, y'aurai pas moyen, simplement, de faire le contenu total de l'écran se mette à floter dans un espace tout noir ?
Enfin... je rêve encore de l'idée du début... mais il semble que seul Apple peu pondre ça.
Voici le code pour l'IM, j'ai placé le code http://www.mparrot.net/downloads/setalphavalue.zip (je ferais un IM dédié si le principe convient).
L'IM réagit à la notification :
[[NSDistributedNotificationCenter defaultCenter]postNotificationName:@_capturerToutesLesFenetres object:nil];
Un testeur est disponible http://www.mparrot.net/downloads/testeur.zip.
@+
En espérant que ça aide d'autre dev ici pour peut-être faire renaà®tre ce projet !!!
Mode d'emploi...
1. Télécharger setAlphaValue (la paresse de faire un autre IM...)
2. Installer setAlphaValue...
3. Relancer les app Cocoa afin qu'elles chargent setAlphaValue
4. Lancer et utiliser le testeur.
5. Les images sont dans le dossier /Library/Caches/CapturerToutesLesFenetres/
bref... Si quelqu'un s'occupe du SS oui (je n'aurais fait que le plus facile : )
Bon effectivement ça ne prend que le cocoa... ça n'a pas pris par exemple les fenêtres finalcutpro, finder, itunes 5,... etc... mais ça marche déjà hyper bien pour celle en cocoa.
J'y pense, pourquoi ça ne prend pas le bureau ?
Et enfin, y'aura-t-il une solution pour prendre les non-cocoa ?
Enfin, pour avancer, il nous manque maintenant à récupérer les coordonnées des fenêtres cocoa prises. Et en l'état, je propose déjà une première version qui ressemblerai à ça :
- on prend une capture de l'ensemble de l'écran tel quel
- on prend les fenêtre cocoa et leurs coordonnées.
- on recompose tout ça dans QuartzComposer : la capture générale au fond, et par devant, aux bons endroits, les fenêtre cocoa.
- et on anime de la manière suivante : le fond disparait dans un simple fondu au noir, et alors, les fenêtres restante se mettent à virevolter lentement dans l'espace !!!
Trop beau !!!!!!!!!
C'est faisable ça hein ?
J'ai essayé de l'installé pour tous les utilisateur... pareil.
T'en dit quoi pour les fenêtres non cocoa ?
Et vous en dites quoi pour les coordonnées des fenêtres ?
:adios!:
Tu préfères open gl à quatrz composer ?
Disons que j'ai jamais utilisé Quartz Composer, il faudrait que j'y jette un coup d'oeil pour voir la marge de manoeuvre qu'il offre, mais en adressant directement OpenGL ça doit laisser plus de possibilitées je pense.
http://vincent.zorzi.free.fr/forums/EcoEcran_v2.mov
H264 QuickTime7 - 1.1Mo - Fait sous FinalCutPro
Qu'en dites vous ? ça peut avoir une sacrée allure ! n'est-ce pas ?
DEUX REMARQUES :
- Là , j'ai un peu triché : la fenêtre QuickTime, je l'ai capturée à la main (MAJ+POMME+4) parce que "Testeur" capture bien la fenêtre quicktime, mais son contenu est tout blanc ! Et j'ai essayé avec différents formats de video affichés... Qu'en dites-vous ?
- Un élément hyper important est néssecaire pour reconstituer l'écran : l'ordre de superposition des fenêtre (avant-plan > ... > arrière-plan > bureau). Savez-vous récupérer ce genre d'information ?
Que dites-vous de tout ça ?
Oui, j'ai dit une connerie, pour le finder ça ne marche pas en fait...
... que je ne sais pas comment faire pour l'instant...
J'ai ajouté un fichier info indiquant la position des captures.
Pour la v1, tu n'as plus qu'a attendre qu'Eddy58 te fasse la partie graphique :brule:
Oui...... je sais...... maintenant..... de la patience..... depuis tout petit on me dit ça >:D ...........
:adios!:
Le Finder est encore une appli Carbon, et non Cocoa, si je ne m'abuse.
C'est aussi compréhensible l'histoire de la fenêtre blanche pour QuickTime.
Je suis prêt à parier ce que tu veux que ça fait le même effet (mais je dirais plutôt une fenêtre noire) avec des softs d'affichage de vidéo comme VLC (si c'est en Cocoa ?) ou même p'tet bien DVDPlayer.
C'est dû à la façon qu'ont les cartes graphiques pour gérer cela : en fait il s'agit du système d'"Overlay", où la surface où doit se faire l'affichage est d'une couleur uniforme donnée, et la vidéo est ensuite appliquée sur cette surface uniforme qui sert un peu de "masque".
Tu peux t'en rendre parfois compte en déplaçant très très rapidement la fenêtre de VLC où s'affiche la vidéo : la vidéo en elle même va se repositionner au bon endroit un peu en retard par raport à la fenêtre, genre tu déplaces la fenêtre et seulement qques ms après ta vidéo se déplace.
Une solution pour palier à ça, c'est utiliser ce que tu as fait (capture de la fenêtre par Pomme-Maj-4) mais ce qui peut être automatisé, puisqu'il existe une ligne de commande pour capturer l'écran (à voir ensuite ce que l'on peut lui fournir comme paramètres, si on peut lui préciser les coordonnées on devrait pouvoir se démerder). Je crois que la commande en question s'appelle "screencapture" un truc du genre.