Skip to content

Commit

Permalink
Merge pull request #200 from docsteer/2.1-dev
Browse files Browse the repository at this point in the history
Merge 2.1 development into master
  • Loading branch information
docsteer authored Oct 13, 2019
2 parents 12dfb61 + 436c180 commit 7b7c75a
Show file tree
Hide file tree
Showing 500 changed files with 77,931 additions and 3,500 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,7 @@ install/linux/usr/share/icons/hicolor/48x48/apps/sacnview\.png
install/linux/usr/share/icons/hicolor/scalable/apps/sacnview\.png
install/linux/build/
install/linux/fpm-checkout/

translations/sACNView\.ts

libs/\.gclient_entries
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[submodule "libs/breakpad"]
path = libs/breakpad
url = https://github.com/google/breakpad.git
[submodule "tools/depot_tools"]
path = tools/depot_tools
url = https://chromium.googlesource.com/chromium/tools/depot_tools.git
20 changes: 14 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,19 @@ matrix:
addons:
apt:
sources:
- sourceline: 'ppa:beineri/opt-qt592-trusty'
- sourceline: 'ppa:beineri/opt-qt594-trusty'
- sourceline: 'ppa:brightbox/ruby-ng'
packages:
# FPM dependencies
- build-essential
- ruby
- ruby-dev
- ruby2.3
- ruby2.3-dev
# QT
- qt59base
- qt59multimedia
- qt59tools
# PCap
- libpcap-dev

install:
# Install FPM
Expand All @@ -28,15 +32,18 @@ matrix:
- make -j$(nproc)
after_success:
- FILE=$(readlink -f install/linux/sACNView_*AppImage)
- curl --upload-file $FILE https://transfer.sh/$(basename $FILE)
- BASENAME=$(basename $FILE)
- echo "Uploading $BASENAME to file.io..." && curl -sF "file=@$FILE" https://file.io | xargs printf "$BASENAME uploaded - %s\n"
- FILE=$(readlink -f install/linux/sacnview_*.deb)
- curl --upload-file $FILE https://transfer.sh/$(basename $FILE)
- echo "Uploading $BASENAME to file.io..." && curl -sF "file=@$FILE" https://file.io | xargs printf "$BASENAME uploaded - %s\n"

- os: osx
osx_image: xcode8.3
before_install:
- brew update
install:
# PCap
- brew install libpcap
# QT
- brew install qt
- brew link --force qt
Expand All @@ -45,4 +52,5 @@ matrix:
- make -j4
after_success:
- FILE=$(echo `pwd`/`ls install/mac/sACNView*.dmg`)
- curl --upload-file $FILE https://transfer.sh/$(basename $FILE)
- BASENAME=$(basename $FILE)
- echo "Uploading $BASENAME to file.io..." && curl -sF "file=@$FILE" https://file.io | xargs printf "$BASENAME uploaded - %s\n"
24 changes: 19 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,35 @@
# sACNView
sACNView is a tool for viewing, monitoring, and testing; the ANSI/ESTA E1.31 protocol, informally known as "Streaming ACN".
# sACNView [![Build Status](https://travis-ci.org/docsteer/sacnview.svg?branch=2.1-dev)](https://travis-ci.org/docsteer/sacnview) [![Build status](https://ci.appveyor.com/api/projects/status/p8hmic8x2s6051o0?svg=true)](https://ci.appveyor.com/project/docsteer/sacnview)

sACNView is a tool for viewing, monitoring and testing the ANSI/ESTA E1.17 protcol, informally known as "Streaming ACN".

