[DO NOT MERGE] Preperation for V1.03.0 (#672)

Preperation for V1.03.0

Former-commit-id: d3ef9dbe74df304dd0653818415f10401ac72af4
This commit is contained in:
brindosch 2016-06-10 18:32:39 +02:00 committed by GitHub
parent afb7efaa94
commit f04d48063d
6 changed files with 124 additions and 544 deletions

View File

@ -172,10 +172,6 @@ if(ENABLE_OSX)
set(CMAKE_EXE_LINKER_FLAGS "-framework CoreGraphics") set(CMAKE_EXE_LINKER_FLAGS "-framework CoreGraphics")
endif() endif()
configure_file(bin/install_hyperion.sh ${LIBRARY_OUTPUT_PATH} @ONLY)
configure_file(config/hyperion.config.json ${LIBRARY_OUTPUT_PATH} @ONLY)
configure_file(config/hyperion_x86.config.json ${LIBRARY_OUTPUT_PATH} @ONLY)
# Add the source/lib directories # Add the source/lib directories
add_subdirectory(dependencies) add_subdirectory(dependencies)
add_subdirectory(libsrc) add_subdirectory(libsrc)

View File

@ -23,14 +23,14 @@ tar --create --gzip --absolute-names --show-transformed-names --ignore-failed-re
--transform "s:$builddir/bin/:hyperion/bin/:" \ --transform "s:$builddir/bin/:hyperion/bin/:" \
--transform "s:$repodir/effects/:hyperion/effects/:" \ --transform "s:$repodir/effects/:hyperion/effects/:" \
--transform "s:$repodir/config/:hyperion/config/:" \ --transform "s:$repodir/config/:hyperion/config/:" \
--transform "s:$repodir/bin/service/hyperion.init.sh:hyperion/init.d/hyperion.init.sh:" \ --transform "s:$repodir/bin/service/hyperion.init.sh:hyperion/services/hyperion.init.sh:" \
--transform "s:$repodir/bin/service/hyperion.systemd.sh:hyperion/init.d/hyperion.systemd.sh:" \ --transform "s:$repodir/bin/service/hyperion.systemd.sh:hyperion/services/hyperion.systemd.sh:" \
--transform "s:$repodir/bin/service/hyperion.initctl.sh:hyperion/init.d/hyperion.initctl.sh:" \ --transform "s:$repodir/bin/service/hyperion.initctl.sh:hyperion/services/hyperion.initctl.sh:" \
--transform "s://:/:g" \ --transform "s://:/:g" \
"$builddir/bin/hyperion"* \ "$builddir/bin/hyperion"* \
"$repodir/effects/"* \ "$repodir/effects/"* \
"$repodir/bin/service/hyperion.init.sh" \ "$repodir/bin/service/hyperion.init.sh" \
"$repodir/bin/service/hyperion.systemd.sh" \ "$repodir/bin/service/hyperion.systemd.sh" \
"$repodir/bin/service/hyperion.initctl.sh" \ "$repodir/bin/service/hyperion.initctl.sh" \
"$repodir/config/hyperion.config.json" "$repodir/config/hyperion.config.json.example"

View File

@ -23,7 +23,7 @@ fi
#Set welcome message #Set welcome message
if [ $BETA -eq 1 ]; then if [ $BETA -eq 1 ]; then
WMESSAGE="echo This script will update Hyperion to the latest BETA" WMESSAGE="echo This script will update Hyperion to the latest BETA"
else WMESSAGE="echo This script will install/update Hyperion Ambilight" else WMESSAGE="echo This script will install/update Hyperion Ambient Light"
fi fi
#Welcome message #Welcome message
@ -74,24 +74,34 @@ if [ $BOBLIGHT_PROCNR -eq 1 ]; then
exit 1 exit 1
fi fi
# Stop hyperion daemon if it is running #set service script path
SERVICEL="/usr/share/hyperion/services"
# Stop hyperion daemon if it is running and set service path
echo '---> Stop Hyperion, if necessary' echo '---> Stop Hyperion, if necessary'
if [ $OS_OPENELEC -eq 1 ]; then if [ $OS_OPENELEC -eq 1 ]; then
killall hyperiond 2>/dev/null killall hyperiond 2>/dev/null
elif [ $USE_INITCTL -eq 1 ]; then elif [ $USE_INITCTL -eq 1 ]; then
/sbin/initctl stop hyperion 2>/dev/null /sbin/initctl stop hyperion 2>/dev/null
elif [ $USE_SERVICE -eq 1 ]; then SERVICEP="/etc/init"
/usr/sbin/service hyperion stop 2>/dev/null
elif [ $USE_SYSTEMD -eq 1 ]; then elif [ $USE_SYSTEMD -eq 1 ]; then
service hyperion stop 2>/dev/null service hyperion stop 2>/dev/null
SERVICEP="/etc/systemd/system"
#many people installed with the official script and this just uses service, if both registered -> dead #many people installed with the official script and this just uses service, if both registered -> dead
/usr/sbin/service hyperion stop 2>/dev/null /usr/sbin/service hyperion stop 2>/dev/null
#Bad workaround for Jessie (systemd) users that used the old official script for install
update-rc.d -f hyperion remove 2>/dev/null
rm /etc/init.d/hyperion 2>/dev/null
elif [ $USE_SERVICE -eq 1 ]; then
/usr/sbin/service hyperion stop 2>/dev/null
SERVICEP="/etc/init.d"
fi fi
#Install dependencies for Hyperion #Install dependencies for Hyperion and setup preperation
if [ $OS_OPENELEC -ne 1 ]; then if [ $OS_OPENELEC -ne 1 ]; then
echo '---> Install/Update Hyperion dependencies (This may take a while)' echo '---> Install/Update Hyperion dependencies (This may take a while)'
apt-get -qq update && apt-get -qq --yes install libqtcore4 libqtgui4 libqt4-network libusb-1.0-0 ca-certificates apt-get -qq update && apt-get -qq --yes install libqtcore4 libqtgui4 libqt4-network libusb-1.0-0 ca-certificates
mkdir /etc/hyperion 2>/dev/null
fi fi
#Check, if dtparam=spi=on is in place (not for OPENELEC) #Check, if dtparam=spi=on is in place (not for OPENELEC)
@ -120,12 +130,26 @@ if [ $CPU_RPI -eq 1 ] && [ $OS_OPENELEC -eq 1 ]; then
fi fi
fi fi
#Backup the .conf files, if present # compatibility layer to move old configs to new config dir
echo '---> Backup Hyperion configuration(s), if present' if [ -f "/opt/hyperion" ]; then
rm -f /tmp/*.json 2>/dev/null echo '---> Old installation found, move configs to /etc/hyperion/ and move hyperion to /usr/share/hyperion/'
if [ $OS_OPENELEC -eq 1 ]; then mv /opt/hyperion/config/*.json /etc/hyperion 2>/dev/null
cp -v /storage/.config/*.json /tmp 2>/dev/null sed -i "s|/opt/hyperion/effects|/usr/share/hyperion/effects|g" /etc/hyperion/*.json
else cp -v /opt/hyperion/config/*.json /tmp 2>/dev/null if [ $USE_INITCTL -eq 1 ]; then
sed -i "s|/etc/hyperion.config.json|/etc/hyperion/hyperion.config.json|g" $SERVICEP/hyperion.conf
sed -i "s|/opt/hyperion/hyperion.config.json|/etc/hyperion/hyperion.config.json|g" $SERVICEP/hyperion.conf
initctl reload-configuration
elif [ $OS_OPENELEC -eq 1 ]; then
sleep 0
elif [ $USE_SYSTEMD -eq 1 ]; then
sed -i "s|/etc/hyperion.config.json|/etc/hyperion/hyperion.config.json|g" $SERVICEP/hyperion.service
sed -i "s|/opt/hyperion/hyperion.config.json|/etc/hyperion/hyperion.config.json|g" $SERVICEP/hyperion.service
systemctl -q daemon-reload
elif [ $USE_SERVICE -eq 1 ]; then
sed -i "s|/etc/hyperion.config.json|/etc/hyperion/hyperion.config.json|g" $SERVICEP/hyperion
sed -i "s|/opt/hyperion/hyperion.config.json|/etc/hyperion/hyperion.config.json|g" $SERVICEP/hyperion
update-rc.d hyperion defaults 98 02
fi
fi fi
# Select the appropriate download path # Select the appropriate download path
@ -191,32 +215,25 @@ if [ $OS_OPENELEC -eq 1 ]; then
curl -# -L --get $OE_DEPENDECIES | tar -C /storage/hyperion/bin -xz curl -# -L --get $OE_DEPENDECIES | tar -C /storage/hyperion/bin -xz
#set the executen bit (failsave) #set the executen bit (failsave)
chmod +x -R /storage/hyperion/bin chmod +x -R /storage/hyperion/bin
# /storage/.config is available as samba share. A symbolic link would not be working
false | cp -i /storage/hyperion/config/hyperion.config.json /storage/.config/hyperion.config.json 2>/dev/null
else else
wget -nv $HYPERION_RELEASE -O - | tar -C /opt -xz BINSP=/usr/share/hyperion/bin
#set the executen bit (failsave) BINTP=/usr/bin
chmod +x -R /opt/hyperion/bin wget -nv $HYPERION_RELEASE -O - | tar -C /usr/share -xz
#set the executen bit (failsave) and move config to /etc/hyperion
chmod +x -R $BINSP
# create links to the binaries # create links to the binaries
ln -fs /opt/hyperion/bin/hyperiond /usr/bin/hyperiond ln -fs $BINSP/hyperiond $BINTP/hyperiond
ln -fs /opt/hyperion/bin/hyperion-remote /usr/bin/hyperion-remote ln -fs $BINSP/hyperion-remote $BINTP/hyperion-remote
ln -fs /opt/hyperion/bin/hyperion-v4l2 /usr/bin/hyperion-v4l2 ln -fs $BINSP/hyperion-v4l2 $BINTP/hyperion-v4l2
ln -fs /opt/hyperion/bin/hyperion-dispmanx /usr/bin/hyperion-dispmanx 2>/dev/null ln -fs $BINSP/hyperion-dispmanx $BINTP/hyperion-dispmanx 2>/dev/null
ln -fs /opt/hyperion/bin/hyperion-x11 /usr/bin/hyperion-x11 2>/dev/null ln -fs $BINSP/hyperion-x11 $BINTP/hyperion-x11 2>/dev/null
ln -fs $BINSP/hyperion-aml $BINTP/hyperion-aml 2>/dev/null
fi fi
# Restore backup of .conf files, if present # Copy the service control configuration to /etc/init (-n to respect user modified scripts)
echo '---> Restore Hyperion configuration(s), if present'
if [ $OS_OPENELEC -eq 1 ]; then
mv -v /tmp/*.json /storage/.config/ 2>/dev/null
else mv -v /tmp/*.json /opt/hyperion/config/ 2>/dev/null
fi
# Copy the service control configuration to /etc/int (-n to respect user modified scripts)
if [ $USE_INITCTL -eq 1 ]; then if [ $USE_INITCTL -eq 1 ]; then
echo '---> Installing initctl script' echo '---> Installing initctl script'
cp -n /opt/hyperion/init.d/hyperion.initctl.sh /etc/init/hyperion.conf 2>/dev/null cp -n $SERVICEL/hyperion.initctl.sh $SERVICEP/hyperion.conf 2>/dev/null
initctl reload-configuration initctl reload-configuration
elif [ $OS_OPENELEC -eq 1 ]; then elif [ $OS_OPENELEC -eq 1 ]; then
#modify all old installs with a logfile output #modify all old installs with a logfile output
@ -237,34 +254,35 @@ elif [ $OS_OPENELEC -eq 1 ]; then
elif [ $USE_SYSTEMD -eq 1 ]; then elif [ $USE_SYSTEMD -eq 1 ]; then
echo '---> Installing systemd script' echo '---> Installing systemd script'
#place startup script for systemd and activate #place startup script for systemd and activate
#Problem with systemd to enable symlinks - Bug? Workaround cp -n (overwrite never) cp -n $SERVICEL/hyperion.systemd.sh $SERVICEP/hyperion.service
#Bad workaround for Jessie (systemd) users that used the official script for install
update-rc.d -f hyperion remove 2>/dev/null
rm /etc/init.d/hyperion 2>/dev/null
cp -n /opt/hyperion/init.d/hyperion.systemd.sh /etc/systemd/system/hyperion.service
systemctl -q enable hyperion.service systemctl -q enable hyperion.service
if [ $OS_OSMC -eq 1 ]; then if [ $OS_OSMC -eq 1 ]; then
echo '---> Modify systemd script for OSMC usage' echo '---> Modify systemd script for OSMC usage'
# Wait until kodi is sarted (for kodi checker) # Wait until kodi is sarted
sed -i '/After = mediacenter.service/d' /etc/systemd/system/hyperion.service sed -i '/After = mediacenter.service/d' $SERVICEP/hyperion.service
sed -i '/Unit/a After = mediacenter.service' /etc/systemd/system/hyperion.service sed -i '/Unit/a After = mediacenter.service' $SERVICEP/hyperion.service
sed -i 's/User=osmc/User=root/g' /etc/systemd/system/hyperion.service
sed -i 's/Group=osmc/Group=root/g' /etc/systemd/system/hyperion.service
systemctl -q daemon-reload systemctl -q daemon-reload
fi fi
elif [ $USE_SERVICE -eq 1 ]; then elif [ $USE_SERVICE -eq 1 ]; then
echo '---> Installing startup script in init.d' echo '---> Installing startup script in init.d'
# place startup script in init.d and add it to upstart (-s to respect user modified scripts) # place startup script in init.d and add it to upstart (-s to respect user modified scripts)
ln -s /opt/hyperion/init.d/hyperion.init.sh /etc/init.d/hyperion 2>/dev/null ln -s $SERVICEL/hyperion.init.sh $SERVICEP/hyperion 2>/dev/null && chmod +x $SERVICEP/hyperion
chmod +x /etc/init.d/hyperion
update-rc.d hyperion defaults 98 02 update-rc.d hyperion defaults 98 02
fi fi
#remove unwanted files/dirs
if [ $OS_OPENELEC -eq 1 ]; then
rm -r /storage/hyperion/services
else
rm -r /usr/share/hyperion/services
rm -r /opt/hyperion 2>/dev/null
fi
#chown the /config/ dir and all configs inside for hypercon config upload for non-root logins #chown the /config/ dir and all configs inside for hypercon config upload for non-root logins
if [ $OS_OSMC -eq 1 ]; then if [ $OS_OSMC -eq 1 ]; then
chown -R osmc:osmc /opt/hyperion/config chown -R osmc:osmc /etc/hyperion/config
elif [ $OS_RASPBIAN -eq 1 ]; then elif [ $OS_RASPBIAN -eq 1 ]; then
chown -R pi:pi /opt/hyperion/config chown -R pi:pi /etc/hyperion/config
fi fi
# Start the hyperion daemon # Start the hyperion daemon

View File

@ -40,9 +40,9 @@ if [ "$1" = "" ]; then
*) echo "-> Please enter only y or n" *) echo "-> Please enter only y or n"
esac esac
done done
echo "---> You entered \"$CONFIRM\". Remove Hyperion!" echo "---> You entered \"$CONFIRM\". Remove Hyperion!"
fi fi
# Find out if we are on OpenElec or RasPlex # Find out if we are on OpenElec or RasPlex
OS_OPENELEC=`grep -m1 -c 'OpenELEC\|RasPlex\|LibreELEC' /etc/issue` OS_OPENELEC=`grep -m1 -c 'OpenELEC\|RasPlex\|LibreELEC' /etc/issue`
@ -64,10 +64,6 @@ elif [ $USE_SERVICE -eq 1 ]; then
/usr/sbin/service hyperion stop 2>/dev/null /usr/sbin/service hyperion stop 2>/dev/null
elif [ $USE_SYSTEMD -eq 1 ]; then elif [ $USE_SYSTEMD -eq 1 ]; then
service hyperion stop 2>/dev/null service hyperion stop 2>/dev/null
# while [ $SERVICEC -le 20 ]; do
# service hyperion_fw$SERVICEC stop 2>/dev/null
# ((SERVICEC++))
# done
fi fi
#reset count #reset count
@ -87,19 +83,11 @@ elif [ $USE_SYSTEMD -eq 1 ]; then
# Delete and disable Hyperion systemd script # Delete and disable Hyperion systemd script
echo '---> Delete and disable Hyperion systemd script' echo '---> Delete and disable Hyperion systemd script'
systemctl disable hyperion.service systemctl disable hyperion.service
# while [ $SERVICEC -le 20 ]; do
# systemctl -q disable hyperion_fw$SERVICEC.service 2>/dev/null
# ((SERVICEC++))
# done
rm -v /etc/systemd/system/hyperion* 2>/dev/null rm -v /etc/systemd/system/hyperion* 2>/dev/null
elif [ $USE_SERVICE -eq 1 ]; then elif [ $USE_SERVICE -eq 1 ]; then
# Delete and disable Hyperion init.d script # Delete and disable Hyperion init.d script
echo '---> Delete and disable Hyperion init.d script' echo '---> Delete and disable Hyperion init.d script'
update-rc.d -f hyperion remove update-rc.d -f hyperion remove
# while [ $SERVICEC -le 20 ]; do
# update-rc.d -f hyperion_fw$SERVICEC remove 2>/dev/null
# ((SERVICEC++))
# done
rm /etc/init.d/hyperion* 2>/dev/null rm /etc/init.d/hyperion* 2>/dev/null
fi fi
@ -117,11 +105,15 @@ else
rm -v /usr/bin/hyperion-v4l2 2>/dev/null rm -v /usr/bin/hyperion-v4l2 2>/dev/null
rm -v /usr/bin/hyperion-dispmanx 2>/dev/null rm -v /usr/bin/hyperion-dispmanx 2>/dev/null
rm -v /usr/bin/hyperion-x11 2>/dev/null rm -v /usr/bin/hyperion-x11 2>/dev/null
rm -v /usr/bin/hyperion-aml 2>/dev/null
rm -v /etc/hyperion.config.json 2>/dev/null rm -v /etc/hyperion.config.json 2>/dev/null
echo "---> Remove binaries" echo "---> Remove binaries"
rm -rv /opt/hyperion 2>/dev/null rm -rv /opt/hyperion 2>/dev/null
rm -rv /etc/hyperion 2>/dev/null
rm -rv /usr/share/hyperion 2>/dev/null
fi fi
echo '*******************************************************************************' echo '*******************************************************************************'
echo 'Hyperion successful removed!' echo 'Hyperion successful removed!'
echo '*******************************************************************************' echo '*******************************************************************************'
exit 0 exit 0

View File

@ -1,12 +1,12 @@
// Automatically generated configuration file for 'Hyperion daemon' // This is a example config (hyperion.config.json) with comments, in any case you need to create your own one with HyperCon!
// Generated by: HyperCon (The Hyperion deamon configuration file builder) // Webpage: https://www.hyperion-project.org
// Created with HyperCon V1.02.0 (30.04.2016)
{ {
/// Device configuration contains the following fields: /// Device configuration contains the following fields:
/// * 'name' : The user friendly name of the device (only used for display purposes) /// * 'name' : The user friendly name of the device (only used for display purposes)
/// * 'type' : The type of the device or leds (known types for now are /// * 'type' : The type of the device or leds (known types for now are
/// ---------SPI---------, APA102, WS2801, P9813, LPD6803, LPD8806, ---------PWM---------, WS2812b (just RPi1), WS281X (RPi1, RPi2, RPi3), --------OTHER--------, PhilipsHUE, AtmoOrb, PiBlaster, Tinkerforge, FadeCandy, RawHID (USB), UDP, SEDU, TPM2, USBASP-WS2801, USBASP-WS2812, ------3rd PARTY------, Adalight, AdalightAPA102, AmbiLed, Atmo, Lightpack, Multi-Lightpack, Paintpack, Test (file), None) /// APA102, WS2801, P9813, LPD6803, LPD8806, ---------PWM---------, WS2812b (just RPi1), WS281X (RPi1, RPi2, RPi3), --------OTHER--------, PhilipsHUE, AtmoOrb, PiBlaster, Tinkerforge, FadeCandy, RawHID (USB), UDP, SEDU, TPM2, USBASP-WS2801, USBASP-WS2812, ------3rd PARTY------, Adalight, AdalightAPA102, AmbiLed, Atmo, Lightpack, Multi-Lightpack, Paintpack, Test (file), None)
/// * [device type specific configuration] /// * [device type specific configuration]
/// * 'colorOrder' : The order of the color bytes ('rgb', 'rbg', 'bgr', etc.). /// * 'colorOrder' : The order of the color bytes ('rgb', 'rbg', 'bgr', etc.).
"device" : "device" :
@ -41,6 +41,7 @@
/// tuning parameters: /// tuning parameters:
/// - 'saturationGain' The gain adjustement of the saturation /// - 'saturationGain' The gain adjustement of the saturation
/// - 'luminanceGain' The gain adjustement of the luminance /// - 'luminanceGain' The gain adjustement of the luminance
/// - 'luminanceMinimum' The minimum luminance (backlight)
/// * 'red'/'green'/'blue' : The manipulation in the Red-Green-Blue color domain with the /// * 'red'/'green'/'blue' : The manipulation in the Red-Green-Blue color domain with the
/// following tuning parameters for each channel: /// following tuning parameters for each channel:
/// - 'threshold' The minimum required input value for the channel to be on /// - 'threshold' The minimum required input value for the channel to be on
@ -102,7 +103,8 @@
"hsl" : "hsl" :
{ {
"saturationGain" : 1.0000, "saturationGain" : 1.0000,
"luminanceGain" : 1.0000 "luminanceGain" : 1.0000,
"luminanceMinimum" : 0.0000
}, },
"red" : "red" :
{ {
@ -178,11 +180,11 @@
/// * json : Json server adress and port of your target. Syntax:[IP:PORT] -> ["127.0.0.1:19446"] or more instances to forward ["127.0.0.1:19446","192.168.0.24:19448"] /// * json : Json server adress and port of your target. Syntax:[IP:PORT] -> ["127.0.0.1:19446"] or more instances to forward ["127.0.0.1:19446","192.168.0.24:19448"]
/// HINT: If you redirect to "127.0.0.1" (localhost) you could start a second hyperion with another device/led config! /// HINT: If you redirect to "127.0.0.1" (localhost) you could start a second hyperion with another device/led config!
/// Be sure your client(s) is/are listening on the configured ports. The second Hyperion (if used) also needs to be configured! (HyperCon -> External -> Json Server/Proto Server) /// Be sure your client(s) is/are listening on the configured ports. The second Hyperion (if used) also needs to be configured! (HyperCon -> External -> Json Server/Proto Server)
// "forwarder" : "forwarder" :
// { {
// "proto" : ["127.0.0.1:19447"], "proto" : ["127.0.0.1:19447"],
// "json" : ["127.0.0.1:19446"] "json" : ["127.0.0.1:19446"]
// }, },
/// The configuration for the frame-grabber, contains the following items: /// The configuration for the frame-grabber, contains the following items:
/// * width : The width of the grabbed frames [pixels] /// * width : The width of the grabbed frames [pixels]
@ -205,19 +207,21 @@
/// * grabPictures : Flag indicating that the frame-grabber is on(true) during picture show /// * grabPictures : Flag indicating that the frame-grabber is on(true) during picture show
/// * grabAudio : Flag indicating that the frame-grabber is on(true) during audio playback /// * grabAudio : Flag indicating that the frame-grabber is on(true) during audio playback
/// * grabMenu : Flag indicating that the frame-grabber is on(true) at the Kodi menu /// * grabMenu : Flag indicating that the frame-grabber is on(true) at the Kodi menu
/// * grabPause : Flag indicating that the frame-grabber is on(true) at player state "pause"
/// * grabScreensaver : Flag indicating that the frame-grabber is on(true) when Kodi is on screensaver /// * grabScreensaver : Flag indicating that the frame-grabber is on(true) when Kodi is on screensaver
/// * enable3DDetection : Flag indicating that the frame-grabber should switch to a 3D compatible modus if a 3D video is playing /// * enable3DDetection : Flag indicating that the frame-grabber should switch to a 3D compatible modus if a 3D video is playing
// "xbmcVideoChecker" : "xbmcVideoChecker" :
// { {
// "xbmcAddress" : "127.0.0.1", "xbmcAddress" : "127.0.0.1",
// "xbmcTcpPort" : 9090, "xbmcTcpPort" : 9090,
// "grabVideo" : true, "grabVideo" : true,
// "grabPictures" : true, "grabPictures" : true,
// "grabAudio" : true, "grabAudio" : true,
// "grabMenu" : false, "grabMenu" : false,
// "grabScreensaver" : true, "grabPause" : false,
// "enable3DDetection" : true "grabScreensaver" : true,
// }, "enable3DDetection" : true
},
/// The configuration of the Json server which enables the json remote interface /// The configuration of the Json server which enables the json remote interface
/// * port : Port at which the json server is started /// * port : Port at which the json server is started
@ -236,11 +240,11 @@
/// The configuration of the boblight server which enables the boblight remote interface /// The configuration of the boblight server which enables the boblight remote interface
/// * port : Port at which the boblight server is started /// * port : Port at which the boblight server is started
/// * priority: Priority of the boblight server (Default=900) HINT: lower value result in HIGHER priority! /// * priority: Priority of the boblight server (Default=900) HINT: lower value result in HIGHER priority!
// "boblightServer" : "boblightServer" :
// { {
// "port" : 19333, "port" : 19333,
// "priority" : 900 "priority" : 900
// }, },
/// Configuration for the embedded V4L2 grabber /// Configuration for the embedded V4L2 grabber
/// * device : V4L2 Device to use [default="/dev/video0"] /// * device : V4L2 Device to use [default="/dev/video0"]
@ -259,25 +263,25 @@
/// * redSignalThreshold : Signal threshold for the red channel between 0.0 and 1.0 [default=0.0] /// * redSignalThreshold : Signal threshold for the red channel between 0.0 and 1.0 [default=0.0]
/// * greenSignalThreshold : Signal threshold for the green channel between 0.0 and 1.0 [default=0.0] /// * greenSignalThreshold : Signal threshold for the green channel between 0.0 and 1.0 [default=0.0]
/// * blueSignalThreshold : Signal threshold for the blue channel between 0.0 and 1.0 [default=0.0] /// * blueSignalThreshold : Signal threshold for the blue channel between 0.0 and 1.0 [default=0.0]
// "grabber-v4l2" : "grabber-v4l2" :
// { {
// "device" : "/dev/video0", "device" : "/dev/video0",
// "input" : 0, "input" : 0,
// "standard" : "no-change", "standard" : "no-change",
// "width" : -1, "width" : -1,
// "height" : -1, "height" : -1,
// "frameDecimation" : 2, "frameDecimation" : 2,
// "sizeDecimation" : 8, "sizeDecimation" : 8,
// "priority" : 900, "priority" : 900,
// "mode" : "2D", "mode" : "2D",
// "cropLeft" : 0, "cropLeft" : 0,
// "cropRight" : 0, "cropRight" : 0,
// "cropTop" : 0, "cropTop" : 0,
// "cropBottom" : 0, "cropBottom" : 0,
// "redSignalThreshold" : 0.0, "redSignalThreshold" : 0.0,
// "greenSignalThreshold" : 0.0, "greenSignalThreshold" : 0.0,
// "blueSignalThreshold" : 0.0 "blueSignalThreshold" : 0.0
// }, },
/// The configuration for each individual led. This contains the specification of the area /// The configuration for each individual led. This contains the specification of the area
/// averaged of an input image for each led to determine its color. Each item in the list /// averaged of an input image for each led to determine its color. Each item in the list

View File

@ -1,430 +0,0 @@
// Automatically generated configuration file for 'Hyperion daemon'
// Generated by: HyperCon (The Hyperion deamon configuration file builder
{
/// Device configuration contains the following fields:
/// * 'name' : The user friendly name of the device (only used for display purposes)
/// * 'type' : The type of the device or leds (known types for now are 'ws2801', 'ldp8806',
/// 'lpd6803', 'sedu', 'adalight', 'lightpack', 'test' and 'none')
/// * 'output' : The output specification depends on selected device. This can for example be the
/// device specifier, device serial number, or the output file name
/// * 'rate' : The baudrate of the output to the device
/// * 'colorOrder' : The order of the color bytes ('rgb', 'rbg', 'bgr', etc.).
"device" :
{
"name" : "MyPi",
"type" : "adalight",
"output" : "/dev/ttyUSB0",
"rate" : 115200,
"colorOrder" : "rgb"
},
/// Color manipulation configuration used to tune the output colors to specific surroundings.
/// The configuration contains a list of color-transforms. Each transform contains the
/// following fields:
/// * 'id' : The unique identifier of the color transformation (eg 'device_1') /// * 'leds' : The indices (or index ranges) of the leds to which this color transform applies
/// (eg '0-5, 9, 11, 12-17'). The indices are zero based. /// * 'hsv' : The manipulation in the Hue-Saturation-Value color domain with the following
/// tuning parameters:
/// - 'saturationGain' The gain adjustement of the saturation
/// - 'valueGain' The gain adjustement of the value
/// * 'red'/'green'/'blue' : The manipulation in the Red-Green-Blue color domain with the
/// following tuning parameters for each channel:
/// - 'threshold' The minimum required input value for the channel to be on
/// (else zero)
/// - 'gamma' The gamma-curve correction factor
/// - 'blacklevel' The lowest possible value (when the channel is black)
/// - 'whitelevel' The highest possible value (when the channel is white)
///
/// Next to the list with color transforms there is also a smoothing option.
/// * 'smoothing' : Smoothing of the colors in the time-domain with the following tuning
/// parameters:
/// - 'type' The type of smoothing algorithm ('linear' or 'none')
/// - 'time_ms' The time constant for smoothing algorithm in milliseconds
/// - 'updateFrequency' The update frequency of the leds in Hz
"color" :
{
"transform" :
[
{
"id" : "default",
"leds" : "*",
"hsv" :
{
"saturationGain" : 1.0000,
"valueGain" : 1.0000
},
"red" :
{
"threshold" : 0.0000,
"gamma" : 1.0000,
"blacklevel" : 0.0000,
"whitelevel" : 1.0000
},
"green" :
{
"threshold" : 0.0000,
"gamma" : 1.0000,
"blacklevel" : 0.0000,
"whitelevel" : 1.0000
},
"blue" :
{
"threshold" : 0.0000,
"gamma" : 1.0000,
"blacklevel" : 0.0000,
"whitelevel" : 1.0000
}
}
],
"smoothing" :
{
"type" : "none",
"time_ms" : 200,
"updateFrequency" : 20.0000
}
},
/// The configuration for each individual led. This contains the specification of the area
/// averaged of an input image for each led to determine its color. Each item in the list
/// contains the following fields:
/// * index: The index of the led. This determines its location in the string of leds; zero
/// being the first led.
/// * hscan: The fractional part of the image along the horizontal used for the averaging
/// (minimum and maximum inclusive)
/// * vscan: The fractional part of the image along the vertical used for the averaging
/// (minimum and maximum inclusive)
"leds" :
[
{
"index" : 0,
"hscan" : { "minimum" : 0.4375, "maximum" : 0.5000 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 1,
"hscan" : { "minimum" : 0.3750, "maximum" : 0.4375 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 2,
"hscan" : { "minimum" : 0.3125, "maximum" : 0.3750 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 3,
"hscan" : { "minimum" : 0.2500, "maximum" : 0.3125 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 4,
"hscan" : { "minimum" : 0.1875, "maximum" : 0.2500 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 5,
"hscan" : { "minimum" : 0.1250, "maximum" : 0.1875 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 6,
"hscan" : { "minimum" : 0.0625, "maximum" : 0.1250 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 7,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0625 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 8,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 9,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.8571, "maximum" : 1.0000 }
},
{
"index" : 10,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.7143, "maximum" : 0.8571 }
},
{
"index" : 11,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.5714, "maximum" : 0.7143 }
},
{
"index" : 12,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.4286, "maximum" : 0.5714 }
},
{
"index" : 13,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.2857, "maximum" : 0.4286 }
},
{
"index" : 14,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.1429, "maximum" : 0.2857 }
},
{
"index" : 15,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.1429 }
},
{
"index" : 16,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 17,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0625 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 18,
"hscan" : { "minimum" : 0.0625, "maximum" : 0.1250 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 19,
"hscan" : { "minimum" : 0.1250, "maximum" : 0.1875 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 20,
"hscan" : { "minimum" : 0.1875, "maximum" : 0.2500 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 21,
"hscan" : { "minimum" : 0.2500, "maximum" : 0.3125 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 22,
"hscan" : { "minimum" : 0.3125, "maximum" : 0.3750 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 23,
"hscan" : { "minimum" : 0.3750, "maximum" : 0.4375 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 24,
"hscan" : { "minimum" : 0.4375, "maximum" : 0.5000 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 25,
"hscan" : { "minimum" : 0.5000, "maximum" : 0.5625 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 26,
"hscan" : { "minimum" : 0.5625, "maximum" : 0.6250 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 27,
"hscan" : { "minimum" : 0.6250, "maximum" : 0.6875 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 28,
"hscan" : { "minimum" : 0.6875, "maximum" : 0.7500 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 29,
"hscan" : { "minimum" : 0.7500, "maximum" : 0.8125 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 30,
"hscan" : { "minimum" : 0.8125, "maximum" : 0.8750 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 31,
"hscan" : { "minimum" : 0.8750, "maximum" : 0.9375 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 32,
"hscan" : { "minimum" : 0.9375, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 33,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 34,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.1429 }
},
{
"index" : 35,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.1429, "maximum" : 0.2857 }
},
{
"index" : 36,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.2857, "maximum" : 0.4286 }
},
{
"index" : 37,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.4286, "maximum" : 0.5714 }
},
{
"index" : 38,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.5714, "maximum" : 0.7143 }
},
{
"index" : 39,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.7143, "maximum" : 0.8571 }
},
{
"index" : 40,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.8571, "maximum" : 1.0000 }
},
{
"index" : 41,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 42,
"hscan" : { "minimum" : 0.9375, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 43,
"hscan" : { "minimum" : 0.8750, "maximum" : 0.9375 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 44,
"hscan" : { "minimum" : 0.8125, "maximum" : 0.8750 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 45,
"hscan" : { "minimum" : 0.7500, "maximum" : 0.8125 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 46,
"hscan" : { "minimum" : 0.6875, "maximum" : 0.7500 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 47,
"hscan" : { "minimum" : 0.6250, "maximum" : 0.6875 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 48,
"hscan" : { "minimum" : 0.5625, "maximum" : 0.6250 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 49,
"hscan" : { "minimum" : 0.5000, "maximum" : 0.5625 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
}
],
/// The black border configuration, contains the following items:
/// * enable : true if the detector should be activated
/// * threshold : Value below which a pixel is regarded as black (value between 0.0 and 1.0)
"blackborderdetector" :
{
"enable" : true,
"threshold" : 0.01
},
/// The configuration of the effect engine, contains the following items:
/// * paths : An array with absolute location(s) of directories with effects
/// * bootsequence : The effect selected as 'boot sequence'
"effects" :
{
"paths" :
[
"/opt/hyperion/effects"
]
},
"bootsequence" :
{
"effect" : "Rainbow swirl fast",
"duration_ms" : 3000
},
/// The configuration for the frame-grabber, contains the following items:
/// * width : The width of the grabbed frames [pixels]
/// * height : The height of the grabbed frames [pixels]
/// * frequency_Hz : The frequency of the frame grab [Hz]
// "framegrabber" :
// {
// "width" : 64,
// "height" : 64,
// "frequency_Hz" : 10.0
// },
/// The configuration of the XBMC connection used to enable and disable the frame-grabber. Contains the following fields:
/// * xbmcAddress : The IP address of the XBMC-host
/// * xbmcTcpPort : The TCP-port of the XBMC-server
/// * grabVideo : Flag indicating that the frame-grabber is on(true) during video playback
/// * grabPictures : Flag indicating that the frame-grabber is on(true) during picture show
/// * grabAudio : Flag indicating that the frame-grabber is on(true) during audio playback
/// * grabMenu : Flag indicating that the frame-grabber is on(true) in the XBMC menu
/// * grabScreensaver : Flag indicating that the frame-grabber is on(true) when XBMC is on screensaver
/// * enable3DDetection : Flag indicating that the frame-grabber should switch to a 3D compatible modus if a 3D video is playing
// "xbmcVideoChecker" :
// {
// "xbmcAddress" : "127.0.0.1",
// "xbmcTcpPort" : 9090,
// "grabVideo" : true,
// "grabPictures" : true,
// "grabAudio" : true,
// "grabMenu" : false,
// "grabScreensaver" : true,
// "enable3DDetection" : true
// },
/// The configuration of the Json server which enables the json remote interface
/// * port : Port at which the json server is started
"jsonServer" :
{
"port" : 19444
},
/// The configuration of the Proto server which enables the protobuffer remote interface
/// * port : Port at which the protobuffer server is started
"protoServer" :
{
"port" : 19445
},
/// The configuration of the boblight server which enables the boblight remote interface
/// * port : Port at which the boblight server is started
// "boblightServer" :
// {
// "port" : 19333
// },
"endOfJson" : "endOfJson"
}