Une idée développable ? Qui s'y colle ?

Vinc26

Membre actif
9 Janvier 2003
126
9
salut à tous !

Voici une idée d'économiseur d'écran... (fait rapidement sous FinalCutPro4)
Eco_ecran (1.1Mo - MPEG4)
Je l'imagine donnant vraiment l'impression que les fenêtres s'éloignent en 3D, dans un espace noir. Quand on reprend la souris, toutes les fenêtre reviennent extrèmement vite (type exposé)

Vous en pensez-quoi ?

Est-ce que quelqu'un d'entre vous voudrais s'y tenter ? En open-GL ? Est-ce réalisable en l'état actuel de MacOSX.3 ?

Sur les forums Macbidouille, ils m'ont dit que ça s'annonce très compliqué... et puis il y a aussi qu'un eco d'écran se lance généralement après un fondu au noir... ce qui serait très domage dans cette idée... il faudrait donc que ce soit une appli qui se lance au bout d'un certain lapse de temps, puis qui comme le fait capture d'écran (MAJ+POMME+4 puis espace), prenne une cature de chaque fenêtre de l'écran, puis les reconstruise dans un espace OpenGL, puis ouvre une fenêtre plein écran par dessus tout avec tout ça en place, puis l'anim 3D qui se lance, puis, si on bouge la souris ou touche clavier, remette tout en place très vite, et ferme enfin cette fenêtre plein écran.


Voilà. Toute idée, contribution, ou quoi que ce soit d'autre est bienvenue. Je suis preneur aussi de toutes adresses web (forum ou site) où je puisse proposer cette idée, histoire de tomber sur LE développeur qui ai envie de se lancer là dedans !

Vous aurez-tous compris que je ne suis pas dutout développeur mais que je trouve qu'un tel économiseur d'écran se fondrait merveilleusement bien à l'univers d'osx... N'est-ce pas Apple ? ;)
 
Pas mal du tout comme idée... je suis preneur aussi !!

Ceci dit -mais je ne suis pas developpeur- ton idée a l'air super difficile à réaliser !

Peut être peux tu trouver quelques info interressantes ici

C'est la rubrique de Apple.com sur lequel on peut downloader pas mal de screensaver... tu y trouveras sans doute un logiciel permettant de creer des écrans de veille.
 
Bonjour,

Je me permet de te donner mon avis de développeur.

Techniquement, je ne vois pas d'impossibilité, c'est plutot au niveau de l'interet du principe que cela coince.

Prenons un exemple.

Je laisse mon ordinateur, au bout de 5 minute ton economiseur se déclenche, mais bon l'effet dure 10 secondes et l'écran devient noir, donc je n'était pas la, je n'ai rien vu.

Je passe de temps en temps devant l'ordino, mon écran est tout noir.

Je reviens pour travailler, bon, la je veut reprendre la main tout de suite, pas question d'attendre la fin d'un effet de 10 secondes, donc je ne vois rien non plus.


Cordialement
 
Non Didier en fait si j'ai bien compris, les fenêtres sont en mouvement pendant tout le temps où la machine est inutilisée. Je crois que c'est possible à faire avec les fonctions de quartz et surtout d'OpenGL.
 
Manu a dit:
Non Didier en fait si j'ai bien compris, les fenêtres sont en mouvement pendant tout le temps où la machine est inutilisée. Je crois que c'est possible à faire avec les fonctions de quartz et surtout d'OpenGL.

Alors, ok, c'est mieux comme cela.
Je crois que le meme fil est ouvert sur MacBidouille...

Cordialement
 
Kartof a dit:

Je ne vois pas le rapport avec la proposition, tu es sur de ton lien ?

De mon coté j'ai regardé comment recuperer les fenetres sur Mac OS X. Apparemment il faudrait passer par OpenGL mais je ne vois aucune entrée dans l'API qui fasse ce dont on ait besoin.
Je pense que l'on peut recuperer l'écran total mais pas les fenetres de maniere individuelle.

Une solution plus ardue serait de "trapper" le systeme en bas niveau et de collecter en tache de fond toutes les fenetres qui s'ouvrent et se ferme. Assez dangereux.


Cordialement
 
