Skip to content

Commit 36c9f52

Browse files
committed
Merge branch 'release-0.6.4'
2 parents 5876d67 + 8cc08a4 commit 36c9f52

File tree

129 files changed

+3197
-2623
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

129 files changed

+3197
-2623
lines changed

.gitlab-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ before_script:
66
- git submodule update --init
77
- ./make_deps.sh
88
- rm -rf build && mkdir build && cd build
9-
- cmake ..
9+
- cmake -DCMAKE_INSTALL_PREFIX=/usr ..
1010
- make glfw
1111

1212
stages:

.hooks/pre-commit

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
#!/bin/bash
2+
#######################################################################################################
3+
# GIT PRECOMMIT HOOK #
4+
# This script checks if the formatting of .cpp and .hpp files is correct and #
5+
# proposes to fix it automatically, let the user do it or ignore the formatting (don't do it!). #
6+
# #
7+
# This file has been entirely copied from Switcher's sources: https://github.com/sat-metalab/switcher #
8+
# #
9+
#######################################################################################################
10+
11+
##################################
12+
# Global variables
13+
CLANG_FORMAT="clang-format"
14+
CLANG_FORMAT_DIFF="clang-format-diff"
15+
files_unformatted=""
16+
cpp_files=()
17+
###################################
18+
19+
##################################
20+
# Helpers
21+
22+
reformat_file() {
23+
while true
24+
do
25+
read -p "Do you want to do the reformatting (M)anually or let it be done (A)utomatically? [m/A]" reply < /dev/tty
26+
case $reply in
27+
[Mm]) echo -e "Commit will be aborted, awaiting reformatting of \e[0;32m${file}\e[0m."; files_unformatted+="\t\e[0;32m$1\e[0m\n"; return;;
28+
"") ;& # Fallthrough default behaviour, the reformatting is automatic.
29+
[Aa]) echo -e "Automatic reformatting of \e[0;32m${file}\e[0m will be done now."; git diff --cached -U0 $1 | ${CLANG_FORMAT_DIFF} -i -p1; git add $1; return;;
30+
*) echo "Unrecognized option." ;;
31+
esac
32+
done
33+
}
34+
35+
final_check() {
36+
echo -e "\n\nThe following files are not correctly formatted:"
37+
echo -e $files_unformatted
38+
39+
while true
40+
do
41+
read -p "Do you want to (I)gnore the formatting and commit anyway (not recommended) or do the reformatting (Y)ourself ? [i/Y]" reply < /dev/tty
42+
case $reply in
43+
[Ii]) echo "Ignoring the formatting and committing files as-is."; exit 0;;
44+
"") ;& # Fallthrough default behaviour, the commit is aborted.
45+
[Yy]) echo "Commit aborted, awaiting reformatting of the previously listed files."; exit 1;;
46+
*) echo "Unrecognized option." ;;
47+
esac
48+
done
49+
}
50+
51+
check_command() {
52+
if ! type $1 > /dev/null
53+
then
54+
echo "Error: $1 executable not found."
55+
exit 1
56+
fi
57+
}
58+
##################################
59+
60+
##################################
61+
# Main
62+
63+
check_command $CLANG_FORMAT
64+
check_command $CLANG_FORMAT_DIFF
65+
66+
cpp_files=$(git diff --cached --name-only --diff-filter=ACM | grep '\.cpp$\|\.hpp$')
67+
68+
# Nothing to test if no file was added, changed or modified.
69+
[ -z "$cpp_files" ] && exit 0
70+
71+
for file in $cpp_files
72+
do
73+
output=$(${CLANG_FORMAT} ${file} -style=file -output-replacements-xml | grep "<replacement " > /dev/null)
74+
if [ $? -ne 1 ]
75+
then
76+
echo -e "\e[0;31m${file} does not conform to coding standards, here are the changes needed:\n\n\e[0m$(git diff --cached -U0 ${file} | ${CLANG_FORMAT_DIFF} -p1)"
77+
reformat_file $file
78+
fi
79+
done
80+
81+
## All .[c|h]pp files are properly formatted.
82+
[ -z "$files_unformatted" ] && exit 0
83+
84+
final_check
85+
86+
##################################

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
cmake_minimum_required(VERSION 3.2)
2121
project(
2222
splash
23-
VERSION 0.6.2
23+
VERSION 0.6.4
2424
LANGUAGES C CXX
2525
)
2626

@@ -148,7 +148,7 @@ if(UNIX AND NOT APPLE) # Package creation on Linux
148148
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
149149
set(CPACK_DEBIAN_PACKAGE_NAME "${CPACK_PACKAGE_NAME}-mapper")
150150
set(CPACK_DEBIAN_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}")
151-
set(CPACK_DEBIAN_PROJECT_HOMEPAGE "https://github.com/paperManu/splash/wiki")
151+
set(CPACK_DEBIAN_PROJECT_HOMEPAGE "https://gitlab.com/sat-metalab/splash/wiki")
152152
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
153153
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libatlas3-base,
154154
libboost-system1.58.0,
@@ -165,7 +165,7 @@ if(UNIX AND NOT APPLE) # Package creation on Linux
165165
libzmq5,
166166
libportaudio2,
167167
zip")
168-
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "${CPACK_PACKAGE_VENDOR} <emmanueldurand@gmail.com>")
168+
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "${CPACK_PACKAGE_VENDOR} <emmanueldurand@protonmail.com>")
169169
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "Splash is a free (as in GPL) modular mapping software. Provided that the user creates a 3D model with UV mapping of the projection surface, Splash will take care of calibrating the videoprojectors (intrinsic and extrinsic parameters, blending), and feed them with the input video sources. Splash can handle multiple inputs, mapped on multiple 3D models, and has been tested with up to eight outputs on two graphic cards. It currently runs on a single computer but support for multiple computers mapping together is planned.")
170170
set(CPACK_DEBIAN_PACKAGE_SECTION "video")
171171
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")

