On Sun, Mar 10, 2019 at 08:06:59PM +0100, Jeremie Courreges-Anglas wrote: > On Sun, Mar 10 2019, Raphael Graf <r...@undefined.ch> wrote: > > The attached portmidi.tar.gz contains a port of the newest release from > > 2010. > > I've added very rudimentary and incomplete support for sndio, it's just > > enough > > for playing a midi track via audacity. The sndio stuff is in > > files/pm_sndio/. > > It is extremely simple compared to the alsa version (pm_linux). :) > > Please comments below, > > > Audacity can then use the shared portmidi library instead of the bundled > > version. The attached audacity.diff does that. > > It seems to work ok, I've tested midi playback in audacity using fluidsynth. > > I'm not sure I understand the rationale for all the changes contained in > the audacity diff, but it definitely looks like an improvement! Sadly > it doesn't apply any more, now that audacity has been updated to 2.3.1 > by Antoine.
Attached is an new diff for audacity 2.3.1. It works for me on amd64/i386, I couldn't test on other archs yet. I didn't manage to make it work without the do-gen step, mainly because some of the libs (e.g. FileDialog) where wrongly built as shared libs instead of static libs. Any help on improving the patches is welcome. > > > Any thoughts or comments? > > Regarding portmidi: > - SHARED_LIBS should start at 0.0 (if only because it tends to prove > that SHARED_LIBS is honored) > - java is still needed even if you don't include the pm_java subdir > and the jni lib is built unconditionally, this is bad for !(x86). > I think the easiest way to handle it is just to force-disable all > java-related stuff for now. > - what is the rationale for the .pc file? Do other distros provide it > and does audacity depend on it? Is "Version: 1.0" what the ecosystem > expect? The .pc file is not provided by other distros, but audacity depends on it. Building audacity with '-with-portmidi=system' probably never worked. (see this thread: https://sourceforge.net/p/audacity/mailman/message/36095045/) Of course, the .pc file should be upstreamed if possible.. You are right that "Version: 1.0" doesn't make any sense. In the attached tarball, i've changed it to "Version: 217".
portmidi.3.tgz
Description: application/tar-gz
Index: Makefile =================================================================== RCS file: /cvs/ports/audio/audacity/Makefile,v retrieving revision 1.58 diff -u -p -u -p -r1.58 Makefile --- Makefile 10 Mar 2019 11:45:50 -0000 1.58 +++ Makefile 12 Mar 2019 09:56:51 -0000 @@ -1,7 +1,5 @@ # $OpenBSD: Makefile,v 1.58 2019/03/10 11:45:50 ajacoutot Exp $ -BROKEN= missing portmidi support - COMMENT= free audio editor V= 2.3.1 @@ -16,35 +14,55 @@ HOMEPAGE= http://audacity.sourceforge.ne # GPLv2 PERMIT_PACKAGE_CDROM= Yes -# XXX WANTLIB - -COMPILER = base-clang ports-gcc base-gcc - -BUILD_DEPENDS= archivers/zip \ +WANTLIB += ${COMPILER_LIBCXX} FLAC FLAC++ ICE SDL2 SM SoundTouch +WANTLIB += X11 Xcomposite Xcursor Xdamage Xext Xfixes Xi Xinerama +WANTLIB += Xrandr Xrender Xxf86vm atk-1.0 atk-bridge-2.0 c cairo +WANTLIB += cairo-gobject epoxy expat ffi fontconfig freetype fribidi +WANTLIB += gdk-3 gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 +WANTLIB += graphite2 gthread-2.0 gtk-3 harfbuzz iconv id3tag intl +WANTLIB += jpeg m mad mspack notify ogg pango-1.0 pangocairo-1.0 +WANTLIB += pangoft2-1.0 pcre pixman-1 png16 portaudio portmidi +WANTLIB += samplerate sndfile sndio soxr tiff usbhid vorbis vorbisenc +WANTLIB += vorbisfile wx_baseu-3.0 wx_baseu_net-3.0 wx_baseu_xml-3.0 +WANTLIB += wx_gtk3u_adv-3.0 wx_gtk3u_core-3.0 wx_gtk3u_html-3.0 +WANTLIB += wx_gtk3u_qa-3.0 wx_gtk3u_xrc-3.0 xcb xcb-render xcb-shm +WANTLIB += z db jack + +COMPILER = base-clang ports-gcc base-gcc + +BUILD_DEPENDS= ${MODGNU_AUTOCONF_DEPENDS} \ + ${MODGNU_AUTOMAKE_DEPENDS} \ + archivers/zip \ devel/gettext-tools \ + devel/libtool \ shells/bash LIB_DEPENDS= x11/wxWidgets>=3.0.4 \ + audio/jack \ audio/libsoxr \ audio/flac \ audio/libvorbis \ audio/libid3tag \ audio/libmad \ audio/portaudio-svn>=1406p1 \ - audio/soundtouch \ - audio/taglib + audio/portmidi \ + audio/soundtouch # XXX libtool/ld(1) fail to find libvamp-hostsdk.so #LIB_DEPENDS+= audio/vamp-plugin-sdk>=2.2.1p0 RUN_DEPENDS= devel/desktop-file-utils \ - misc/shared-mime-info + misc/shared-mime-info \ + x11/gtk+3,-guic + +SEPARATE_BUILD= No USE_GMAKE= Yes +AUTOCONF_VERSION= 2.69 +AUTOMAKE_VERSION= 1.15 CONFIGURE_STYLE= gnu CONFIGURE_ENV= CC="${CC}" CXX="${CXX}" OBJCXX="${CXX}" \ - CPPFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include" \ + CPPFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include" ${CPPFLAGS} \ CFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include ${CFLAGS}" \ - LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib ${LDFLAGS}" -# Silence noisy warnings -CONFIGURE_ENV+= CXXFLAGS="-Wno-inconsistent-missing-override ${CXXFLAGS}" + LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib ${LDFLAGS}" \ + CXXFLAGS="-std=c++11 ${CXXFLAGS}" MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC} \ ${WRKSRC}/lib-src/lib-widget-extra \ @@ -64,12 +82,14 @@ CONFIGURE_ARGS= --enable-unicode \ --with-libmad=system \ --with-libflac=system \ --with-libid3tag=system \ + --with-midi=yes \ --with-portaudio=system \ + --with-portmidi=system \ --with-soundtouch=system \ --without-libtwolame \ --without-ffmpeg \ --without-redland \ - --without-slv2 \ + --without-lv2 \ --without-liblrdf \ --without-portmixer # XXX libtool/ld(1) fail to find libvamp-hostsdk.so @@ -79,12 +99,15 @@ WRKDIST= ${WRKDIR}/audacity-${DISTNAME} # Regression tests are in the source tarball but as of 2007, they have # not been updated for 3 years ; as they're completely out-of-sync with -# the ongoing development, there's no point in running them +# the ongoing development, there's no point in running them NO_TEST= Yes # dummy Makefile to disable portmixer post-extract: printf 'all:\ninstall:\n' > ${WRKSRC}/lib-src/portmixer/Makefile + +do-gen: + cd ${WRKSRC} && ${AUTOCONF_ENV} autoreconf -fi post-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/pixmaps Index: patches/patch-configure =================================================================== RCS file: patches/patch-configure diff -N patches/patch-configure --- patches/patch-configure 10 Mar 2019 11:45:50 -0000 1.19 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,33 +0,0 @@ -$OpenBSD: patch-configure,v 1.19 2019/03/10 11:45:50 ajacoutot Exp $ - -- force-disable check for Pa_GetStreamHostApiType, likely not needed - anyway. (Seems only used in portmixer, which we disable.) We want to - try to use audio/portaudio instead. - -Index: configure ---- configure.orig -+++ configure -@@ -19208,10 +19208,6 @@ if test x$enable_universal_binary = xyes; then - esac - fi - --if ($CXX --version | grep 'clang version' > /dev/null); then -- LDFLAGS="${LDFLAGS} -latomic" --fi -- - if test x$enable_sse = xyes; then - - if test "${ax_cv_cxx_compiler_vendor}" = "gnu"; then -@@ -22430,12 +22426,7 @@ fi - #include <portaudio.h> - - _ACEOF --if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "Pa_GetStreamHostApiType" >/dev/null 2>&1; then : - have_portaudio_support=yes --else -- have_portaudio_support=no --fi - rm -f conftest* - - Index: patches/patch-configure_ac =================================================================== RCS file: patches/patch-configure_ac diff -N patches/patch-configure_ac --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-configure_ac 12 Mar 2019 09:56:51 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ + +- do not use -latomic with clang + +Index: configure.ac +--- configure.ac.orig ++++ configure.ac +@@ -208,9 +208,6 @@ dnl Check if $CXX is clang by evaluating the version s + dnl $ax_cv_cxx_compiler_vendor seems not to work (it is either "gnu" or just empty). + dnl If $CXX is clang (string is found), grep returns 0 and the if is executed. + dnl Use /dev/null to suppress grep output to shell. +-if ($CXX --version | grep 'clang version' > /dev/null); then +- LDFLAGS="${LDFLAGS} -latomic" +-fi + + if test x$enable_sse = xyes; then + Index: patches/patch-lib-src_FileDialog_Makefile_am =================================================================== RCS file: patches/patch-lib-src_FileDialog_Makefile_am diff -N patches/patch-lib-src_FileDialog_Makefile_am --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-lib-src_FileDialog_Makefile_am 12 Mar 2019 09:56:51 -0000 @@ -0,0 +1,15 @@ +$OpenBSD$ + +- do not build a shared library + +Index: lib-src/FileDialog/Makefile.am +--- lib-src/FileDialog/Makefile.am.orig ++++ lib-src/FileDialog/Makefile.am +@@ -1,6 +1,6 @@ + ACLOCAL_AMFLAGS = -I m4 + +-lib_LTLIBRARIES = libFileDialog.la ++noinst_LTLIBRARIES = libFileDialog.la + + libFileDialog_la_LIBTOOLFLAGS = --tag=CXX + libFileDialog_la_CPPFLAGS = $(WX_CXXFLAGS) -Wno-deprecated-declarations Index: patches/patch-lib-src_lib-widget-extra_Makefile_am =================================================================== RCS file: patches/patch-lib-src_lib-widget-extra_Makefile_am diff -N patches/patch-lib-src_lib-widget-extra_Makefile_am --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-lib-src_lib-widget-extra_Makefile_am 12 Mar 2019 09:56:51 -0000 @@ -0,0 +1,16 @@ +$OpenBSD$ + +- do not build a shared library + +Index: lib-src/lib-widget-extra/Makefile.am +--- lib-src/lib-widget-extra/Makefile.am.orig ++++ lib-src/lib-widget-extra/Makefile.am +@@ -5,7 +5,7 @@ EXTRA_DIST = libwidgetextra.pc.in + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = libwidgetextra.pc + +-lib_LTLIBRARIES = libwidgetextra.la ++noinst_LTLIBRARIES = libwidgetextra.la + + libwidgetextra_la_CPPFLAGS = $(WX_CXXFLAGS) -Wno-deprecated-declarations + libwidgetextra_la_LIBADD = $(WX_LIBS) Index: patches/patch-lib-src_libnyquist_Makefile_in =================================================================== RCS file: patches/patch-lib-src_libnyquist_Makefile_in diff -N patches/patch-lib-src_libnyquist_Makefile_in --- patches/patch-lib-src_libnyquist_Makefile_in 6 Mar 2019 20:42:12 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,18 +0,0 @@ -$OpenBSD: patch-lib-src_libnyquist_Makefile_in,v 1.6 2019/03/06 20:42:12 ajacoutot Exp $ - -- don't use the bundled portaudio and sndfile libraries - -Index: lib-src/libnyquist/Makefile.in ---- lib-src/libnyquist/Makefile.in.orig -+++ lib-src/libnyquist/Makefile.in -@@ -466,8 +466,8 @@ target_alias = @target_alias@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --PORTAUDIO_CFLAGS = -I${srcdir}/../portaudio-v19/include --SNDFILE_CFLAGS = -I${builddir}/../libsndfile/src -+PORTAUDIO_CFLAGS = -+SNDFILE_CFLAGS = - - # tell aclocal that extra macros can be found in autotools/m4/ - ACLOCAL_AMFLAGS = -I autotools/m4 Index: patches/patch-lib-src_libnyquist_nyquist_xlisp_xlisp_h =================================================================== RCS file: /cvs/ports/audio/audacity/patches/patch-lib-src_libnyquist_nyquist_xlisp_xlisp_h,v retrieving revision 1.3 diff -u -p -u -p -r1.3 patch-lib-src_libnyquist_nyquist_xlisp_xlisp_h --- patches/patch-lib-src_libnyquist_nyquist_xlisp_xlisp_h 10 Mar 2019 11:45:50 -0000 1.3 +++ patches/patch-lib-src_libnyquist_nyquist_xlisp_xlisp_h 12 Mar 2019 09:56:51 -0000 @@ -1,4 +1,4 @@ -$OpenBSD: patch-lib-src_libnyquist_nyquist_xlisp_xlisp_h,v 1.3 2019/03/10 11:45:50 ajacoutot Exp $ +$OpenBSD: patch-lib-src_libnyquist_nyquist_xlisp_xlisp_h,v 1.2 2019/03/05 16:36:58 jca Exp $ - use endian.h and BYTE_ORDER (XXX hardcodes #define HAVE_ENDIAN_H 1) Index: patches/patch-lib-src_lv2_build =================================================================== RCS file: patches/patch-lib-src_lv2_build diff -N patches/patch-lib-src_lv2_build --- patches/patch-lib-src_lv2_build 5 Mar 2019 16:36:58 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,13 +0,0 @@ -$OpenBSD: patch-lib-src_lv2_build,v 1.1 2019/03/05 16:36:58 jca Exp $ - -- fix path to bash - -Index: lib-src/lv2/build ---- lib-src/lv2/build.orig -+++ lib-src/lv2/build -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/usr/bin/env bash - - srcdir=. - while [ $# -gt 0 ] Index: patches/patch-lib-src_lv2_configure =================================================================== RCS file: patches/patch-lib-src_lv2_configure diff -N patches/patch-lib-src_lv2_configure --- patches/patch-lib-src_lv2_configure 5 Mar 2019 16:36:58 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,55 +0,0 @@ -$OpenBSD: patch-lib-src_lv2_configure,v 1.1 2019/03/05 16:36:58 jca Exp $ - -- fix bashisms (script invoked with /bin/sh .../configure ...) -- no libdl on OpenBSD - -Index: lib-src/lv2/configure ---- lib-src/lv2/configure.orig -+++ lib-src/lv2/configure -@@ -1,13 +1,12 @@ --#!/bin/bash -+#!/bin/sh - - srcdir=. - while [ $# -gt 0 ] - do -- if [[ "$1" =~ --srcdir=.* ]] -- then -+ case $1 in --srcdir=*) - srcdir=${1#*=} -- break -- fi -+ ;; -+ esac - shift - done - -@@ -16,7 +15,7 @@ function waf - pkg="$1" - shift - mkdir -p ${pkg} -- pushd >/dev/null ${pkg} -+ (cd ${pkg} || exit 1 - - if [ ! -e "waflib" ] - then -@@ -32,8 +31,9 @@ function waf - done - - $(which python python2 | tail -1) waf --prefix="." --include="." $@ configure || exit 1 -- popd >/dev/null - -+) -+ - if [ "${pkg}" == "lv2" ] - then - eval $(sed -e '/^VERSION/!d;s/ //g;s/.*VERSION/version/' ${pkg}/wscript) -@@ -54,7 +54,7 @@ includedir=. - Name: ${pkg} - Version: ${version} - Description: Temporary fake config file --Libs: -L\${libdir} ${lib} -ldl -lm -+Libs: -L\${libdir} ${lib} -lm - Cflags: -I\${includedir}/${pkg}${major} - EOF - Index: patches/patch-lib-src_lv2_suil_src_x11_in_gtk2_c =================================================================== RCS file: patches/patch-lib-src_lv2_suil_src_x11_in_gtk2_c diff -N patches/patch-lib-src_lv2_suil_src_x11_in_gtk2_c --- patches/patch-lib-src_lv2_suil_src_x11_in_gtk2_c 5 Mar 2019 16:36:58 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -$OpenBSD: patch-lib-src_lv2_suil_src_x11_in_gtk2_c,v 1.1 2019/03/05 16:36:58 jca Exp $ - -- missing header - -Index: lib-src/lv2/suil/src/x11_in_gtk2.c ---- lib-src/lv2/suil/src/x11_in_gtk2.c.orig -+++ lib-src/lv2/suil/src/x11_in_gtk2.c -@@ -17,6 +17,7 @@ - #include <string.h> - - #include <gtk/gtk.h> -+#include <gtk/gtkx.h> - #include <gdk/gdkx.h> - - #include "./suil_internal.h" Index: patches/patch-lib-src_portmidi_porttime_ptlinux_c =================================================================== RCS file: patches/patch-lib-src_portmidi_porttime_ptlinux_c diff -N patches/patch-lib-src_portmidi_porttime_ptlinux_c --- patches/patch-lib-src_portmidi_porttime_ptlinux_c 5 Mar 2019 16:36:58 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,53 +0,0 @@ -$OpenBSD: patch-lib-src_portmidi_porttime_ptlinux_c,v 1.1 2019/03/05 16:36:58 jca Exp $ - -XXX test, maybe disable portmidi completely? - -- sys/timeb.h and ftime were removed from POSIX-2008 - -Index: lib-src/portmidi/porttime/ptlinux.c ---- lib-src/portmidi/porttime/ptlinux.c.orig -+++ lib-src/portmidi/porttime/ptlinux.c -@@ -31,14 +31,13 @@ CHANGE LOG - #include "porttime.h" - #include "sys/time.h" - #include "sys/resource.h" --#include "sys/timeb.h" - #include "pthread.h" - - #define TRUE 1 - #define FALSE 0 - - static int time_started_flag = FALSE; --static struct timeb time_offset = {0, 0, 0, 0}; -+static struct timespec time_offset = {0, 0}; - static pthread_t pt_thread_pid; - static int pt_thread_created = FALSE; - -@@ -79,7 +78,7 @@ static void *Pt_CallbackProc(void *p) - PtError Pt_Start(int resolution, PtCallback *callback, void *userData) - { - if (time_started_flag) return ptNoError; -- ftime(&time_offset); /* need this set before process runs */ -+ clock_gettime(CLOCK_MONOTONIC, &time_offset); /* need this set before process runs */ - if (callback) { - int res; - pt_callback_parameters *parms = (pt_callback_parameters *) -@@ -120,12 +119,12 @@ int Pt_Started() - - PtTimestamp Pt_Time() - { -- long seconds, milliseconds; -- struct timeb now; -- ftime(&now); -- seconds = now.time - time_offset.time; -- milliseconds = now.millitm - time_offset.millitm; -- return seconds * 1000 + milliseconds; -+ long seconds, nanoseconds; -+ struct timespec now; -+ clock_gettime(CLOCK_MONOTONIC, &now); -+ seconds = now.tv_sec - time_offset.tv_sec; -+ nanoseconds = now.tv_nsec - time_offset.tv_nsec; -+ return seconds * 1000 + nanoseconds / 1000000; - } - - Index: patches/patch-m4_audacity_checklib_portaudio_m4 =================================================================== RCS file: patches/patch-m4_audacity_checklib_portaudio_m4 diff -N patches/patch-m4_audacity_checklib_portaudio_m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-m4_audacity_checklib_portaudio_m4 12 Mar 2019 09:56:51 -0000 @@ -0,0 +1,18 @@ +$OpenBSD$ + +- force-disable check for Pa_GetStreamHostApiType, likely not needed + anyway. (Seems only used in portmixer, which we disable.) We want to + try to use audio/portaudio instead. + +Index: m4/audacity_checklib_portaudio.m4 +--- m4/audacity_checklib_portaudio.m4.orig ++++ m4/audacity_checklib_portaudio.m4 +@@ -16,7 +16,7 @@ AC_DEFUN([AUDACITY_CHECKLIB_PORTAUDIO], [ + + if test "$PORTAUDIO_SYSTEM_AVAILABLE" = "yes"; then + AC_EGREP_HEADER([Pa_GetStreamHostApiType], [portaudio.h], +- [have_portaudio_support=yes], [have_portaudio_support=no]) ++ [have_portaudio_support=yes], [have_portaudio_support=yes]) + + if test "$have_portaudio_support" = "yes"; then + PORTAUDIO_SYSTEM_AVAILABLE="yes" Index: patches/patch-src_AudioIO_cpp =================================================================== RCS file: /cvs/ports/audio/audacity/patches/patch-src_AudioIO_cpp,v retrieving revision 1.8 diff -u -p -u -p -r1.8 patch-src_AudioIO_cpp --- patches/patch-src_AudioIO_cpp 10 Mar 2019 11:45:50 -0000 1.8 +++ patches/patch-src_AudioIO_cpp 12 Mar 2019 09:56:51 -0000 @@ -1,40 +1,38 @@ -$OpenBSD: patch-src_AudioIO_cpp,v 1.8 2019/03/10 11:45:50 ajacoutot Exp $ +$OpenBSD: patch-src_AudioIO_cpp,v 1.7 2019/03/05 16:36:58 jca Exp $ -- PaUtil_GetTime is a private interface, not reachable when using system portaudio - CLOCK_MONOTONIC_RAW is not portable +- PaUtil_GetTime is a private interface, not reachable when using system portaudio Index: src/AudioIO.cpp --- src/AudioIO.cpp.orig +++ src/AudioIO.cpp -@@ -475,7 +475,6 @@ TimeTrack and AudioIOListener and whether the playback - #define ROUND(x) (int) ((x)+0.5) - //#include <string.h> - #include "../lib-src/portmidi/pm_common/portmidi.h" -- #include "../lib-src/portaudio-v19/src/common/pa_util.h" - #include "NoteTrack.h" - #endif - -@@ -793,13 +792,22 @@ struct AudioIoCallback::ScrubState (private) - // return the system time as a double - static double streamStartTime = 0; // bias system time to small number - -+// PaUtil_GetTime is an internal PortAudio function. Unfortunately -+// it's used twice in AudioIO.cpp. It's a simple function so just -+// provide the implementation here. -+static double PaUtil_GetTime(void) { -+ struct timespec tp; -+ clock_gettime(CLOCK_REALTIME, &tp); -+ return (double)(tp.tv_sec + tp.tv_nsec * 1e-9); -+} -+ +@@ -796,18 +796,15 @@ static double streamStartTime = 0; // bias system time static double SystemTime(bool usingAlsa) { #ifdef __WXGTK__ - if (usingAlsa) { +- if (usingAlsa) { ++ (void)usingAlsa; struct timespec now; // CLOCK_MONOTONIC_RAW is unaffected by NTP or adj-time - clock_gettime(CLOCK_MONOTONIC_RAW, &now); -+ clock_gettime(CLOCK_REALTIME, &now); ++ clock_gettime(CLOCK_MONOTONIC, &now); //return now.tv_sec + now.tv_nsec * 0.000000001; return (now.tv_sec + now.tv_nsec * 0.000000001) - streamStartTime; +- } + #else + static_cast<void>(usingAlsa);//compiler food. + #endif +- +- return PaUtil_GetTime() - streamStartTime; + } + #endif + +@@ -4716,7 +4713,7 @@ void AudioIoCallback::ComputeMidiTimings( } + + /* GSW: Save timeInfo in case MidiPlayback needs it */ +- mAudioCallbackClockTime = PaUtil_GetTime(); ++ mAudioCallbackClockTime = SystemTime(gAudioIO->mUsingAlsa); + + /* for Linux, estimate a smooth audio time as a slowly-changing + offset from system time */ Index: patches/patch-src_MemoryX_h =================================================================== RCS file: /cvs/ports/audio/audacity/patches/patch-src_MemoryX_h,v retrieving revision 1.2 diff -u -p -u -p -r1.2 patch-src_MemoryX_h --- patches/patch-src_MemoryX_h 10 Mar 2019 11:45:50 -0000 1.2 +++ patches/patch-src_MemoryX_h 12 Mar 2019 09:56:51 -0000 @@ -1,14 +1,13 @@ -$OpenBSD: patch-src_MemoryX_h,v 1.2 2019/03/10 11:45:50 ajacoutot Exp $ +$OpenBSD$ Index: src/MemoryX.h --- src/MemoryX.h.orig +++ src/MemoryX.h -@@ -628,7 +628,7 @@ make_iterator_range( const Container &container ) +@@ -628,7 +628,6 @@ make_iterator_range( const Container &container ) // For using std::unordered_map on wxString namespace std { - template<typename T> struct hash; -+// template<typename T> struct hash; template<> struct hash< wxString > { size_t operator () (const wxString &str) const // noexcept { Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/audio/audacity/pkg/PLIST,v retrieving revision 1.15 diff -u -p -u -p -r1.15 PLIST --- pkg/PLIST 1 Jul 2018 18:33:35 -0000 1.15 +++ pkg/PLIST 12 Mar 2019 09:56:51 -0000 @@ -1,11 +1,23 @@ @comment $OpenBSD: PLIST,v 1.15 2018/07/01 18:33:35 espie Exp $ @bin bin/audacity @man man/man1/audacity.1 +share/appdata/ +share/appdata/audacity.appdata.xml share/applications/audacity.desktop share/audacity/ -share/audacity/audacity.xpm +share/audacity/EQDefaultCurves.xml +share/audacity/include/ +share/audacity/include/audacity/ +share/audacity/include/audacity/ComponentInterface.h +share/audacity/include/audacity/ConfigInterface.h +share/audacity/include/audacity/EffectAutomationParameters.h +share/audacity/include/audacity/EffectInterface.h +share/audacity/include/audacity/ImporterInterface.h +share/audacity/include/audacity/ModuleInterface.h +share/audacity/include/audacity/PluginInterface.h +share/audacity/include/audacity/Types.h share/audacity/nyquist/ -share/audacity/nyquist/bug.lsp +share/audacity/nyquist/aud-do-support.lsp share/audacity/nyquist/dspprims.lsp share/audacity/nyquist/envelopes.lsp share/audacity/nyquist/equalizer.lsp @@ -16,9 +28,26 @@ share/audacity/nyquist/init.lsp share/audacity/nyquist/misc.lsp share/audacity/nyquist/nyinit.lsp share/audacity/nyquist/nyqmisc.lsp +share/audacity/nyquist/nyquist-plot.txt share/audacity/nyquist/nyquist.lsp share/audacity/nyquist/printrec.lsp share/audacity/nyquist/profile.lsp +share/audacity/nyquist/rawwaves/ +share/audacity/nyquist/rawwaves/mand1.raw +share/audacity/nyquist/rawwaves/mand10.raw +share/audacity/nyquist/rawwaves/mand11.raw +share/audacity/nyquist/rawwaves/mand12.raw +share/audacity/nyquist/rawwaves/mand2.raw +share/audacity/nyquist/rawwaves/mand3.raw +share/audacity/nyquist/rawwaves/mand4.raw +share/audacity/nyquist/rawwaves/mand5.raw +share/audacity/nyquist/rawwaves/mand6.raw +share/audacity/nyquist/rawwaves/mand7.raw +share/audacity/nyquist/rawwaves/mand8.raw +share/audacity/nyquist/rawwaves/mand9.raw +share/audacity/nyquist/rawwaves/mandpluk.raw +share/audacity/nyquist/rawwaves/marmstk1.raw +share/audacity/nyquist/rawwaves/sinewave.raw share/audacity/nyquist/sal-parse.lsp share/audacity/nyquist/sal.lsp share/audacity/nyquist/seq.lsp @@ -27,31 +56,58 @@ share/audacity/nyquist/seqmidi.lsp share/audacity/nyquist/sndfnint.lsp share/audacity/nyquist/stk.lsp share/audacity/nyquist/system.lsp +share/audacity/nyquist/test.lsp +share/audacity/nyquist/upic.sal +share/audacity/nyquist/velocity.lsp share/audacity/nyquist/xlinit.lsp share/audacity/nyquist/xm.lsp share/audacity/plug-ins/ share/audacity/plug-ins/SilenceMarker.ny +share/audacity/plug-ins/SoundFinder.ny +share/audacity/plug-ins/SpectralEditMulti.ny +share/audacity/plug-ins/SpectralEditParametricEQ.ny +share/audacity/plug-ins/SpectralEditShelves.ny +share/audacity/plug-ins/StudioFadeOut.ny +share/audacity/plug-ins/adjustable-fade.ny share/audacity/plug-ins/beat.ny -share/audacity/plug-ins/clicktrack.ny share/audacity/plug-ins/clipfix.ny -share/audacity/plug-ins/crossfadein.ny -share/audacity/plug-ins/crossfadeout.ny +share/audacity/plug-ins/crossfadeclips.ny +share/audacity/plug-ins/crossfadetracks.ny share/audacity/plug-ins/delay.ny share/audacity/plug-ins/equalabel.ny share/audacity/plug-ins/highpass.ny +share/audacity/plug-ins/limiter.ny share/audacity/plug-ins/lowpass.ny +share/audacity/plug-ins/notch.ny share/audacity/plug-ins/pluck.ny +share/audacity/plug-ins/rhythmtrack.ny share/audacity/plug-ins/rissetdrum.ny +share/audacity/plug-ins/rms.ny +share/audacity/plug-ins/sample-data-export.ny +share/audacity/plug-ins/sample-data-import.ny share/audacity/plug-ins/tremolo.ny +share/audacity/plug-ins/vocalrediso.ny share/audacity/plug-ins/vocalremover.ny share/audacity/plug-ins/vocoder.ny +share/doc/audacity/ +share/doc/audacity/LICENSE.txt +share/doc/audacity/README.txt +share/icons/hicolor/16x16/apps/audacity.png +share/icons/hicolor/22x22/apps/audacity.png +share/icons/hicolor/24x24/apps/audacity.png +share/icons/hicolor/32x32/apps/audacity.png +share/icons/hicolor/48x48/apps/audacity.png +share/icons/hicolor/scalable/apps/audacity.svg share/locale/af/LC_MESSAGES/audacity.mo share/locale/ar/LC_MESSAGES/audacity.mo +share/locale/be/LC_MESSAGES/audacity.mo share/locale/bg/LC_MESSAGES/audacity.mo share/locale/bn/LC_MESSAGES/audacity.mo share/locale/bs/LC_MESSAGES/audacity.mo share/locale/ca/LC_MESSAGES/audacity.mo -share/locale/ca@valencia/LC_MESSAGES/audacity.mo +share/locale/ca_ES@valencia/ +share/locale/ca_ES@valencia/LC_MESSAGES/ +share/locale/ca_ES@valencia/LC_MESSAGES/audacity.mo share/locale/cs/LC_MESSAGES/audacity.mo share/locale/cy/LC_MESSAGES/audacity.mo share/locale/da/LC_MESSAGES/audacity.mo @@ -59,13 +115,19 @@ share/locale/de/LC_MESSAGES/audacity.mo share/locale/el/LC_MESSAGES/audacity.mo share/locale/es/LC_MESSAGES/audacity.mo share/locale/eu/LC_MESSAGES/audacity.mo +share/locale/eu_ES/ +share/locale/eu_ES/LC_MESSAGES/ +share/locale/eu_ES/LC_MESSAGES/audacity.mo share/locale/fa/LC_MESSAGES/audacity.mo share/locale/fi/LC_MESSAGES/audacity.mo share/locale/fr/LC_MESSAGES/audacity.mo share/locale/ga/LC_MESSAGES/audacity.mo share/locale/gl/LC_MESSAGES/audacity.mo share/locale/he/LC_MESSAGES/audacity.mo +share/locale/hi/LC_MESSAGES/audacity.mo +share/locale/hr/LC_MESSAGES/audacity.mo share/locale/hu/LC_MESSAGES/audacity.mo +share/locale/hy/LC_MESSAGES/audacity.mo share/locale/id/LC_MESSAGES/audacity.mo share/locale/it/LC_MESSAGES/audacity.mo share/locale/ja/LC_MESSAGES/audacity.mo @@ -74,25 +136,39 @@ share/locale/km/LC_MESSAGES/audacity.mo share/locale/ko/LC_MESSAGES/audacity.mo share/locale/lt/LC_MESSAGES/audacity.mo share/locale/mk/LC_MESSAGES/audacity.mo +share/locale/my/LC_MESSAGES/audacity.mo share/locale/nb/LC_MESSAGES/audacity.mo share/locale/nl/LC_MESSAGES/audacity.mo share/locale/oc/LC_MESSAGES/audacity.mo share/locale/pl/LC_MESSAGES/audacity.mo -share/locale/pt/LC_MESSAGES/audacity.mo share/locale/pt_BR/LC_MESSAGES/audacity.mo +share/locale/pt_PT/ +share/locale/pt_PT/LC_MESSAGES/ +share/locale/pt_PT/LC_MESSAGES/audacity.mo share/locale/ro/LC_MESSAGES/audacity.mo share/locale/ru/LC_MESSAGES/audacity.mo share/locale/sk/LC_MESSAGES/audacity.mo share/locale/sl/LC_MESSAGES/audacity.mo +share/locale/sr_RS/ +share/locale/sr_RS/LC_MESSAGES/ +share/locale/sr_RS/LC_MESSAGES/audacity.mo +share/locale/sr_RS@latin/ +share/locale/sr_RS@latin/LC_MESSAGES/ +share/locale/sr_RS@latin/LC_MESSAGES/audacity.mo share/locale/sv/LC_MESSAGES/audacity.mo +share/locale/ta/LC_MESSAGES/audacity.mo share/locale/tg/LC_MESSAGES/audacity.mo share/locale/tr/LC_MESSAGES/audacity.mo share/locale/uk/LC_MESSAGES/audacity.mo share/locale/vi/LC_MESSAGES/audacity.mo -share/locale/zh/LC_MESSAGES/audacity.mo +share/locale/zh_CN/LC_MESSAGES/audacity.mo share/locale/zh_TW/LC_MESSAGES/audacity.mo share/mime/packages/audacity.xml share/pixmaps/ share/pixmaps/audacity.xpm @tag update-mime-database @tag update-desktop-database +share/pixmaps/audacity16.xpm +share/pixmaps/audacity32.xpm +share/pixmaps/gnome-mime-application-x-audacity-project.xpm +@tag gtk-update-icon-cache %D/share/icons/hicolor