Скрипты (Scripts) - Страница 26 - PROVEGAS.RU: SONY VEGAS FORUM
Нажмите для перехода на сайт ProVegas.ru  

Вернуться   PROVEGAS.RU: SONY VEGAS FORUM > ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ > Sony Vegas > Скрипты и утилиты для Sony Vegas

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.02.2018, 13:03   #376
VictorGtV Меню пользователя
Научный сотрудник
 
Регистрация: 08.02.2011
Сообщений: 89
Рейтинг: 6702
VictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверия
По умолчанию

Финальная версия. Снимает выделение со всех клипов в проекте и выделяет клип под курсором на выделенном треке.

/**

* PURPOSE OF THIS SCRIPT:

*

* Select event at cursor, and de-select all other events.

*

* A video track must be selected. If an audio track is selected, nothing happens.

* If the track beneath the video track contains audio, the audio event in that track

* that lies beneath the cursor will also be selected.

*

* Copyright © John Meyer 2004

* Written: September 23, 2004

*

**/


import System;

import System.IO;

import System.Windows.Forms;

import Sony.Vegas;

try
{
// step through all the tracks
for (var track in Vegas.Project.Tracks)
{
// Step through all events
for (var evnt in track.Events)
{
evnt.Selected = false;
}
}
}
catch (errorMsg)
{
MessageBox.Show(errorMsg, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}





try {


//Global declarations

var dStart : Double;

var dLength : Double;

var dCursor : Double;

var trackEnum : Enumerator;

// var evnt : TrackEvent;

var CurrentEvnt : TrackEvent;


var track = FindSelectedTrack(); // Use this function to find the first selected track.

var eventEnum = new Enumerator(track.Events);


// if (track.IsVideo()) { // Proceed only if selected track is video track.


if ( SelectEventAtCursor() ) { // Function that selects events under cursor.


// Get set to look at track directly below the video track.

trackEnum.moveNext(); // Go to next track.


if (!trackEnum.atEnd()) { // Only proceed if there is a track below the video track.

track = Track(trackEnum.item()); // When doing the first track (above), these two lines were executed

eventEnum = new Enumerator(track.Events); // in the FindSelectedTrack() function.

//if (track.IsAudio()) { // Only trim the event if this is an audio track.

//SelectEventAtCursor();

//}

}

}

// }

// Vegas.Cursor = CurrentEvnt.Start; // Enable this line to move cursor to start of selected event.

Vegas.UpdateUI();


} catch (e) {

MessageBox.Show(e);

}


// End of main program




// Beginning of functions


function FindSelectedTrack() : Track {

trackEnum = new Enumerator(Vegas.Project.Tracks);

while (!trackEnum.atEnd()) {

var track : Track = Track(trackEnum.item());


if (track.Selected) {

return track;

}

trackEnum.moveNext();

}

return null;

}



/**

*

* The following function finds the event on the selected track

* that lies under the cursor. It also deselects all other events.

*

**/


function SelectEventAtCursor() {


var EventFound : boolean = false; // Function returns false if no video media under cursor.


dCursor = Vegas.Cursor.ToMilliseconds(); // Remember the cursor position.


//Go through each event on the track.


while (!eventEnum.atEnd()) {

evnt = TrackEvent(eventEnum.item());

evnt.Selected = false; // De-select the event


// Get the event's start and length timecode, in milliseconds.

dStart = evnt.Start.ToMilliseconds();

dLength = evnt.Length.ToMilliseconds();



/**

* If the cursor timecode is between the beginning and end of the

* event timecodes, then select the event.

**/


if ( (dCursor >= dStart) && ( dCursor < (dLength + dStart) ) ) {

evnt.Selected = true; // Select this event.

EventFound = true;

CurrentEvnt = evnt;

}

eventEnum.moveNext(); // Go to next event on this timeline.


}

return EventFound;

}
VictorGtV вне форума   Ответить с цитированием
Старый 25.02.2018, 16:51   #377
Проходчик Меню пользователя
Старший научный сотрудник
 
Аватар для Проходчик
 
Регистрация: 30.05.2009
Сообщений: 1,616
Рейтинг: 424249
Проходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверия
По умолчанию

вау!!! больше ста строк? если тебе нужно резать евент под курсором, совсем не обязательно его выделять, и, соответственно, снимать выделение - лишние телодвижения т.е скрипт, в своем действии, конечно же это делает, но ты этого не видишь... скрипт(по хоткею) просто режет эвент под курсором на выделенном треке во время проигрывания -это ведь нужно?
__________________
Меня постоянно преследуют умные мысли - но я всегда быстрее...
Проходчик вне форума   Ответить с цитированием
Старый 26.02.2018, 00:49   #378
VictorGtV Меню пользователя
Научный сотрудник
 
Регистрация: 08.02.2011
Сообщений: 89
Рейтинг: 6702
VictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверия
По умолчанию

Выделяет евент на выделенном треке, а выделение с других снимает, что бы не получилось что несколько евентов будут выделены, так сказать "техника безопасности." А потом можно не только резать... чтоб ставить фэйды тоже нужно выделить. Смотрю сейчас скрипт который тут в архиве был "FadeIn-OutCursor" (Fade clip to/from cursor position), но там выскакивает меню выбора вначале или в конце, я бы сделал отдельно 2 скрипта для In и для Out, может быть уже есть готовый?
VictorGtV вне форума   Ответить с цитированием
Старый 26.02.2018, 11:31   #379
Проходчик Меню пользователя
Старший научный сотрудник
 
Аватар для Проходчик
 
Регистрация: 30.05.2009
Сообщений: 1,616
Рейтинг: 424249
Проходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверия
По умолчанию

Ты не понял, это я предлагаю, набросал на досуге исходя из
Цитата:
Сообщение от VictorGtV Посмотреть сообщение
Цель - резать клип без мышки
, и описываю функционал...
__________________
Меня постоянно преследуют умные мысли - но я всегда быстрее...
Проходчик вне форума   Ответить с цитированием
Старый 26.02.2018, 16:13   #380
VictorGtV Меню пользователя
Научный сотрудник
 
Регистрация: 08.02.2011
Сообщений: 89
Рейтинг: 6702
VictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверия
По умолчанию

Тогда выкладывай, попробую. Возможно где-то будет удобнее сразу резать, а где-то сначала выделить. Главное, чтоб хоткеев на всё хватило
По фэйдам не подскажешь? Из скрипта "FadeIn-OutCursor" нужно убрать меню с выбором и оставить что-то одно In или Out. Я так в Reaper настроил (на кнопки F8 и F9) - ставлю курсор, и сразу фэйд под курсором. B идеале, чтобы это было для видео, аудио, фото, т.е для любого содержимого на дорожке.
VictorGtV вне форума   Ответить с цитированием
Старый 26.02.2018, 17:08   #381
Проходчик Меню пользователя
Старший научный сотрудник
 
Аватар для Проходчик
 
Регистрация: 30.05.2009
Сообщений: 1,616
Рейтинг: 424249
Проходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверия
По умолчанию

Пользуйся, адаптировал к 13 и ниже:
Код:
*Trim  no selected event from cursor in selected track
*written by Frontovik
*02/2018
using System;
using System.Collections.Generic;
using Sony.Vegas;
using VegasWrapper = Sony.Vegas.Vegas;
using System.Windows.Forms;

namespace EventSelector
{
    public class EntryPoint
    {
        public void FromVegas(VegasWrapper vegas)
        {
            vegas.ResumePlaybackOnScriptExit = true;
            var selectedTrak = getSelectedTrack(vegas);

            foreach (var ev in selectedTrak.Events)
            {
                if (ev.Start < vegas.Cursor && ev.Start + ev.Length > vegas.Cursor)
                {
                    ev.Selected = true;
                    ev.Split(vegas.Cursor - ev.Start);
                }
            }
            DeselectAllEvents(vegas);

        }

        private static Track getSelectedTrack(VegasWrapper vw)
        {
            foreach (var track in vw.Project.Tracks)
            {
                if (track.Selected) return track;
            }
            return null;
        }
        private static void DeselectAllEvents(VegasWrapper vw)
        {
            foreach (var track in vw.Project.Tracks)
            {
                foreach(var ev in track.Events)
                {
                    ev.Selected = false;
                }
            }
        }
    }
}

По фейдам -есть готовый, ставит фейды (1000мс) по обе стороны от курсора, на любой эвент на выделенном треке можешь оставить нужную сторону -там все интуитивно:
Код:
* Find events on selected tracks that start on cursor, set their fadeIn length to 1 second.
*
* Written By: Alexander Anikin
* Written: Mar 31, 2013
*
**/ 

import Sony.Vegas; 

try { 
    var bFound : Boolean = false;

    for (var trackEnum = new Enumerator(Vegas.Project.Tracks); !bFound && !trackEnum.atEnd(); trackEnum.moveNext())
        if (trackEnum.item().Selected)
        {
            for (var eventEnum = new Enumerator(Track(trackEnum.item()).Events); !eventEnum.atEnd(); eventEnum.moveNext())
                if (eventEnum.item().Start == Vegas.Cursor)
                {
                    eventEnum.item().FadeIn.Length = Timecode.FromMilliseconds(1000);
                }
                else if (eventEnum.item().End == Vegas.Cursor)
                    eventEnum.item().FadeOut.Length = Timecode.FromMilliseconds(1000);
        }
} catch (e) { 
 Vegas.ShowError(e); 
}
__________________
Меня постоянно преследуют умные мысли - но я всегда быстрее...

Последний раз редактировалось Проходчик; 26.02.2018 в 17:19.
Проходчик вне форума   Ответить с цитированием
Старый 26.02.2018, 19:30   #382
VictorGtV Меню пользователя
Научный сотрудник
 
Регистрация: 08.02.2011
Сообщений: 89
Рейтинг: 6702
VictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверия
По умолчанию

Выдает ошибки:
1-й
C:\Program Files\Sony\Vegas Pro 12\Script Menu\Split.cs(1) : A namespace does not directly contain members such as fields or methods

2-й
C:\Program Files\Sony\Vegas Pro 12\Script Menu\Fade.js(1) : Expected expression

Винда 7 SP1, вегас 12 r770 репак Кролика
VictorGtV вне форума   Ответить с цитированием
Старый 27.02.2018, 12:52   #383
Проходчик Меню пользователя
Старший научный сотрудник
 
Аватар для Проходчик
 
Регистрация: 30.05.2009
Сообщений: 1,616
Рейтинг: 424249
Проходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверия
По умолчанию

Ты ж не обозначил, что у тебя 12, а для меня стало открытием, что компилятор 12 Вегаса не подозревает ещё о переменных var, в 13 уже обновили. вот адаптировано к 12:
Код:
// Script Trim  no selected event from cursor in selected track
// written by Frontovik
// 02/2018
using System;
using System.Collections.Generic;
using Sony.Vegas;
using VegasWrapper = Sony.Vegas.Vegas;
using System.Windows.Forms;

namespace EventSelector
{
    public class EntryPoint
    {
        public void FromVegas(VegasWrapper vegas)
        {
          vegas.ResumePlaybackOnScriptExit = true;
            Track selectedTrak = getSelectedTrack(vegas);

            foreach (TrackEvent ev in selectedTrak.Events)
            {
                if (ev.Start < vegas.Cursor && ev.Start + ev.Length > vegas.Cursor)
                {
                    ev.Selected = true;
                    ev.Split(vegas.Cursor - ev.Start);
                }
            }
            DeselectAllEvents(vegas);

        }

        private static Track getSelectedTrack(VegasWrapper vw)
        {
            foreach (Track track in vw.Project.Tracks)
            {
                if (track.Selected) return track;
            }
            return null;
        }
        private static void DeselectAllEvents(VegasWrapper vw)
        {
            foreach (Track track in vw.Project.Tracks)
            {
                foreach(TrackEvent ev in track.Events)
                {
                    ev.Selected = false;
                }
            }
        }
    }
}

по второму -не моё,и писано на jave -не сильно понимаю, но исходя из сообщения об ошибке в первой строке....Точно сейчас глянул, нет первой строки с комментом / *, не все скопировал...Потому компилятор и дуреет от * в первой строке :-)
__________________
Меня постоянно преследуют умные мысли - но я всегда быстрее...

