|
|
|
|
@ -193,83 +193,6 @@ module.exports = ({ app, mainWindow, newVersion, isStoreBuild }) => {
|
|
|
|
|
{ role: 'paste', label: esc(t('Paste')) },
|
|
|
|
|
{ role: 'selectall', label: esc(t('Select All')) },
|
|
|
|
|
{ type: 'separator' },
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Segments')),
|
|
|
|
|
submenu: [
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Clear all segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('clearSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Reorder segments by start time')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('reorderSegsByStartTime');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Create num segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('createNumSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Create fixed duration segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('createFixedDurationSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Create random segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('createRandomSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Invert all segments on timeline')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('invertAllSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Fill gaps between segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('fillSegmentsGaps');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Combine overlapping segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('combineOverlappingSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Combine selected segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('combineSelectedSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Shuffle segments order')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('shuffleSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Shift all segments on timeline')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('shiftAllSegmentTimes');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Align segment times to keyframes')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('alignSegmentTimesToKeyframes');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Tracks')),
|
|
|
|
|
submenu: [
|
|
|
|
|
@ -290,6 +213,84 @@ module.exports = ({ app, mainWindow, newVersion, isStoreBuild }) => {
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Segments')),
|
|
|
|
|
submenu: [
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Clear all segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('clearSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Reorder segments by start time')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('reorderSegsByStartTime');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Create num segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('createNumSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Create fixed duration segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('createFixedDurationSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Create random segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('createRandomSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Invert all segments on timeline')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('invertAllSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Fill gaps between segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('fillSegmentsGaps');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Combine overlapping segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('combineOverlappingSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Combine selected segments')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('combineSelectedSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Shuffle segments order')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('shuffleSegments');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Shift all segments on timeline')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('shiftAllSegmentTimes');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('Align segment times to keyframes')),
|
|
|
|
|
click() {
|
|
|
|
|
mainWindow.webContents.send('alignSegmentTimesToKeyframes');
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
label: esc(t('View')),
|
|
|
|
|
submenu: [
|
|
|
|
|
|