Plugin video pour Garageband

Vinc26Vinc26 Membre
février 2005 modifié dans Vos applications #1
Salut a toutes et à  tous !

Bon, voilà , je trouve que GarageBand (même la toute dernière version) manque cruellement d'un plugins permettant de charger une vidéo qui se lirait dans une petite fenetre au premier plan, et surtout qui soit synchro avec le morceau (sur la base de "début du morceau = début de la video")

Je sais, SoundTrack est capable de ça... sauf que soundtrack ne permet vraiment pas de faire tout ce que garageband peut faire !

Je trouve donc qu'il manque vraiment cette fonction à  GB. Et au lieu d'un plug ins, ça pourrait-être tout aussi bien un lecteur que l'on lance, et qui se synchroniserai à  GB.

Alors, j'ai soumis cette idée à  tous les développeurs qui ont bossé sur d'autre plugins pour GB. Et l'un d'eux m'a répondu que depuis GarageBand2, celà  semble tout à  fait possible ! Voyez donc sa réponse :

"
Well, I think with the new version of GB, one could write the plugin you have in mind.
Every time GB goes to render a frame of data it can tell you:

Current beat being rendered
Current tempo (so one can convert beat number to time)
Whether the transport is playing or not

I'm attaching a slightly hacked version of the sample plugin that ships with the CoreAudio
SDK. This shows you how to get at the values you want. To compile, download Xcode
and the CoreAudio SDK 1.3.3. Also, make sure you've installed Quicktime 6.5.2 using the
standalone installer.

In addition, you'll need to figure out how to control whatever movie player you plan on using.
I'm guessing one can probably do this with applescript.
"

Et le fichier dont il parle se trouve là  : http://vincent.zorzi.free.fr/forums/SampleEffectUnit.cpp.zip

Si je comprends bien, GB2 est capable (via une AudioUnit ?) de renvoyer le temps sur lequel se trouve la tête de lecture, mais également le tempo (se qui perteitrai de calculer la durée depuis le dépuis, et également si on est en play ou en stop).

Comme je ne suis vraiement pas développeur, est-ce que ça intéresserai quelqu'un de s'y coller ? Je suis persuadé que ce plugins ferai un malheur !!!

;)