Последний раз редактировалось Проходчик; 27.02.2018 в 13:07.
Проходчик вне форума   Ответить с цитированием
Старый 18.03.2018, 13:17   #384
VictorGtV Меню пользователя
Научный сотрудник
 
Регистрация: 08.02.2011
Сообщений: 89
Рейтинг: 6702
VictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверия
По умолчанию

Цитата:
Сообщение от Проходчик Посмотреть сообщение
вот адаптировано к 12
Спасибо, удобно для “косого” стыка.

Скрипты (отдельно для FadeIn и FadeOut), для создания фэйда под курсором:

Fade in:
Код:
/**
* This script will Fade In on the selected item up to the current cursor position
*
* Written By: Edward Troxel
* Modified: 04-21-2003
* 08-26-2016 - Modified for MAGIX Vegas Pro versions by Nick Hope
* Modified 18-03-2018 for Sony Vegas 11, 12, 13
**/

import System;
import System.IO;
import System.Windows.Forms;
import Sony.Vegas;

try {

  var OrgCursor;
  OrgCursor = Vegas.Cursor;

//Go through the list of Tracks
var trackEnum = new Enumerator(Vegas.Project.Tracks);
while (!trackEnum.atEnd()) {
var track : Track = Track(trackEnum.item());

//Go through the list of Events
var eventEnum = new Enumerator(track.Events);
while (!eventEnum.atEnd()) {
var evnt : TrackEvent = TrackEvent(eventEnum.item());

if (evnt.Selected) {

evnt.FadeIn.Length = OrgCursor - evnt.Start;
//evnt.FadeOut.Length = new Timecode("00:00:01:00");

}
eventEnum.moveNext();
}
trackEnum.moveNext();
}

} catch (e) {
MessageBox.Show(e);
}