Malheureusement je n'ai pas le temps en ce moment à consacrer au developpement, mais ça me semble réalisable à condition d'avoir un bon niveau de math.
Tout d'abord pour recuperer les fenêtres il va falloir touver leurs numeros depuis le "window server". Ca ma pas l'air simple, mais de memoire fait vu passer des applications open surces qui doivent utiliser ce moyen (je me rappelle plus du nom désolé).
Reste ensuite "plus qu'à" modifier l'affichage de la fenêtre et c'est là qu'il va falloir être bon en math, le meilleur moyen à ma connaissance, c'est d'utiliser CGAffineTransform et ses dérivés en particulier CGAffineTransformMake en lui passant la bonne matrice (si quelqu'un à un niveau suffisant je suis preneur pour tenter de faire un effet Genie (à la minimize in dock)).
En tout cas c'est un gros travail pour s'épargner de mettre en veille son écran (et une bonne idée aussi).
Bon courage à celui qui va tenter le truc...
Vincent
 
Didier Guillion a dit:
Je laisse mon ordinateur, au bout de 5 minute ton economiseur se déclenche, mais bon l'effet dure 10 secondes et l'écran devient noir, donc je n'était pas la, je n'ai rien vu.

Je passe de temps en temps devant l'ordino, mon écran est tout noir.

Je reviens pour travailler, bon, la je veut reprendre la main tout de suite, pas question d'attendre la fin d'un effet de 10 secondes, donc je ne vois rien non plus.


Déjà, à tous, désolé de revenir si tardivement dans cette discussion que j'ai créée : je ne sais pas où est le probleme, mais je ne reçois pas les notifications par email... je pensais donc que le sujet était resté sans réponse. Ce qui n'est pas le cas, et tant mieux ! :)

Alors, pour préciser mon idée, et aller dans le sens de certaine réponses : l'idée, c'est qu'au bout de 5 minutes par exemple, tout se détache... comme dans un film qui se déroule dans l'espace, lorsqu'il détache un module d'une station spaciale ! l'objet quitte doucement sa position d'origine, puis se met à floter à quelques dixaine de mêtres de là. Et dès qu'on bouge la souris, il faut que ce soit aussi rapide qu'exposé : comme si tout revient pile poil en place ! Pouf !

Pour ce qui est des pages Apple sur les eco d'écran, j'y suis allé faire un tour : effectivement, tous les développeurs qui sont derrières ces projets seraient succeptible d'être intéressés. Peut-être en effet que je devrais faire un mail groupé...

Quand au probleme de récupérer les contenus de fenêtre : SnapPro y arrive très bien, même si elles sont cachées ou semi cachées... donc ça doit bien être possible... mais je ne suis telement pas développeur... :confused:

Je crois que je vais justement d'abord écrire un petit mail à ceux de chez snappro :)

Continuons ! (et je vais essayer de trouver pourquoi j'ai pas mes notifications par email...)
 
Excellent !

Bon, maintenant, je pense que pour que le projet avance vraiment, il faudrait que quelqu'un s'y lance franchement... moi je ne peux pas, j'y connais malheureusement rien en dev. Alors j'espère que quelqu'un s'y lance, et centralise toutes les aides des vous tous qui êtes d'ici MacG ou de la-bas, MacB.

Ca dit a quelqu'un ça ? :)
 
Cool ! :)

Comme je le disais plus haut, en tant que non-developpeur, je ne peux pas vraiment t'aider :(

Juste te conseiller d'aller demander personnellement aussi dans le forum macbidouille à ceux qui avaient déjà quelques pistes.

Allez les autres ! Partageons nos savoir :D
 
Vinc26 a dit:
Cool ! :)

Comme je le disais plus haut, en tant que non-developpeur, je ne peux pas vraiment t'aider :(

Juste te conseiller d'aller demander personnellement aussi dans le forum macbidouille à ceux qui avaient déjà quelques pistes.

Allez les autres ! Partageons nos savoir :D
Voilà j'ai publié ma dépêche dans Macgeneration sur ce sujet, après, ésperrons qu'il y aura d'autres réponses suite à ma dépêche.
 
NSBitmapImageRep:
- (id)initWithFocusedViewRect:(NSRect)rect
Initializes the receiver, a newly allocated NSBitmapImageRep object, with bitmap data read from a rendered image. The image that?s read is located in the current window and is bounded by the rect rectangle as specified in the current coordinate system.

This method uses imaging operators to read the image data into a buffer; the object is then created from that data. The object is initialized with information about the image obtained from the window server.

If for any reason the new object can?t be initialized, this method frees it and returns nil. Otherwise, it returns the initialized object.

d' apres mon pauvre anglais , ca doit pouvoir recupere le contenu de la fenetre
mais peut pas dire si ca marche pour la fenetre entirere ,avec les parties cachee s il y en a.
voila j espere que j' aurai pu vous aider dans ce joli ptit projet
a+