Réponses

  • fouffouf Membre
    21:00 modifié #2
    Ce projet a l'air tres interressant. Mais je peux faire une remarque ? Qui a GB2 aujourd'hui ?

    Je pense que tu peux essayer de contacter Core, il a l'air de bien s'y connaitre en CoreAudio.

    Bienvenue sur OC et bon developement Vinc
  • Vinc26Vinc26 Membre
    21:00 modifié #3
    Cool ! Merci  :)

    Je vais donc voir ça avec Core...

    :adios!:
  • Vinc26Vinc26 Membre
    21:00 modifié #4
    Bon, je vous fais part de mes avancée "théoriques" sur le sujet... théoriques parce que je ne suis pas dev malheureusement... alors je me fie q'à  ce que je trouve et comprends sur le net...

    Donc, déjà , tout semble se passer autour du CoreAudio SDK téléchargeable chez Apple : http://developer.apple.com/sdk/#CoreAudio
    Celà  permet de faire des AudioUnits. Avec le fichier que je poste dans mon premier message, logiquement, y'a de quoi faire pour créer un audio unit qui récupère les positions et états de la tete de lecture de garageband2.

    Ensuite, vu tout ce que j'ai trouvé et compris, l'idée c'est de faire un audio unit pluginvideogarageband.jpg

    J'ai fais cette image sous photoshop... je ne peux pas être plus clair...
    - il s'agit donc d'un plug in AU que l'on appliquerai à  la piste principale
    - un bouton ouvir pour ouvrir la video
    - la possibilité de choisir la fréquence de resynchronisation (j'entends par la que le module se resynchronise à  la tête de lecture de garageband toutes les 10secondes par exemple... en plus bien sur du moment où on fait play, et où la, ça resynchronise forcement... cette fonction permet d'alleger le travail du plugins)
    - et bien sur la taille d'affichage (en %)


    Bon, vous en dites quoi   :why?: <3 o:)
  • Vinc26Vinc26 Membre
    21:00 modifié #5
    Bon, je reviens à  la charge... surtout avec Tiger qui va sortir très bientôt. Il paraà®t que QuickTime est maintenant beaucoup plus souple à  utiliser pour un développeur.

    Donc... oui ! Je tiens toujours énormément à  cette idée de plugins video pour GarageBand !

    J'ai vu une piste très intéressante : garageband sait gérer le Rewire !

    Il y a donc deux approche pour mon idée : un lecteur autonome qui se synchronize à  garageband via rewire ; ou un plugins AU.

    En espérant que cette idée fasse écho !... echo... echo... echo...

    :adios!:
  • CoreCore Membre
    avril 2005 modifié #6
    Maintenant que je suis un peu plus calé sur le sujet je vais jeter un oeil à  ton  projet de plug
  • Vinc26Vinc26 Membre
    21:00 modifié #7
    Génial !  <3 <br />
    Quand tu dis "un peu calé sur le sujet"... c'est à  dire ? t'as fait des projets similaires ?

    Bon, sincèrement, je suis ravi que ce projet t'intéresse  :adios!: J'y croyais presque plus.
  • CoreCore Membre
    21:00 modifié #8
    et bien je me penche actuellement sur la doc du Core Audio.

    Le probleme c'est qu'il y a aussi du Quicktime dans ton affaire.

    Et s'il faut passer par un moviecontrolle, la ca dépasse mes compétences actuelles. Mais je pense pouvoir m'en sortir avec NSMovieView meme si ca n'est pas le top...
  • Vinc26Vinc26 Membre
    21:00 modifié #9
    Quelle est la différence entre un moviecontrol et un NSMovieView ? Et pourquoi ce dernier n'est pas le top ?

    Bref... du moment qu'on voit l'image synchro à  la timeline de GarageBand  :o

    D'autre part... sachant que l'intégration de QuickTime a beaucoup évolué sous Tiger... tu comptes faire ça sous Phanther ou sous Tiger ?

    o:)
  • CoreCore Membre
    21:00 modifié #10
    dans 1113207846:

    Quelle est la différence entre un moviecontrol et un NSMovieView ? Et pourquoi ce dernier n'est pas le top ?

    Bref... du moment qu'on voit l'image synchro à  la timeline de GarageBand  :o

    D'autre part... sachant que l'intégration de QuickTime a beaucoup évolué sous Tiger... tu comptes faire ça sous Phanther ou sous Tiger ?

    o:)


    Le NSMovieView est une classe Cocoa simlifiée pour gérer un QT. On a donc pas toutes les fonctions accesible avec un moviecontroller.
    Je pense que Tiger n'apportera pas grand chose à  notre problème car la on parle de lecture de QT, ca reste des fonctions de base. Et si tu parles du CoreVideo c'est bien au dela de mes compétences  :P
  • Vinc26Vinc26 Membre
    21:00 modifié #11
    Oulala non je ne parlais pas de CoreVideo !  :)

    Je pensais plus à  l'éventuelle possibilité de faire sortir le signale video par le FireWire pour avoir un retour TV (si le fichier video est un DV bien sur...) Mais on verra ça pour une version 2 

    Donc, maintenant que je vois que t'as commencé à  bien réfléchir à  ce plug-ins : où se situe la (les) difficultés ? Est-ce que ça te paraà®t jouable ? Dans quelle direction pars-tu ?

    Et puis rappelle-toi bien que je suis ton  :)beta: testeur idéal !!!

    <3
  • CoreCore Membre
    21:00 modifié #12
    Si tes songs dans Garageband ne sont pas trop long NSMovieView devrait pouvoir suffir, ce sera biensur optimisable par la suite

    Je dois encore résoudre ces problèmes :

    _ récupérer la valeur de la tête de lecture de l'host [j'ai trouvé la fonction dans la doc mais pas encore essayé]

    _compiler en folder (ou .component)

    Si ca passe facilement, ca doit pas etre trop dur à  mettre en place...

    Enfin j'en suis qu'a une vue d'esprit... et en général ca se complique bien souvent quand on mets les mains dans le cambouis  :P
  • Vinc26Vinc26 Membre
    21:00 modifié #13
    En même temps... toi, contrairement à  moi, tu sais ce qui est faisable et ce qui ne l'ai pas ;-)

    C'est pour ça que je me  :crackboom:-
  • Vinc26Vinc26 Membre
    21:00 modifié #14
    Oulala !!! STOP STOP !!! Arrête tout !

    Je viens d'apprendre que ce projet est en fait completement abouti : un pro que j'avais contacté au tout début de cette idée a finalement bossé dessus. Ce qu'il a pondu fonctionne impeccable. Il en est à  paufiner l'interface.

    Voilà  : je voulais vite te le dire avant que t'y passe des heures.

    Dès qu'une version officielle sort, j'en parle ici promis  ;)
  • CoreCore Membre
    21:00 modifié #15
    je veux bien le code source si c'est possible ??

    ca m'aiderais bien pour mes projets futurs    :P
  • Vinc26Vinc26 Membre
    21:00 modifié #16
    Je viens de voir ça avec le développeur du plugins. Malheureusement, il a utilisé une partie du code de plugins qu'il développe pour sa société (avec son autorisation bien sur). Donc ce code appartient à  cette société :(

    Je suis désolé. J'aurai bien aimé te le filer en échange de ta bonne volonté. Mais là , je peux rien faire. Je découvre tout ça.

    o:)
  • CoreCore Membre
    21:00 modifié #17
    :'(

    Merci quand même !!
  • Vinc26Vinc26 Membre
    21:00 modifié #18
    ??? :'(
Connectez-vous ou Inscrivez-vous pour répondre.