mirror of
https://github.com/moonlight-stream/moonlight-qt.git
synced 2026-10-27 06:20:05 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
141f6669e8 | ||
|
|
6300d242cc | ||
|
|
186579266c | ||
|
|
13490af90c | ||
|
|
23a9c2cd9e | ||
|
|
88631e4a63 | ||
|
|
9e744ce169 | ||
|
|
77a68db8c1 | ||
|
|
27247f253c | ||
|
|
ada7f92c75 | ||
|
|
87db4e88a5 | ||
|
|
277594139b | ||
|
|
79d5e35306 | ||
|
|
cda80b319e | ||
|
|
ab4b024df4 | ||
|
|
7f9cbac232 | ||
|
|
8470ffcb0d | ||
|
|
92c897762b | ||
|
|
36014cfcfd | ||
|
|
df26f731eb | ||
|
|
e39b5a6a72 | ||
|
|
c7138fe36c | ||
|
|
b5deab772d | ||
|
|
4bfeccec74 |
No files matched your search
+40
@@ -0,0 +1,40 @@
|
|||||||
|
language: cpp
|
||||||
|
|
||||||
|
git:
|
||||||
|
depth: 1
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: osx
|
||||||
|
compiler: clang
|
||||||
|
- os: linux
|
||||||
|
sudo: required
|
||||||
|
dist: xenial
|
||||||
|
compiler: gcc
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- sourceline: 'ppa:beineri/opt-qt596-xenial'
|
||||||
|
packages:
|
||||||
|
- qt59base
|
||||||
|
- qt59quickcontrols2
|
||||||
|
- qt59svg
|
||||||
|
- libesd0-dev
|
||||||
|
- libgl-dev
|
||||||
|
|
||||||
|
install:
|
||||||
|
- '[ "$TRAVIS_OS_NAME" != osx ] || brew install qt5'
|
||||||
|
- '[ "$TRAVIS_OS_NAME" != osx ] || brew link --force qt5'
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" = "linux" ]]; then export SDL2_VER=2.0.8 && wget https://www.libsdl.org/release/SDL2-$SDL2_VER.tar.gz && tar -xvf SDL2-$SDL2_VER.tar.gz && cd SDL2-$SDL2_VER && ./configure && make && sudo make install && cd ..; fi
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- '[ "$TRAVIS_OS_NAME" != "linux" ] || source /opt/qt59/bin/qt59-env.sh'
|
||||||
|
- qmake -v
|
||||||
|
- '[[ "$TRAVIS_OS_NAME" != linux || "$CXX" != clang++ ]] || export QMAKESPEC=linux-clang'
|
||||||
|
- '[[ "$TRAVIS_OS_NAME" != linux || "$CXX" != g++ ]] || export QMAKESPEC=linux-g++'
|
||||||
|
- '[ "$TRAVIS_OS_NAME" != osx ] || export QMAKESPEC=macx-clang'
|
||||||
|
|
||||||
|
script:
|
||||||
|
- qmake moonlight-qt.pro -spec $QMAKESPEC
|
||||||
|
- make debug
|
||||||
|
- make release
|
||||||
@@ -1,9 +1,25 @@
|
|||||||
# Moonlight PC
|
# Moonlight PC
|
||||||
|
|
||||||
[Moonlight PC](http://moonlight-stream.com) is an open source implementation of NVIDIA's GameStream, as used by the NVIDIA Shield, but built to run on Windows, Mac, and Linux.
|
[Moonlight PC](http://moonlight-stream.com) is an open source implementation of NVIDIA's GameStream, as used by the NVIDIA Shield, but built to run on Windows, Mac, and Linux. This client is the successor to [Moonlight Chrome](https://github.com/moonlight-stream/moonlight-chrome) for streaming on PC.
|
||||||
|
|
||||||
Moonlight also has mobile versions for [Android](https://github.com/moonlight-stream/moonlight-android) and [iOS](https://github.com/moonlight-stream/moonlight-ios).
|
Moonlight also has mobile versions for [Android](https://github.com/moonlight-stream/moonlight-android) and [iOS](https://github.com/moonlight-stream/moonlight-ios).
|
||||||
|
|
||||||
|
This client is currently still in development (pre-alpha), but the streaming performance is already much better than the older Moonlight Chrome client on many machines. Test releases may be available for your OS on the [Releases page](https://github.com/moonlight-stream/moonlight-qt/releases).
|
||||||
|
|
||||||
|
You can follow development on our [Discord server](https://discord.gg/6ERtzFY).
|
||||||
|
|
||||||
|
[](https://ci.appveyor.com/project/cgutman/moonlight-qt/branch/master)
|
||||||
|
[](https://travis-ci.org/moonlight-stream/moonlight-qt)
|
||||||
|
|
||||||
|
## Features
|
||||||
|
- Hardware accelerated video decoding on Windows, Mac, and Linux
|
||||||
|
- Supports streaming at up to 90 FPS on high refresh rate monitors
|
||||||
|
- Supports streaming at 720p, 1080p, 1440p, or 4K
|
||||||
|
- 5.1 surround sound audio
|
||||||
|
- HEVC support for better image quality at reduced bandwidth
|
||||||
|
- Keyboard and mouse support
|
||||||
|
- Gamepad support with SDL gamepad mappings
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
1. Install the latest Qt SDK (and optionally, the Qt Creator IDE) from https://www.qt.io/download (select MSVC toolchain on Windows)
|
1. Install the latest Qt SDK (and optionally, the Qt Creator IDE) from https://www.qt.io/download (select MSVC toolchain on Windows)
|
||||||
2. Run `git submodule update --init --recursive` from within `moonlight-qt/`
|
2. Run `git submodule update --init --recursive` from within `moonlight-qt/`
|
||||||
|
|||||||
+9
-5
@@ -5,22 +5,26 @@
|
|||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>Moonlight</string>
|
<string>Moonlight</string>
|
||||||
<key>CFBundleGetInfoString</key>
|
<key>CFBundleGetInfoString</key>
|
||||||
<string>Created by Qt/QMake</string>
|
<string>Stream games from your NVIDIA GameStream-enabled PC</string>
|
||||||
<key>CFBundleIconFile</key>
|
<key>CFBundleIconFile</key>
|
||||||
<string>macos</string>
|
<string>moonlight</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>com.yourcompany.moonlight-qt</string>
|
<string>com.moonlight-stream.Moonlight</string>
|
||||||
|
<key>NSHighResolutionCapable</key>
|
||||||
|
<true/>
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
<string>10.10</string>
|
<string>10.10</string>
|
||||||
<key>NOTE</key>
|
|
||||||
<string>This file was generated by Qt/QMake.</string>
|
|
||||||
<key>NSPrincipalClass</key>
|
<key>NSPrincipalClass</key>
|
||||||
<string>NSApplication</string>
|
<string>NSApplication</string>
|
||||||
<key>NSSupportsAutomaticGraphicsSwitching</key>
|
<key>NSSupportsAutomaticGraphicsSwitching</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>0.0.4</string>
|
||||||
|
<key>CFBundleDisplayName</key>
|
||||||
|
<string>Moonlight</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
+11
-9
@@ -8,6 +8,9 @@ unix:!macx {
|
|||||||
TARGET = Moonlight
|
TARGET = Moonlight
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Support debug and release builds from command line for CI
|
||||||
|
CONFIG += debug_and_release
|
||||||
|
|
||||||
TEMPLATE = app
|
TEMPLATE = app
|
||||||
|
|
||||||
# The following define makes your compiler emit warnings if you use
|
# The following define makes your compiler emit warnings if you use
|
||||||
@@ -34,8 +37,8 @@ win32 {
|
|||||||
LIBS += ws2_32.lib winmm.lib dxva2.lib ole32.lib
|
LIBS += ws2_32.lib winmm.lib dxva2.lib ole32.lib
|
||||||
}
|
}
|
||||||
macx {
|
macx {
|
||||||
INCLUDEPATH += $$PWD/../libs/mac/include
|
INCLUDEPATH += $$PWD/../libs/mac/include $$PWD/../libs/mac/Frameworks/SDL2.framework/Versions/A/Headers
|
||||||
LIBS += -L$$PWD/../libs/mac/lib
|
LIBS += -L$$PWD/../libs/mac/lib -F$$PWD/../libs/mac/Frameworks
|
||||||
}
|
}
|
||||||
|
|
||||||
unix:!macx {
|
unix:!macx {
|
||||||
@@ -57,7 +60,7 @@ win32 {
|
|||||||
CONFIG += ffmpeg
|
CONFIG += ffmpeg
|
||||||
}
|
}
|
||||||
macx {
|
macx {
|
||||||
LIBS += -lssl -lcrypto -lSDL2 -lavcodec.58 -lavutil.56
|
LIBS += -lssl -lcrypto -lavcodec.58 -lavutil.56 -framework SDL2
|
||||||
LIBS += -lobjc -framework VideoToolbox -framework AVFoundation -framework CoreVideo -framework CoreGraphics -framework CoreMedia -framework AppKit
|
LIBS += -lobjc -framework VideoToolbox -framework AVFoundation -framework CoreVideo -framework CoreGraphics -framework CoreMedia -framework AppKit
|
||||||
CONFIG += ffmpeg
|
CONFIG += ffmpeg
|
||||||
}
|
}
|
||||||
@@ -182,16 +185,15 @@ unix:!macx: {
|
|||||||
|
|
||||||
INSTALLS += target desktop icons appdata
|
INSTALLS += target desktop icons appdata
|
||||||
}
|
}
|
||||||
|
|
||||||
win32 {
|
win32 {
|
||||||
RC_ICONS = moonlight.ico
|
RC_ICONS = moonlight.ico
|
||||||
}
|
}
|
||||||
|
|
||||||
macx {
|
macx {
|
||||||
QMAKE_INFO_PLIST = $$PWD/Info.plist
|
QMAKE_INFO_PLIST = $$PWD/Info.plist
|
||||||
APP_QML_FILES.files = res/macos.icns
|
|
||||||
APP_QML_FILES.path = Contents/Resources
|
APP_BUNDLE_RESOURCES.files = moonlight.icns
|
||||||
QMAKE_BUNDLE_DATA += APP_QML_FILES
|
APP_BUNDLE_RESOURCES.path = Contents/Resources
|
||||||
|
QMAKE_BUNDLE_DATA += APP_BUNDLE_RESOURCES
|
||||||
}
|
}
|
||||||
|
|
||||||
VERSION = 0.0.3
|
VERSION = 0.0.4
|
||||||
@@ -148,32 +148,27 @@ private:
|
|||||||
int pollsSinceLastAppListFetch = POLLS_PER_APPLIST_FETCH;
|
int pollsSinceLastAppListFetch = POLLS_PER_APPLIST_FETCH;
|
||||||
while (!isInterruptionRequested()) {
|
while (!isInterruptionRequested()) {
|
||||||
bool stateChanged = false;
|
bool stateChanged = false;
|
||||||
for (int i = 0; i < TRIES_BEFORE_OFFLINING; i++) {
|
bool online = false;
|
||||||
|
for (int i = 0; i < TRIES_BEFORE_OFFLINING && !online; i++) {
|
||||||
for (auto& address : m_Computer->uniqueAddresses()) {
|
for (auto& address : m_Computer->uniqueAddresses()) {
|
||||||
if (isInterruptionRequested()) {
|
if (isInterruptionRequested()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tryPollComputer(address, stateChanged)) {
|
if (tryPollComputer(address, stateChanged)) {
|
||||||
|
online = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// No need to continue retrying if we're online
|
|
||||||
if (m_Computer->state == NvComputer::CS_ONLINE) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if we failed after all retry attempts
|
// Check if we failed after all retry attempts
|
||||||
// Note: we don't need to acquire the read lock here,
|
// Note: we don't need to acquire the read lock here,
|
||||||
// because we're on the writing thread.
|
// because we're on the writing thread.
|
||||||
if (m_Computer->state != NvComputer::CS_ONLINE) {
|
if (!online && m_Computer->state != NvComputer::CS_OFFLINE) {
|
||||||
if (m_Computer->state != NvComputer::CS_OFFLINE) {
|
|
||||||
m_Computer->state = NvComputer::CS_OFFLINE;
|
m_Computer->state = NvComputer::CS_OFFLINE;
|
||||||
stateChanged = true;
|
stateChanged = true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Grab the applist if it's empty or it's been long enough that we need to refresh
|
// Grab the applist if it's empty or it's been long enough that we need to refresh
|
||||||
pollsSinceLastAppListFetch++;
|
pollsSinceLastAppListFetch++;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<component type="desktop">
|
<component type="desktop">
|
||||||
<id>com.moonlight_stream.Moonlight.desktop</id>
|
<id>com.moonlight_stream.Moonlight</id>
|
||||||
<metadata_license>CC0-1.0</metadata_license>
|
<metadata_license>CC0-1.0</metadata_license>
|
||||||
<project_license>GPL-3.0+</project_license>
|
<project_license>GPL-3.0+</project_license>
|
||||||
<name>Moonlight</name>
|
<name>Moonlight</name>
|
||||||
@@ -15,6 +15,23 @@
|
|||||||
<url type="bugtracker">https://github.com/moonlight-stream/moonlight-qt/issues</url>
|
<url type="bugtracker">https://github.com/moonlight-stream/moonlight-qt/issues</url>
|
||||||
<url type="help">https://github.com/moonlight-stream/moonlight-docs/wiki/Setup-Guide</url>
|
<url type="help">https://github.com/moonlight-stream/moonlight-docs/wiki/Setup-Guide</url>
|
||||||
|
|
||||||
|
<screenshots>
|
||||||
|
<screenshot type="default">
|
||||||
|
<image>https://moonlight-stream.com/appstream_resources/moonlight_screenshot_1.png</image>
|
||||||
|
</screenshot>
|
||||||
|
<screenshot>
|
||||||
|
<image>https://moonlight-stream.com/appstream_resources/moonlight_screenshot_2.png</image>
|
||||||
|
</screenshot>
|
||||||
|
</screenshots>
|
||||||
|
|
||||||
|
<releases>
|
||||||
|
<release version="0.0.4" date="2018-07-29">
|
||||||
|
<description>
|
||||||
|
<p>Initial pre-alpha release for Linux. Please file bugs!</p>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
</releases>
|
||||||
|
|
||||||
<categories>
|
<categories>
|
||||||
<category>Game</category>
|
<category>Game</category>
|
||||||
<category>Qt</category>
|
<category>Qt</category>
|
||||||
@@ -29,33 +46,5 @@
|
|||||||
<binary>moonlight</binary>
|
<binary>moonlight</binary>
|
||||||
</provides>
|
</provides>
|
||||||
|
|
||||||
<content_rating type="oars-1.1">
|
<content_rating type="oars-1.0" />
|
||||||
<content_attribute id="violence-cartoon">none</content_attribute>
|
|
||||||
<content_attribute id="violence-fantasy">none</content_attribute>
|
|
||||||
<content_attribute id="violence-realistic">none</content_attribute>
|
|
||||||
<content_attribute id="violence-bloodshed">none</content_attribute>
|
|
||||||
<content_attribute id="violence-sexual">none</content_attribute>
|
|
||||||
<content_attribute id="violence-desecration">none</content_attribute>
|
|
||||||
<content_attribute id="violence-slavery">none</content_attribute>
|
|
||||||
<content_attribute id="violence-worship">none</content_attribute>
|
|
||||||
<content_attribute id="drugs-alcohol">none</content_attribute>
|
|
||||||
<content_attribute id="drugs-narcotics">none</content_attribute>
|
|
||||||
<content_attribute id="drugs-tobacco">none</content_attribute>
|
|
||||||
<content_attribute id="sex-nudity">none</content_attribute>
|
|
||||||
<content_attribute id="sex-themes">none</content_attribute>
|
|
||||||
<content_attribute id="sex-homosexuality">none</content_attribute>
|
|
||||||
<content_attribute id="sex-prostitution">none</content_attribute>
|
|
||||||
<content_attribute id="sex-adultery">none</content_attribute>
|
|
||||||
<content_attribute id="sex-appearance">none</content_attribute>
|
|
||||||
<content_attribute id="language-profanity">none</content_attribute>
|
|
||||||
<content_attribute id="language-humor">none</content_attribute>
|
|
||||||
<content_attribute id="language-discrimination">none</content_attribute>
|
|
||||||
<content_attribute id="social-chat">none</content_attribute>
|
|
||||||
<content_attribute id="social-info">moderate</content_attribute>
|
|
||||||
<content_attribute id="social-audio">none</content_attribute>
|
|
||||||
<content_attribute id="social-location">none</content_attribute>
|
|
||||||
<content_attribute id="social-contacts">none</content_attribute>
|
|
||||||
<content_attribute id="money-purchasing">none</content_attribute>
|
|
||||||
<content_attribute id="money-gambling">none</content_attribute>
|
|
||||||
</content_rating>
|
|
||||||
</component>
|
</component>
|
||||||
+42
-2
@@ -142,9 +142,27 @@ GridView {
|
|||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Menu {
|
||||||
|
id: pcContextMenu
|
||||||
|
MenuItem {
|
||||||
|
text: "Wake PC"
|
||||||
|
onTriggered: computerModel.wakeComputer(index)
|
||||||
|
}
|
||||||
|
MenuItem {
|
||||||
|
text: "Delete PC"
|
||||||
|
onTriggered: {
|
||||||
|
deletePcDialog.pcIndex = index
|
||||||
|
// get confirmation first, actual closing is called from the dialog
|
||||||
|
deletePcDialog.open()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
acceptedButtons: Qt.LeftButton | Qt.RightButton;
|
||||||
onClicked: {
|
onClicked: {
|
||||||
|
if(mouse.button === Qt.LeftButton) {
|
||||||
if (model.addPc) {
|
if (model.addPc) {
|
||||||
addPcDialog.open()
|
addPcDialog.open()
|
||||||
}
|
}
|
||||||
@@ -177,9 +195,15 @@ GridView {
|
|||||||
errorDialog.open()
|
errorDialog.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if(!model.online) {
|
||||||
|
pcContextMenu.open()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else { // right click
|
||||||
|
if(!model.addPc) { // but only for actual PCs, not the add-pc option
|
||||||
|
pcContextMenu.open()
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
// TODO: Wake on LAN and delete PC options
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -218,6 +242,22 @@ GridView {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MessageDialog {
|
||||||
|
id: deletePcDialog
|
||||||
|
// don't allow edits to the rest of the window while open
|
||||||
|
modality:Qt.WindowModal
|
||||||
|
property int pcIndex : -1;
|
||||||
|
text:"Are you sure you want to unpair from this PC?"
|
||||||
|
standardButtons: StandardButton.Yes |StandardButton.No
|
||||||
|
onYes: {
|
||||||
|
console.log("deleting PC pairing for PC at index: " + pcIndex)
|
||||||
|
computerModel.deleteComputer(pcIndex);
|
||||||
|
// hack to remove the child from the gridview
|
||||||
|
model = createModel()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Dialog {
|
Dialog {
|
||||||
id: addPcDialog
|
id: addPcDialog
|
||||||
property string label: "Enter the IP address of your GameStream PC"
|
property string label: "Enter the IP address of your GameStream PC"
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -142,6 +142,10 @@ int Session::sdlAudioInit(int /* audioConfiguration */,
|
|||||||
s_SampleIndex = 0;
|
s_SampleIndex = 0;
|
||||||
s_PendingDrops = s_PendingHardDrops = 0;
|
s_PendingDrops = s_PendingHardDrops = 0;
|
||||||
|
|
||||||
|
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION,
|
||||||
|
"Audio stream has %d channels",
|
||||||
|
opusConfig->channelCount);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -153,6 +153,9 @@ int Session::drSetup(int videoFormat, int width, int height, int frameRate, void
|
|||||||
// don't have to hide and show the SDL window (which seems to
|
// don't have to hide and show the SDL window (which seems to
|
||||||
// cause pointer hiding to break on Windows).
|
// cause pointer hiding to break on Windows).
|
||||||
|
|
||||||
|
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "Video stream is %dx%dx%d (format 0x%x)",
|
||||||
|
width, height, frameRate, videoFormat);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -254,6 +257,7 @@ Session::Session(NvComputer* computer, NvApp& app)
|
|||||||
switch (m_Preferences.audioConfig)
|
switch (m_Preferences.audioConfig)
|
||||||
{
|
{
|
||||||
case StreamingPreferences::AC_AUTO:
|
case StreamingPreferences::AC_AUTO:
|
||||||
|
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "Autodetecting audio configuration");
|
||||||
m_StreamConfig.audioConfiguration = sdlDetermineAudioConfiguration();
|
m_StreamConfig.audioConfiguration = sdlDetermineAudioConfiguration();
|
||||||
break;
|
break;
|
||||||
case StreamingPreferences::AC_FORCE_STEREO:
|
case StreamingPreferences::AC_FORCE_STEREO:
|
||||||
@@ -264,6 +268,10 @@ Session::Session(NvComputer* computer, NvApp& app)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION,
|
||||||
|
"Audio configuration: %d",
|
||||||
|
m_StreamConfig.audioConfiguration);
|
||||||
|
|
||||||
switch (m_Preferences.videoCodecConfig)
|
switch (m_Preferences.videoCodecConfig)
|
||||||
{
|
{
|
||||||
case StreamingPreferences::VCC_AUTO:
|
case StreamingPreferences::VCC_AUTO:
|
||||||
|
|||||||
@@ -87,6 +87,9 @@ bool DXVA2Renderer::prepareDecoderContext(AVCodecContext* context)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION,
|
||||||
|
"Using DXVA2 accelerated renderer");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,10 @@ SdlRenderer::~SdlRenderer()
|
|||||||
bool SdlRenderer::prepareDecoderContext(AVCodecContext*)
|
bool SdlRenderer::prepareDecoderContext(AVCodecContext*)
|
||||||
{
|
{
|
||||||
/* Nothing to do */
|
/* Nothing to do */
|
||||||
|
|
||||||
|
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION,
|
||||||
|
"Using SDL software renderer");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -88,6 +88,10 @@ bool
|
|||||||
VAAPIRenderer::prepareDecoderContext(AVCodecContext* context)
|
VAAPIRenderer::prepareDecoderContext(AVCodecContext* context)
|
||||||
{
|
{
|
||||||
context->hw_device_ctx = av_buffer_ref(m_HwContext);
|
context->hw_device_ctx = av_buffer_ref(m_HwContext);
|
||||||
|
|
||||||
|
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION,
|
||||||
|
"Using VAAPI accelerated renderer");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -253,6 +253,10 @@ public:
|
|||||||
virtual bool prepareDecoderContext(AVCodecContext* context) override
|
virtual bool prepareDecoderContext(AVCodecContext* context) override
|
||||||
{
|
{
|
||||||
context->hw_device_ctx = av_buffer_ref(m_HwContext);
|
context->hw_device_ctx = av_buffer_ref(m_HwContext);
|
||||||
|
|
||||||
|
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION,
|
||||||
|
"Using VideoToolbox accelerated renderer");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Headers
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/Resources
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
Versions/Current/SDL2
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>BuildMachineOSBuild</key>
|
||||||
|
<string>17C88</string>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>English</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>SDL2</string>
|
||||||
|
<key>CFBundleGetInfoString</key>
|
||||||
|
<string>http://www.libsdl.org</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>org.libsdl.SDL2</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>Simple DirectMedia Layer</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>FMWK</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>2.0.8</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>SDLX</string>
|
||||||
|
<key>CFBundleSupportedPlatforms</key>
|
||||||
|
<array>
|
||||||
|
<string>MacOSX</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>2.0.8</string>
|
||||||
|
<key>DTCompiler</key>
|
||||||
|
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||||
|
<key>DTPlatformBuild</key>
|
||||||
|
<string>9C40b</string>
|
||||||
|
<key>DTPlatformVersion</key>
|
||||||
|
<string>GM</string>
|
||||||
|
<key>DTSDKBuild</key>
|
||||||
|
<string>17C76</string>
|
||||||
|
<key>DTSDKName</key>
|
||||||
|
<string>macosx10.13</string>
|
||||||
|
<key>DTXcode</key>
|
||||||
|
<string>0920</string>
|
||||||
|
<key>DTXcodeBuild</key>
|
||||||
|
<string>9C40b</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
File renamed without changes.
@@ -0,0 +1,792 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>files</key>
|
||||||
|
<dict>
|
||||||
|
<key>Resources/Info.plist</key>
|
||||||
|
<data>
|
||||||
|
dts8ape5zBg3+8u8BQ5kWqp9cC8=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>files2</key>
|
||||||
|
<dict>
|
||||||
|
<key>Headers/SDL.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
wiqwnVgtbgjGPAOFejxz8yw7geU=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
LLwzMAHn2OsCr2SVR7M71KeQf+TiJpHk/KKojzQdRlI=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_assert.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
zWoE6/P7ZWAYr4J+EVgDAK+kot8=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
tuS18C7A11akqH9MWT0WWCb6q7kcF97Ui5OFwNtSF/k=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_atomic.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
/q15zvR2djPgTRkySENYqzisn64=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
n9rGA8zXFxasUnN0ytgLLWmW2CDCtKBeGJZcfB+nfRc=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_audio.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
9uJv81fH9Op/f3sF7/GVuNYQNOc=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
KDokTSV3kZuHCQFFrRum3VoTP1QSW2xAghjceoIArXY=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_bits.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
yp8Jj93ZE224v1+u++cOexlp9RY=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
kQTBxFYnOjKSlti4H7pAYZWdkH0BpQ9Eq54E/r/nlVY=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_blendmode.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
kgTnzOrp0kqeI8lzDgQyT/gCGiM=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
d/8B0iLh4aFeoaPEFqQ4C6x4ISlDJCKrybaKuHCJHL4=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_clipboard.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
qq1r82AS7fHG8G94+jvL41iKEyA=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
+r0LOXHGRf2Q9+FkqRU6i++1zEzsE5sWXxxMGrsSyKk=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_config.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
nJnfliCMDJUfOG8t4QYt5U9tFBY=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
qkVvxnI+XRMTIdbzQ9tV+ERRc75r/EzWu0qRTgt5K5c=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_config_macosx.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
D0LXp0FibaaLSE6877hbyqf2Jb8=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
pCQLXwJ6HaGZiG5vr9njJtgNcIV9p0mxcSJtYoj147A=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_copying.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
0DKOkPvRlLo00X7iE2fL4i8XBww=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
nHJ8cj/FeSfLoRm5gRiDk73eyYlKn7u1BfbqkB2ofLg=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_cpuinfo.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
2wleDfJFmCBrEssrE9rcuaiqOLQ=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
MEpF0mFQFLhuTV+5uSB++q8tT2z5heESxyP1HuzuKxc=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_endian.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
WmJrxu+b1MkjtE6ttCymwH4EVC0=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
77hv0QIqlra/8gcQF81aAwP21/ZAANKiIaJRV1QK8mk=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_error.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
HMprigJ3u4PqQ7B+gD1UUbTSrJ8=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
errosoVYCD45UvQVzL4Lmfq4eCQg92a6xUZ062DGEL4=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_events.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
ptgRA0IBsCg5za/lwhTOPGNmekY=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
lwISPqzee6nV4HCHaMzZCVJJAtFZmoi8cYlJkY41wKA=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_filesystem.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
9rIKoCtsAONdgfT/4QKm3a56hV0=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
l5nBvMglAIFEWf357KMyQ+E7cr4GqO9XNwevA04+VmQ=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_gamecontroller.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
sUaSBwOprX7A696W6u2oOtIne+Y=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
VZDstHk/V+tZik3q3xnDCAG3AfA+BoHk9lB406mKtxU=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_gesture.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
d80fR6I92r+G26xckkQzTRj/tj4=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
/5+tOQWQ9raopqBCExlH9ClAA/fVAfEBIrd/WlpaqIE=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_haptic.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
95rNclZzbsuV6pyeG8cbIETgS84=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
O4RUmC9HMqsjAf22Ru6z5j9HaYTsc7SxOnzOXPR3kz0=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_hints.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
UjEgXfZiLUmQTh9G+Bkx8Y1Ov6k=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
DqFPmBXNg9BovdIAlipnBKZo5mcQJCrLmhyIM/O+tvU=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_joystick.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
97SJSCx+xjRHUQ6ilndhP8TZ110=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
xYWL+BS5f9NGr7eeP+vL0kD5K6O99PXgOWLT2Bx2dRQ=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_keyboard.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
RsaE9DMLq9lFsYokvdaQ8nhIkfY=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
tpZGEHU3TKCozcYf4MA9gA5bXNPSxx9rqqBaPttgr+4=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_keycode.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
9nIqgM67nCJUdjV3iiiviT8DFhk=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
SpMclG+epmPQibi3fNsQe1lBUxZPJOOu4DfQjpTZYgw=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_loadso.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
m+OEcfHbykTuEo6P3/y/kuV1xjk=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
Yg3OrZpF17uC69TwprPyrpn3+su3YAaaA1hTNXAHxLw=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_log.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
HcUUwymYqVSfgz2LdtuUqZSwjUY=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
j4F34jvgNTEcHQQoPbBBugi4RKQLhGM+x4ndXdtDc0E=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_main.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
7I0GPDiLKlavuXuoepYsl2mS6CI=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
qwXROmpXppMPodetUGE0s/7HHmwfu3taLUeiiu+APk0=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_messagebox.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
MEB/oCw7dyinbrBmQQqh46/uRVk=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
DSuDS/nAzfEi2kO06DEpxRLj5V1++p2DYYA9Oou8ewQ=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_mouse.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
I2UksqoB5v6RX64Ddwea9dW0sO0=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
gFMH6bBzvJCff8F7FMWlP6o6TydFmiXEu0daWp166wk=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_mutex.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
H6Q1bWPDKu2RsALoLzTBzPTrPkk=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
WKU8g7bVD3KpQEgvXuUGrPcG5hgg+LwQBgzLQCeSVTg=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_name.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
doLASBj4oiSiP6MW9wQblnyPN1E=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
M0b8pslMMsWZp1KDVUdqX7ml3DKUVcwiTcfwGbhopvA=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_opengl.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
ZN9vVzyxx542ZCZ4nmASJKJ7qFM=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
dazK6AC8BOZXW9m9761qsuoqe3eJozPIbSc1YEY3UVE=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_opengl_glext.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
nqPX1ObCVYyVzW3VbD3C/1vaTRE=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
IULBL/m+rBc3UQPqu68w6FDM/Mda58oybFnlyn3OkjE=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_opengles.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
aVEa5N2CHg93ZxdDuKfDtFnCbU8=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
3CmcA5B4ydtkVin3NvNmYVHfgnhJJAVYNVw1YKM0Mko=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_opengles2.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
yQ5nSugeN94hMSNhsIOmlAstJhY=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
8H2lt37zXZs68UfBlqDGqSJTQ2+Slu7qywggJ2mIosI=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_opengles2_gl2.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
g4y04zPFy1H/qujSNGRd0vB7ClQ=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
9GAwK0cg8YPrZHWVqMGpyVwKFz3Ay9VHiyz70jzWltA=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_opengles2_gl2ext.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
bTlnL+42kbi+n/gH//X2p0pqeuM=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
5404JOHXH4pGO60gR/uLhz9zW6fKy9jvdMw5i1WTcpo=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_opengles2_gl2platform.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
ByFMXJFtjcRglS/e0+DujyjC3dM=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
wlKRTsmTMrnniYqSvQklJfb9VF07J0MDpqzYOcfiDDY=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_opengles2_khrplatform.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
NLpJq9uBqjOpWhXISOQHPnTp/XQ=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
djHeDyzmR0e/2JNIbqpBqgi56MXlxlAbgcBFxuvwSyo=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_pixels.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
q2Uas2PGwUNo30Wiqomvrb03mp4=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
fpczDM4z7VLJW6FMvRTygnypORPdk2q89S1kCbS2fpM=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_platform.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
aM0ptLXVxYx4yXLsNYOssy/jx9Y=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
R6MDdJ2ZUd9FGKReGdJE6YyHwqczb99jK9/IDW59AmI=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_power.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
NqkQCWzmodWGdUFUZmzR9B/TApc=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
VkJkbp+5Wd4WYDemJiu8R/emdH4PZSNPweoPmzRkfxM=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_quit.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
eOEJzybg3UBfe83rKNfky9XAVGM=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
mN/T7PjHVtVce+/m7tIWIH8p8lylLWPuJAkCsbEvjhg=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_rect.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
B7oWq3VOxrWbVn0YV8xpvXG6dic=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
dCsZcEfdmcr1RuOycWAtHnnQs5BWk8lw0Ubnv/aUwG4=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_render.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
ATenWUmKg6AEbv2SbCy9JfT8jCw=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
EYiKPX5wRIcWkCyROlT59wuiDupZ6yp0+YsDWOrhtnQ=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_revision.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
XBn2NI8Qm53MeZGaXVB3fQrs0uc=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
FHG6Lqi1wMmjow+JjxKYy/LAoqP+iDH8QYuJS1zr6T4=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_rwops.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
ULSy/1QoNQhBu3kk75qXo30Wcvs=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
KewlZ14FJ6CfLjd7EDc1KlVSiUhIt2P9d3p2VEJuUUA=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_scancode.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
FAcbPIsuPOYbsldZL4m0AFUeoW4=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
5VaZC9IfMuNgz3h6OJn9Q/IGB/+cpymxIrjkluCWzOo=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_shape.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
S5Ty+gKktVyifkoYT0K7E48JqdI=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
LVwSnfZBuKL1bW2zy4rt0vRPmH2/ZxfmP0xB9pLVEOE=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_stdinc.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
qBTB0Yqh+34vD3n3dN9ry9GwqJM=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
TDMriI0PPYF73lvh6suExzpMldCmX1SkLgg+wkBqt7A=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_surface.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
bssTKTIF4Yw/3a6fyF7GhaVrdU0=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
zRF/b8bCqjClZnbPorqjhlWw9aujM9RwnVemHyiC2yM=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_system.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
n2WodCV+WpbfpFSKUUKpB/i5ZPw=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
3W0Z/Fdwbc7dTyR+v4g6eVE58XcEYLTzDGO+RMwcmJc=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_syswm.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
QoebSqgb1XslKPBwMiUOM6daVKo=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
rCqmdvdibhT5MBOnvKCT0gK7Howb5uLewC321yLYr5U=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_thread.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
fXCWQD4MIniqvdB6pWVwlxNS9jk=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
18iJ1yFzOTeiM30JwK3GMlbgUqzNDIQiw3ZLLr3M+XQ=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_timer.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
qfzyWhIh36SK6BAcdd50D/MfdGo=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
5Qe92nVkUnHbxgbGwxkyglvVKajhfgVhxPei6dhr4c0=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_touch.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
yyJt6piMAcoFWhFqsHk9mo3MtaI=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
9mQ2V937DAO6OjcQFMboFrnJEiqdk+2uHBzdvMYUnd0=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_types.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
oVg7CzABdDKtxCWINHaUvBRbRZ0=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
8uZym5ly46CZ4VQZCz/Y/cH4THoDS8kGqrvB+Ux/254=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_version.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
nKLee2vSNZZK9p94Up9o87OoiDE=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
F3dpo9XlvebIS2NLJ1ovH+W7fG3bzb01F8OKUeqd+U0=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_video.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
UFZPU1U3CDog3RBKdd5wu9LFQZk=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
6/OCq92BIQnGHBLmlGX4nUNnfLM7LzPoMp+lPlYY4ew=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/SDL_vulkan.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
eLdIezOR2pV1ai5rLBrtiR3NAok=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
iCB8avj2P0+ZkjVGfTchu5BAd7BJ+LeC1fJ9BU+80IE=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/begin_code.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
6RX1yuMtg6N9G2iCtCjjKzPCkuU=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
JQ71zTwAp3EzI22aBP3w80YYEcxNBRF8/0DkqO39oDo=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Headers/close_code.h</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
IDKa63p9RAIkSpPXA0mU/dzgBWQ=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
oF0I0dcQDvLcuEIgqx9wEQiuqHR5KLoq1zhL/AK5geg=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
<key>Resources/Info.plist</key>
|
||||||
|
<dict>
|
||||||
|
<key>hash</key>
|
||||||
|
<data>
|
||||||
|
dts8ape5zBg3+8u8BQ5kWqp9cC8=
|
||||||
|
</data>
|
||||||
|
<key>hash2</key>
|
||||||
|
<data>
|
||||||
|
ZCgx1szeVwObsPiq6VoZh8Q9ym7l+7WXzv0HTSoFT0U=
|
||||||
|
</data>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>rules</key>
|
||||||
|
<dict>
|
||||||
|
<key>^Resources/</key>
|
||||||
|
<true/>
|
||||||
|
<key>^Resources/.*\.lproj/</key>
|
||||||
|
<dict>
|
||||||
|
<key>optional</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1000</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1100</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/Base\.lproj/</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1010</real>
|
||||||
|
</dict>
|
||||||
|
<key>^version.plist$</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>rules2</key>
|
||||||
|
<dict>
|
||||||
|
<key>.*\.dSYM($|/)</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>11</real>
|
||||||
|
</dict>
|
||||||
|
<key>^(.*/)?\.DS_Store$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>2000</real>
|
||||||
|
</dict>
|
||||||
|
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
|
||||||
|
<dict>
|
||||||
|
<key>nested</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>10</real>
|
||||||
|
</dict>
|
||||||
|
<key>^.*</key>
|
||||||
|
<true/>
|
||||||
|
<key>^Info\.plist$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
<key>^PkgInfo$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/.*\.lproj/</key>
|
||||||
|
<dict>
|
||||||
|
<key>optional</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1000</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1100</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/Base\.lproj/</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1010</real>
|
||||||
|
</dict>
|
||||||
|
<key>^[^/]+$</key>
|
||||||
|
<dict>
|
||||||
|
<key>nested</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>10</real>
|
||||||
|
</dict>
|
||||||
|
<key>^embedded\.provisionprofile$</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
<key>^version\.plist$</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
A
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -9,6 +9,9 @@ QT -= core gui
|
|||||||
TARGET = moonlight-common-c
|
TARGET = moonlight-common-c
|
||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
|
|
||||||
|
# Support debug and release builds from command line for CI
|
||||||
|
CONFIG += debug_and_release
|
||||||
|
|
||||||
win32 {
|
win32 {
|
||||||
INCLUDEPATH += $$PWD/../libs/windows/include
|
INCLUDEPATH += $$PWD/../libs/windows/include
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,9 @@ SUBDIRS = \
|
|||||||
|
|
||||||
CONFIG += ordered
|
CONFIG += ordered
|
||||||
|
|
||||||
|
# Support debug and release builds from command line for CI
|
||||||
|
CONFIG += debug_and_release
|
||||||
|
|
||||||
# Run our compile tests
|
# Run our compile tests
|
||||||
load(configure)
|
load(configure)
|
||||||
qtCompileTest(SLVideo)
|
qtCompileTest(SLVideo)
|
||||||
@@ -3,6 +3,9 @@ QT -= core gui
|
|||||||
TARGET = opus
|
TARGET = opus
|
||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
|
|
||||||
|
# Support debug and release builds from command line for CI
|
||||||
|
CONFIG += debug_and_release
|
||||||
|
|
||||||
OPUS_DIR = $$PWD/opus
|
OPUS_DIR = $$PWD/opus
|
||||||
DEFINES += \
|
DEFINES += \
|
||||||
USE_ALLOCA=1 \
|
USE_ALLOCA=1 \
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ QT += network
|
|||||||
TARGET = qmdnsengine
|
TARGET = qmdnsengine
|
||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
|
|
||||||
|
# Support debug and release builds from command line for CI
|
||||||
|
CONFIG += debug_and_release
|
||||||
|
|
||||||
QMDNSE_DIR = $$PWD/qmdnsengine/src
|
QMDNSE_DIR = $$PWD/qmdnsengine/src
|
||||||
DEFINES += \
|
DEFINES += \
|
||||||
QT_NO_SIGNALS_SLOTS_KEYWORDS
|
QT_NO_SIGNALS_SLOTS_KEYWORDS
|
||||||
|
|||||||
Executable
+51
@@ -0,0 +1,51 @@
|
|||||||
|
BUILD_CONFIG=$1
|
||||||
|
|
||||||
|
fail()
|
||||||
|
{
|
||||||
|
echo "$1" 1>&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$BUILD_CONFIG" != "Debug" ] && [ "$BUILD_CONFIG" != "Release" ]; then
|
||||||
|
fail "Invalid build configuration"
|
||||||
|
fi
|
||||||
|
|
||||||
|
BUILD_ROOT=$PWD/build
|
||||||
|
SOURCE_ROOT=$PWD
|
||||||
|
BUILD_FOLDER=$BUILD_ROOT/build-$BUILD_CONFIG
|
||||||
|
INSTALLER_FOLDER=$BUILD_ROOT/installer-$BUILD_CONFIG
|
||||||
|
|
||||||
|
echo Cleaning output directories
|
||||||
|
rm -rf $BUILD_FOLDER
|
||||||
|
rm -rf $INSTALLER_FOLDER
|
||||||
|
mkdir $BUILD_ROOT
|
||||||
|
mkdir $BUILD_FOLDER
|
||||||
|
mkdir $INSTALLER_FOLDER
|
||||||
|
|
||||||
|
echo Configuring the project
|
||||||
|
pushd $BUILD_FOLDER
|
||||||
|
qmake $SOURCE_ROOT/moonlight-qt.pro || fail "Qmake failed!"
|
||||||
|
popd
|
||||||
|
|
||||||
|
echo Compiling Moonlight in $BUILD_CONFIG configuration
|
||||||
|
pushd $BUILD_FOLDER
|
||||||
|
make $(echo "$BUILD_CONFIG" | tr '[:upper:]' '[:lower:]') || fail "Make failed!"
|
||||||
|
popd
|
||||||
|
|
||||||
|
echo Copying dylib dependencies
|
||||||
|
mkdir $BUILD_FOLDER/app/Moonlight.app/Contents/lib
|
||||||
|
cp $SOURCE_ROOT/libs/mac/lib/*.dylib $BUILD_FOLDER/app/Moonlight.app/Contents/lib/ || fail "Dylib copy failed!"
|
||||||
|
|
||||||
|
echo Copying frameworks dependencies
|
||||||
|
mkdir $BUILD_FOLDER/app/Moonlight.app/Contents/Frameworks
|
||||||
|
cp -R $SOURCE_ROOT/libs/mac/Frameworks/ $BUILD_FOLDER/app/Moonlight.app/Contents/Frameworks/ || fail "Framework copy failed!"
|
||||||
|
|
||||||
|
echo Creating DMG
|
||||||
|
EXTRA_ARGS=
|
||||||
|
if [ "$BUILD_CONFIG" == "Debug" ]; then EXTRA_ARGS="$EXTRA_ARGS -use-debug-libs"; fi
|
||||||
|
if [ "$SIGNING_KEY" != "" ]; then EXTRA_ARGS="$EXTRA_ARGS -codesign=$SIGNING_KEY"; fi
|
||||||
|
echo Extra deployment arguments: $EXTRA_ARGS
|
||||||
|
macdeployqt $BUILD_FOLDER/app/Moonlight.app -dmg $EXTRA_ARGS -qmldir=$SOURCE_ROOT/app/gui -appstore-compliant || fail "macdeployqt failed!"
|
||||||
|
|
||||||
|
echo Deploying DMG
|
||||||
|
mv $BUILD_FOLDER/app/Moonlight.dmg $INSTALLER_FOLDER/
|
||||||
@@ -6,17 +6,22 @@ setlocal enableDelayedExpansion
|
|||||||
set BUILD_CONFIG=%1
|
set BUILD_CONFIG=%1
|
||||||
set ARCH=%2
|
set ARCH=%2
|
||||||
|
|
||||||
if "%BUILD_CONFIG%" NEQ "debug" (
|
rem Convert to lower case for windeployqt
|
||||||
if "%BUILD_CONFIG%" NEQ "release" (
|
if /I "%BUILD_CONFIG%"=="debug" (
|
||||||
|
set BUILD_CONFIG=debug
|
||||||
|
) else (
|
||||||
|
if /I "%BUILD_CONFIG%"=="release" (
|
||||||
|
set BUILD_CONFIG=release
|
||||||
|
) else (
|
||||||
echo Invalid build configuration
|
echo Invalid build configuration
|
||||||
goto Error
|
exit /b 1
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
if "%ARCH%" NEQ "x86" (
|
if /I "%ARCH%" NEQ "x86" (
|
||||||
if "%ARCH%" NEQ "x64" (
|
if /I "%ARCH%" NEQ "x64" (
|
||||||
echo Invalid build architecture
|
echo Invalid build architecture
|
||||||
goto Error
|
exit /b 1
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -73,9 +78,15 @@ set VCREDIST_INSTALLER=%VS_PATH%\VC\Redist\MSVC\14.14.26405\vcredist_%ARCH%.exe
|
|||||||
msbuild %SOURCE_ROOT%\wix\Moonlight.sln /p:Configuration=%BUILD_CONFIG% /p:Platform=%ARCH%
|
msbuild %SOURCE_ROOT%\wix\Moonlight.sln /p:Configuration=%BUILD_CONFIG% /p:Platform=%ARCH%
|
||||||
if !ERRORLEVEL! NEQ 0 goto Error
|
if !ERRORLEVEL! NEQ 0 goto Error
|
||||||
|
|
||||||
|
if /i "%APPVEYOR%"=="true" (
|
||||||
|
echo Pushing artifacts
|
||||||
|
appveyor PushArtifact %DEPLOY_FOLDER%
|
||||||
|
appveyor PushArtifact %INSTALLER_FOLDER%\MoonlightSetup.exe -FileName MoonlightSetup-%ARCH%-%BUILD_CONFIG%.exe
|
||||||
|
)
|
||||||
|
|
||||||
echo Build successful!
|
echo Build successful!
|
||||||
exit /b 0
|
exit /b 0
|
||||||
|
|
||||||
:Error
|
:Error
|
||||||
echo Build failed!
|
echo Build failed!
|
||||||
exit /b %ERRORLEVEL%
|
exit /b !ERRORLEVEL!
|
||||||
Executable
+27
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# https://gist.github.com/zlbruce/883605a635df8d5964bab11ed75e46ad
|
||||||
|
echo "*** SVG 2 ICNS ***"
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
echo "Usage: svg2icns filename.svg"
|
||||||
|
exit 100
|
||||||
|
fi
|
||||||
|
filename="$1"
|
||||||
|
name=${filename%.*}
|
||||||
|
ext=${filename##*.}
|
||||||
|
echo "processing: $name"
|
||||||
|
dest="$name".iconset
|
||||||
|
mkdir "$dest"
|
||||||
|
|
||||||
|
convert -background none -resize '!16x16' "$1" "$dest/icon_16x16.png"
|
||||||
|
convert -background none -resize '!32x32' "$1" "$dest/icon_16x16@2x.png"
|
||||||
|
cp "$dest/icon_16x16@2x.png" "$dest/icon_32x32.png"
|
||||||
|
convert -background none -resize '!64x64' "$1" "$dest/icon_32x32@2x.png"
|
||||||
|
convert -background none -resize '!128x128' "$1" "$dest/icon_128x128.png"
|
||||||
|
convert -background none -resize '!256x256' "$1" "$dest/icon_128x128@2x.png"
|
||||||
|
cp "$dest/icon_128x128@2x.png" "$dest/icon_256x256.png"
|
||||||
|
convert -background none -resize '!512x512' "$1" "$dest/icon_256x256@2x.png"
|
||||||
|
cp "$dest/icon_256x256@2x.png" "$dest/icon_512x512.png"
|
||||||
|
convert -background none -resize '!1024x1024' "$1" "$dest/icon_512x512@2x.png"
|
||||||
|
|
||||||
|
iconutil -c icns "$dest"
|
||||||
|
rm -R "$dest"
|
||||||
@@ -33,9 +33,13 @@
|
|||||||
<?endif ?>
|
<?endif ?>
|
||||||
|
|
||||||
<?if $(env.ARCH) ~= x64 ?>
|
<?if $(env.ARCH) ~= x64 ?>
|
||||||
<bal:Condition Message="This Moonlight installer requires a 64-bit OS.">
|
<bal:Condition Message="This Moonlight installer requires a 64-bit (x64) OS. Please download the 32-bit (x86) installer.">
|
||||||
VersionNT64
|
VersionNT64
|
||||||
</bal:Condition>
|
</bal:Condition>
|
||||||
|
<?elseif $(env.ARCH) ~= x86 ?>
|
||||||
|
<bal:Condition Message="This Moonlight installer requires a 32-bit (x86) OS. Please download the 64-bit (x64) installer.">
|
||||||
|
NOT VersionNT64
|
||||||
|
</bal:Condition>
|
||||||
<?endif ?>
|
<?endif ?>
|
||||||
|
|
||||||
<?if $(env.ARCH) ~= x64 ?>
|
<?if $(env.ARCH) ~= x64 ?>
|
||||||
|
|||||||
Reference in new issue
Block a user