CONTRIBUTING.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
CONTRIBUTING
2+
============
3+
4+
Repositories
5+
------------
6+
7+
Two repositories are used to host Splash source code:
8+
* [A Gitlab repository](https://gitlab.com/sat-metalab/splash) which is our working place, used internally at the SAT-Metalab,
9+
* [A Github repository](https://github.com/sat-metalab/splash) which is used as a public repository, and is a mirror of the Gitlab one.
10+
11+
12+
Coding style
13+
------------
14+
15+
We use LLVM style, with a few exceptions. See the [clang-format configuration](./.clang-format) for more about this.
16+
17+
It is possible to let git ensure that you are conforming to the standards by using pre-commit hooks and clang-format:
18+
```
19+
sudo apt-get install clang-format
20+
# Then in Splash's .git folder:
21+
rm -rf hooks && ln -s ../.hooks hooks
22+
```
23+
24+
Contributing
25+
------------
26+
27+
Please send your pull request at the [SAT-Metalab's Github account](https://github.com/sat-metalab/splash). If you do not know how to make a pull request, Github provides some [help about collaborating on projects using issues and pull requests](https://help.github.com/categories/collaborating-on-projects-using-issues-and-pull-requests/).
28+
29+
Branching strategy with git
30+
---------------------------
31+
32+
The [master](https://gitlab.com/sat-metalab/splash/tree/master) branch contains Splash releases. Validated new developments are into the [develop](https://github.com/sat-metalab/splash/tree/develop) branch.
33+
34+
Modifications are made into a dedicated branch that need to be merged into the develop branch through a Gitlab merge request. When you modification is ready, you need to prepare your merge request as follow:
35+
* Update your develop branch.
36+
```
37+
git fetch
38+
git checkout develop
39+
git pull origin develop
40+
```
41+
* Go back to your branch and rebase onto develop. Note that it would be appreciated that you only merge request from a single commit (i.e interactive rebase with squash and/or fixup before pushing).
42+
```
43+
git rebase -i develop
44+
```

ChangeLog

Whitespace-only changes.

NEWS renamed to NEWS.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
11
Splash release notes
22
===================
33

4+
Splash 0.6.4 (2017-04-13)
5+
-------------------------
6+
New features:
7+
- Added a desktop entry
8+
9+
Improvements:
10+
- Some code cleanup, refactored some base classes
11+
- Added object description to the output of splash --info
12+
- Filter: output size can now be overridden
13+
14+
Bug fixed:
15+
- Fixed installation instructions
16+
- Fixed Debian package
17+
418
Splash 0.6.2 (2017-03-30)
519
-------------------------
620
New features:

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ And then grab and install Splash:
147147
git clone https://github.com/paperManu/splash
148148
cd splash
149149
git submodule update --init
150+
./make_deps.sh
150151
mkdir -p build && cd build
151152
cmake ..
152153
make && sudo make install
@@ -160,6 +161,7 @@ It is also possible to create an app bundle automatically, the resulting bundle
160161
git clone https://github.com/paperManu/splash
161162
cd splash
162163
git submodule update --init
164+
./make_deps.sh
163165
mkdir -p build && cd build
164166
cmake ..
165167
make && make package_osx

addons/blender/splash/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
bl_info = {
2121
"name": "Splash output",
2222
"author": "Emmanuel Durand",
23-
"version": (0, 6, 2),
23+
"version": (0, 6, 4),
2424
"blender": (2, 72, 0),
2525
"location": "3D View > Toolbox, File > Export",
2626
"description": "Utility tools to connect Blender to the Splash videomapper",

data/CMakeLists.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,17 @@
1717
# along with Splash. If not, see <http://www.gnu.org/licenses/>.
1818
#
1919

20+
add_custom_command(
21+
OUTPUT splash-launcher.desktop
22+
COMMAND sed -i 's/Version=.*/Version=${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}/g' ${CMAKE_CURRENT_SOURCE_DIR}/config/splash-launcher.desktop
23+
COMMAND sed -i 's!Icon=.*!Icon=${CMAKE_INSTALL_PREFIX}/share/splash/splash-icon-512.png!g' ${CMAKE_CURRENT_SOURCE_DIR}/config/splash-launcher.desktop
24+
)
25+
26+
if(UNIX AND NOT APPLE)
27+
add_custom_target(splash-launcher ALL DEPENDS splash-launcher.desktop)
28+
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/config/splash-launcher.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
29+
endif()
30+
2031
install(FILES
2132
3d_marker.obj
2233
2d_marker.obj
@@ -26,6 +37,7 @@ install(FILES
2637
plane.obj
2738
sphere.obj
2839
splash.json
40+
splash-icon-512.png
2941
templates.txt
3042
DESTINATION "share/splash/")
3143

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[Desktop Entry]
2+
Version=0.6.4
3+
Name=Splash
4+
Exec=splash
5+
Type=Application
6+
Icon=/usr/local/share/splash/splash-icon-512.png
7+
Categories=Video;Graphics;

0 commit comments

Comments
 (0)