Fade Out:
Код:
/**
* * This script will Fade Out on the selected item up to the current cursor position
*
* Written By: Edward Troxel
* Modified: 04-21-2003
* 08-26-2016 - Modified for MAGIX Vegas Pro versions by Nick Hope
* Modified 18-03-2018 for Sony Vegas 11, 12, 13
**/

import System;
import System.IO;
import System.Windows.Forms;
import Sony.Vegas;

try {

  var OrgCursor;
  OrgCursor = Vegas.Cursor;

//Go through the list of Tracks
var trackEnum = new Enumerator(Vegas.Project.Tracks);
while (!trackEnum.atEnd()) {
var track : Track = Track(trackEnum.item());

//Go through the list of Events
var eventEnum = new Enumerator(track.Events);
while (!eventEnum.atEnd()) {
var evnt : TrackEvent = TrackEvent(eventEnum.item());

if (evnt.Selected) {

//evnt.FadeIn.Length = new Timecode("00:00:01:00");
evnt.FadeOut.Length = evnt.Length - (OrgCursor - evnt.Start);

}
eventEnum.moveNext();
}
trackEnum.moveNext();
}

} catch (e) {
MessageBox.Show(e);
}
VictorGtV вне форума   Ответить с цитированием
Старый 18.03.2018, 17:31   #385
Stregmode Меню пользователя
Стажер
 
