Re Vegas Pro shortcuts - no, I don't think so, but your easy resource for this sort of thing in Vegas Pro is Help/Keyboard Shortcuts.
Vegasaur doesn't appear to have this function - something like this doesn't appear under the General menu heading. Somebody with Happy Otter Scripts would know if HOS has this as a function. Others with scripting knowledge would be able to comment re scripting.
Re Vegas Pro shortcuts - no, I don't think so, but your easy resource for this sort of thing in Vegas Pro is Help/Keyboard Shortcuts.
Vegasaur doesn't appear to have this function - something like this doesn't appear under the General menu heading. Somebody with Happy Otter Scripts would know if HOS has this as a function. Others with scripting knowledge would be able to comment re scripting.
I just tried Ctrl+E in VP18 - it opens SoundForge Pro even on an audio-less media generated event. I imagine that it may have been different with the script.
I just tried Ctrl+E in VP18 - it opens SoundForge Pro even on an audio-less media generated event. I imagine that it may have been different with the script.
@Marco. I also tried the compiled AHK script, but ALT+E or CTRL+E doesn't work
Well, the script would need to find the event and then move it to the end of the timeline. But that should be a fairly simple task... You could use the base project I create here:
Well, the script would need to find the event and then move it to the end of the timeline. But that should be a fairly simple task... You could use the base project I create here:
@Ustik, If you go to that link, the base script is downloadable from there. You can copy this text into the "Main" routine in the "Class1.CS" file. Then you can rename and copy the "Class1.CS" file as needed and run that directly in Vegas. The whole thing would look like (name the file something like "MoveSelectedEventsToEndOfProject.cs"):
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using ScriptPortal.Vegas;
namespace Test_Script
{
public class Class1
{
public Vegas myVegas;
public void Main(Vegas vegas)
{
myVegas = vegas;
foreach (Track myTrack in myVegas.Project.Tracks)
{
foreach (TrackEvent evnt in myTrack.Events)
{
if (evnt.Selected)
{
evnt.Start = myVegas.Project.Length;
evnt.Selected = false;
}
}
}
}
}
}
public class EntryPoint
{
public void FromVegas(Vegas vegas)
{
Test_Script.Class1 test = new Test_Script.Class1();
test.Main(vegas);
}
}
But it still might be wise to look at the tutorials at www.jetdv.com to see more details about how creating scripts can work.
@Ustik, If you go to that link, the base script is downloadable from there. You can copy this text into the "Main" routine in the "Class1.CS" file. Then you can rename and copy the "Class1.CS" file as needed and run that directly in Vegas. The whole thing would look like (name the file something like "MoveSelectedEventsToEndOfProject.cs"):
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using ScriptPortal.Vegas;
namespace Test_Script
{
public class Class1
{
public Vegas myVegas;
public void Main(Vegas vegas)
{
myVegas = vegas;
foreach (Track myTrack in myVegas.Project.Tracks)
{
foreach (TrackEvent evnt in myTrack.Events)
{
if (evnt.Selected)
{
evnt.Start = myVegas.Project.Length;
evnt.Selected = false;
}
}
}
}
}
}
public class EntryPoint
{
public void FromVegas(Vegas vegas)
{
Test_Script.Class1 test = new Test_Script.Class1();
test.Main(vegas);
}
}
But it still might be wise to look at the tutorials at www.jetdv.com to see more details about how creating scripts can work.
Actually, it moves video and audio individually... Is it possible to move the whole event together? Even when I select both parts they end up unsynced...
@Ustik, yeah, it moves everything selected "to the end" so the end changes as each piece is moved. That little version is not smart enough to know if there's a linked audio piece to go with the video. This modification will do both assuming the audio starts at the same time and is part of the same file. It's not the most elegant method but will work: so change the text in the "Main" routine to:
With the above modification, ONLY select the video portion and the matching audio portion should also be moved. And only select a SINGLE video file - otherwise it will only move the audio for the "last" one as it's still not smart enough to move multiples.
Alternately, we could make everything selected move to the current end of the project. However, if you selected two items on the same track, they would both be moved to the same location so the above code is probably the best option. But here's the other option:
@Ustik, yeah, it moves everything selected "to the end" so the end changes as each piece is moved. That little version is not smart enough to know if there's a linked audio piece to go with the video. This modification will do both assuming the audio starts at the same time and is part of the same file. It's not the most elegant method but will work: so change the text in the "Main" routine to:
With the above modification, ONLY select the video portion and the matching audio portion should also be moved. And only select a SINGLE video file - otherwise it will only move the audio for the "last" one as it's still not smart enough to move multiples.
Alternately, we could make everything selected move to the current end of the project. However, if you selected two items on the same track, they would both be moved to the same location so the above code is probably the best option. But here's the other option:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using ScriptPortal.Vegas;
namespace Test_Script
{
public class Class1
{
public Vegas myVegas;
public void Main(Vegas vegas)
{
myVegas = vegas;
Timecode oldStart = null;
Timecode newStart = null;
string oldFile = null;
foreach (Track myTrack in myVegas.Project.Tracks)
{
foreach (TrackEvent evnt in myTrack.Events)
{
if (evnt.Selected)
{
oldStart = evnt.Start;
oldFile = evnt.ActiveTake.MediaPath;
evnt.Start = myVegas.Project.Length;
newStart = evnt.Start;
evnt.Selected = false;
}
}
foreach (TrackEvent evnt in myTrack.Events)
{
if ((evnt.Start == oldStart) && (evnt.ActiveTake.MediaPath == oldFile))
{
evnt.Start = newStart;
}
}
} // <------ This one is missing!
}
}
}
public class EntryPoint
{
public void FromVegas(Vegas vegas)
{
Test_Script.Class1 test = new Test_Script.Class1();
test.Main(vegas);
}
}
Apparently I didn't get the last "}" copied when I pasted above. I will attempt to correct my post above.
You have to have the same number of "}" as you do "{". By using the indenting the way I have things indented, you can easily tell which one is missing. If you start at a { and go straight down, you should hit the corresponding }.