mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-27 07:22:57 +02:00
Merge branch 'master' into pu/mp
Conflicts:
acinclude.m4
Origin commit data
------------------
Branch: ni/coolstream
Commit: b1ba85c8c1
Author: vanhofen <vanhofen@gmx.de>
Date: 2017-03-22 (Wed, 22 Mar 2017)
------------------
This commit was generated by Migit
This commit is contained in:
248
acinclude.m4
248
acinclude.m4
@@ -42,11 +42,10 @@ elif test "$TARGET" = "cdk"; then
|
|||||||
AC_MSG_RESULT(cdk)
|
AC_MSG_RESULT(cdk)
|
||||||
|
|
||||||
if test "$CC" = "" -a "$CXX" = ""; then
|
if test "$CC" = "" -a "$CXX" = ""; then
|
||||||
CC=powerpc-tuxbox-linux-gnu-gcc CXX=powerpc-tuxbox-linux-gnu-g++
|
AC_MSG_ERROR([you need to specify variables CC or CXX in cdk])
|
||||||
fi
|
fi
|
||||||
if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then
|
if test "$CFLAGS" = "" -o "$CXXFLAGS" = ""; then
|
||||||
CFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS"
|
AC_MSG_ERROR([you need to specify variables CFLAGS and CXXFLAGS in cdk])
|
||||||
CXXFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS"
|
|
||||||
fi
|
fi
|
||||||
if test "$prefix" = "NONE"; then
|
if test "$prefix" = "NONE"; then
|
||||||
AC_MSG_ERROR([invalid prefix, you need to specify one in cdk mode])
|
AC_MSG_ERROR([invalid prefix, you need to specify one in cdk mode])
|
||||||
@@ -58,10 +57,6 @@ elif test "$TARGET" = "cdk"; then
|
|||||||
AC_MSG_ERROR([invalid targetprefix, you need to specify one in cdk mode])
|
AC_MSG_ERROR([invalid targetprefix, you need to specify one in cdk mode])
|
||||||
TARGET_PREFIX=""
|
TARGET_PREFIX=""
|
||||||
fi
|
fi
|
||||||
if test "$host_alias" = ""; then
|
|
||||||
cross_compiling=yes
|
|
||||||
host_alias=powerpc-tuxbox-linux-gnu
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT(none)
|
AC_MSG_RESULT(none)
|
||||||
AC_MSG_ERROR([invalid target $TARGET, choose on from native,cdk]);
|
AC_MSG_ERROR([invalid target $TARGET, choose on from native,cdk]);
|
||||||
@@ -206,79 +201,6 @@ AC_SUBST(PUBLIC_HTTPDDIR)
|
|||||||
AC_SUBST(HOSTED_HTTPDDIR)
|
AC_SUBST(HOSTED_HTTPDDIR)
|
||||||
dnl end workaround
|
dnl end workaround
|
||||||
|
|
||||||
AC_DEFUN([TUXBOX_APPS_ENDIAN],[
|
|
||||||
AC_CHECK_HEADERS(endian.h)
|
|
||||||
AC_C_BIGENDIAN
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([TUXBOX_APPS_DRIVER],[
|
|
||||||
AC_ARG_WITH(driver,
|
|
||||||
[ --with-driver=PATH path for driver sources [[NONE]]],
|
|
||||||
[DRIVER="$withval"],[DRIVER=""])
|
|
||||||
|
|
||||||
if test -d "$DRIVER/include"; then
|
|
||||||
AC_DEFINE(HAVE_DBOX2_DRIVER,1,[Define to 1 if you have the dbox2 driver sources])
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([can't find driver sources])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SUBST(DRIVER)
|
|
||||||
|
|
||||||
CPPFLAGS="$CPPFLAGS -I$DRIVER/include"
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([TUXBOX_APPS_DVB],[
|
|
||||||
AC_ARG_WITH(dvbincludes,
|
|
||||||
[ --with-dvbincludes=PATH path for dvb includes [[NONE]]],
|
|
||||||
[DVBINCLUDES="$withval"],[DVBINCLUDES=""])
|
|
||||||
|
|
||||||
if test "$DVBINCLUDES"; then
|
|
||||||
CPPFLAGS="-I$DVBINCLUDES $CPPFLAGS"
|
|
||||||
CFLAGS="-I$DVBINCLUDES $CFLAGS"
|
|
||||||
CXXFLAGS="-I$DVBINCLUDES $CXXFLAGS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_CHECK_HEADERS(linux/dvb/version.h,[
|
|
||||||
AC_LANG_PREPROC_REQUIRE()
|
|
||||||
AC_REQUIRE([AC_PROG_EGREP])
|
|
||||||
AC_LANG_CONFTEST([AC_LANG_SOURCE([[
|
|
||||||
#include <linux/dvb/version.h>
|
|
||||||
version DVB_API_VERSION
|
|
||||||
]])])
|
|
||||||
DVB_API_VERSION=`(eval "$ac_cpp -traditional-cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP "^version" | sed "s,version\ ,,"`
|
|
||||||
|
|
||||||
AC_LANG_CONFTEST([AC_LANG_SOURCE([[
|
|
||||||
#include <linux/dvb/version.h>
|
|
||||||
version DVB_API_VERSION_MINOR
|
|
||||||
]])])
|
|
||||||
DVB_API_VERSION_MINOR=`(eval "$ac_cpp -traditional-cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP "^version" | sed "s,version\ ,,"`
|
|
||||||
rm -f conftest*
|
|
||||||
|
|
||||||
AC_MSG_NOTICE([found dvb version $DVB_API_VERSION.$DVB_API_VERSION_MINOR])
|
|
||||||
])
|
|
||||||
|
|
||||||
if test "$DVB_API_VERSION"; then
|
|
||||||
AC_DEFINE(HAVE_DVB,1,[Define to 1 if you have the dvb includes])
|
|
||||||
AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION,$DVB_API_VERSION,[Define to the version of the dvb api])
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([can't find dvb headers])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$DVB_API_VERSION_MINOR"; then
|
|
||||||
AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION_MINOR,$DVB_API_VERSION_MINOR,[Define to the minor version of the dvb api])
|
|
||||||
else
|
|
||||||
AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION_MINOR,0,[Define to the minor version of the dvb api])
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([TUXBOX_APPS_CAPTURE],[
|
|
||||||
AC_CHECK_HEADER(linux/dvb/avia/avia_gt_capture.h,[
|
|
||||||
AC_DEFINE(HAVE_OLD_CAPTURE_API,1,[Define this if you want to use the old dbox2 capture API])
|
|
||||||
AC_MSG_NOTICE([using old demux capture API])],[
|
|
||||||
AC_MSG_NOTICE([using v4l2 capture API])
|
|
||||||
])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([_TUXBOX_APPS_LIB_CONFIG],[
|
AC_DEFUN([_TUXBOX_APPS_LIB_CONFIG],[
|
||||||
AC_PATH_PROG($1_CONFIG,$2,no)
|
AC_PATH_PROG($1_CONFIG,$2,no)
|
||||||
if test "$$1_CONFIG" != "no"; then
|
if test "$$1_CONFIG" != "no"; then
|
||||||
@@ -354,128 +276,20 @@ AC_DEFUN([TUXBOX_APPS_LIB_PKGCONFIG_CHECK],[
|
|||||||
_TUXBOX_APPS_LIB_PKGCONFIG($1,$2)
|
_TUXBOX_APPS_LIB_PKGCONFIG($1,$2)
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_DEFUN([_TUXBOX_APPS_LIB_SYMBOL],[
|
|
||||||
AC_CHECK_LIB($2,$3,HAVE_$1="yes",HAVE_$1="no")
|
|
||||||
if test "$HAVE_$1" = "yes"; then
|
|
||||||
$1_LIBS=-l$2
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SUBST($1_LIBS)
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([TUXBOX_APPS_LIB_SYMBOL],[
|
|
||||||
_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,ERROR)
|
|
||||||
if test "$HAVE_$1" = "no"; then
|
|
||||||
AC_MSG_ERROR([could not find $2]);
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([TUXBOX_APPS_LIB_CONFIG_SYMBOL],[
|
|
||||||
_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,WARN)
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([TUXBOX_APPS_GETTEXT],[
|
|
||||||
AC_PATH_PROG(MSGFMT, msgfmt, no)
|
|
||||||
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
|
||||||
AC_PATH_PROG(XGETTEXT, xgettext, no)
|
|
||||||
AC_PATH_PROG(MSGMERGE, msgmerge, no)
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether NLS is requested])
|
|
||||||
AC_ARG_ENABLE(nls,
|
|
||||||
[ --disable-nls do not use Native Language Support],
|
|
||||||
USE_NLS=$enableval, USE_NLS=yes)
|
|
||||||
AC_MSG_RESULT($USE_NLS)
|
|
||||||
AC_SUBST(USE_NLS)
|
|
||||||
|
|
||||||
if test "$USE_NLS" = "yes"; then
|
|
||||||
AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,[
|
|
||||||
AC_TRY_LINK([
|
|
||||||
#include <libintl.h>
|
|
||||||
#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
|
|
||||||
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
|
|
||||||
#endif
|
|
||||||
extern int _nl_msg_cat_cntr;
|
|
||||||
extern int *_nl_domain_bindings;
|
|
||||||
],[
|
|
||||||
bindtextdomain ("", "");
|
|
||||||
return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings;
|
|
||||||
], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no
|
|
||||||
)]
|
|
||||||
)
|
|
||||||
|
|
||||||
if test "$gt_cv_func_gnugettext_libc" = "yes"; then
|
|
||||||
AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.])
|
|
||||||
gt_use_preinstalled_gnugettext=yes
|
|
||||||
else
|
|
||||||
USE_NLS=no
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -f "$srcdir/po/LINGUAS"; then
|
|
||||||
ALL_LINGUAS=$(sed -e "/^#/d" "$srcdir/po/LINGUAS")
|
|
||||||
fi
|
|
||||||
|
|
||||||
POFILES=
|
|
||||||
GMOFILES=
|
|
||||||
UPDATEPOFILES=
|
|
||||||
DUMMYPOFILES=
|
|
||||||
for lang in $ALL_LINGUAS; do
|
|
||||||
POFILES="$POFILES $srcdirpre$lang.po"
|
|
||||||
GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
|
|
||||||
UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
|
|
||||||
DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
|
|
||||||
done
|
|
||||||
INST_LINGUAS=
|
|
||||||
if test -n "$ALL_LINGUAS"; then
|
|
||||||
for presentlang in $ALL_LINGUAS; do
|
|
||||||
useit=no
|
|
||||||
if test -n "$LINGUAS"; then
|
|
||||||
desiredlanguages="$LINGUAS"
|
|
||||||
else
|
|
||||||
desiredlanguages="$ALL_LINGUAS"
|
|
||||||
fi
|
|
||||||
for desiredlang in $desiredlanguages; do
|
|
||||||
case "$desiredlang" in
|
|
||||||
"$presentlang"*) useit=yes;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
if test $useit = yes; then
|
|
||||||
INST_LINGUAS="$INST_LINGUAS $presentlang"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
CATALOGS=
|
|
||||||
if test -n "$INST_LINGUAS"; then
|
|
||||||
for lang in $INST_LINGUAS; do
|
|
||||||
CATALOGS="$CATALOGS $lang.gmo"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
AC_SUBST(POFILES)
|
|
||||||
AC_SUBST(GMOFILES)
|
|
||||||
AC_SUBST(UPDATEPOFILES)
|
|
||||||
AC_SUBST(DUMMYPOFILES)
|
|
||||||
AC_SUBST(CATALOGS)
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([TUXBOX_BOXTYPE],[
|
AC_DEFUN([TUXBOX_BOXTYPE],[
|
||||||
AC_ARG_WITH(boxtype,
|
AC_ARG_WITH(boxtype,
|
||||||
[ --with-boxtype valid values: dbox2,tripledragon,dreambox,ipbox,coolstream,spark,azbox,generic],
|
[ --with-boxtype valid values: tripledragon,coolstream,spark,azbox,generic],
|
||||||
[case "${withval}" in
|
[case "${withval}" in
|
||||||
dbox2|dreambox|ipbox|tripledragon|coolstream|spark|azbox|generic)
|
tripledragon|coolstream|spark|azbox|generic)
|
||||||
BOXTYPE="$withval"
|
BOXTYPE="$withval"
|
||||||
;;
|
;;
|
||||||
dm*)
|
|
||||||
BOXTYPE="dreambox"
|
|
||||||
BOXMODEL="$withval"
|
|
||||||
;;
|
|
||||||
*)
|
*)
|
||||||
AC_MSG_ERROR([bad value $withval for --with-boxtype]) ;;
|
AC_MSG_ERROR([bad value $withval for --with-boxtype]) ;;
|
||||||
esac], [BOXTYPE="coolstream"])
|
esac], [BOXTYPE="coolstream"])
|
||||||
|
|
||||||
AC_ARG_WITH(boxmodel,
|
AC_ARG_WITH(boxmodel,
|
||||||
[ --with-boxmodel valid for coolstream: hd1, hd2
|
[ --with-boxmodel valid for coolstream: hd1, hd2
|
||||||
valid for dreambox: dm500, dm500plus, dm600pvr, dm56x0, dm7000, dm7020, dm7025
|
valid for generic: raspi],
|
||||||
valid for ipbox: ip200, ip250, ip350, ip400],
|
|
||||||
[case "${withval}" in
|
[case "${withval}" in
|
||||||
hd1|hd2)
|
hd1|hd2)
|
||||||
if test "$BOXTYPE" = "coolstream"; then
|
if test "$BOXTYPE" = "coolstream"; then
|
||||||
@@ -496,15 +310,8 @@ AC_ARG_WITH(boxmodel,
|
|||||||
AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE])
|
AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE])
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
dm500|dm500plus|dm600pvr|dm56x0|dm7000|dm7020|dm7025)
|
raspi)
|
||||||
if test "$BOXTYPE" = "dreambox"; then
|
if test "$BOXTYPE" = "generic"; then
|
||||||
BOXMODEL="$withval"
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE])
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
ip200|ip250|ip350|ip400)
|
|
||||||
if test "$BOXTYPE" = "ipbox"; then
|
|
||||||
BOXMODEL="$withval"
|
BOXMODEL="$withval"
|
||||||
else
|
else
|
||||||
AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE])
|
AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE])
|
||||||
@@ -521,18 +328,13 @@ AC_ARG_WITH(boxmodel,
|
|||||||
AC_MSG_ERROR([unsupported value $withval for --with-boxmodel])
|
AC_MSG_ERROR([unsupported value $withval for --with-boxmodel])
|
||||||
;;
|
;;
|
||||||
esac], [test "$BOXTYPE" = "coolstream" && BOXMODEL="hd1" || true]
|
esac], [test "$BOXTYPE" = "coolstream" && BOXMODEL="hd1" || true]
|
||||||
[if test "$BOXTYPE" = "dreambox" -o "$BOXTYPE" = "ipbox" && test -z "$BOXMODEL"; then
|
)
|
||||||
AC_MSG_ERROR([Dreambox/IPBox needs --with-boxmodel])
|
|
||||||
fi])
|
|
||||||
|
|
||||||
AC_SUBST(BOXTYPE)
|
AC_SUBST(BOXTYPE)
|
||||||
AC_SUBST(BOXMODEL)
|
AC_SUBST(BOXMODEL)
|
||||||
|
|
||||||
AM_CONDITIONAL(BOXTYPE_AZBOX, test "$BOXTYPE" = "azbox")
|
AM_CONDITIONAL(BOXTYPE_AZBOX, test "$BOXTYPE" = "azbox")
|
||||||
AM_CONDITIONAL(BOXTYPE_DBOX2, test "$BOXTYPE" = "dbox2")
|
|
||||||
AM_CONDITIONAL(BOXTYPE_TRIPLE, test "$BOXTYPE" = "tripledragon")
|
AM_CONDITIONAL(BOXTYPE_TRIPLE, test "$BOXTYPE" = "tripledragon")
|
||||||
AM_CONDITIONAL(BOXTYPE_DREAMBOX, test "$BOXTYPE" = "dreambox")
|
|
||||||
AM_CONDITIONAL(BOXTYPE_IPBOX, test "$BOXTYPE" = "ipbox")
|
|
||||||
AM_CONDITIONAL(BOXTYPE_COOL, test "$BOXTYPE" = "coolstream")
|
AM_CONDITIONAL(BOXTYPE_COOL, test "$BOXTYPE" = "coolstream")
|
||||||
AM_CONDITIONAL(BOXTYPE_SPARK, test "$BOXTYPE" = "spark")
|
AM_CONDITIONAL(BOXTYPE_SPARK, test "$BOXTYPE" = "spark")
|
||||||
AM_CONDITIONAL(BOXTYPE_GENERIC, test "$BOXTYPE" = "generic")
|
AM_CONDITIONAL(BOXTYPE_GENERIC, test "$BOXTYPE" = "generic")
|
||||||
@@ -540,29 +342,12 @@ AM_CONDITIONAL(BOXTYPE_GENERIC, test "$BOXTYPE" = "generic")
|
|||||||
AM_CONDITIONAL(BOXMODEL_CS_HD1,test "$BOXMODEL" = "hd1")
|
AM_CONDITIONAL(BOXMODEL_CS_HD1,test "$BOXMODEL" = "hd1")
|
||||||
AM_CONDITIONAL(BOXMODEL_CS_HD2,test "$BOXMODEL" = "hd2")
|
AM_CONDITIONAL(BOXMODEL_CS_HD2,test "$BOXMODEL" = "hd2")
|
||||||
|
|
||||||
AM_CONDITIONAL(BOXMODEL_DM500,test "$BOXMODEL" = "dm500")
|
|
||||||
AM_CONDITIONAL(BOXMODEL_DM500PLUS,test "$BOXMODEL" = "dm500plus")
|
|
||||||
AM_CONDITIONAL(BOXMODEL_DM600PVR,test "$BOXMODEL" = "dm600pvr")
|
|
||||||
AM_CONDITIONAL(BOXMODEL_DM56x0,test "$BOXMODEL" = "dm56x0")
|
|
||||||
AM_CONDITIONAL(BOXMODEL_DM7000,test "$BOXMODEL" = "dm7000" -o "$BOXMODEL" = "dm7020" -o "$BOXMODEL" = "dm7025")
|
|
||||||
|
|
||||||
AM_CONDITIONAL(BOXMODEL_IP200,test "$BOXMODEL" = "ip200")
|
|
||||||
AM_CONDITIONAL(BOXMODEL_IP250,test "$BOXMODEL" = "ip250")
|
|
||||||
AM_CONDITIONAL(BOXMODEL_IP350,test "$BOXMODEL" = "ip350")
|
|
||||||
AM_CONDITIONAL(BOXMODEL_IP400,test "$BOXMODEL" = "ip400")
|
|
||||||
|
|
||||||
AM_CONDITIONAL(BOXMODEL_RASPI,test "$BOXMODEL" = "raspi")
|
AM_CONDITIONAL(BOXMODEL_RASPI,test "$BOXMODEL" = "raspi")
|
||||||
|
|
||||||
if test "$BOXTYPE" = "dbox2"; then
|
if test "$BOXTYPE" = "azbox"; then
|
||||||
AC_DEFINE(HAVE_DBOX_HARDWARE, 1, [building for a dbox2])
|
|
||||||
elif test "$BOXTYPE" = "azbox"; then
|
|
||||||
AC_DEFINE(HAVE_AZBOX_HARDWARE, 1, [building for an azbox])
|
AC_DEFINE(HAVE_AZBOX_HARDWARE, 1, [building for an azbox])
|
||||||
elif test "$BOXTYPE" = "tripledragon"; then
|
elif test "$BOXTYPE" = "tripledragon"; then
|
||||||
AC_DEFINE(HAVE_TRIPLEDRAGON, 1, [building for a tripledragon])
|
AC_DEFINE(HAVE_TRIPLEDRAGON, 1, [building for a tripledragon])
|
||||||
elif test "$BOXTYPE" = "dreambox"; then
|
|
||||||
AC_DEFINE(HAVE_DREAMBOX_HARDWARE, 1, [building for a dreambox])
|
|
||||||
elif test "$BOXTYPE" = "ipbox"; then
|
|
||||||
AC_DEFINE(HAVE_IPBOX_HARDWARE, 1, [building for an ipbox])
|
|
||||||
elif test "$BOXTYPE" = "coolstream"; then
|
elif test "$BOXTYPE" = "coolstream"; then
|
||||||
AC_DEFINE(HAVE_COOL_HARDWARE, 1, [building for a coolstream])
|
AC_DEFINE(HAVE_COOL_HARDWARE, 1, [building for a coolstream])
|
||||||
elif test "$BOXTYPE" = "spark"; then
|
elif test "$BOXTYPE" = "spark"; then
|
||||||
@@ -575,17 +360,7 @@ fi
|
|||||||
if test "$BOXMODEL" = "hd1"; then
|
if test "$BOXMODEL" = "hd1"; then
|
||||||
AC_DEFINE(BOXMODEL_CS_HD1, 1, [coolstream hd1/neo/neo2/zee])
|
AC_DEFINE(BOXMODEL_CS_HD1, 1, [coolstream hd1/neo/neo2/zee])
|
||||||
elif test "$BOXMODEL" = "hd2"; then
|
elif test "$BOXMODEL" = "hd2"; then
|
||||||
AC_DEFINE(BOXMODEL_CS_HD2, 1, [coolstream tank/trinity/trinity v2/trinity duo/zee<EFBFBD>/link])
|
AC_DEFINE(BOXMODEL_CS_HD2, 1, [coolstream tank/trinity/trinity v2/trinity duo/zee2/link])
|
||||||
elif test "$BOXMODEL" = "dm500"; then
|
|
||||||
AC_DEFINE(BOXMODEL_DM500, 1, [dreambox 500])
|
|
||||||
elif test "$BOXMODEL" = "ip200"; then
|
|
||||||
AC_DEFINE(BOXMODEL_IP200, 1, [ipbox 200])
|
|
||||||
elif test "$BOXMODEL" = "ip250"; then
|
|
||||||
AC_DEFINE(BOXMODEL_IP250, 1, [ipbox 250])
|
|
||||||
elif test "$BOXMODEL" = "ip350"; then
|
|
||||||
AC_DEFINE(BOXMODEL_IP350, 1, [ipbox 350])
|
|
||||||
elif test "$BOXMODEL" = "ip400"; then
|
|
||||||
AC_DEFINE(BOXMODEL_IP400, 1, [ipbox 400])
|
|
||||||
elif test "$BOXMODEL" = "raspi"; then
|
elif test "$BOXMODEL" = "raspi"; then
|
||||||
AC_DEFINE(BOXMODEL_RASPI, 1, [Raspberry pi])
|
AC_DEFINE(BOXMODEL_RASPI, 1, [Raspberry pi])
|
||||||
fi
|
fi
|
||||||
@@ -612,4 +387,3 @@ AC_DEFUN([AC_PROG_EGREP],
|
|||||||
EGREP=$ac_cv_prog_egrep
|
EGREP=$ac_cv_prog_egrep
|
||||||
AC_SUBST([EGREP])
|
AC_SUBST([EGREP])
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@@ -3,7 +3,6 @@ AM_INIT_AUTOMAKE([1.0.1 nostdinc])
|
|||||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
|
||||||
|
|
||||||
TUXBOX_APPS
|
TUXBOX_APPS
|
||||||
TUXBOX_APPS_DVB
|
|
||||||
TUXBOX_APPS_DIRECTORY
|
TUXBOX_APPS_DIRECTORY
|
||||||
TUXBOX_APPS_PKGCONFIG
|
TUXBOX_APPS_PKGCONFIG
|
||||||
TUXBOX_BOXTYPE
|
TUXBOX_BOXTYPE
|
||||||
|
@@ -47,6 +47,9 @@ enum CS_LOG_MODULE {
|
|||||||
void cs_api_init(void);
|
void cs_api_init(void);
|
||||||
void cs_api_exit(void);
|
void cs_api_exit(void);
|
||||||
|
|
||||||
|
/* Dummy for compatibility with HD2 */
|
||||||
|
#define cs_new_auto_videosystem();
|
||||||
|
|
||||||
// Memory helpers
|
// Memory helpers
|
||||||
void *cs_malloc_uncached(size_t size);
|
void *cs_malloc_uncached(size_t size);
|
||||||
void cs_free_uncached(void *ptr);
|
void cs_free_uncached(void *ptr);
|
||||||
|
16
lib/hardware/coolstream/hd1/libcoolstream/helpers_cs.h
Normal file
16
lib/hardware/coolstream/hd1/libcoolstream/helpers_cs.h
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#ifndef __HELPERS_CS_H__
|
||||||
|
#define __HELPERS_CS_H__
|
||||||
|
|
||||||
|
enum {
|
||||||
|
CS_EXTRA_DEBUG_OFF = 0x00000000,
|
||||||
|
CS_EXTRA_DEBUG_VIDEO1 = 0x00000001,
|
||||||
|
CS_EXTRA_DEBUG_ALL = 0xFFFFFFFF
|
||||||
|
};
|
||||||
|
|
||||||
|
void cs_set_extra_debug(uint32_t mode);
|
||||||
|
|
||||||
|
const char* __func_ext__f(const char* _func_, int _line_, const char* _file_, bool havePathFile);
|
||||||
|
#define __func_ext__ __func_ext__f(__PRETTY_FUNCTION__, __LINE__, NULL, true)
|
||||||
|
#define __func_ext_file__ __func_ext__f(__PRETTY_FUNCTION__, __LINE__, __path_file__, true)
|
||||||
|
|
||||||
|
#endif // __HELPERS_CS_H__
|
@@ -9,9 +9,11 @@
|
|||||||
#ifndef __VIDEO_CS_H_
|
#ifndef __VIDEO_CS_H_
|
||||||
#define __VIDEO_CS_H_
|
#define __VIDEO_CS_H_
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
#include <cs_vfd.h>
|
#include <cs_vfd.h>
|
||||||
#include <control.h>
|
#include <control.h>
|
||||||
#include <dmx_cs.h>
|
#include <dmx_cs.h>
|
||||||
|
#include <linux/fb.h>
|
||||||
|
|
||||||
#include "cs_types.h"
|
#include "cs_types.h"
|
||||||
|
|
||||||
@@ -123,6 +125,18 @@ typedef enum
|
|||||||
VIDEO_CONTROL_MAX = VIDEO_CONTROL_SHARPNESS
|
VIDEO_CONTROL_MAX = VIDEO_CONTROL_SHARPNESS
|
||||||
} VIDEO_CONTROL;
|
} VIDEO_CONTROL;
|
||||||
|
|
||||||
|
typedef struct cs_vs_format_t
|
||||||
|
{
|
||||||
|
char format[16];
|
||||||
|
} cs_vs_format_struct_t;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
CS_FBCOPY_BB2FB = 0,
|
||||||
|
CS_FBCOPY_FB2FB = 1,
|
||||||
|
CS_FBCOPY_MEM2FB = 2,
|
||||||
|
CS_FBCOPY_FB2MEM = 3
|
||||||
|
};
|
||||||
|
|
||||||
class cVideo {
|
class cVideo {
|
||||||
private:
|
private:
|
||||||
CS_VIDEO_PDATA *privateData;
|
CS_VIDEO_PDATA *privateData;
|
||||||
@@ -155,6 +169,11 @@ private:
|
|||||||
vfd_icon mode_icon;
|
vfd_icon mode_icon;
|
||||||
unsigned int unit;
|
unsigned int unit;
|
||||||
cDemux *demux;
|
cDemux *demux;
|
||||||
|
int current_video_system;
|
||||||
|
bool isReadScreeninfo;
|
||||||
|
fb_var_screeninfo varScreeninfo;
|
||||||
|
fb_fix_screeninfo fixScreeninfo;
|
||||||
|
|
||||||
//
|
//
|
||||||
int SelectAutoFormat();
|
int SelectAutoFormat();
|
||||||
void ScalePic();
|
void ScalePic();
|
||||||
@@ -163,6 +182,9 @@ public:
|
|||||||
cVideo(int mode, void * hChannel, void * hBuffer, unsigned int Unit = 0);
|
cVideo(int mode, void * hChannel, void * hBuffer, unsigned int Unit = 0);
|
||||||
~cVideo(void);
|
~cVideo(void);
|
||||||
|
|
||||||
|
/* Important!
|
||||||
|
Call this function when osd resolution has been changed */
|
||||||
|
void updateOsdScreenInfo();
|
||||||
void * GetDRM(void);
|
void * GetDRM(void);
|
||||||
void * GetTVEnc();
|
void * GetTVEnc();
|
||||||
void * GetTVEncSD();
|
void * GetTVEncSD();
|
||||||
@@ -207,6 +229,11 @@ public:
|
|||||||
int64_t GetPTS(void);
|
int64_t GetPTS(void);
|
||||||
int Flush(void);
|
int Flush(void);
|
||||||
|
|
||||||
|
/* get video system infos */
|
||||||
|
int GetVideoSystem();
|
||||||
|
/* when system = -1 then use current video system */
|
||||||
|
void GetVideoSystemFormatName(cs_vs_format_t* format, int system = -1);
|
||||||
|
|
||||||
/* set video_system */
|
/* set video_system */
|
||||||
int SetVideoSystem(int video_system, bool remember = true);
|
int SetVideoSystem(int video_system, bool remember = true);
|
||||||
int SetStreamType(VIDEO_FORMAT type);
|
int SetStreamType(VIDEO_FORMAT type);
|
||||||
@@ -234,6 +261,8 @@ public:
|
|||||||
int StartVBI(unsigned short pid);
|
int StartVBI(unsigned short pid);
|
||||||
int StopVBI(void);
|
int StopVBI(void);
|
||||||
bool GetScreenImage(unsigned char * &data, int &xres, int &yres, bool get_video = true, bool get_osd = false, bool scale_to_video = false);
|
bool GetScreenImage(unsigned char * &data, int &xres, int &yres, bool get_video = true, bool get_osd = false, bool scale_to_video = false);
|
||||||
|
int fbCopy(uint32_t *mem_p, int width, int height, int dst_x, int dst_y, int src_x, int src_y, int mode);
|
||||||
|
int fbFill(int sx, int sy, int width, int height, fb_pixel_t col, int mode=0);
|
||||||
void SetDemux(cDemux *Demux);
|
void SetDemux(cDemux *Demux);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
16
lib/hardware/coolstream/hd2/libcoolstream/helpers_cs.h
Normal file
16
lib/hardware/coolstream/hd2/libcoolstream/helpers_cs.h
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#ifndef __HELPERS_CS_H__
|
||||||
|
#define __HELPERS_CS_H__
|
||||||
|
|
||||||
|
enum {
|
||||||
|
CS_EXTRA_DEBUG_OFF = 0x00000000,
|
||||||
|
CS_EXTRA_DEBUG_VIDEO1 = 0x00000001,
|
||||||
|
CS_EXTRA_DEBUG_ALL = 0xFFFFFFFF
|
||||||
|
};
|
||||||
|
|
||||||
|
void cs_set_extra_debug(uint32_t mode);
|
||||||
|
|
||||||
|
const char* __func_ext__f(const char* _func_, int _line_, const char* _file_, bool havePathFile);
|
||||||
|
#define __func_ext__ __func_ext__f(__PRETTY_FUNCTION__, __LINE__, NULL, true)
|
||||||
|
#define __func_ext_file__ __func_ext__f(__PRETTY_FUNCTION__, __LINE__, __path_file__, true)
|
||||||
|
|
||||||
|
#endif // __HELPERS_CS_H__
|
@@ -9,6 +9,7 @@
|
|||||||
#ifndef __VIDEO_CS_H_
|
#ifndef __VIDEO_CS_H_
|
||||||
#define __VIDEO_CS_H_
|
#define __VIDEO_CS_H_
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
#include <cs_frontpanel.h>
|
#include <cs_frontpanel.h>
|
||||||
#include <control.h>
|
#include <control.h>
|
||||||
|
|
||||||
@@ -158,6 +159,13 @@ typedef struct cs_vs_format_t
|
|||||||
char formatSD[16];
|
char formatSD[16];
|
||||||
} cs_vs_format_struct_t;
|
} cs_vs_format_struct_t;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
CS_FBCOPY_BB2FB = 0,
|
||||||
|
CS_FBCOPY_FB2FB = 1,
|
||||||
|
CS_FBCOPY_MEM2FB = 2,
|
||||||
|
CS_FBCOPY_FB2MEM = 3
|
||||||
|
};
|
||||||
|
|
||||||
class cDemux;
|
class cDemux;
|
||||||
class cAudio;
|
class cAudio;
|
||||||
|
|
||||||
@@ -206,6 +214,10 @@ public:
|
|||||||
cVideo(int mode, void * hChannel, void * hBuffer);
|
cVideo(int mode, void * hChannel, void * hBuffer);
|
||||||
~cVideo(void);
|
~cVideo(void);
|
||||||
|
|
||||||
|
/* Important!
|
||||||
|
Call this function when osd resolution has been changed */
|
||||||
|
void updateOsdScreenInfo();
|
||||||
|
|
||||||
void * GetVPP(void);
|
void * GetVPP(void);
|
||||||
void * GetTVEnc();
|
void * GetTVEnc();
|
||||||
void * GetTVEncSD();
|
void * GetTVEncSD();
|
||||||
@@ -282,6 +294,8 @@ public:
|
|||||||
int StartVBI(unsigned short pid);
|
int StartVBI(unsigned short pid);
|
||||||
int StopVBI(void);
|
int StopVBI(void);
|
||||||
bool GetScreenImage(unsigned char * &data, int &xres, int &yres, bool get_video = true, bool get_osd = false, bool scale_to_video = false);
|
bool GetScreenImage(unsigned char * &data, int &xres, int &yres, bool get_video = true, bool get_osd = false, bool scale_to_video = false);
|
||||||
|
int fbCopy(uint32_t *mem_p, int width, int height, int dst_x, int dst_y, int src_x, int src_y, int mode);
|
||||||
|
int fbFill(int sx, int sy, int width, int height, fb_pixel_t col, int mode=0);
|
||||||
void SetDemux(cDemux *Demux);
|
void SetDemux(cDemux *Demux);
|
||||||
static cVideo *GetDecoder(unsigned int Unit);
|
static cVideo *GetDecoder(unsigned int Unit);
|
||||||
bool SyncSTC(void);
|
bool SyncSTC(void);
|
||||||
|
@@ -124,8 +124,7 @@ void CComponentsButton::initVarButton( const int& x_pos, const int& y_pos, const
|
|||||||
cc_btn_font = NULL;
|
cc_btn_font = NULL;
|
||||||
cc_btn_icon = icon_name;
|
cc_btn_icon = icon_name;
|
||||||
cc_btn_text = caption;
|
cc_btn_text = caption;
|
||||||
cc_directKey = CRCInput::RC_nokey;
|
cc_directKeys.push_back(CRCInput::RC_nokey);
|
||||||
cc_directKeyAlt = cc_directKey;
|
|
||||||
cc_btn_result = -1;
|
cc_btn_result = -1;
|
||||||
cc_btn_alias = -1;
|
cc_btn_alias = -1;
|
||||||
|
|
||||||
|
@@ -70,9 +70,9 @@ class CComponentsButton : public CComponentsFrmChain, public CCTextScreen
|
|||||||
///property: icon name, only icons supported, to find in gui/widget/icons.h
|
///property: icon name, only icons supported, to find in gui/widget/icons.h
|
||||||
std::string cc_btn_icon;
|
std::string cc_btn_icon;
|
||||||
|
|
||||||
///property: assigned event message value, see driver/rcinput.h for possible values, default value = CRCInput::RC_nokey, see also setButtonDirectKey(), getButtonDirectKey()
|
///property: container for all assigned event message values, see driver/rcinput.h for possible values, default value = CRCInput::RC_nokey, see also setButtonDirectKey(), hasButtonDirectKey()
|
||||||
neutrino_msg_t cc_directKey;
|
std::vector<neutrino_msg_t>cc_directKeys;
|
||||||
///property: assigned an alternate event message value, see driver/rcinput.h for possible values, default value = CRCInput::RC_nokey, see also setButtonDirectKeyAlt(), getButtonDirectKeyAlt()
|
///property: assigned an alternate event message value, see driver/rcinput.h for possible values, default value = CRCInput::RC_nokey, see also setButtonDirectKeyAlt(), hasButtonDirectKeyAlt()
|
||||||
neutrino_msg_t cc_directKeyAlt;
|
neutrino_msg_t cc_directKeyAlt;
|
||||||
///property: assigned return value, see also setButtonResult(), getButtonResult(), default value = -1 (not defined)
|
///property: assigned return value, see also setButtonResult(), getButtonResult(), default value = -1 (not defined)
|
||||||
int cc_btn_result;
|
int cc_btn_result;
|
||||||
@@ -135,7 +135,7 @@ class CComponentsButton : public CComponentsFrmChain, public CCTextScreen
|
|||||||
fb_pixel_t color_frame = COL_SHADOW_PLUS_0, fb_pixel_t color_body = COL_BUTTON_BODY, fb_pixel_t color_shadow = COL_SHADOW_PLUS_0);
|
fb_pixel_t color_frame = COL_SHADOW_PLUS_0, fb_pixel_t color_body = COL_BUTTON_BODY, fb_pixel_t color_shadow = COL_SHADOW_PLUS_0);
|
||||||
|
|
||||||
///set text color
|
///set text color
|
||||||
inline virtual void setButtonTextColor(fb_pixel_t caption_color){cc_btn_text_col = caption_color;};
|
void setButtonTextColor(fb_pixel_t caption_color){cc_btn_text_col = caption_color;};
|
||||||
|
|
||||||
/**Member to modify background behavior of embeded caption object.
|
/**Member to modify background behavior of embeded caption object.
|
||||||
* @param[in] mode
|
* @param[in] mode
|
||||||
@@ -159,42 +159,80 @@ class CComponentsButton : public CComponentsFrmChain, public CCTextScreen
|
|||||||
};
|
};
|
||||||
|
|
||||||
///set caption: parameter as string
|
///set caption: parameter as string
|
||||||
virtual void setCaption(const std::string& text);
|
void setCaption(const std::string& text);
|
||||||
///set caption: parameter as locale
|
///set caption: parameter as locale
|
||||||
virtual void setCaption(const neutrino_locale_t locale_text);
|
void setCaption(const neutrino_locale_t locale_text);
|
||||||
|
|
||||||
///get caption, type as std::string
|
///get caption, type as std::string
|
||||||
inline virtual std::string getCaptionString(){return cc_btn_text;};
|
std::string getCaptionString(){return cc_btn_text;};
|
||||||
///get loacalized caption id, type = neutrino_locale_t
|
///get loacalized caption id, type = neutrino_locale_t
|
||||||
inline virtual neutrino_locale_t getCaptionLocale(){return cc_btn_text_locale;};
|
neutrino_locale_t getCaptionLocale(){return cc_btn_text_locale;};
|
||||||
|
|
||||||
///property: set font for label caption, parameter as font object, value NULL causes usaage of dynamic font
|
///property: set font for label caption, parameter as font object, value NULL causes usaage of dynamic font
|
||||||
virtual void setButtonFont(Font* font){cc_btn_font = font; initCCBtnItems();};
|
void setButtonFont(Font* font){cc_btn_font = font; initCCBtnItems();};
|
||||||
|
|
||||||
///reinitialize items
|
///reinitialize items
|
||||||
virtual void Refresh(){initCCBtnItems();};
|
void Refresh(){initCCBtnItems();};
|
||||||
|
|
||||||
///paint button object
|
///paint button object
|
||||||
void paint(bool do_save_bg = CC_SAVE_SCREEN_YES);
|
void paint(bool do_save_bg = CC_SAVE_SCREEN_YES);
|
||||||
|
|
||||||
///assigns an event msg value to button object, parameter1 as neutrino_msg_t, see driver/rcinput.h for possible values
|
/**
|
||||||
inline virtual void setButtonDirectKey(const neutrino_msg_t& msg){cc_directKey = msg;};
|
* Assigns a single event msg value to button object
|
||||||
///assigns an alternate event msg value to button object, parameter1 as neutrino_msg_t, see driver/rcinput.h for possible values
|
* @param[in] neutrino_msg_t
|
||||||
inline virtual void setButtonDirectKeyA(const neutrino_msg_t& msg){cc_directKeyAlt = msg;};
|
* @li excepts type msg_result_t
|
||||||
///returns an event msg value to button object, see driver/rcinput.h for possible values
|
* @note This method adds only one message key value into the cc_directKeys container, \n
|
||||||
inline virtual neutrino_msg_t getButtonDirectKey(){return cc_directKey;};
|
* Already existant keys will be removed. When more than one key value is required, \n
|
||||||
///returns an alternate event msg value to button object, but returns the primary direct key if no key was defined, see driver/rcinput.h for possible values
|
* use setButtonDirectKeys().
|
||||||
inline virtual neutrino_msg_t getButtonDirectKeyA(){return cc_directKeyAlt != CRCInput::RC_nokey ? cc_directKeyAlt : cc_directKey ;};
|
* @see setButtonDirectKeys(), driver/rcinput.h for possible values
|
||||||
|
*/
|
||||||
|
|
||||||
|
void setButtonDirectKey(const neutrino_msg_t& msg){cc_directKeys.clear(); cc_directKeys.push_back(msg);}
|
||||||
|
/**
|
||||||
|
* Assigns a container with any event msg values to button object
|
||||||
|
* @param[in] v_directKeys
|
||||||
|
* @li excepts type std::vector<neutrino_msg_t>
|
||||||
|
* @note This method adds any message key values into the cc_directKeys container, \n
|
||||||
|
* Already existant keys will be removed. When only one key value is required, \n
|
||||||
|
* use setButtonDirectKey().
|
||||||
|
* @see driver/rcinput.h for possible values
|
||||||
|
*/
|
||||||
|
void setButtonDirectKeys(const std::vector<neutrino_msg_t> &v_directKeys){cc_directKeys = v_directKeys;}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns current primary event msg value of button object.
|
||||||
|
* @return neutrino_msg_t
|
||||||
|
* @note This method returns only the first existant message value from cc_directKeys container \n
|
||||||
|
* Other existant keys ar ignored. If a certain value is required, \n
|
||||||
|
* use hasButtonDirectKey().
|
||||||
|
* @see bool hasButtonDirectKey(), driver/rcinput.h for possible values
|
||||||
|
*/
|
||||||
|
neutrino_msg_t getButtonDirectKey(){return cc_directKeys[0];}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if filtered event msg value of button object is found in cc_directKeys container.
|
||||||
|
* @return bool
|
||||||
|
* @param[in] msg
|
||||||
|
* @li exepts type neutrino_msg_t as filter for searched message
|
||||||
|
* @see neutrino_msg_t getButtonDirectKey(), driver/rcinput.h for possible values
|
||||||
|
*/
|
||||||
|
bool hasButtonDirectKey(const neutrino_msg_t& msg)
|
||||||
|
{
|
||||||
|
for (size_t i= 0; i< cc_directKeys.size(); i++)
|
||||||
|
if (cc_directKeys[i] == msg)
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
///assigns an return value to button object, parameter1 as int
|
///assigns an return value to button object, parameter1 as int
|
||||||
inline virtual void setButtonResult(const int& result_value){cc_btn_result = result_value;};
|
void setButtonResult(const int& result_value){cc_btn_result = result_value;}
|
||||||
///returns current result value of button object
|
///returns current result value of button object
|
||||||
inline virtual int getButtonResult(){return cc_btn_result;};
|
int getButtonResult(){return cc_btn_result;}
|
||||||
|
|
||||||
///assigns an alias value to button object, parameter1 as int, e.g. previous known as mbYes, mbNo... from message boxes
|
///assigns an alias value to button object, parameter1 as int, e.g. previous known as mbYes, mbNo... from message boxes
|
||||||
inline virtual void setButtonAlias(const int& alias_value){cc_btn_alias = alias_value;};
|
void setButtonAlias(const int& alias_value){cc_btn_alias = alias_value;}
|
||||||
///returns an alias value from button object, see also cc_btn_alias
|
///returns an alias value from button object, see also cc_btn_alias
|
||||||
inline virtual int getButtonAlias(){return cc_btn_alias;};
|
int getButtonAlias(){return cc_btn_alias;}
|
||||||
};
|
};
|
||||||
|
|
||||||
//! Sub class of CComponentsButton.
|
//! Sub class of CComponentsButton.
|
||||||
|
@@ -192,8 +192,7 @@ void CComponentsFooter::setButtonLabels(const struct button_label_cc * const con
|
|||||||
CComponentsButton *btn = new CComponentsButton(0, y_btn, w_btn, h_btn, txt, icon_name, NULL, false, true, ccf_enable_button_shadow);
|
CComponentsButton *btn = new CComponentsButton(0, y_btn, w_btn, h_btn, txt, icon_name, NULL, false, true, ccf_enable_button_shadow);
|
||||||
|
|
||||||
btn->doPaintBg(ccf_enable_button_bg);
|
btn->doPaintBg(ccf_enable_button_bg);
|
||||||
btn->setButtonDirectKey(content[i].directKey);
|
btn->setButtonDirectKeys(content[i].directKeys);
|
||||||
btn->setButtonDirectKeyA(content[i].directKeyAlt);
|
|
||||||
btn->setButtonResult(content[i].btn_result);
|
btn->setButtonResult(content[i].btn_result);
|
||||||
btn->setButtonAlias(content[i].btn_alias);
|
btn->setButtonAlias(content[i].btn_alias);
|
||||||
btn->setButtonFont(ccf_btn_font);
|
btn->setButtonFont(ccf_btn_font);
|
||||||
@@ -253,7 +252,7 @@ void CComponentsFooter::setButtonLabels(const struct button_label * const conten
|
|||||||
buttons[i].locale = content[i].locale;
|
buttons[i].locale = content[i].locale;
|
||||||
//NOTE: here are used default values, because old button label struct don't know about this,
|
//NOTE: here are used default values, because old button label struct don't know about this,
|
||||||
//if it possible, don't use this methode!
|
//if it possible, don't use this methode!
|
||||||
buttons[i].directKey = buttons[i].directKeyAlt = CRCInput::RC_nokey;
|
buttons[i].directKeys.push_back(CRCInput::RC_nokey);
|
||||||
buttons[i].btn_result = -1;
|
buttons[i].btn_result = -1;
|
||||||
buttons[i].btn_alias = -1;
|
buttons[i].btn_alias = -1;
|
||||||
}
|
}
|
||||||
@@ -269,8 +268,7 @@ void CComponentsFooter::setButtonLabels(const vector<button_label_cc> &v_content
|
|||||||
buttons[i].button = v_content[i].button;
|
buttons[i].button = v_content[i].button;
|
||||||
buttons[i].text = v_content[i].text;
|
buttons[i].text = v_content[i].text;
|
||||||
buttons[i].locale = v_content[i].locale;
|
buttons[i].locale = v_content[i].locale;
|
||||||
buttons[i].directKey = v_content[i].directKey;
|
buttons[i].directKeys = v_content[i].directKeys;
|
||||||
buttons[i].directKeyAlt = v_content[i].directKeyAlt;
|
|
||||||
buttons[i].btn_result = v_content[i].btn_result;
|
buttons[i].btn_result = v_content[i].btn_result;
|
||||||
buttons[i].btn_alias = v_content[i].btn_alias;
|
buttons[i].btn_alias = v_content[i].btn_alias;
|
||||||
}
|
}
|
||||||
@@ -284,15 +282,13 @@ void CComponentsFooter::setButtonLabel( const char *button_icon,
|
|||||||
const int& label_width,
|
const int& label_width,
|
||||||
const neutrino_msg_t& msg,
|
const neutrino_msg_t& msg,
|
||||||
const int& result_value,
|
const int& result_value,
|
||||||
const int& alias_value,
|
const int& alias_value)
|
||||||
const neutrino_msg_t& directKeyAlt)
|
|
||||||
{
|
{
|
||||||
button_label_cc button[1];
|
button_label_cc button[1];
|
||||||
|
|
||||||
button[0].button = button_icon;
|
button[0].button = button_icon;
|
||||||
button[0].text = text;
|
button[0].text = text;
|
||||||
button[0].directKey = msg;
|
button[0].directKeys.push_back(msg);
|
||||||
button[0].directKeyAlt = directKeyAlt;
|
|
||||||
button[0].btn_result = result_value;
|
button[0].btn_result = result_value;
|
||||||
button[0].btn_alias = alias_value;
|
button[0].btn_alias = alias_value;
|
||||||
|
|
||||||
@@ -305,12 +301,11 @@ void CComponentsFooter::setButtonLabel( const char *button_icon,
|
|||||||
const int& label_width,
|
const int& label_width,
|
||||||
const neutrino_msg_t& msg,
|
const neutrino_msg_t& msg,
|
||||||
const int& result_value,
|
const int& result_value,
|
||||||
const int& alias_value,
|
const int& alias_value)
|
||||||
const neutrino_msg_t& directKeyAlt)
|
|
||||||
{
|
{
|
||||||
string txt = locale != NONEXISTANT_LOCALE ? g_Locale->getText(locale) : "";
|
string txt = locale != NONEXISTANT_LOCALE ? g_Locale->getText(locale) : "";
|
||||||
|
|
||||||
setButtonLabel(button_icon, txt, chain_width, label_width, msg, result_value, alias_value, directKeyAlt);
|
setButtonLabel(button_icon, txt, chain_width, label_width, msg, result_value, alias_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CComponentsFooter::enableButtonBg(bool enable)
|
void CComponentsFooter::enableButtonBg(bool enable)
|
||||||
|
@@ -99,8 +99,7 @@ class CComponentsFooter : public CComponentsHeader
|
|||||||
const int& label_width = 0,
|
const int& label_width = 0,
|
||||||
const neutrino_msg_t& msg = CRCInput::RC_nokey,
|
const neutrino_msg_t& msg = CRCInput::RC_nokey,
|
||||||
const int& result_value = -1,
|
const int& result_value = -1,
|
||||||
const int& alias_value = -1,
|
const int& alias_value = -1);
|
||||||
const neutrino_msg_t& directKeyAlt = CRCInput::RC_nokey);
|
|
||||||
///add single button label with locale label type as content, chain_width as int, label width as int
|
///add single button label with locale label type as content, chain_width as int, label width as int
|
||||||
void setButtonLabel( const char *button_icon,
|
void setButtonLabel( const char *button_icon,
|
||||||
const neutrino_locale_t& locale,
|
const neutrino_locale_t& locale,
|
||||||
@@ -108,8 +107,7 @@ class CComponentsFooter : public CComponentsHeader
|
|||||||
const int& label_width = 0,
|
const int& label_width = 0,
|
||||||
const neutrino_msg_t& msg = CRCInput::RC_nokey,
|
const neutrino_msg_t& msg = CRCInput::RC_nokey,
|
||||||
const int& result_value = -1,
|
const int& result_value = -1,
|
||||||
const int& alias_value = -1,
|
const int& alias_value = -1);
|
||||||
const neutrino_msg_t& directKeyAlt = CRCInput::RC_nokey);
|
|
||||||
|
|
||||||
///enables background of buttons, parameter bool show, default= true
|
///enables background of buttons, parameter bool show, default= true
|
||||||
void enableButtonBg(bool enable = true);
|
void enableButtonBg(bool enable = true);
|
||||||
|
@@ -179,16 +179,19 @@ typedef struct cc_string_ext_txt_t
|
|||||||
//for 'button_label' type with string
|
//for 'button_label' type with string
|
||||||
typedef struct button_label_cc
|
typedef struct button_label_cc
|
||||||
{
|
{
|
||||||
const char * button;
|
const char * button;
|
||||||
std::string text;
|
std::string text;
|
||||||
neutrino_locale_t locale;
|
neutrino_locale_t locale;
|
||||||
neutrino_msg_t directKey;
|
std::vector<neutrino_msg_t> directKeys;
|
||||||
neutrino_msg_t directKeyAlt;
|
int btn_result;
|
||||||
int btn_result;
|
int btn_alias;
|
||||||
int btn_alias;
|
std::string bg_image;
|
||||||
std::string bg_image;
|
std::string hint;
|
||||||
std::string hint;
|
//defaults
|
||||||
button_label_cc(): button(NULL), text(std::string()), locale(NONEXISTANT_LOCALE){}
|
button_label_cc(): button(NULL),
|
||||||
|
text(std::string()),
|
||||||
|
locale(NONEXISTANT_LOCALE),
|
||||||
|
directKeys(1, CRCInput::RC_nokey){}
|
||||||
} button_label_cc_struct;
|
} button_label_cc_struct;
|
||||||
|
|
||||||
#define CC_WIDTH_MIN 16
|
#define CC_WIDTH_MIN 16
|
||||||
|
@@ -134,8 +134,8 @@ void CMsgBox::initButtons()
|
|||||||
if (mb_show_button & mbOk){
|
if (mb_show_button & mbOk){
|
||||||
btn.button = NEUTRINO_ICON_BUTTON_OKAY;
|
btn.button = NEUTRINO_ICON_BUTTON_OKAY;
|
||||||
btn.text = BTN_TEXT(mbOk);
|
btn.text = BTN_TEXT(mbOk);
|
||||||
btn.directKey = CRCInput::RC_ok;
|
btn.directKeys.clear();
|
||||||
btn.directKeyAlt = btn.directKey;
|
btn.directKeys.push_back(CRCInput::RC_ok);
|
||||||
btn.btn_result = mbrOk;
|
btn.btn_result = mbrOk;
|
||||||
btn.btn_alias = mbOk;
|
btn.btn_alias = mbOk;
|
||||||
v_buttons.push_back(btn);
|
v_buttons.push_back(btn);
|
||||||
@@ -143,8 +143,9 @@ void CMsgBox::initButtons()
|
|||||||
if (mb_show_button & mbNo){
|
if (mb_show_button & mbNo){
|
||||||
btn.button = NEUTRINO_ICON_BUTTON_RED;
|
btn.button = NEUTRINO_ICON_BUTTON_RED;
|
||||||
btn.text = BTN_TEXT(mbNo);
|
btn.text = BTN_TEXT(mbNo);
|
||||||
btn.directKey = CRCInput::RC_red;
|
btn.directKeys.clear();
|
||||||
btn.directKeyAlt = CRCInput::RC_home;
|
btn.directKeys.push_back(CRCInput::RC_red);
|
||||||
|
btn.directKeys.push_back(CRCInput::RC_home);
|
||||||
btn.btn_result = mbrNo;
|
btn.btn_result = mbrNo;
|
||||||
btn.btn_alias = mbNo;
|
btn.btn_alias = mbNo;
|
||||||
v_buttons.push_back(btn);
|
v_buttons.push_back(btn);
|
||||||
@@ -152,8 +153,9 @@ void CMsgBox::initButtons()
|
|||||||
if (mb_show_button & mbYes){
|
if (mb_show_button & mbYes){
|
||||||
btn.button = NEUTRINO_ICON_BUTTON_GREEN;
|
btn.button = NEUTRINO_ICON_BUTTON_GREEN;
|
||||||
btn.text = BTN_TEXT(mbYes);
|
btn.text = BTN_TEXT(mbYes);
|
||||||
btn.directKey = CRCInput::RC_green;
|
btn.directKeys.clear();
|
||||||
btn.directKeyAlt = CRCInput::RC_ok;
|
btn.directKeys.push_back(CRCInput::RC_green);
|
||||||
|
btn.directKeys.push_back(CRCInput::RC_ok);
|
||||||
btn.btn_result = mbrYes;
|
btn.btn_result = mbrYes;
|
||||||
btn.btn_alias = mbYes;
|
btn.btn_alias = mbYes;
|
||||||
v_buttons.push_back(btn);
|
v_buttons.push_back(btn);
|
||||||
@@ -161,8 +163,9 @@ void CMsgBox::initButtons()
|
|||||||
if (mb_show_button & mbCancel){
|
if (mb_show_button & mbCancel){
|
||||||
btn.button = NEUTRINO_ICON_BUTTON_HOME;
|
btn.button = NEUTRINO_ICON_BUTTON_HOME;
|
||||||
btn.text = BTN_TEXT(mbCancel);
|
btn.text = BTN_TEXT(mbCancel);
|
||||||
btn.directKey = CRCInput::RC_home;
|
btn.directKeys.clear();
|
||||||
btn.directKeyAlt = CRCInput::RC_setup;
|
btn.directKeys.push_back(CRCInput::RC_home);
|
||||||
|
btn.directKeys.push_back(CRCInput::RC_setup);
|
||||||
btn.btn_result = mbrCancel;
|
btn.btn_result = mbrCancel;
|
||||||
btn.btn_alias = mbCancel;
|
btn.btn_alias = mbCancel;
|
||||||
v_buttons.push_back(btn);
|
v_buttons.push_back(btn);
|
||||||
@@ -170,8 +173,8 @@ void CMsgBox::initButtons()
|
|||||||
if (mb_show_button & mbBack){
|
if (mb_show_button & mbBack){
|
||||||
btn.button = NEUTRINO_ICON_BUTTON_HOME;
|
btn.button = NEUTRINO_ICON_BUTTON_HOME;
|
||||||
btn.text = BTN_TEXT(mbBack);
|
btn.text = BTN_TEXT(mbBack);
|
||||||
btn.directKey = CRCInput::RC_home;
|
btn.directKeys.clear();
|
||||||
btn.directKeyAlt = btn.directKey;
|
btn.directKeys.push_back(CRCInput::RC_home);
|
||||||
btn.btn_result = mbrBack;
|
btn.btn_result = mbrBack;
|
||||||
btn.btn_alias = mbBack;
|
btn.btn_alias = mbBack;
|
||||||
v_buttons.push_back(btn);
|
v_buttons.push_back(btn);
|
||||||
@@ -179,15 +182,18 @@ void CMsgBox::initButtons()
|
|||||||
if (mb_show_button & mbNoYes){
|
if (mb_show_button & mbNoYes){
|
||||||
btn.button = NEUTRINO_ICON_BUTTON_RED;
|
btn.button = NEUTRINO_ICON_BUTTON_RED;
|
||||||
btn.text = BTN_TEXT(mbYes);
|
btn.text = BTN_TEXT(mbYes);
|
||||||
btn.directKey = CRCInput::RC_red;
|
btn.directKeys.clear();
|
||||||
btn.directKeyAlt = CRCInput::RC_ok;
|
btn.directKeys.push_back(CRCInput::RC_red);
|
||||||
|
btn.directKeys.push_back(CRCInput::RC_ok);
|
||||||
btn.btn_result = mbrYes;
|
btn.btn_result = mbrYes;
|
||||||
btn.btn_alias = mbYes;
|
btn.btn_alias = mbYes;
|
||||||
v_buttons.push_back(btn);
|
v_buttons.push_back(btn);
|
||||||
|
|
||||||
btn.button = NEUTRINO_ICON_BUTTON_GREEN;
|
btn.button = NEUTRINO_ICON_BUTTON_GREEN;
|
||||||
btn.text = BTN_TEXT(mbNo);
|
btn.text = BTN_TEXT(mbNo);
|
||||||
btn.directKey = CRCInput::RC_green;
|
btn.directKeys.clear();
|
||||||
btn.directKeyAlt = CRCInput::RC_home;
|
btn.directKeys.push_back(CRCInput::RC_green);
|
||||||
|
btn.directKeys.push_back(CRCInput::RC_home);
|
||||||
btn.btn_result = mbrNo;
|
btn.btn_result = mbrNo;
|
||||||
btn.btn_alias = mbNo;
|
btn.btn_alias = mbNo;
|
||||||
v_buttons.push_back(btn);
|
v_buttons.push_back(btn);
|
||||||
@@ -299,7 +305,7 @@ int CMsgBox::exec()
|
|||||||
//***action buttons without preselection***
|
//***action buttons without preselection***
|
||||||
for (size_t i = 0; i< ccw_footer->getButtonChainObject()->size(); i++){
|
for (size_t i = 0; i< ccw_footer->getButtonChainObject()->size(); i++){
|
||||||
CComponentsButton* btn_action = static_cast<CComponentsButton*>(ccw_footer->getButtonChainObject()->getCCItem(i));
|
CComponentsButton* btn_action = static_cast<CComponentsButton*>(ccw_footer->getButtonChainObject()->getCCItem(i));
|
||||||
if (msg == btn_action->getButtonDirectKey() || msg == btn_action->getButtonDirectKeyA()){
|
if (btn_action->hasButtonDirectKey(msg)){
|
||||||
result = (msg_result_t)btn_action->getButtonResult();
|
result = (msg_result_t)btn_action->getButtonResult();
|
||||||
dprintf(DEBUG_INFO, "\033[32m[CMsgBox] [%s - %d] result = %d, mb_show_button = %d\033[0m\n", __func__, __LINE__, result, mb_show_button);
|
dprintf(DEBUG_INFO, "\033[32m[CMsgBox] [%s - %d] result = %d, mb_show_button = %d\033[0m\n", __func__, __LINE__, result, mb_show_button);
|
||||||
loop = false;
|
loop = false;
|
||||||
|
@@ -2168,10 +2168,6 @@ TIMER_START();
|
|||||||
|
|
||||||
g_RCInput = new CRCInput();
|
g_RCInput = new CRCInput();
|
||||||
|
|
||||||
/* later on, we'll crash anyway, so tell about it. */
|
|
||||||
if (! zapit_init)
|
|
||||||
DisplayErrorMessage("Zapit initialization failed. This is a fatal error, sorry.");
|
|
||||||
|
|
||||||
InitZapitClient();
|
InitZapitClient();
|
||||||
g_Zapit->setStandby(false);
|
g_Zapit->setStandby(false);
|
||||||
|
|
||||||
@@ -2231,6 +2227,10 @@ TIMER_START();
|
|||||||
g_CamHandler = new CCAMMenuHandler();
|
g_CamHandler = new CCAMMenuHandler();
|
||||||
g_CamHandler->init();
|
g_CamHandler->init();
|
||||||
|
|
||||||
|
/* later on, we'll crash anyway, so tell about it. */
|
||||||
|
if (! zapit_init)
|
||||||
|
DisplayErrorMessage("Zapit initialization failed. This is a fatal error, sorry.");
|
||||||
|
|
||||||
#ifndef ASSUME_MDEV
|
#ifndef ASSUME_MDEV
|
||||||
mkdir("/media/sda1", 0755);
|
mkdir("/media/sda1", 0755);
|
||||||
mkdir("/media/sdb1", 0755);
|
mkdir("/media/sdb1", 0755);
|
||||||
|
Reference in New Issue
Block a user