module inscription newsletter haut de page forum mobile

Rejeter la notice

ateliers live resolve avec forest

Ateliers Live Resolve - Formez-vous en ligne tous les mois avec Forest !
Faites rapidement évoluer la qualité de vos étalonnage avec nos ateliers mensuels de 3h.
Toutes les infos
Rejeter la notice

Nouvelle Formation Prise de son : les inscriptions sont ouvertes !
Maîtrisez la qualité de vos prises de son avec notre formation théorique et pratique de 3 jours ! Du 14 au 16 mai 2024 à Paris.

Un script pour V4

Discussion dans 'Vegas et Movie Studio' créé par thitabho, 26 Janvier 2003.

  1. thitabho

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    37
    Appréciations:
    +0 / 0 / -0
    Hi boyz and girlz :)

    Ca fait un moments que je ne suis pas revenu ici...trop de boulot en ce moment ;) , une bonne excuse non?

    il y a un script qui a etait cree par....euuhhhh...par ce mec au nouveau forum anglais: "vegas scripting"

    http://www.sonicfoundry.com/forums/ShowTopics.asp?ForumID=21

    le script permait de capturer "une" seule capture d'une image (le script que sonicfoundry nous propose en ce moment dans le beta capture plusieurs dans un interval) sur la position du cursor. Beaucoup plus rapide comme ca.


    Ok, le voici: (copy et paste le text en dessous dans un txt file et rename le txt file par example: snapshot.js)

    // This script makes a snapshot from the timeline and adds it to mediapool

    import System.Windows.Forms;
    import SonicFoundry.Vegas.Script;
    import System.IO;
    import Microsoft.Win32;

    // The first thing this script does is save off the preview & project
    // settings that will be set later. This is so they can be restored
    // after the script is complete.
    var origPreviewRenderQuality = Vegas.Project.Preview.RenderQuality;
    var origPreviewFillSize = Vegas.Project.Preview.FullSize;
    var origFieldOrder = Vegas.Project.Video.FieldOrder;
    var origProjectDeinterlaceMethod = Vegas.Project.Video.DeinterlaceMethod;
    var currentTime = Vegas.Cursor;


    try {
    // Last snapshot file name is stored in Windows registry.
    var regKey = Registry.CurrentUser.CreateSubKey("Software\\Sonic Foundry\\Scripts");

    var imageFileName = regKey.GetValue("Snapshot");
    if (imageFileName == null) { // Running for the first time.
    // The current project path seems to fit.
    imageFileName = Path.GetDirectoryName(Vegas.Project.FilePath);
    imageFileName += Path.DirectorySeparatorChar;
    imageFileName += "Image001.png";
    } else {
    // Increment number.
    var filename = Path.GetFileNameWithoutExtension(imageFileName);
    var i = filename.Length - 1;
    while ((i >= 0) && System.Char.IsDigit(filename, i))
    i--;
    i++;
    var j = filename.Length - i;
    var imageNdex: int = parseInt(filename.Substring(i, j), 10) + 1;
    var nextname = String.Format("{0}{1:d" + j + "}", filename.Substring(0, i), imageNdex);
    imageFileName = imageFileName.Replace(filename, nextname);
    }

    // Set the preview quality and size.
    Vegas.Project.Preview.RenderQuality = VideoRenderQuality.Best;
    Vegas.Project.Preview.FullSize = true;

    // Set the field order and deinterlace method
    Vegas.Project.Video.FieldOrder = VideoFieldOrder.ProgressiveScan;
    Vegas.Project.Video.DeinterlaceMethod = VideoDeinterlaceMethod.InterpolateFields;

    // Show the script's dialog box.
    var dialog = new SaveFileDialog();
    dialog.Filter = "PNG File (*.png)|*.png|JPEG File (*.jpg)|*.jpg";
    dialog.CheckPathExists = true;
    dialog.AddExtension = true;
    var initialDir = Path.GetDirectoryName(imageFileName);
    if (Directory.Exists(initialDir)) {
    dialog.InitialDirectory = initialDir;
    }
    dialog.DefaultExt = Path.GetExtension(imageFileName);
    dialog.FileName = Path.GetFileNameWithoutExtension(imageFileName);

    // if the OK button was pressed...
    if (dialog.ShowDialog() == DialogResult.OK) {
    // Get the basis for output image file names
    imageFileName = Path.GetFullPath(dialog.FileName);

    // Get the output image file name extension and corresponding
    // file format. ImageFileFormat.None indicates that the
    // current prefs setting will be used but that may not
    // correspond to the specified file extension.
    var imageFileNameExt = Path.GetExtension(imageFileName);
    var imageFormat = ImageFileFormat.None;
    if (0 == String.Compare(imageFileNameExt, ".jpg", true)) {
    imageFormat = ImageFileFormat.JPEG;
    } else if (0 == String.Compare(imageFileNameExt, ".png", true)) {
    imageFormat = ImageFileFormat.PNG;
    }

    // save a snapshot. The SaveSnapshot method returns a
    // member of the RenderStatus enumeration. If the user
    // hits the escape key or quits the app, exit the loop.
    if (Vegas.SaveSnapshot(imageFileName, imageFormat, currentTime) == RenderStatus.Complete) {
    regKey.SetValue("Snapshot", imageFileName);
    // This is just ridiculous, all you have to do to add media to Media Pool is create a Media object!
    var media = new Media(imageFileName);
    Vegas.UpdateUI();
    }
    }
    } catch (e) {
    MessageBox.Show(e);
    }

    // restore the project and preview settings
    Vegas.Project.Preview.RenderQuality = origPreviewRenderQuality;
    Vegas.Project.Preview.FullSize = origPreviewFillSize;
    Vegas.Project.Video.FieldOrder = origFieldOrder;
    Vegas.Project.Video.DeinterlaceMethod = origProjectDeinterlaceMethod;
    Vegas.Cursor = currentTime;
     
  2. thitabho

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    37
    Appréciations:
    +0 / 0 / -0
  3. Gilles

    Gilles Guest

    Appréciations:
    +0 / 0 / -0
    Salut Thitabho,

    Merci pour ce script.
    Moi, je n’arrive toujours pas à installer le Microsoft .Net Framework sur le PC sur lequel je teste Vegas 4 (il me dis qu’il faut Explorer 5.01 mini, pourtant j’ai la 5.5). Je ne peux donc pas tester les scripts pour l’instant.
    Mais ce n’est pas grave, j’attendrai la version final de Vegas-4 (que j’installerai sur ma station de montage).

    Si jamais tu vois passer un script qui permet d’imprimer le Media Pool (avec les commentaires), je suis preneur.
    Ce serait pour moi un super outil pour établir mes plans de montage.

    A+
    Gilles
     
  4. thitabho

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    37
    Appréciations:
    +0 / 0 / -0
    Salut Gilles,

    [Si jamais tu vois passer un script qui permet d’imprimer le Media Pool (avec les commentaires), je suis preneur.
    Ce serait pour moi un super outil pour établir mes plans de montage.]

    Peut-tu expliquer un peu plus en detail ce que tu veux dire par "imprimer le media pool"?

    Une liste des files dans le media pool par type de fichiers (mp3,avi etc,,,)en TXT? quels sont les details/commentaires que tu t'interresses?

    Shaun
     
  5. Gilles

    Gilles Guest

    Appréciations:
    +0 / 0 / -0
    Salut,

    Il faudrait surtout que ce script me permette d’imprimer (sur papier) les champs « Name » et « Comment » de tous les éléments qui figurent dans le Media Pool.

    Merci
    A+
    Gilles
     
  6. thitabho

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    37
    Appréciations:
    +0 / 0 / -0
    par example?:

    train.avi

    comment: TGV paris-lyon
    le 23 mars 2002
    vue de face


    quelque chose comme cela?

    quels autres details dans le script tu veux ajouter?
     
  7. Gilles

    Gilles Guest

    Appréciations:
    +0 / 0 / -0
    Exactement !
    Avec éventuellement en plus les zones « Timecode In, Timecode Out et Length ».
    La cerise sur le gâteau serait d’avoir une imagette représentant l’AVI, dans ce style :
    ----------
    -Image-
    ----------
    train.avi
    TC-In :xx : xx : xx : xx / TC-Out :xx : xx : xx : xx / Length :xx : xx : xx : xx
    Comment: TGV paris-lyon
    le 23 mars 2002
    vue de face

    Tu t’y connais en développement VB ou JS ?

    A+
     
  8. thitabho

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    37
    Appréciations:
    +0 / 0 / -0
    Non, je suis nul en language JS. J'ai juste voulu savoir les details de ton idee afin que je puisques lancer l'idee au forum anglais.

    Il y a des doues dans le language JS la bas donc peut-etre qu'ils donneront un coup de main :)
     
  9. Gilles

    Gilles Guest

    Appréciations:
    +0 / 0 / -0
    Ok.
    Comme je disais dans un message un peu plus bas, c’est vraiment une super idée d’avoir inclus cette possibilité d’exécuter des scripts dans Vegas. Il y a tout un tas de « petits » développeurs qui vont être très motivés pour écrire des scripts.

    As tu entendu parlé des outils qui sont utilisés pour développer un script comme celui que tu nous as communiqué ?
    J’imagine que le programmeur ne s’est pas amusé à tout écrire manuellement ( risques d’erreurs de syntaxe, nécessité de débogage).

    A+
     
  10. thitabho

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    37
    Appréciations:
    +0 / 0 / -0
  11. thitabho

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    37
    Appréciations:
    +0 / 0 / -0
  12. Gilles

    Gilles Guest

    Appréciations:
    +0 / 0 / -0
    Hello Shaun,

    C’est génial ! ! !
    En plus j’ai fini par installer Vegas4 (+ le framework) sur ma station de montage, je peux donc utiliser les scripts.

    Quand on analyse le script de Roger74, on s’aperçoit que ce n’est pas extrêmement compliqué. Ca donne envie de se mettre à la programmation JS.

    Merci à toi (et à Roger74 bien sûr)

    A+
    Gilles
     
Chargement...

Partager cette page

Dernières Occasions

 
Vous souhaitez annoncer sur le Repaire ? Contactez-nous