übernahme Code Shortcut
16
packaging/linux/appimage/appimage.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
app: Shotcut
|
||||
verbose: true
|
||||
|
||||
#ingredients:
|
||||
# dist: focal
|
||||
# sources:
|
||||
# - deb http://us.archive.ubuntu.com/ubuntu/ focal main universe
|
||||
# script:
|
||||
# - echo "multiarch-support" >> excludedeblist
|
||||
|
||||
script:
|
||||
- tar -xJ -C usr/bin --strip=1 -f ../../../../scripts/shotcut-linux-x86_64-*.txz
|
||||
- cp -p ../../../../icons/shotcut-logo-64.png shotcut.png
|
||||
- cp -p ../../../../packaging/linux/org.shotcut.Shotcut.desktop shotcut.desktop
|
||||
- desktop-file-edit --set-key=Exec --set-value=shotcut shotcut.desktop
|
||||
- desktop-file-edit --set-key=Icon --set-value=shotcut shotcut.desktop
|
||||
BIN
packaging/linux/icons/128x128/org.shotcut.Shotcut.png
Normal file
|
After Width: | Height: | Size: 249 B |
BIN
packaging/linux/icons/64x64/org.shotcut.Shotcut.png
Normal file
|
After Width: | Height: | Size: 126 B |
18
packaging/linux/org.shotcut.Shotcut.desktop
Normal file
@@ -0,0 +1,18 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Shotcut
|
||||
Name[ru]=Видеоредактор Shotcut
|
||||
GenericName=Video Editor
|
||||
GenericName[de]=Video-Bearbeitungsprogramm
|
||||
GenericName[fr]=Logiciel de montage vidéo
|
||||
GenericName[ru]=Видеоредактор
|
||||
Comment=Shotcut is a free, open source, cross-platform video editor.
|
||||
Comment[de]=Programm zum Bearbeiten und Abspielen von Videodateien.
|
||||
Comment[ru]=Shotcut - свободный кросс-платформенный видеоредактор.
|
||||
Exec=shotcut %F
|
||||
Icon=org.shotcut.Shotcut
|
||||
Terminal=false
|
||||
Categories=AudioVideo;Video;AudioVideoEditing;
|
||||
Keywords=video;audio;editing;suite;mlt;4k;video4linux;blackmagic;decklink;
|
||||
MimeType=application/vnd.mlt+xml;application/ogg;application/x-ogg;audio/ogg;audio/x-vorbis;audio/x-vorbis+ogg;video/ogg;video/x-ogm+ogg;video/x-theora+ogg;video/x-theora;audio/x-speex;audio/opus;application/x-flac;audio/flac;audio/x-flac;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;audio/x-ms-wma;video/x-ms-asf;video/x-ms-asf-plugin;video/x-ms-asx;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvx;video/x-msvideo;audio/x-pn-windows-acm;video/divx;video/msvideo;video/vnd.divx;video/x-avi;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/vnd.rn-realaudio;audio/x-pn-realaudio;audio/x-pn-realaudio-plugin;audio/x-real-audio;audio/x-realaudio;video/vnd.rn-realvideo;audio/mpeg;audio/mpg;audio/mp1;audio/mp2;audio/mp3;audio/x-mp1;audio/x-mp2;audio/x-mp3;audio/x-mpeg;audio/x-mpg;video/mp2t;video/mpeg;video/mpeg-system;video/x-mpeg;video/x-mpeg2;video/x-mpeg-system;application/mpeg4-iod;application/mpeg4-muxcodetable;application/x-extension-m4a;application/x-extension-mp4;audio/aac;audio/m4a;audio/mp4;audio/x-m4a;audio/x-aac;video/mp4;video/mp4v-es;video/x-m4v;application/x-quicktime-media-link;application/x-quicktimeplayer;video/quicktime;application/x-matroska;audio/x-matroska;video/x-matroska;video/webm;audio/webm;audio/3gpp;audio/3gpp2;audio/AMR;audio/AMR-WB;audio/amr;audio/amr-wb;video/3gp;video/3gpp;video/3gpp2;x-scheme-handler/mms;x-scheme-handler/mmsh;x-scheme-handler/rtsp;x-scheme-handler/rtp;x-scheme-handler/rtmp;x-scheme-handler/icy;x-scheme-handler/icyx;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;application/x-cd-image;application/ram;application/xspf+xml;audio/mpegurl;audio/x-mpegurl;audio/scpls;audio/x-scpls;text/google-video-pointer;text/x-google-video-pointer;video/vnd.mpegurl;application/vnd.apple.mpegurl;application/vnd.ms-asf;application/vnd.ms-wpl;application/sdp;audio/dv;video/dv;audio/x-aiff;audio/x-pn-aiff;video/x-anim;video/x-nsv;video/fli;video/flv;video/x-flc;video/x-fli;video/x-flv;audio/wav;audio/x-pn-au;audio/x-pn-wav;audio/x-wav;audio/ac3;audio/eac3;audio/vnd.dts;audio/vnd.dts.hd;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/vnd.dolby.mlp;audio/basic;audio/midi;audio/x-ape;audio/x-gsm;audio/x-musepack;audio/x-tta;audio/x-wavpack;audio/x-shorten;application/x-shockwave-flash;application/x-flash-video;misc/ultravox;image/vnd.rn-realpix;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-xm;application/mxf;
|
||||
StartupWMClass=Shotcut
|
||||
56
packaging/linux/org.shotcut.Shotcut.metainfo.xml.in
Normal file
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>org.shotcut.Shotcut</id>
|
||||
<launchable type="desktop-id">org.shotcut.Shotcut.desktop</launchable>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-3.0-only</project_license>
|
||||
<name>Shotcut</name>
|
||||
<summary>Video editor</summary>
|
||||
<description>
|
||||
<p>
|
||||
Shotcut is a free and open-source cross-platform video editing application for
|
||||
Windows, macOS, and Linux.
|
||||
</p>
|
||||
<p>
|
||||
Shotcut supports many video, audio, and image formats via FFmpeg and screen,
|
||||
webcam, and audio capture. It uses a time-line for non-linear video editing of
|
||||
multiple tracks that may be composed of various file formats. Scrubbing and
|
||||
transport control are assisted by OpenGL GPU-based processing and a number of
|
||||
video and audio filters are available.
|
||||
</p>
|
||||
</description>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://www.shotcut.org/assets/img/pro-formats.png</image>
|
||||
<caption>Wide Format Support</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.shotcut.org/assets/img/waveforms.png</image>
|
||||
<caption>Audio Features</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.shotcut.org/assets/img/shotcut_mac_monitor.png</image>
|
||||
<caption>Video Effects</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.shotcut.org/assets/img/editing-group.jpg</image>
|
||||
<caption>Editing Features</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.shotcut.org/assets/img/external-monitoring.png</image>
|
||||
<caption>Display and Monitoring</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<developer_name>Meltytech, LLC</developer_name>
|
||||
<update_contact>dan_AT_dennedy.org</update_contact>
|
||||
<url type="homepage">https://www.shotcut.org/</url>
|
||||
<url type="bugtracker">https://github.com/mltframework/shotcut/issues/</url>
|
||||
<url type="faq">https://www.shotcut.org/FAQ/</url>
|
||||
<url type="help">https://www.shotcut.org/tutorials/</url>
|
||||
<url type="translate">https://explore.transifex.com/ddennedy/shotcut/</url>
|
||||
<url type="vcs-browser">https://github.com/mltframework/shotcut</url>
|
||||
<content_rating type="oars-1.1"/>
|
||||
<releases>
|
||||
<release version="@SHOTCUT_VERSION@" date="@SHOTCUT_DATE@"></release>
|
||||
</releases>
|
||||
</component>
|
||||
10
packaging/linux/org.shotcut.Shotcut.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0"?>
|
||||
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
|
||||
<mime-type type="application/vnd.mlt+xml">
|
||||
<comment>MLT XML</comment>
|
||||
<glob pattern="*.mlt"/>
|
||||
<sub-class-of type="application/xml"/>
|
||||
<icon name="org.shotcut.Shotcut"/>
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
|
||||
49
packaging/linux/shotcut.1
Normal file
@@ -0,0 +1,49 @@
|
||||
.TH SHOTCUT "1" "September 2023" "Shotcut" "User Commands"
|
||||
.SH NAME
|
||||
shotcut \- video editor
|
||||
.SH SYNOPSIS
|
||||
.B shotcut
|
||||
[\fI\,options\/\fR] \fI\,[FILE]...\/\fR
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\fB\-h\fR, \fB\-\-help\fR
|
||||
Displays this help.
|
||||
.TP
|
||||
\fB\-v\fR, \fB\-\-version\fR
|
||||
Displays version information.
|
||||
.TP
|
||||
\fB\-\-fullscreen\fR
|
||||
Fill the screen with the Shotcut window.
|
||||
.TP
|
||||
\fB\-\-noupgrade\fR
|
||||
Hide upgrade prompt and menu item.
|
||||
.TP
|
||||
\fB\-\-glaxnimate\fR
|
||||
Run Glaxnimate instead of Shotcut.
|
||||
.TP
|
||||
\fB\-\-gpu\fR
|
||||
Use GPU processing.
|
||||
.TP
|
||||
\fB\-\-clear\-recent\fR
|
||||
Clear Recent on Exit
|
||||
.TP
|
||||
\fB\-\-appdata\fR <directory>
|
||||
The directory for app configuration and data.
|
||||
.TP
|
||||
\fB\-\-QT_SCALE_FACTOR\fR <number>
|
||||
The scale factor for a high-DPI screen
|
||||
.TP
|
||||
\fB\-\-QT_SCREEN_SCALE_FACTORS\fR <list>
|
||||
A semicolon-separated list of scale factors for each screen
|
||||
.TP
|
||||
\fB\-\-QT_SCALE_FACTOR_ROUNDING_POLICY\fR <string>
|
||||
How to handle a fractional display scale: Round, Ceil, Floor, RoundPreferFloor, PassThrough
|
||||
.TP
|
||||
\fB\-\-SDL_AUDIODRIVER\fR <string>
|
||||
Which operating system audio API to use: alsa, arts, dsp, esd, jack, pipewire, pulseaudio
|
||||
.SS "Arguments:"
|
||||
.TP
|
||||
[FILE]...
|
||||
Zero or more files or folders to open
|
||||
.SH "INTERNET"
|
||||
Best to start at https://shotcut.org/tutorials/
|
||||
33
packaging/linux/snapcraft.yaml.in
Normal file
@@ -0,0 +1,33 @@
|
||||
name: shotcut
|
||||
version: '$VERSION'
|
||||
summary: Free, cross-platform, open source video editor
|
||||
description: >
|
||||
Shotcut is a free, open source, cross-platform video editor for Windows,
|
||||
Mac and Linux. Major features include support for a wide range of formats;
|
||||
no import required meaning native timeline editing; Blackmagic Design
|
||||
support for input and preview monitoring; and resolution support to 4k.
|
||||
|
||||
base: core22
|
||||
grade: stable
|
||||
confinement: classic
|
||||
|
||||
apps:
|
||||
shotcut:
|
||||
command: ./shotcut
|
||||
ffmpeg:
|
||||
command: ./ffmpeg
|
||||
ffplay:
|
||||
command: ./ffplay
|
||||
ffprobe:
|
||||
command: ./ffprobe
|
||||
melt:
|
||||
command: ./melt
|
||||
glaxnimate:
|
||||
command: ./glaxnimate
|
||||
|
||||
parts:
|
||||
shotcut:
|
||||
plugin: dump
|
||||
source: '$FILENAME'
|
||||
source-type: tar
|
||||
build-attributes: [no-patchelf]
|
||||
1038
packaging/macos/Info.plist.in
Normal file
BIN
packaging/macos/shotcut.icns
Normal file
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10" xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2" xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10" xmlns:wincap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/windowscapabilities/3" IgnorableNamespaces="uap4 wincap3 rescap3 desktop2 com">
|
||||
<Identity Name="63764Meltytech.Shotcut" ProcessorArchitecture="x64" Publisher="CN=8BAA9DB9-77D3-4EAC-BE1B-8F5F951123CB" Version="19.6.15.0" />
|
||||
<Properties>
|
||||
<DisplayName>Shotcut</DisplayName>
|
||||
<PublisherDisplayName>Meltytech</PublisherDisplayName>
|
||||
<Logo>Assets\StoreLogo.png</Logo>
|
||||
</Properties>
|
||||
<Resources>
|
||||
<Resource Language="en" />
|
||||
<Resource Language="ca" />
|
||||
<Resource Language="cs" />
|
||||
<Resource Language="da" />
|
||||
<Resource Language="de" />
|
||||
<Resource Language="el" />
|
||||
<Resource Language="en-GB" />
|
||||
<Resource Language="es" />
|
||||
<Resource Language="et" />
|
||||
<Resource Language="fi" />
|
||||
<Resource Language="fr" />
|
||||
<Resource Language="hu" />
|
||||
<Resource Language="it" />
|
||||
<Resource Language="ja" />
|
||||
<Resource Language="nb" />
|
||||
<Resource Language="ne" />
|
||||
<Resource Language="nl" />
|
||||
<Resource Language="nn" />
|
||||
<Resource Language="pl" />
|
||||
<Resource Language="pt-BR" />
|
||||
<Resource Language="pt-PT" />
|
||||
<Resource Language="ru" />
|
||||
<Resource Language="sk" />
|
||||
<Resource Language="sl" />
|
||||
<Resource Language="sv" />
|
||||
<Resource Language="tr" />
|
||||
<Resource Language="uk" />
|
||||
<Resource Language="zh-CN" />
|
||||
<Resource Language="zh-TW" />
|
||||
<Resource uap:Scale="100" />
|
||||
<Resource uap:Scale="125" />
|
||||
<Resource uap:Scale="150" />
|
||||
<Resource uap:Scale="200" />
|
||||
<Resource uap:Scale="400" />
|
||||
</Resources>
|
||||
<Dependencies>
|
||||
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.16299.15" />
|
||||
</Dependencies>
|
||||
<Capabilities>
|
||||
<rescap:Capability Name="runFullTrust" />
|
||||
<Capability Name="internetClient" />
|
||||
</Capabilities>
|
||||
<Applications>
|
||||
<Application Id="Shotcut" Executable="shotcut.exe" EntryPoint="Windows.FullTrustApplication">
|
||||
<uap:VisualElements DisplayName="Shotcut" Description="Shotcut" BackgroundColor="transparent" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png">
|
||||
<uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png" Square310x310Logo="Assets\Square310x310Logo.png" Square71x71Logo="Assets\Square71x71Logo.png">
|
||||
<uap:ShowNameOnTiles>
|
||||
<uap:ShowOn Tile="square150x150Logo" />
|
||||
<uap:ShowOn Tile="wide310x150Logo" />
|
||||
<uap:ShowOn Tile="square310x310Logo" />
|
||||
</uap:ShowNameOnTiles>
|
||||
</uap:DefaultTile>
|
||||
</uap:VisualElements>
|
||||
<Extensions>
|
||||
<uap:Extension Category="windows.fileTypeAssociation">
|
||||
<uap:FileTypeAssociation Name=".mlt">
|
||||
<uap:DisplayName>MLT XML</uap:DisplayName>
|
||||
<uap:Logo>Assets\Square44x44Logo.png</uap:Logo>
|
||||
<uap:SupportedFileTypes>
|
||||
<uap:FileType ContentType="application/vnd.mlt+xml">.mlt</uap:FileType>
|
||||
</uap:SupportedFileTypes>
|
||||
</uap:FileTypeAssociation>
|
||||
</uap:Extension>
|
||||
</Extensions>
|
||||
</Application>
|
||||
</Applications>
|
||||
</Package>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 296 B |
|
After Width: | Height: | Size: 354 B |
|
After Width: | Height: | Size: 332 B |
|
After Width: | Height: | Size: 539 B |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 148 B |
|
After Width: | Height: | Size: 148 B |
|
After Width: | Height: | Size: 175 B |
|
After Width: | Height: | Size: 175 B |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 192 B |
|
After Width: | Height: | Size: 192 B |
|
After Width: | Height: | Size: 306 B |
|
After Width: | Height: | Size: 306 B |
|
After Width: | Height: | Size: 309 B |
|
After Width: | Height: | Size: 382 B |
|
After Width: | Height: | Size: 590 B |
|
After Width: | Height: | Size: 765 B |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 325 B |
|
After Width: | Height: | Size: 368 B |
|
After Width: | Height: | Size: 369 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
BIN
packaging/windows/Microsoft Store/PackageFiles/resources.pri
Normal file
44
packaging/windows/Microsoft Store/makepri.xml
Normal file
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<resources targetOsVersion="10.0.0" majorVersion="1">
|
||||
<index root="\" startIndexAt="\">
|
||||
<default>
|
||||
<qualifier name="Language" value="en"/>
|
||||
<!-- <qualifier name="Contrast" value="standard"/> -->
|
||||
<!-- <qualifier name="Scale" value="400"/> -->
|
||||
<!-- <qualifier name="Scale" value="200"/> -->
|
||||
<!-- <qualifier name="Scale" value="150"/> -->
|
||||
<!-- <qualifier name="Scale" value="125"/> -->
|
||||
<!-- <qualifier name="Scale" value="100"/> -->
|
||||
<!-- <qualifier name="TargetSize" value="256"/> -->
|
||||
<!-- <qualifier name="TargetSize" value="16"/> -->
|
||||
<!-- <qualifier name="TargetSize" value="24"/> -->
|
||||
<!-- <qualifier name="TargetSize" value="32"/> -->
|
||||
<!-- <qualifier name="TargetSize" value="48"/> -->
|
||||
<!-- <qualifier name="HomeRegion" value="001"/> -->
|
||||
<!-- <qualifier name="TargetSize" value="256"/> -->
|
||||
<!-- <qualifier name="LayoutDirection" value="LTR"/> -->
|
||||
<!-- <qualifier name="Theme" value="dark"/> -->
|
||||
<!-- <qualifier name="AlternateForm" value="UNPLATED"/> -->
|
||||
<!-- <qualifier name="DXFeatureLevel" value="DX9"/> -->
|
||||
<!-- <qualifier name="Configuration" value=""/> -->
|
||||
<!-- <qualifier name="DeviceFamily" value="Universal"/> -->
|
||||
<!-- <qualifier name="Custom" value=""/> -->
|
||||
</default>
|
||||
<indexer-config type="folder" foldernameAsQualifier="true" filenameAsQualifier="true" qualifierDelimiter=".">
|
||||
<exclude type="tree" value="lib" doNotTraverse="true" doNotIndex="true"/>
|
||||
<exclude type="tree" value="share" doNotTraverse="true" doNotIndex="true"/>
|
||||
<exclude type="extension" value=".dll" doNotTraverse="true" doNotIndex="true"/>
|
||||
<exclude type="extension" value=".exe" doNotTraverse="true" doNotIndex="true"/>
|
||||
<exclude type="extension" value=".xml" doNotTraverse="true" doNotIndex="true"/>
|
||||
<exclude type="extension" value=".txt" doNotTraverse="true" doNotIndex="true"/>
|
||||
<exclude type="extension" value=".conf" doNotTraverse="true" doNotIndex="true"/>
|
||||
</indexer-config>
|
||||
<indexer-config type="resw" convertDotsToSlashes="true" initialPath=""/>
|
||||
<indexer-config type="resjson" initialPath=""/>
|
||||
<indexer-config type="PRI"/>
|
||||
</index>
|
||||
<!--<index startIndexAt="Start Index Here" root="Root Here">-->
|
||||
<!-- <indexer-config type="resfiles" qualifierDelimiter="."/>-->
|
||||
<!-- <indexer-config type="priinfo" emitStrings="true" emitPaths="true" emitEmbeddedData="true"/>-->
|
||||
<!--</index>-->
|
||||
</resources>
|
||||
BIN
packaging/windows/shotcut-logo-64.ico
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
132
packaging/windows/shotcut.iss
Normal file
@@ -0,0 +1,132 @@
|
||||
; -- shotcut.iss --
|
||||
; Copyright (c) 2024-2025 Meltytech, LLC
|
||||
|
||||
; This program is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 3 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
[Setup]
|
||||
AppVersion=YY.MM.DD
|
||||
AppPublisher=Meltytech
|
||||
AppName=Shotcut
|
||||
WizardStyle=modern
|
||||
DefaultDirName={autopf}\Shotcut
|
||||
; Since no icons will be created in "{group}", we don't need the wizard
|
||||
; to ask for a Start Menu folder name:
|
||||
DisableProgramGroupPage=yes
|
||||
UninstallDisplayIcon={app}\shotcut.exe
|
||||
LicenseFile=Shotcut\COPYING.txt
|
||||
Compression=lzma2
|
||||
SolidCompression=no
|
||||
OutputDir=userdocs:Inno Setup Examples Output
|
||||
ChangesAssociations=yes
|
||||
PrivilegesRequiredOverridesAllowed=commandline dialog
|
||||
; "ArchitecturesAllowed=x64" specifies that Setup cannot run on
|
||||
; anything but x64.
|
||||
ArchitecturesAllowed=x64compatible
|
||||
; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
|
||||
; done in "64-bit mode" on x64, meaning it should use the native
|
||||
; 64-bit Program Files directory and the 64-bit view of the registry.
|
||||
ArchitecturesInstallIn64BitMode=x64compatible
|
||||
AppMutex="Meltytech Shotcut Running Mutex"
|
||||
OutputBaseFilename=shotcut-setup
|
||||
UninstallDisplayName=Shotcut
|
||||
VersionInfoCopyright="Copyright (c) 2012-2026 Meltytech, LLC"
|
||||
WizardSmallImageFile="shotcut-logo-64.bmp"
|
||||
WizardImageStretch=yes
|
||||
ShowLanguageDialog=no
|
||||
|
||||
[Languages]
|
||||
Name: "en"; MessagesFile: "compiler:Default.isl"
|
||||
|
||||
[CustomMessages]
|
||||
en.StartMenu=Create Start Menu Shortcut
|
||||
en.AssociateMltXml=Associate *.mlt files with Shotcut
|
||||
en.DesktopIcon=Create Desktop Shortcut (Icon)
|
||||
en.ClearShotcutSettings=Remove Shotcut Settings From Registry
|
||||
en.InstallingShotcut=Installing Shotcut...
|
||||
en.StartShotcut=Start Shotcut
|
||||
|
||||
[Tasks]
|
||||
Name: startMenu; Description: "{cm:StartMenu}"
|
||||
Name: associateExtension; Description: "{cm:AssociateMltXml}"; Check: IsAdminInstallMode
|
||||
Name: desktopIcon; Description: "{cm:DesktopIcon}"; Flags: unchecked
|
||||
Name: removeSettings; Description: "{cm:ClearShotcutSettings}"; Flags: unchecked
|
||||
|
||||
[Files]
|
||||
Source: "Shotcut\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs uninsremovereadonly
|
||||
|
||||
[Icons]
|
||||
Name: "{autoprograms}\Shotcut"; Filename: "{app}\shotcut.exe"; Tasks: startMenu
|
||||
Name: "{autodesktop}\Shotcut"; Filename: "{app}\shotcut.exe"; Tasks: desktopIcon
|
||||
|
||||
[Registry]
|
||||
; Associate .mlt files (requires ChangesAssociations=yes)
|
||||
Root: HKCR; Subkey: ".mlt"; ValueType: string; ValueName: ""; ValueData: "Shotcut.mlt"; Flags: uninsdeletekey; Check: IsAdminInstallMode; Tasks: associateExtension
|
||||
Root: HKCR; Subkey: "Shotcut.mlt"; ValueType: string; ValueName: ""; ValueData: ""; Flags: uninsdeletekey; Check: IsAdminInstallMode; Tasks: associateExtension
|
||||
Root: HKCR; Subkey: "Shotcut.mlt\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\shotcut.exe"" ""%1"""; Check: IsAdminInstallMode; Tasks: associateExtension
|
||||
Root: HKCU; Subkey: "Software\Meltytech\Shotcut"; Tasks: removeSettings; AfterInstall: RemoveShotcutSettings()
|
||||
|
||||
[Run]
|
||||
Filename: "{app}\shotcut.exe"; Description: "{cm:StartShotcut}"; Flags: postinstall nowait skipifsilent
|
||||
|
||||
[Code]
|
||||
var
|
||||
DownloadPage: TDownloadWizardPage;
|
||||
|
||||
procedure RemoveShotcutSettings();
|
||||
begin
|
||||
RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Meltytech\Shotcut');
|
||||
end;
|
||||
|
||||
procedure InitializeWizard();
|
||||
var
|
||||
CustomStatusLabel: TNewStaticText;
|
||||
begin
|
||||
// Hide radio buttons on License page and pre-select "accept" to enable "next" button
|
||||
WizardForm.LicenseAcceptedRadio.Checked := True;
|
||||
WizardForm.LicenseAcceptedRadio.Visible := False;
|
||||
WizardForm.LicenseNotAcceptedRadio.Visible := False;
|
||||
WizardForm.LicenseLabel1.Visible := False;
|
||||
WizardForm.LicenseMemo.Top := WizardForm.LicenseLabel1.Top;
|
||||
WizardForm.LicenseMemo.Height :=
|
||||
WizardForm.LicenseNotAcceptedRadio.Top +
|
||||
WizardForm.LicenseNotAcceptedRadio.Height -
|
||||
WizardForm.LicenseMemo.Top - ScaleY(5);
|
||||
|
||||
WizardForm.FilenameLabel.Visible := False;
|
||||
WizardForm.StatusLabel.Visible := False;
|
||||
|
||||
WizardForm.ProgressGauge.Top := WizardForm.InstallingPage.Height - ScaleY(60);
|
||||
|
||||
CustomStatusLabel := TNewStaticText.Create(WizardForm);
|
||||
CustomStatusLabel.Parent := WizardForm.InstallingPage;
|
||||
CustomStatusLabel.Caption := ExpandConstant('{cm:InstallingShotcut}');
|
||||
CustomStatusLabel.Font.Size := CustomStatusLabel.Font.Size + 4;
|
||||
CustomStatusLabel.Font.Style := [fsBold];
|
||||
CustomStatusLabel.AutoSize := True;
|
||||
CustomStatusLabel.Top :=
|
||||
WizardForm.ProgressGauge.Top - CustomStatusLabel.Height - ScaleY(8);
|
||||
CustomStatusLabel.Left :=
|
||||
WizardForm.ProgressGauge.Left +
|
||||
((WizardForm.ProgressGauge.Width - CustomStatusLabel.Width) div 2);
|
||||
end;
|
||||
|
||||
procedure CurPageChanged(CurPageID: Integer);
|
||||
begin
|
||||
if CurPageID = wpInstalling then
|
||||
begin;
|
||||
Log('Removing old installer registry keys');
|
||||
RegDeleteKeyIncludingSubkeys(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Shotcut');
|
||||
RegDeleteKeyIncludingSubkeys(HKEY_LOCAL_MACHINE, 'SOFTWARE\Shotcut');
|
||||
end;
|
||||
end;
|
||||
37
packaging/windows/shotcut.rc.in
Normal file
@@ -0,0 +1,37 @@
|
||||
#include <windows.h>
|
||||
|
||||
IDI_ICON1 ICON DISCARDABLE "shotcut-logo-64.ico"
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION ${PRODUCT_VERSION},0
|
||||
PRODUCTVERSION ${PRODUCT_VERSION},0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS VS_FF_DEBUG
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS VOS__WINDOWS32
|
||||
FILETYPE VFT_DLL
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Meltytech, LLC\0"
|
||||
VALUE "FileDescription", "Shotcut video editor\0"
|
||||
VALUE "FileVersion", "${SHOTCUT_VERSION}\0"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2011-2026 Meltytech, LLC. All rights reserved.\0"
|
||||
VALUE "OriginalFilename", "shotcut.exe\0"
|
||||
VALUE "ProductName", "Shotcut\0"
|
||||
VALUE "ProductVersion", "${SHOTCUT_VERSION}\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x0409, 1200
|
||||
END
|
||||
END
|
||||
/* End of Version info */
|
||||
|
||||