diff options
author | jose1711 | 2017-01-15 19:04:45 +0100 |
---|---|---|
committer | jose1711 | 2017-01-15 19:04:45 +0100 |
commit | 8d60b027b4c53b709a4f4aeb3569c3411903515f (patch) | |
tree | d7c1f7f0f895b8325dee635e5c2b214cde1608de | |
download | aur-8d60b027b4c53b709a4f4aeb3569c3411903515f.tar.gz |
Initial commit to aur4 (migrated from https://github.com/aur-archive/epos)
-rw-r--r-- | .SRCINFO | 29 | ||||
-rw-r--r-- | CMakeLists.txt | 171 | ||||
-rw-r--r-- | PKGBUILD | 36 | ||||
-rw-r--r-- | config.h.in | 51 | ||||
-rw-r--r-- | epos | 37 | ||||
-rw-r--r-- | fix-x86_64.patch | 155 |
6 files changed, 479 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..f498e62e29be --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,29 @@ +# Generated by mksrcinfo v8 +# Sun Jan 15 18:04:12 UTC 2017 +pkgbase = epos + pkgdesc = A free text to speech synthesis system + pkgver = 2.4.85 + pkgrel = 1 + url = http://epos.ure.cas.cz/ + arch = i686 + arch = x86_64 + license = GPL + makedepends = gcc + makedepends = cmake>=2.6 + makedepends = pulseaudio + backup = etc/rc.d/epos + source = http://downloads.sourceforge.net/project/epos/epos/2-4-85/ep2-4-85.tgz + source = http://downloads.sourceforge.net/project/epos/voices/Czech%20_%20Machac%2BViolka%2C%20July%2005/epos-tdp.tgz + source = epos + source = fix-x86_64.patch + source = CMakeLists.txt + source = config.h.in + md5sums = 2fef78d8bd2ac8dedad4dc643c20eb19 + md5sums = 10b1af13e07bcd2e8b3ac404b3ad12b7 + md5sums = fc2df9ba60c2a362f579a404f4f6bf15 + md5sums = 559a6fbe2cab5a8a0f21b8fe6675f780 + md5sums = 5cd671da7ae5f397d3c8c27b08f8044e + md5sums = 8da3f83fc1c618c234dbd5a0f9c97f0b + +pkgname = epos + diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000000..3c45c62f24a0 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,171 @@ +project (epos) +cmake_minimum_required (VERSION 2.6) + +set (COMPILE_FLAGS + "-Wall" "-Wunused" "-pipe" "-gstabs+" "-fdefer-pop") + +#option (WANT_DMALLOC "dmalloc debugging library" OFF) +option (FORGET_CHARSETS "Do not allow automatic conversions between character sets" OFF) + +include (CheckIncludeFile) +CHECK_INCLUDE_FILE ("strings.h" HAVE_STRINGS_H) +CHECK_INCLUDE_FILE ("string.h" HAVE_STRING_H) +CHECK_INCLUDE_FILE ("io.h" HAVE_IO_H) +CHECK_INCLUDE_FILE ("rx.h" HAVE_RX_H) +CHECK_INCLUDE_FILE ("regex.h" HAVE_REGEX_H) +CHECK_INCLUDE_FILE ("errno.h" HAVE_ERRNO_H) +CHECK_INCLUDE_FILE ("wait.h" HAVE_WAIT_H) +CHECK_INCLUDE_FILE ("unistd.h" HAVE_UNISTD_H) +CHECK_INCLUDE_FILE ("unix.h" HAVE_UNIX_H) +CHECK_INCLUDE_FILE ("signal.h" HAVE_SIGNAL_H) +CHECK_INCLUDE_FILE ("syslog.h" HAVE_SYSLOG_H) +CHECK_INCLUDE_FILE ("time.h" HAVE_TIME_H) +CHECK_INCLUDE_FILE ("sys/soundcard.h" HAVE_SYS_SOUNDCARD_H) +CHECK_INCLUDE_FILE ("sys/audio.h" HAVE_SYS_AUDIO_H) +CHECK_INCLUDE_FILE ("sys/stat.h" HAVE_SYS_STAT_H) +CHECK_INCLUDE_FILE ("sys/ioctl.h" HAVE_SYS_IOCTL_H) +CHECK_INCLUDE_FILE ("sys/socket.h" HAVE_SYS_SOCKET_H) +CHECK_INCLUDE_FILE ("sys/select.h" HAVE_SYS_SELECT_H) +CHECK_INCLUDE_FILE ("sys/time.h" HAVE_SYS_TIME_H) +CHECK_INCLUDE_FILE ("sys/types.h" HAVE_SYS_TYPES_H) +CHECK_INCLUDE_FILE ("sys/termios.h" HAVE_SYS_TERMIOS_H) +CHECK_INCLUDE_FILE ("netdb.h" HAVE_NETDB_H) +CHECK_INCLUDE_FILE ("netinet/in.h" HAVE_NETINET_IN_H) +CHECK_INCLUDE_FILE ("linux/kd.h" HAVE_LINUX_KD_H) +CHECK_INCLUDE_FILE ("sys/kernel.h" HAVE_SYS_KERNEL_H) +CHECK_INCLUDE_FILE ("sys/name.h" HAVE_SYS_NAME_H) +CHECK_INCLUDE_FILE ("fcntl.h" HAVE_FCNTL_H) + +include (CheckFunctionExists) +CHECK_FUNCTION_EXISTS ("strerror" HAVE_STRERROR) +CHECK_FUNCTION_EXISTS ("strdup" HAVE_STRDUP) +CHECK_FUNCTION_EXISTS ("fork" HAVE_FORK) +CHECK_FUNCTION_EXISTS ("getegid" HAVE_GETEGID) +CHECK_FUNCTION_EXISTS ("strcasecmp" HAVE_STRCASECMP) +CHECK_FUNCTION_EXISTS ("stricmp" HAVE_STRICMP) +CHECK_FUNCTION_EXISTS ("gethostname" HAVE_GETHOSTNAME) +CHECK_FUNCTION_EXISTS ("gettimeofday" HAVE_GETTIMEOFDAY) +CHECK_FUNCTION_EXISTS ("qnx_name_attach" HAVE_QNX_NAME_ATTACH) +CHECK_FUNCTION_EXISTS ("abort" HAVE_ABORT) + +include (CheckLibraryExists) +CHECK_LIBRARY_EXISTS (socket main "${CMAKE_SYSTEM_LIBRARY_PATH}" HAVE_LIBSOCKET) +CHECK_LIBRARY_EXISTS (lnsl main "${CMAKE_SYSTEM_LIBRARY_PATH}" HAVE_LIBLNSL) + +include (CheckCXXSourceCompiles) + +CHECK_CXX_SOURCE_COMPILES ( +"int main () {bool b; return 0;}" +HAVE_BOOL) + +if (HAVE_SYS_SOCKET_H) + set (_sockethdr "<sys/socket.h>") +else (HAVE_SYS_SOCKET_H) + set (_sockethdr "<sys/types.h>") +endif (HAVE_SYS_SOCKET_H) + +CHECK_CXX_SOURCE_COMPILES ( +"#include ${_sockethdr} +socklen_t x; +int main () {return 0;}" +HAVE_SOCKLEN_T) + +if (HAVE_RX_H) + set (_regexhdr "<rx.h>") +elseif (HAVE_REGEX_H) + set (_regexhdr "<regex.h>") +else (HAVE_RX_H) + set (_regexhdr "\"rx.h\"") +endif (HAVE_RX_H) + +CHECK_CXX_SOURCE_COMPILES ( +"#include <sys/types.h> +#include ${_regexhdr} +int main () {int result = REG_EEND; return 0;}" +HAVE_REG_EEND) + +CHECK_CXX_SOURCE_COMPILES ( +"#include <sys/types.h> +#include ${_regexhdr} +int main () {regmatch_t rt; rt.rm_so; return 0;}" +HAVE_RM_SO) + +CHECK_CXX_SOURCE_COMPILES ( +"template <class any_type> class some_type{}; template class some_type<int>; +int main () {return 0;}" +HAVE_TEMPL_INST) + +include (CheckCXXSourceRuns) + +CHECK_CXX_SOURCE_RUNS ( +"extern \"C\" void exit(int); +enum t { a, b, c }; +struct s { + t m : 2; + t n : 2; + t o : 2; +} arr[2] = {{a, b, c},{c, c, c}}; +int main () {exit (arr[1].n == 2);}" +BROKEN_ENUM_BITFIELDS) + +configure_file ("${epos_SOURCE_DIR}/config.h.in" "${epos_BINARY_DIR}/config.h") +include_directories ("${epos_BINARY_DIR}") + +set (epos_HEADERS + src/common.h src/defaults.h + src/unit.h src/parser.h + src/rule.h src/text.h + src/encoding.h src/interf.h + src/function.h src/options.h + src/hash.h src/synth.h + src/voice.h src/exc.h) +list (APPEND epos_HEADERS + src/waveform.h src/ktdsyn.h + src/ptdsyn.h src/lpcsyn.h + src/tdpsyn.h src/tcpsyn.h + src/slab.h src/rx.h + src/client.h src/agent.h +# If these didn't have this stupid extension, +# they could be here. CMake sees them +# as files to compile, not headers. +# src/nnet.cc src/block.cc src/exc.cc + src/options.lst) + +set (epos_MODULES_SOURCES + src/parser.cc src/unit.cc src/rule.cc + src/text.cc src/encoding.cc + src/interf.cc src/function.cc + src/options.cc src/synth.cc src/ktdsyn.cc + src/ptdsyn.cc src/lpcsyn.cc src/tdpsyn.cc + src/tcpsyn.cc src/voice.cc src/waveform.cc) + +set (epos_EPOS_SOURCES + ${epos_MODULES_SOURCES} + src/hashd.cc src/daemon.cc src/agent.cc + src/ttscp.cc src/nonblock.cc src/client.cc) +set (epos_EPOSM_SOURCES + ${epos_MODULES_SOURCES} + src/monolith.cc src/hash.cc src/client.cc) + +if (WIN32) + set (epos_PLATFORM_SOURCES + src/rx.c) + list (APPEND epos_EPOS_SOURCES + arch/win/service/service.cpp + arch/win/service/service.h) +endif (WIN32) + +add_definitions ("-DBASE_DIR=${CMAKE_INSTALL_PREFIX}/lib/epos") + +add_executable (epos ${epos_EPOS_SOURCES} ${epos_PLATFORM_SOURCES} ${epos_HEADERS}) +add_executable (eposm EXCLUDE_FROM_ALL ${epos_EPOSM_SOURCES} ${epos_PLATFORM_SOURCES} ${epos_HEADERS}) +target_link_libraries (epos pulse-simple pulse) + +add_executable (say src/say.cc ${epos_HEADERS}) +add_executable (vrfy src/vrfy.cc) +add_executable (gauge src/gauge.cc ${epos_HEADERS}) + +install (TARGETS epos say vrfy gauge RUNTIME DESTINATION bin) +install (DIRECTORY cfg/ DESTINATION lib/epos) +install (DIRECTORY doc DESTINATION lib/epos) + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..0755f3bc5490 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,36 @@ +# Contributor: Přemysl Janouch <p.janouch@gmail.com> +# Contributor: Alois Belaska <lloyd@centrum.cz> +# Maintainer: Jose Riha <jose1711 gmail com> + +pkgname=epos +arch=('i686' 'x86_64') +pkgver=2.4.85 +pkgrel=1 +license=('GPL') +pkgdesc="A free text to speech synthesis system" +backup=(etc/rc.d/epos) +url='http://epos.ure.cas.cz/' +source=('http://downloads.sourceforge.net/project/epos/epos/2-4-85/ep2-4-85.tgz' + 'http://downloads.sourceforge.net/project/epos/voices/Czech%20_%20Machac%2BViolka%2C%20July%2005/epos-tdp.tgz' + epos fix-x86_64.patch CMakeLists.txt config.h.in) +md5sums=('2fef78d8bd2ac8dedad4dc643c20eb19' '10b1af13e07bcd2e8b3ac404b3ad12b7' + 'fc2df9ba60c2a362f579a404f4f6bf15' '559a6fbe2cab5a8a0f21b8fe6675f780' + '5cd671da7ae5f397d3c8c27b08f8044e' '8da3f83fc1c618c234dbd5a0f9c97f0b') +makedepends=('gcc' 'cmake>=2.6' 'pulseaudio') + +build() { + cd $srcdir/$pkgname-$pkgver + patch -p0 < $srcdir/fix-x86_64.patch + + cp $srcdir/CMakeLists.txt $srcdir/config.h.in . + cmake . -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_SHARED=ON -DDISABLE_DEBUG=ON + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir install + + cp -R $srcdir/tdp $pkgdir/usr/lib/epos/inv + install -D -m755 ../epos $pkgdir/etc/rc.d/epos +} diff --git a/config.h.in b/config.h.in new file mode 100644 index 000000000000..4ba2b74fe4aa --- /dev/null +++ b/config.h.in @@ -0,0 +1,51 @@ +#cmakedefine FORGET_CHARSETS + +#cmakedefine HAVE_BOOL +#cmakedefine HAVE_SOCKLEN_T +#cmakedefine HAVE_REG_EEND +#cmakedefine HAVE_RM_SO +#cmakedefine HAVE_TEMPL_INST +#cmakedefine BROKEN_ENUM_BITFIELDS + +#cmakedefine HAVE_STRINGS_H +#cmakedefine HAVE_STRING_H +#cmakedefine HAVE_IO_H +#cmakedefine HAVE_RX_H +#cmakedefine HAVE_REGEX_H +#cmakedefine HAVE_ERRNO_H +#cmakedefine HAVE_WAIT_H +#cmakedefine HAVE_UNISTD_H +#cmakedefine HAVE_UNIX_H +#cmakedefine HAVE_SIGNAL_H +#cmakedefine HAVE_SYSLOG_H +#cmakedefine HAVE_TIME_H +#cmakedefine HAVE_SYS_SOUNDCARD_H +#cmakedefine HAVE_SYS_AUDIO_H +#cmakedefine HAVE_SYS_STAT_H +#cmakedefine HAVE_SYS_IOCTL_H +#cmakedefine HAVE_SYS_SOCKET_H +#cmakedefine HAVE_SYS_SELECT_H +#cmakedefine HAVE_SYS_TIME_H +#cmakedefine HAVE_SYS_TYPES_H +#cmakedefine HAVE_SYS_TERMIOS_H +#cmakedefine HAVE_NETDB_H +#cmakedefine HAVE_NETINET_IN_H +#cmakedefine HAVE_LINUX_KD_H +#cmakedefine HAVE_SYS_KERNEL_H +#cmakedefine HAVE_SYS_NAME_H +#cmakedefine HAVE_FCNTL_H + +#cmakedefine HAVE_STRERROR +#cmakedefine HAVE_STRDUP +#cmakedefine HAVE_FORK +#cmakedefine HAVE_GETEGID +#cmakedefine HAVE_STRCASECMP +#cmakedefine HAVE_STRICMP +#cmakedefine HAVE_GETHOSTNAME +#cmakedefine HAVE_GETTIMEOFDAY +#cmakedefine HAVE_QNX_NAME_ATTACH +#cmakedefine HAVE_ABORT + +#cmakedefine HAVE_LIBSOCKET +#cmakedefine HAVE_LIBLNSL + @@ -0,0 +1,37 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/bin/eposd` +case "$1" in + start) + stat_busy "Starting Epos" + if [ -z "$PID" ]; then + /usr/bin/eposd + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon epos + stat_done + fi + ;; + stop) + stat_busy "Stopping Epos" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon epos + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac diff --git a/fix-x86_64.patch b/fix-x86_64.patch new file mode 100644 index 000000000000..932f05df2af0 --- /dev/null +++ b/fix-x86_64.patch @@ -0,0 +1,155 @@ +--- src/block.cc 2009-08-16 21:59:05.000000000 +0200 ++++ src/block.cc.orig 2009-08-16 21:58:02.000000000 +0200 +@@ -124,7 +124,7 @@ + l = cfg->rules; + rulist = (rule **)xmalloc(sizeof(rule *) * l); + n_rules = 0; again = 1; +- while((int)(rulist[n_rules] = --again ? rulist[n_rules-1] ++ while((long)(rulist[n_rules] = --again ? rulist[n_rules-1] + : next_rule(file, vars, &again)) > END_OF_RULES) { + // rulist[n_rules]->set_dbg_tag(file); + if (++n_rules == l) { +@@ -133,7 +133,7 @@ + } + } + if (again > 1) diatax("Badly placed count"); +- if (rulist[n_rules] != terminator) switch ((int)rulist[n_rules]) { ++ if (rulist[n_rules] != terminator) switch ((long)rulist[n_rules]) { + case END_OF_BLOCK: diatax("No block to terminate"); + case END_OF_CHOICE: diatax("No choice to terminate"); + case END_OF_SWITCH: diatax("No length-based switch to terminate"); +@@ -546,8 +546,8 @@ + { + try { + rule *r = parse_rule(file, vars, count); +- if ((int)r > END_OF_RULES) return r; +- if ((int)r < END_OF_RULES) diatax("No rule follows a conditional rule"); ++ if ((long)r > END_OF_RULES) return r; ++ if ((long)r < END_OF_RULES) diatax("No rule follows a conditional rule"); + shriek(811, fmt("No rule follows a conditional rule at the end of %s", file->current_file)); + } catch (any_exception *e) { + if (e->code / 10 != 81) throw e; +--- src/common.h.orig 2009-08-16 22:34:36.000000000 +0200 ++++ src/common.h 2009-08-16 22:35:38.000000000 +0200 +@@ -94,8 +94,8 @@ + #define U_INHERIT 125 + #define U_VOID 120 + +-extern int unused_variable; +-#define unuse(x) (unused_variable = (int)(x)); ++extern long unused_variable; ++#define unuse(x) (unused_variable = (long)(x)); + + extern const bool is_monolith; + +--- src/hashtmpl.cc.orig 2009-08-16 22:28:39.000000000 +0200 ++++ src/hashtmpl.cc 2009-08-16 22:30:06.000000000 +0200 +@@ -362,7 +362,7 @@ + tmp += strcspn(key, WHITESPACE); + if (*tmp) *tmp++ = 0; //terminate the key and go on + value = tmp += strspn(tmp, WHITESPACE); +- if (!*value) switch ((int)no_data) { ++ if (!*value) switch ((long)no_data) { + /* + case DATA_EQUALS_KEY: value = key; break; + case DATA_OBLIGATORY: hash_shriek("No value specified in %s, line %d",filename,l); */ +--- src/interf.cc.orig 2009-08-16 22:39:44.000000000 +0200 ++++ src/interf.cc 2009-08-16 22:41:33.000000000 +0200 +@@ -64,7 +64,7 @@ + + charxlat *esctab = NULL; + +-int unused_variable; ++long unused_variable; + + void *xmall_ptr_holder; + +--- src/options.cc.orig 2009-08-16 22:09:37.000000000 +0200 ++++ src/options.cc 2009-08-16 22:12:01.000000000 +0200 +@@ -77,7 +77,7 @@ + } + } + +-#define LANGS_OFFSET ((int)&((configuration *)NULL)->langs) ++#define LANGS_OFFSET ((long)&((configuration *)NULL)->langs) + #define LANGS_LENGTH ((*cfg)->n_langs * sizeof(void *)) + + void cow_configuration(configuration **cfg) +@@ -538,7 +538,7 @@ + * The order of cowing cfg, lang and voice, is important. + */ + +-#define VOICES_OFFSET ((int)&((lang *)NULL)->voices) ++#define VOICES_OFFSET ((long)&((lang *)NULL)->voices) + #define VOICES_LENGTH (this_lang->n_voices * sizeof(void *)) + + bool set_option(option *o, const char *value) +--- src/options.lst.orig 2009-08-16 22:13:53.000000000 +0200 ++++ src/options.lst 2009-08-16 22:16:51.000000000 +0200 +@@ -112,7 +112,7 @@ + #define CHARSET O_CHARSET + #define DEBUG_AREA O_DBG_AREA + +-#define OPTION(member,name,type,default) {"C:" name + 2, type, OS_CFG, A_PUBLIC, A_PUBLIC, true, false, (int)&((configuration *)NULL)->member}, ++#define OPTION(member,name,type,default) {"C:" name + 2, type, OS_CFG, A_PUBLIC, A_PUBLIC, true, false, (long)&((configuration *)NULL)->member}, + + #define OPTIONAGGR(x) + #define OPTIONITEM(w,x,y,z) OPTION (w,x,y,z) +@@ -126,7 +126,7 @@ + #define LNG_OPTION(member,member_lang,name,type,default) OPTION(member,name,type,default) + + #define OPTIONARRAY(member, name, type, default, number) {"C:" name + 2, type, OS_CFG, \ +- A_PUBLIC, A_PUBLIC, true, true, (int)&((configuration *)NULL)->member}, ++ A_PUBLIC, A_PUBLIC, true, true, (long)&((configuration *)NULL)->member}, + #define LNG_OPTIONARRAY(member, name, type, default, number) \ + OPTIONARRAY(member, name, type, default, number) + +@@ -205,16 +205,16 @@ + #define OPTIONAGGRENDS + + // #define LNG_OPTIONAGGR(x) +-// #define LNG_OPTIONITEM(member,name,type,default) {"L:" name + 2, type, OS_LANG, A_PUBLIC, A_PUBLIC, true, false, (int)&((lang *)NULL)->member}, ++// #define LNG_OPTIONITEM(member,name,type,default) {"L:" name + 2, type, OS_LANG, A_PUBLIC, A_PUBLIC, true, false, (long)&((lang *)NULL)->member}, + // #define LNG_OPTIONAGGRENDS + + #define OPTION(w,x,y,z) +-#define VOICE_OPTION(member,member_voice,name,type,default) {"L:" name + 2, type, OS_LANG, A_PUBLIC, A_PUBLIC, true, false, (int)&((lang *)NULL)->member_voice}, +-#define LNG_OPTION(member,member_lang,name,type,default) {"L:" name + 2, type, OS_LANG, A_PUBLIC, A_PUBLIC, true, false, (int)&((lang *)NULL)->member_lang}, ++#define VOICE_OPTION(member,member_voice,name,type,default) {"L:" name + 2, type, OS_LANG, A_PUBLIC, A_PUBLIC, true, false, (long)&((lang *)NULL)->member_voice}, ++#define LNG_OPTION(member,member_lang,name,type,default) {"L:" name + 2, type, OS_LANG, A_PUBLIC, A_PUBLIC, true, false, (long)&((lang *)NULL)->member_lang}, + + #define OPTIONARRAY(member, name, type, default, number) + #define LNG_OPTIONARRAY(member, name, type, default, number) {"L:" name + 2, type, OS_LANG, \ +- A_PUBLIC, A_PUBLIC, true, true, (int)&((lang *)NULL)->member}, ++ A_PUBLIC, A_PUBLIC, true, true, (long)&((lang *)NULL)->member}, + + + #undef CONFIG_LANG_DESCRIBE +@@ -287,7 +287,7 @@ + // #define LNG_OPTIONITEM(w,x,y,z) OPTIONITEM(w,x,y,z) + // #define LNG_OPTIONAGGRENDS OPTIONAGGRENDS + +-#define VOICE_OPTION(member,member_voice,name,type,default) {"V:" name + 2, type, OS_VOICE, A_PUBLIC, A_PUBLIC, true, false, (int)&((voice *)NULL)->member_voice}, ++#define VOICE_OPTION(member,member_voice,name,type,default) {"V:" name + 2, type, OS_VOICE, A_PUBLIC, A_PUBLIC, true, false, (long)&((voice *)NULL)->member_voice}, + + #undef CONFIG_VOICE_DESCRIBE + +--- src/waveform.cc 2009-08-16 22:24:12.000000000 +0200 ++++ src/waveform.cc.orig 2009-08-16 22:22:42.000000000 +0200 +@@ -664,14 +664,14 @@ + inline char * + wavefm::get_ophase_buff(const w_ophase *p) + { +- char *tmp = (char *)this + (int)p->buff; ++ char *tmp = (char *)this + (long)p->buff; + return p->inlined ? tmp : *(char **)tmp; + } + + inline int + wavefm::get_ophase_len(const w_ophase *p) + { +- return (p->inlined ? (int)p->len : *(int *)((char *)this + (int)p->len)) + p->adjustment; ++ return (p->inlined ? (long)p->len : *(int *)((char *)this + (long)p->len)) + p->adjustment; + } + + inline bool |