For general information on the project, visit the [web site](http://docsteer.github.io/sacnview/)

This protocol is used in lighting systems (typically theatre, television, live entertainment, and other systems where a high performance stream of data is required).
This protocol is used in lighting systems (typically theatre, television, live entertainment and other systems where a high performance stream of data is required).

This is sACNView mark 2. The original program was written in Borland Delphi, but this new version supplants it. It is written in C++, using the Qt library and sACN reception code from [Electronic Theatre Controls](http://www.etcconnect.com).

# Installation
If you are interested in simply using the program, visit the [product web site](http://docsteer.github.io/sacnview/) to download installers for your platform (Mac or Windows OS).
If you are interested in simply using the program, visit the [product web site](http://docsteer.github.io/sacnview/) to download installers for your platform (Linux, Mac or Windows OS).

# Building
If you are interested in building the application you will need the following:

* Qt Library and Creator - https://www.qt.io/ide/
* Note : Due to [this bug](https://bugreports.qt.io/browse/QTBUG-27641) in Qt you need to use Qt version 5.9.0 or higher to build sACNView.
* To build the windows installer - NSIS - http://nsis.sourceforge.net/ and the [SimpleFW NSIS Plugin](http://nsis.sourceforge.net/NSIS_Simple_Firewall_Plugin)
* If NSIS is included in your $PATH the installer will be built automatically

To build, open the .PRO file in the root directory and build with Qt Creator
The application uses a couple of external libraries:

* Google Breakpad for crash reporting
* LibPCAP for captured packet playback

You need to acquire the Breakpad library by using the git `submodule` command

1. Clone the repository (`git clone https://github.com/docsteer/sacnview.git`)
2. Switch to the directory (`cd sacnview`)
3. Initialize the submodules (`git submodule init`)
4. Download the submodule (`git submodule update`)

After that, to build, open the .PRO file in the root directory and build with Qt Creator

10 changes: 7 additions & 3 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,9 @@ image: Visual Studio 2015
# build configuration #
#---------------------------------#

version: '{build}'

environment:
matrix:
- QT_Ver: 5.9.4
- QT_Ver: 5.9
- QT_Ver: 5.6

# build platform, i.e. x86, x64, Any CPU. This setting is optional.
Expand All @@ -37,7 +35,13 @@ build:
# MSBuild verbosity level
verbosity: detailed

init:
- appveyor UpdateBuild -Version %APPVEYOR_REPO_COMMIT%

install:
# Submodules
- git submodule update --init --recursive

# MSVC Paths
# https://www.appveyor.com/docs/lang/cpp/#visual-studio
- call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
Expand Down
95 changes: 95 additions & 0 deletions deploy.pri
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@

isEmpty(TARGET_EXT) {
win32 {
TARGET_CUSTOM_EXT = .exe
}
macx {
TARGET_CUSTOM_EXT = .app
}
} else {
TARGET_CUSTOM_EXT = $${TARGET_EXT}
}

win32 {
equals($${TARGET_WINXP}, "1") {
PRODUCT_VERSION = "$$GIT_VERSION-WindowsXP"
} else {
PRODUCT_VERSION = "$$GIT_VERSION"
}

DEPLOY_DIR = $$shell_quote($$system_path($${_PRO_FILE_PWD_}/install/deploy))
DEPLOY_TARGET = $$shell_quote($$system_path($${OUT_PWD}/release/$${TARGET}$${TARGET_CUSTOM_EXT}))

PRE_DEPLOY_COMMAND += $${QMAKE_DEL_FILE} $${DEPLOY_DIR}\*.* /S /Q $$escape_expand(\\n\\t)
PRE_DEPLOY_COMMAND += $$QMAKE_COPY $${DEPLOY_TARGET} $${DEPLOY_DIR} $$escape_expand(\\n\\t)
# OpenSSL
PRE_DEPLOY_COMMAND += $$QMAKE_COPY $$shell_quote($$system_path($$OPENSSL_PATH/*.dll)) $${DEPLOY_DIR} $$escape_expand(\\n\\t)
# PCap
equals(TARGET_WINXP, 0) {
contains(QT_ARCH, i386) {
PRE_DEPLOY_COMMAND += $$QMAKE_COPY $$shell_quote($$system_path($${PCAP_PATH}/Bin/*)) $${DEPLOY_DIR} $$escape_expand(\\n\\t)
} else {
PRE_DEPLOY_COMMAND += $$QMAKE_COPY $$shell_quote($$system_path($${PCAP_PATH}/Bin/x64/*)) $${DEPLOY_DIR} $$escape_expand(\\n\\t)
}
}

DEPLOY_COMMAND = windeployqt
DEPLOY_OPT = --dir $${DEPLOY_DIR}

DEPLOY_INSTALLER = makensis /DPRODUCT_VERSION="$${PRODUCT_VERSION}" /DTARGET_WINXP="$${TARGET_WINXP}" $$shell_quote($$system_path($${_PRO_FILE_PWD_}/install/win/install.nsi))
}
macx {
VERSION = $$system(echo $$GIT_VERSION | sed 's/[a-zA-Z]//')

DEPLOY_DIR = $${_PRO_FILE_PWD_}/install/mac
DEPLOY_TARGET = $${OUT_PWD}/$${TARGET}$${TARGET_CUSTOM_EXT}

DEPLOY_COMMAND = macdeployqt

DEPLOY_CLEANUP = $${QMAKE_DEL_FILE} $${DEPLOY_DIR}/sACNView*.dmg

DEPLOY_INSTALLER = $${_PRO_FILE_PWD_}/install/mac/create-dmg --volname "sACNView_Installer" --volicon "$${_PRO_FILE_PWD_}/res/icon.icns"
DEPLOY_INSTALLER += --background "$${_PRO_FILE_PWD_}/res/mac_install_bg.png" --window-pos 200 120 --window-size 800 400 --icon-size 100 --icon $${TARGET}$${TARGET_CUSTOM_EXT} 200 190 --hide-extension $${TARGET}$${TARGET_CUSTOM_EXT} --app-drop-link 600 185
DEPLOY_INSTALLER += $${DEPLOY_DIR}/sACNView_$${VERSION}.dmg $${OUT_PWD}/$${TARGET}$${TARGET_CUSTOM_EXT}
}
linux {
VERSION = $$system(echo $$GIT_VERSION | sed 's/[a-zA-Z]//')

DEPLOY_DIR = $${_PRO_FILE_PWD_}/install/linux
DEPLOY_TARGET = $${DEPLOY_DIR}/AppDir/$${TARGET}

DEPLOY_COMMAND = $${OUT_PWD}/linuxdeployqt
DEPLOY_OPT = -appimage -verbose=2

PRE_DEPLOY_COMMAND += $${QMAKE_DEL_FILE} $${DEPLOY_DIR}/*.AppImage $$escape_expand(\\n\\t)
PRE_DEPLOY_COMMAND += $${QMAKE_DEL_FILE} $${DEPLOY_TARGET} $$escape_expand(\\n\\t)
PRE_DEPLOY_COMMAND += wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" -O $${DEPLOY_COMMAND} $$escape_expand(\\n\\t)
PRE_DEPLOY_COMMAND += chmod a+x $${DEPLOY_COMMAND} $$escape_expand(\\n\\t)
## PRE_DEPLOY_COMMAND += unset LD_LIBRARY_PATH $$escape_expand(\\n\\t)
PRE_DEPLOY_COMMAND += $$QMAKE_COPY $${OUT_PWD}/$${TARGET} $${DEPLOY_TARGET} $$escape_expand(\\n\\t)
PRE_DEPLOY_COMMAND += $$QMAKE_COPY $${DEPLOY_DIR}/usr/share/applications/sacnview.desktop $${DEPLOY_DIR}/AppDir/sacnview.desktop $$escape_expand(\\n\\t)
PRE_DEPLOY_COMMAND += $$QMAKE_COPY $${_PRO_FILE_PWD_}/res/Logo.png $${DEPLOY_DIR}/AppDir/sacnview.png $$escape_expand(\\n\\t)

DEPLOY_CLEANUP = $$QMAKE_COPY $${OUT_PWD}/$${TARGET}*.AppImage $${DEPLOY_DIR}/

DEPLOY_INSTALLER = $${QMAKE_DEL_FILE} $${DEPLOY_DIR}/*.deb
DEPLOY_INSTALLER += && $${QMAKE_DEL_FILE} $${DEPLOY_DIR}/opt/sacnview/*.AppImage
DEPLOY_INSTALLER += && $$QMAKE_COPY $${_PRO_FILE_PWD_}/LICENSE $${DEPLOY_DIR}/COPYRIGHT
DEPLOY_INSTALLER += && $$QMAKE_COPY $${DEPLOY_DIR}/$${TARGET}*.AppImage $${DEPLOY_DIR}/opt/sacnview/
DEPLOY_INSTALLER += && ln -s $${TARGET}*.AppImage $${DEPLOY_DIR}/opt/sacnview/sACNView2.AppImage
DEPLOY_INSTALLER += && $$QMAKE_COPY $${_PRO_FILE_PWD_}/res/icon_16.png $${DEPLOY_DIR}/usr/share/icons/hicolor/16x16/apps/sacnview.png
DEPLOY_INSTALLER += && $$QMAKE_COPY $${_PRO_FILE_PWD_}/res/icon_24.png $${DEPLOY_DIR}/usr/share/icons/hicolor/24x24/apps/sacnview.png
DEPLOY_INSTALLER += && $$QMAKE_COPY $${_PRO_FILE_PWD_}/res/icon_32.png $${DEPLOY_DIR}/usr/share/icons/hicolor/32x32/apps/sacnview.png
DEPLOY_INSTALLER += && $$QMAKE_COPY $${_PRO_FILE_PWD_}/res/icon_48.png $${DEPLOY_DIR}/usr/share/icons/hicolor/48x48/apps/sacnview.png
DEPLOY_INSTALLER += && $$QMAKE_COPY $${_PRO_FILE_PWD_}/res/icon_256.png $${DEPLOY_DIR}/usr/share/icons/hicolor/256x256/apps/sacnview.png
DEPLOY_INSTALLER += && $$QMAKE_COPY $${_PRO_FILE_PWD_}/res/Logo.png $${DEPLOY_DIR}/usr/share/icons/hicolor/scalable/apps/sacnview.png
DEPLOY_INSTALLER += && cd $${DEPLOY_DIR}
DEPLOY_INSTALLER += && fpm -s dir -t deb --deb-meta-file $${DEPLOY_DIR}/COPYRIGHT --license $${LICENSE} --name $${TARGET} --version $${VERSION} --description $${DESCRIPTION} --url $${URL} opt/ usr/
}

CONFIG( release , debug | release) {
QMAKE_POST_LINK += $${PRE_DEPLOY_COMMAND} $$escape_expand(\\n\\t)
QMAKE_POST_LINK += $${DEPLOY_COMMAND} $${DEPLOY_TARGET} $${DEPLOY_OPT} $$escape_expand(\\n\\t)
QMAKE_POST_LINK += $${DEPLOY_CLEANUP} $$escape_expand(\\n\\t)
QMAKE_POST_LINK += $${DEPLOY_INSTALLER} $$escape_expand(\\n\\t)
}
Binary file added docs/assets/images/capture_playback.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/multi_dialog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/pcap_dialog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/preferencesdialog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/scopeview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/snapshot_dialog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/transmitview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/universelist.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/universeview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 7b7c75a

Please sign in to comment.