Регистрация: 02.06.2017
Сообщений: 21
Рейтинг: 127031
Stregmode с Максимальным уровнем доверияStregmode с Максимальным уровнем доверияStregmode с Максимальным уровнем доверияStregmode с Максимальным уровнем доверияStregmode с Максимальным уровнем доверияStregmode с Максимальным уровнем доверияStregmode с Максимальным уровнем доверияStregmode с Максимальным уровнем доверияStregmode с Максимальным уровнем доверияStregmode с Максимальным уровнем доверияStregmode с Максимальным уровнем доверия
По умолчанию

А что это такое?
Stregmode вне форума   Ответить с цитированием
Старый 18.03.2018, 23:37   #386
Проходчик Меню пользователя
Старший научный сотрудник
 
Аватар для Проходчик
 
Регистрация: 30.05.2009
Сообщений: 1,616
Рейтинг: 424249
Проходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверияПроходчик с Максимальным уровнем доверия
По умолчанию

Наверно стоит прочитать тему, ну хоть первую страничку...
__________________
Меня постоянно преследуют умные мысли - но я всегда быстрее...
Проходчик вне форума   Ответить с цитированием
Старый 19.03.2018, 12:16   #387
VictorGtV Меню пользователя
Научный сотрудник
 
Регистрация: 08.02.2011
Сообщений: 89
Рейтинг: 6702
VictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверия
По умолчанию

Выделяет все эвенты после курсора только на выделенных треках (если видео с аудио, то нужно выделить 2 трека, если нужны все треки, то предварительно Ctrl+A и снять выделение с эвентов). Отличие от оригинала - добавлена строка 22 if (track.Selected)

SelectEventsRightFromCursor.js:
Код:
/** 
 * Program: SelectEventsFromCursor.js
 * Description: This script will select all the events on selected tracks that are 
 *              under the cursor position and to the right of it.
 * Author: Johnny (Roy) Rofrano  john_rofrano at hotmail dot com
 * 
 * Date: March 24, 2004 
 * Modifed: 18-03-2018 (add line 22 if (track.Selected))
 *
 **/ 

import Sony.Vegas; 
import System.Windows.Forms;

try
{
	// step through all the tracks
	for (var track in Vegas.Project.Tracks) 
	{
		// Step through all events
		for (var evnt in track.Events) 
if (track.Selected)
		{
			// Check to see if event is under or to the right of the cursor
			if (-1 == Vegas.Cursor.CompareTo(evnt.Start + evnt.Length))
			{
				evnt.Selected = true;
			}
		}
	}
}
catch (errorMsg)
{
	MessageBox.Show(errorMsg, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

Удаляет пустые промежутки между выделенными эвентами на одном или нескольких треках и сдвигает все влево. Отличие от оригинала - закрыты строки 34, 44, без этого были ошибки.

Removegaps between selected items.js:
Код:
/** 
* Program: 
* Description: Remove gaps between events. This removes gaps in SELECTED events only. The remove gap function only works on selected events. 
               All events before and after the selected event are NOT processed. The GAP constant is used as the defined spacer between events
               as they are processed. If you want the space between events to be 0, then set GAP to 0. GAP unit is milliseconds. Default is 1000 (1sec).
               This script was created because the only other RemoveGaps script found on the interet had a bug where it truncated the end of each event
               on complex tracks. This script works on complex tracks with 1000's of events. Also the other script processed all events on a track, this
               script processes only selected tracks, so you can selectivly decide which evemts to process and which to not process.
* Author: JRD
* 
* Date: April 17, 2011
* Modifed: 18-03-2018 (close the line 34, 44)
**/ 

import Sony.Vegas; 
import System.Windows.Forms;
import Microsoft.Win32;
import System.Diagnostics;


try
{
    Debug.WriteLine("RemoveGaps-> START");
    
    var GAP = 0;

    // step through all selected video events:
    var FirstTrack : Track = Vegas.Project.Tracks.Item(0);
    var idx = 0;
    var countSel = 0;
    // step through all selected video events:
    for (var track in Vegas.Project.Tracks) 
    {
//        if( !track.Selected || track.MediaType == MediaType.Audio) continue;
        
        var tracktime = new Timecode(0);
        var last = 0;
        var begin = 0;
        for (var evnt in track.Events) 
        {
            if (evnt.Selected)
            {
                // start after first event
//                if (idx > 0 && countSel > 0)
                {
                    Debug.WriteLine("RemoveGaps-> idx -> " + idx);
                    // get diff between previous this event and last
                    var diff = (evnt.Start.ToMilliseconds() - last); 
                    Debug.WriteLine("RemoveGaps-> diff -> " + diff);
                    //  if diff is greater than GAP? then fill it
                    if (diff > GAP)
                    {
                        var start = Timecode.FromMilliseconds(last + GAP);
                        var end =  Timecode.FromMilliseconds(start.ToMilliseconds() + evnt.Length.ToMilliseconds());
                        var len =  Timecode.FromMilliseconds( evnt.End.ToMilliseconds() - evnt.Start.ToMilliseconds());
                        
                        Debug.WriteLine("RemoveGaps-> diff > GAP " );
                        Debug.WriteLine("RemoveGaps-> diff > Set evnt.Start to-> " + start.ToMilliseconds().ToString());
                        Debug.WriteLine("RemoveGaps-> diff > Set evnt.End to-> " + end.ToMilliseconds().ToString());
                        Debug.WriteLine("RemoveGaps-> diff > Set evnt.Length to-> " +len.ToMilliseconds().ToString());
                        
                        evnt.Start = start; // new start
                        evnt.End = end; // new end
                        evnt.Length = len; // calculate exact length
                        countSel++;
                    }
                }
                countSel++;
            }
            last = evnt.End.ToMilliseconds();
            tracktime = tracktime + evnt.Length;
            idx++;
        }
    }
    Debug.WriteLine("RemoveGaps-> DONE");
}

catch (errorMsg)
{
    Debug.WriteLine("RemoveGaps-> ERROR-> " + errorMsg);
    MessageBox.Show(errorMsg, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
Переместить курсор влево-вправо на 2 сек. Оригинал не работал, потому что у меня отображение времени (Time format) выставлено в секундах, в скрипте было Timecode("00:00:02:00"), я исправил на 2.00

Move cursor left.js
Код:
//Copyright - John Meyer 2008

import System;
import System.IO;
import System.Windows.Forms;
import Sony.Vegas;
try {   
    // Change the variable below to change cursor advance
    var Advance : Timecode = new Timecode("2.00");
    Vegas.Cursor = Vegas.Cursor - Advance;
}

catch (e) {MessageBox.Show(e); }

Move cursor right.js
Код:
//Copyright - John Meyer 2008

import System;
import System.IO;
import System.Windows.Forms;
import Sony.Vegas;
try {   
    // Change the variable below to change cursor advance
    var Advance : Timecode = new Timecode("2.00");
    Vegas.Cursor = Vegas.Cursor + Advance;
}

catch (e) {MessageBox.Show(e); }

Последний раз редактировалось VictorGtV; 19.03.2018 в 17:12. Причина: Automerged Doublepost
VictorGtV вне форума   Ответить с цитированием
Старый 05.10.2018, 23:24   #388
VictorGtV Меню пользователя
Научный сотрудник
 
Регистрация: 08.02.2011
Сообщений: 89
Рейтинг: 6702
VictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверияVictorGtV с Максимальным уровнем доверия
По умолчанию

Всем привет. В скрипте Batch Render хотелось бы прописать путь к папке, чтобы каждый раз не указывать путь (в строке Base file name). Возможно уже было решение, или как это сделать? Скрипт: https://cloud.mail.ru/public/B8xN/hXe7FQjwV
VictorGtV вне форума   Ответить с цитированием
Старый 26.10.2018, 10:48   #389
petrovich Меню пользователя
Старший научный сотрудник
 
Аватар для petrovich
 
Регистрация: 25.08.2010
Сообщений: 769
Рейтинг: 91268
petrovich с Максимальным уровнем доверияpetrovich с Максимальным уровнем доверияpetrovich с Максимальным уровнем доверияpetrovich с Максимальным уровнем доверияpetrovich с Максимальным уровнем доверияpetrovich с Максимальным уровнем доверияpetrovich с Максимальным уровнем доверияpetrovich с Максимальным уровнем доверияpetrovich с Максимальным уровнем доверияpetrovich с Максимальным уровнем доверияpetrovich с Максимальным уровнем доверия
По умолчанию

Где-то вроде видел скрипт выделение фрагмента на ТЛ под плейхедом, но поиск не работет, или ищу не правильно. Помогите кто знает где он
petrovich вне форума   Ответить с цитированием
Старый 09.12.2018, 03:16   #390
zigizigi Меню пользователя
Научный сотрудник
 
Регистрация: 23.11.2009
Сообщений: 85
Рейтинг: 125006
zigizigi с Максимальным уровнем доверияzigizigi с Максимальным уровнем доверияzigizigi с Максимальным уровнем доверияzigizigi с Максимальным уровнем доверияzigizigi с Максимальным уровнем доверияzigizigi с Максимальным уровнем доверияzigizigi с Максимальным уровнем доверияzigizigi с Максимальным уровнем доверияzigizigi с Максимальным уровнем доверияzigizigi с Максимальным уровнем доверияzigizigi с Максимальным уровнем доверия
По умолчанию

Цитата:
Сообщение от zigizigi Посмотреть сообщение
существует ли бесплатный скрипт для автоматического добавления множественных аудио кроссфейдов? т.е. сделать то, что делает клавиша "/" только для нескольких выделенных склеек сразу. без сдвига событий на таймлайне.
Поскольку за эти годы я так и не нашел того, что мне надо, пришлось написать самому.

CrossFader это массовое создание/удаление кроссфейдов и видео переходов, а также манипуляция кривыми.



Fader - массовое создание фейд-инов и фейд-аутов, и манипуляции с кривыми как новых, так и существующих.



Оба скрипта с GUI, но могут использоваться в не-интерактивном режиме. Для этого надо в начале скрипта, где инициализируются настройки, изменить переменную

Код:
Settings.ShowDialog = true;
в false, прописать остальные настройки, скопировать под новым именем, и можно, например, назначать такой "пресет" на клавишу.

Качать здесь:

https://github.com/MolecularDust/CrossFader/releases
https://github.com/MolecularDust/Fader/releases

Распаковать zip, положить .cs вместе с .png в скриптовую папку Вегаса, пользовать.

Для гиков там же исходники, краткая инструкция по отладке скриптов на С# для Вегаса в Visual Studio здесь. Также, для кодеров в проектах лежит тулза CSMerger.exe, которая собирает все .cs файлы из проекта в один большой, который можно класть в скриптовую папку Вегаса.

Последний раз редактировалось zigizigi; 09.12.2018 в 03:31.
zigizigi вне форума   Ответить с цитированием
Ответ

Теги
scripts, sony vegas, скрипты

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Sony Vegas: ProVegas.ru
© 2008-2014 При полном или частичном использовании материалов ссылка на ProVegas.ru обязательна.


Часовой пояс GMT +4, время: 22:35.



Яндекс.Метрика