On Tue, May 07, 2019 at 02:57:35PM -0400, Jeremie Courreges-Anglas wrote:
> On Mon, May 06 2019, Raphael Graf <r...@undefined.ch> wrote:
> > On Sun, May 05, 2019 at 01:46:48PM +0200, Jeremie Courreges-Anglas wrote:
> >> On Sun, May 05 2019, Raphael Graf <r...@undefined.ch> wrote:
> >> > Here is an update to hydrogen-0.9.7.
> >> >
> >> > Notable changes:
> >> > - Uses cmake instead of scons.
> >> > - There is a shared library and three additional command-line binaries.
> >> > - Enabled support for audio/ladspa plugins
> >> >
> >> > New features are listed here:
> >> > http://hydrogen-music.org/
> >> >
> >> > Comments/tests welcome.
> >> 
> >> Here's some nitpicking about the Makefile only.
> >> 
> >> > Index: Makefile
> >> > ===================================================================
> >> > RCS file: /cvs/ports/audio/hydrogen/Makefile,v
> >> > retrieving revision 1.25
> >> > diff -u -p -u -p -r1.25 Makefile
> >> > --- Makefile     8 Jan 2019 21:24:29 -0000       1.25
> >> > +++ Makefile     5 May 2019 10:55:31 -0000
> >> > @@ -1,58 +1,54 @@
> >> >  # $OpenBSD: Makefile,v 1.25 2019/01/08 21:24:29 sebastia Exp $
> >> >  
> >> > -COMMENT=                software drum machine
> >> > +COMMENT =               software drum machine
> >> 
> >> Please avoid gratuitous whitespace changes like this, it makes cvs blame
> >> less useful for no real gain.  If you really care for consistency I'd
> >> suggest to tweak the COMPILER line instead.
> >
> > Ok, I've removed the whitespace changes from the diff.
> 
> Thanks.
> 
> >> 
> >> > -DISTNAME=               hydrogen-0.9.5
> >> > -CATEGORIES=             audio
> >> > +DISTNAME =              hydrogen-0.9.7
> >> > +CATEGORIES =            audio
> >> >  
> >> > -HOMEPAGE=               http://www.hydrogen-music.org/
> >> > +HOMEPAGE =              http://www.hydrogen-music.org/
> >> > +
> >> > +SHARED_LIBS =           hydrogen-core-0.9.7     0.0
> >> 
> >> I'm not saying it's a problem in practice, but this library name looks
> >> suspicious...
> >
> > Yes, it is a strange name, I don't think it is a real problem though.
> > Something like the following could be done to change the name:
> >
> > pre-configure:
> >         sed -i 's,hydrogen-core-$${VERSION},hydrogen-core,g' \
> >                 ${WRKSRC}/src/*/CMakeLists.txt
> >
> > Do you think this is worthwhile?
> 
> No, I just found the naming weird.
> 
> >> 
> >> >  # GPLv2
> >> > -PERMIT_PACKAGE_CDROM=   Yes
> >> > +PERMIT_PACKAGE_CDROM =  Yes
> >> >  
> >> > -WANTLIB += ${COMPILER_LIBCXX} QtGui QtNetwork QtXml archive c
> >> > -WANTLIB += jack lrdf m ogg sndfile sndio
> >> > +WANTLIB += ${COMPILER_LIBCXX} QtGui QtNetwork QtXml QtXmlPatterns 
> >> > archive c
> >> > +WANTLIB += lrdf m sndfile sndio z
> >> >  
> >> > -MASTER_SITES=           ${MASTER_SITE_SOURCEFORGE:=hydrogen/}
> >> > +MASTER_SITES =          ${MASTER_SITE_SOURCEFORGE:=hydrogen/}
> >> >  
> >> >  COMPILER =              base-clang ports-gcc base-gcc
> >> >  
> >> > -LIB_DEPENDS=            audio/libsndfile \
> >> > -                        audio/flac \
> >> > -                        audio/jack \
> >> > +LIB_DEPENDS =           audio/libsndfile \
> >> >                          archivers/libarchive \
> >> >                          textproc/liblrdf
> >> >  
> >> > -RUN_DEPENDS=            devel/desktop-file-utils
> >> > +BUILD_DEPENDS =         audio/ladspa
> >> > +
> >> > +RUN_DEPENDS =           devel/desktop-file-utils
> >> >  
> >> > -MODULES=                x11/qt4 devel/scons
> >> > +MODULES =               devel/cmake x11/qt4
> >> 
> >> I would suggest splitting MODULES over multiple lines.
> >
> > done
> >
> >> 
> >> Note: looks like hydrogen-1.0.0 will support Qt5.
> >
> > Yes, I already have a (working but incomplete) diff for 1.0.0-beta1.
> > It will need some more work on the midi part to support the new
> > midi feedback feature. 
> 
> ack.  Ports-wise this update looks good, except for a hidden dep on
> cppunit, used to build src/tests/tests.
> 
> --8<--
> russell /usr/ports/pobj/hydrogen-0.9.7/build-amd64$ src/tests/tests
> QCoreApplication::applicationDirPath: Please instantiate the QApplication 
> object first
> assertion "__instance" failed: file 
> "/usr/ports/pobj/hydrogen-0.9.7/hydrogen-0.9.7/src/core/include/hydrogen/Preferences.h",
>  line 238, function "get_instance"
> Abort trap
> -->8--
> 
> So ok jca@ ports-wise if you add devel/cppunit to BUILD_DEPENDS (not
> TEST_DEPENDS).  Good luck if you want to fix tests. :)

Instead of adding the dependency on cppunit, we can also disable building the
tests by adding -DWANT_CPPUNIT=OFF to CONFIGURE_ARGS (diff below).
(I plan to enable the tests in the next update, they do work in 1.0.0-beta)

ok?

> 
> -- 
> jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE
> 
Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/hydrogen/Makefile,v
retrieving revision 1.25
diff -u -p -u -p -r1.25 Makefile
--- Makefile    8 Jan 2019 21:24:29 -0000       1.25
+++ Makefile    6 Jun 2019 20:16:12 -0000
@@ -2,57 +2,55 @@
 
 COMMENT=               software drum machine
 
-DISTNAME=              hydrogen-0.9.5
+DISTNAME=              hydrogen-0.9.7
 CATEGORIES=            audio
 
 HOMEPAGE=              http://www.hydrogen-music.org/
 
+SHARED_LIBS=           hydrogen-core-0.9.7     0.0
+
 # GPLv2
 PERMIT_PACKAGE_CDROM=  Yes
 
-WANTLIB += ${COMPILER_LIBCXX} QtGui QtNetwork QtXml archive c
-WANTLIB += jack lrdf m ogg sndfile sndio
+WANTLIB += ${COMPILER_LIBCXX} QtGui QtNetwork QtXml QtXmlPatterns archive c
+WANTLIB += lrdf m sndfile sndio z
 
 MASTER_SITES=          ${MASTER_SITE_SOURCEFORGE:=hydrogen/}
 
 COMPILER =             base-clang ports-gcc base-gcc
 
 LIB_DEPENDS=           audio/libsndfile \
-                       audio/flac \
-                       audio/jack \
                        archivers/libarchive \
                        textproc/liblrdf
 
+BUILD_DEPENDS=         audio/ladspa
+
 RUN_DEPENDS=           devel/desktop-file-utils
 
-MODULES=               x11/qt4 devel/scons
+MODULES=               devel/cmake \
+                       x11/qt4
 
-MAKE_ENV+=             QTDIR="${MODQT4_QTDIR}"
-MODSCONS_FLAGS=                localinc="-I${LOCALBASE}/include 
-I${X11BASE}/include" \
-                       locallib="-L${LOCALBASE}/lib -L${X11BASE}/lib -logg 
-lpthread" \
-                       optflags="${CXXFLAGS} " \
-                       libarchive="1" sndio="1" oss="0" alsa="0" portmidi="0" \
-                       portaudio="0" lash="0" lrdf="1"
+CONFIGURE_ENV=         LADSPA_PATH=${LOCALBASE}/lib/ladspa
+
+CONFIGURE_ARGS=                -DWANT_ALSA=OFF \
+                       -DWANT_CPPUNIT=OFF \
+                       -DWANT_DEBUG=OFF \
+                       -DWANT_JACK=OFF \
+                       -DWANT_JACKSESSION=OFF \
+                       -DWANT_LADSPA=ON \
+                       -DWANT_LRDF=ON \
+                       -DWANT_NSMSESSION=OFF \
+                       -DWANT_PORTAUDIO=OFF \
+                       -DWANT_PORTMIDI=OFF \
+                       -DWANT_PULSEAUDIO=OFF \
+                       -DWANT_SNDIO=ON
 
 NO_TEST=               Yes
 
 post-extract:
        cp ${FILESDIR}/Sndio{Audio,Midi}Driver.h \
-               ${FILESDIR}/sndio_{audio,midi}_driver.cpp \
-               ${WRKSRC}/libs/hydrogen/src/IO
-
-do-install:
-       ${INSTALL_PROGRAM} ${WRKBUILD}/hydrogen ${PREFIX}/bin
-       ${INSTALL_DATA_DIR} ${PREFIX}/share/applications
-       ${INSTALL_DATA} ${WRKBUILD}/hydrogen.desktop \
-               ${PREFIX}/share/applications
-       ${INSTALL_DATA_DIR} ${PREFIX}/share/pixmaps
-       ${INSTALL_DATA} ${WRKSRC}/data/img/gray/h2-icon.svg \
-               ${PREFIX}/share/pixmaps
-       ${INSTALL_DATA_DIR} ${PREFIX}/share/hydrogen
-       ${INSTALL_DATA_DIR} ${PREFIX}/share/hydrogen/data
-       #mv -f ${WRKSRC}/data/new_tutorial ${WRKDIR}
-       cd ${WRKSRC}/data && umask 022 && \
-               pax -rw . ${PREFIX}/share/hydrogen/data
+               ${WRKSRC}/src/core/include/hydrogen/IO
+       cp ${FILESDIR}/sndio_{audio,midi}_driver.cpp \
+               ${WRKSRC}/src/core/src/IO
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/audio/hydrogen/distinfo,v
retrieving revision 1.5
diff -u -p -u -p -r1.5 distinfo
--- distinfo    8 Jan 2019 21:24:29 -0000       1.5
+++ distinfo    6 Jun 2019 20:16:12 -0000
@@ -1,2 +1,2 @@
-SHA256 (hydrogen-0.9.5.tar.gz) = ljxz75EeyedYnlAtF987eU3QJ9fpmja1EVoLtROJ2cM=
-SIZE (hydrogen-0.9.5.tar.gz) = 5239702
+SHA256 (hydrogen-0.9.7.tar.gz) = zYNV6Qk9AwGDDmJf45+OI4usrdk+WlVsF1yLUG7UOCI=
+SIZE (hydrogen-0.9.7.tar.gz) = 6420359
Index: files/SndioAudioDriver.h
===================================================================
RCS file: /cvs/ports/audio/hydrogen/files/SndioAudioDriver.h,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 SndioAudioDriver.h
--- files/SndioAudioDriver.h    11 Jan 2010 05:11:32 -0000      1.1
+++ files/SndioAudioDriver.h    6 Jun 2019 20:16:12 -0000
@@ -20,7 +20,7 @@
 #include <hydrogen/IO/AudioOutput.h>
 #include <hydrogen/IO/NullDriver.h>
 
-#ifdef SNDIO_SUPPORT
+#ifdef H2CORE_HAVE_SNDIO
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -45,6 +45,7 @@ typedef int  (*audioProcessCallback)(uin
  */
 class SndioAudioDriver : public AudioOutput
 {
+       H2_OBJECT
 public:
        SndioAudioDriver(audioProcessCallback processCallback);
        ~SndioAudioDriver();
Index: files/SndioMidiDriver.h
===================================================================
RCS file: /cvs/ports/audio/hydrogen/files/SndioMidiDriver.h,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 SndioMidiDriver.h
--- files/SndioMidiDriver.h     11 Jan 2010 05:11:32 -0000      1.1
+++ files/SndioMidiDriver.h     6 Jun 2019 20:16:12 -0000
@@ -17,16 +17,18 @@
 #ifndef SNDIO_MIDI_DRIVER_H
 #define SNDIO_MIDI_DRIVER_H
 
-#ifdef SNDIO_SUPPORT
-
 #include <hydrogen/IO/MidiInput.h>
+
+#ifdef H2CORE_HAVE_SNDIO
+
 #include <sndio.h>
 
 namespace H2Core
 {
 
-class SndioMidiDriver : public MidiInput
+class SndioMidiDriver : public virtual MidiInput
 {
+       H2_OBJECT
 public:
        struct mio_hdl *hdl;
        bool m_bRunning;
Index: files/sndio_audio_driver.cpp
===================================================================
RCS file: /cvs/ports/audio/hydrogen/files/sndio_audio_driver.cpp,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 sndio_audio_driver.cpp
--- files/sndio_audio_driver.cpp        11 Jan 2010 05:11:32 -0000      1.1
+++ files/sndio_audio_driver.cpp        6 Jun 2019 20:16:12 -0000
@@ -14,17 +14,18 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-#include "SndioAudioDriver.h"
+#include "hydrogen/IO/SndioAudioDriver.h"
 
-#ifdef SNDIO_SUPPORT
-
-#include <hydrogen/Preferences.h>
+#ifdef H2CORE_HAVE_SNDIO
 
 #include <pthread.h>
+#include <hydrogen/Preferences.h>
 
 namespace H2Core
 {
 
+const char* SndioAudioDriver::__class_name = "SndioAudioDriver";
+
 audioProcessCallback sndioAudioDriver_audioProcessCallback;
 bool sndioAudioDriver_running;
 pthread_t sndioAudioDriverThread;
@@ -237,4 +238,4 @@ void SndioAudioDriver::setBpm(float fBPM
 
 };     /* namespace H2Core */
 
-#endif /* SNDIO_SUPPORT */
+#endif /* H2CORE_HAVE_SNDIO */
Index: files/sndio_midi_driver.cpp
===================================================================
RCS file: /cvs/ports/audio/hydrogen/files/sndio_midi_driver.cpp,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 sndio_midi_driver.cpp
--- files/sndio_midi_driver.cpp 8 Jan 2019 21:24:29 -0000       1.2
+++ files/sndio_midi_driver.cpp 6 Jun 2019 20:16:12 -0000
@@ -14,22 +14,24 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-#include "SndioMidiDriver.h"
+#include <hydrogen/IO/SndioMidiDriver.h>
 
-#include <hydrogen/Preferences.h>
-
-#ifdef SNDIO_SUPPORT
+#ifdef H2CORE_HAVE_SNDIO
 
 #include <poll.h>
 #include <pthread.h>
+#include <hydrogen/Preferences.h>
 
 namespace H2Core
 {
 
+const char* SndioMidiDriver::__class_name = "SndioMidiDriver";
+
 pthread_t SndioMidiDriverThread;
 
 void* SndioMidiDriver_thread( void* param )
 {
+       Object* __object = ( Object* )param;
        SndioMidiDriver *instance = ( SndioMidiDriver* )param;
        MidiMessage msg;
        struct pollfd pfd;
@@ -37,19 +39,19 @@ void* SndioMidiDriver_thread( void* para
        unsigned char buf[1], sysex_data[256], status = 0;
        int i, msglen, count = 0, sysex_len = 0;
 
-       _INFOLOG("SndioMidiDriver_thread starting");
+       __INFOLOG("SndioMidiDriver_thread starting");
 
        while (instance->m_bRunning) {
                nfds = mio_pollfd(instance->hdl, &pfd, POLLIN);
                if (poll(&pfd, nfds, 100) < 0) {
-                       _ERRORLOG("poll error; aborting midi thread");
+                       __ERRORLOG("poll error; aborting midi thread");
                        break;
                }
                if (!(mio_revents(instance->hdl, &pfd) & POLLIN))
                        continue;
 
                if (!mio_read(instance->hdl, buf, 1)) {
-                       _ERRORLOG("read error; aborting midi thread");
+                       __ERRORLOG("read error; aborting midi thread");
                        break;
                }
 
@@ -148,7 +150,7 @@ void* SndioMidiDriver_thread( void* para
 
                if (status == 0xf0) {
                        if (sysex_len > 255) {
-                               _ERRORLOG("already 256 bytes in midi sysex 
buffer!");
+                               __ERRORLOG("already 256 bytes in midi sysex 
buffer!");
                                continue;
                        }
                        sysex_data[sysex_len++] = buf[0];
@@ -175,7 +177,7 @@ void* SndioMidiDriver_thread( void* para
                instance->handleMidiMessage(msg);
        }
 
-       _INFOLOG("MIDI Thread DESTROY");
+       __INFOLOG("MIDI Thread DESTROY");
        pthread_exit(NULL);
        return NULL;
 }
@@ -259,4 +261,4 @@ std::vector<QString> SndioMidiDriver::ge
 
 };
 
-#endif // SNDIO_SUPPORT
+#endif // H2CORE_HAVE_SNDIO
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: patches/patch-CMakeLists_txt
diff -N patches/patch-CMakeLists_txt
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-CMakeLists_txt        6 Jun 2019 20:16:12 -0000
@@ -0,0 +1,49 @@
+$OpenBSD$
+
+Add sndio support
+
+Index: CMakeLists.txt
+--- CMakeLists.txt.orig
++++ CMakeLists.txt
+@@ -63,6 +63,7 @@ ELSE()
+       OPTION(WANT_OSS          "Include OSS (Open Sound System) support" OFF)
+ ENDIF()
+ 
++OPTION(WANT_SNDIO        "Include Sndio support" ON)
+ OPTION(WANT_ALSA         "Include ALSA (Advanced Linux Sound Architecture) 
support" ON)
+ IF(MINGW)
+       OPTION(WANT_JACK         "Include JACK (Jack Audio Connection Kit) 
support" ON)
+@@ -193,6 +194,7 @@ IF( WANT_LIBARCHIVE AND LIBARCHIVE_FOUND)
+     SET(WANT_LIBTAR FALSE)
+ ENDIF()
+ FIND_HELPER(LIBSNDFILE sndfile sndfile.h sndfile)
++INCLUDE_DIRECTORIES(${LIBSNDFILE_INCLUDE_DIR})
+ FIND_HELPER(ALSA alsa alsa/asoundlib.h asound )
+ FIND_LADSPA(LADSPA ladspa.h noise)
+ 
+@@ -204,6 +206,8 @@ ELSE()
+       FIND_HELPER(OSS oss sys/soundcard.h OSSlib )
+ ENDIF()
+ 
++FIND_HELPER(SNDIO sndio sndio.h sndio)
++
+ FIND_HELPER(JACK jack jack/jack.h jack)
+ CHECK_LIBRARY_EXISTS(jack jack_port_rename "" HAVE_JACK_PORT_RENAME)
+ FIND_HELPER(JACKSESSION jack jack/session.h jack)
+@@ -243,7 +247,7 @@ endif(DOXYGEN_FOUND)
+ #
+ # COMPUTE H2CORE_HAVE_xxx xxx_STATUS_REPORT
+ #
+-SET(STATUS_LIST LIBSNDFILE LIBTAR LIBARCHIVE LADSPA ALSA OSS JACK JACKSESSION 
NSMSESSION COREAUDIO COREMIDI PORTAUDIO PORTMIDI PULSEAUDIO LASH LRDF RAPTOR 
RUBBERBAND CPPUNIT )
++SET(STATUS_LIST LIBSNDFILE LIBTAR LIBARCHIVE LADSPA SNDIO ALSA OSS JACK 
JACKSESSION NSMSESSION COREAUDIO COREMIDI PORTAUDIO PORTMIDI PULSEAUDIO LASH 
LRDF RAPTOR RUBBERBAND CPPUNIT )
+ FOREACH( _pkg ${STATUS_LIST})
+     COMPUTE_PKGS_FLAGS(${_pkg})
+ ENDFOREACH()
+@@ -293,6 +297,7 @@ COLOR_MESSAGE("${cyan}Main librarires${reset}
+ 
+ COLOR_MESSAGE("${cyan}Supported audio interfaces${reset}
+ --------------------------
++* ${purple}SNDIO${reset}                        : ${SNDIO_STATUS}
+ * ${purple}ALSA${reset}                         : ${ALSA_STATUS}
+ * ${purple}OSS${reset}                          : ${OSS_STATUS}
+ * ${purple}JACK${reset}                         : ${JACK_STATUS}
Index: patches/patch-Sconstruct
===================================================================
RCS file: patches/patch-Sconstruct
diff -N patches/patch-Sconstruct
--- patches/patch-Sconstruct    8 Jan 2019 21:24:29 -0000       1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,103 +0,0 @@
-$OpenBSD: patch-Sconstruct,v 1.3 2019/01/08 21:24:29 sebastia Exp $
-Index: Sconstruct
---- Sconstruct.orig
-+++ Sconstruct
-@@ -47,19 +47,20 @@ def get_platform_flags( opts ):
- 
-       env = Environment( options = opts )
- 
--      if sys.platform == "linux2" or sys.platform == "darwin":
-+      if sys.platform == "linux2" or sys.platform == "darwin" or 
sys.platform.find('openbsd') != -1:
-               if str(env['debug']) == "1":
-                       cppflags += ['-Wall',  '-g2', '-ggdb', '-O0'] 
-                       for flag in env["optflags"].split(" "):
-                               cppflags.append(flag)
-                       
-               else:
--                      cppflags += ['-O3', '-fomit-frame-pointer', 
'-funroll-loops']
-+                      cppflags += ['-fomit-frame-pointer', '-funroll-loops']
-                       #cppflags += " %s" % get_optimized_flags( target_cpu )
-                       for flag in env["optflags"].split(" "):
-                               cppflags.append(flag)
-               
-               if str(env['oss']) == "1": cppflags.append('-DOSS_SUPPORT')
-+              if str(env['sndio']) == "1": cppflags.append('-DSNDIO_SUPPORT')
-               if str(env['alsa']) == "1": cppflags.append('-DALSA_SUPPORT')
-               if str(env['jack']) == "1": cppflags.append('-DJACK_SUPPORT')
-               if str(env['lash']) == "1": cppflags.append('-DLASH_SUPPORT')
-@@ -96,6 +97,12 @@ def get_platform_flags( opts ):
-               ldflags.append('-lasound')
-       #       ldflags.append('-lrubberband')
- 
-+      elif sys.platform.find('openbsd') != -1:
-+              for flag in env["localinc"].split(" "):
-+                      includes.append(flag)
-+              for flag in env["locallib"].split(" "):
-+                      ldflags.append(flag)
-+
-       elif sys.platform == "win32":
-               includes.append( '3rdparty\libsndfile-1_0_17' )
-               includes.append( 'build\pthreads\include' )
-@@ -167,8 +174,9 @@ def download_3rdparty_libs():
- def get_svn_revision():
-       
-       if sys.platform != "win32":
--              p = subprocess.Popen("svnversion -n", shell=True, 
stdout=subprocess.PIPE)
--              return p.stdout.read()
-+              return "openbsd ports build"
-+              #p = subprocess.Popen("svnversion -n", shell=True, 
stdout=subprocess.PIPE)
-+              #return p.stdout.read()
-       else:
-               return "win32 build"
- 
-@@ -271,6 +279,7 @@ def get_hydrogen_gui( lib_hydrogen , opts ):
-         if str(env['lrdf']) == "1": env.Append( LIBS = ["lrdf"] )
-       if str(env['jack']) == "1": env.Append( LIBS = ["jack"])
-       if str(env['alsa']) == "1": env.Append( LIBS = ["asound"])
-+      if str(env['sndio']) == "1": env.Append( LIBS = ["sndio"])
-       if str(env['libarchive']) == "1": env.Append( LIBS = ["archive"])
-       else: env.Append( LIBS = ["tar"])
-       if str(env['portaudio']) == "1": env.Append( LIBS = [ "portaudio" ] )
-@@ -340,6 +349,8 @@ opts.Add('libarchive', 'Set to 1 to enable libarchive 
- opts.Add('prefix','Default: /usr/local',"/usr/local")
- opts.Add('DESTDIR','Default: none',"")
- opts.Add('optflags','Default: none',"")
-+opts.Add('localinc','Default: none',"")
-+opts.Add('locallib','Default: none',"")
- opts.Add('gui','Set to 0 to disable the Gui',1)
- 
- #platform dependent settings
-@@ -357,6 +368,7 @@ if sys.platform == "darwin":
- 
- elif sys.platform != "win32":
-       opts.Add('oss', 'Set to 1 to enable oss',1)
-+        opts.Add('sndio', 'Set to 1 to enable sndio',1)
-       opts.Add('portmidi', 'Set to 1 to enable portmidi',0)
-       opts.Add('portaudio', 'Set to 1 to enable portaudio',0)
-       opts.Add('lash', 'Set to 1 to enable lash',0)
-@@ -364,7 +376,7 @@ elif sys.platform != "win32":
-       opts.Add('jack', 'Set to 1 to enable jack',1)   
-         opts.Add('lrdf', 'Set to 1 to enable lrdf',1)
- else:
--      #alsa, lash,oss and jack are not available on windows
-+      #alsa, lash,oss, jack and sndio are not available on windows
-       opts.Add('portmidi', 'Set to 1 to enable portmidi',1)
-       opts.Add('portaudio', 'Set to 1 to enable portaudio',1)
-       opts.Add('oss', 'Set to 1 to enable oss',0)
-@@ -458,7 +470,7 @@ print ""
- print "================================================================="
- print " Hydrogen build script"
- print ""
--print " Revision: %s" % get_svn_revision()
-+# print " Revision: %s" % get_svn_revision()
- print " Platform: %s" % platform
- 
- if str(env['debug']) == "1" :
-@@ -474,6 +486,7 @@ print "Feature Overview:\n"
- 
- print "      lash: " + printStatus( env["lash"] )
- print "      oss: " + printStatus( env["oss"] )
-+print "      sndio: " + printStatus( env["sndio"] )
- print "      alsa: " + printStatus( env["alsa"] )
- print "      jack: " + printStatus( env["jack"] )
- print "libarchive: " + printStatus( env["libarchive"] ) 
Index: patches/patch-data_hydrogen_default_conf
===================================================================
RCS file: /cvs/ports/audio/hydrogen/patches/patch-data_hydrogen_default_conf,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 patch-data_hydrogen_default_conf
--- patches/patch-data_hydrogen_default_conf    8 Jan 2019 21:24:29 -0000       
1.3
+++ patches/patch-data_hydrogen_default_conf    6 Jun 2019 20:16:12 -0000
@@ -1,8 +1,11 @@
 $OpenBSD: patch-data_hydrogen_default_conf,v 1.3 2019/01/08 21:24:29 sebastia 
Exp $
+
+Set default to SndioAudio/SndioMidi
+
 Index: data/hydrogen.default.conf
 --- data/hydrogen.default.conf.orig
 +++ data/hydrogen.default.conf
-@@ -30,7 +30,7 @@
+@@ -31,7 +31,7 @@
        <lastNews>-</lastNews>
  
        <audio_engine>
@@ -11,7 +14,7 @@ Index: data/hydrogen.default.conf
                <use_metronome>false</use_metronome>
                <metronome_volume>0.5</metronome_volume>
                <maxNotes>256</maxNotes>
-@@ -41,6 +41,10 @@
+@@ -42,6 +42,10 @@
                        <ossDevice>/dev/dsp</ossDevice>
                </oss_driver>
  
@@ -22,7 +25,7 @@ Index: data/hydrogen.default.conf
                <jack_driver>
                        <jack_port_name_1>alsa_pcm:playback_1</jack_port_name_1>
                        <jack_port_name_2>alsa_pcm:playback_2</jack_port_name_2>
-@@ -55,7 +59,7 @@
+@@ -56,7 +60,7 @@
                </alsa_audio_driver>
  
                <midi_driver>
Index: patches/patch-features_pri
===================================================================
RCS file: patches/patch-features_pri
diff -N patches/patch-features_pri
--- patches/patch-features_pri  8 Jan 2019 21:24:29 -0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-$OpenBSD: patch-features_pri,v 1.2 2019/01/08 21:24:29 sebastia Exp $
-Index: features.pri
---- features.pri.orig
-+++ features.pri
-@@ -30,6 +30,7 @@ linux-g++ {
-       H2DEFINES += LADSPA_SUPPORT
-       H2DEFINES += LRDF_SUPPORT
-       H2DEFINES += OSS_SUPPORT
-+      H2DEFINES += SNDIO_SUPPORT
- }
- 
- linux-g++-64 {
-@@ -39,6 +40,7 @@ linux-g++-64 {
-       H2DEFINES += LADSPA_SUPPORT
-       H2DEFINES += LRDF_SUPPORT
-       H2DEFINES += OSS_SUPPORT
-+      H2DEFINES += SNDIO_SUPPORT
- }
- 
- win32 {
Index: patches/patch-gui_src_MainForm_cpp
===================================================================
RCS file: patches/patch-gui_src_MainForm_cpp
diff -N patches/patch-gui_src_MainForm_cpp
--- patches/patch-gui_src_MainForm_cpp  8 Jan 2019 21:24:29 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,22 +0,0 @@
-$OpenBSD: patch-gui_src_MainForm_cpp,v 1.1 2019/01/08 21:24:29 sebastia Exp $
-
-Index: gui/src/MainForm.cpp
---- gui/src/MainForm.cpp.orig
-+++ gui/src/MainForm.cpp
-@@ -21,6 +21,7 @@
-  */
- #include "version.h"
- 
-+#include "unistd.h"
- 
- #include <hydrogen/hydrogen.h>
- #include <hydrogen/playlist.h>
-@@ -1392,7 +1393,7 @@ bool MainForm::eventFilter( QObject *o, QEvent *e )
-                       float pan_L = 1.0;
-                       float pan_R = 1.0;
- 
--                      engine->addRealtimeNote (row, velocity, pan_L, pan_R, 
NULL, NULL, NULL , row + 36);
-+                      engine->addRealtimeNote (row, velocity, pan_L, pan_R, 
0.0, NULL, NULL , row + 36);
- 
-                       return TRUE; // eat event
-               }
Index: patches/patch-gui_src_PreferencesDialog_cpp
===================================================================
RCS file: patches/patch-gui_src_PreferencesDialog_cpp
diff -N patches/patch-gui_src_PreferencesDialog_cpp
--- patches/patch-gui_src_PreferencesDialog_cpp 8 Jan 2019 21:24:29 -0000       
1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,101 +0,0 @@
-$OpenBSD: patch-gui_src_PreferencesDialog_cpp,v 1.2 2019/01/08 21:24:29 
sebastia Exp $
-Index: gui/src/PreferencesDialog.cpp
---- gui/src/PreferencesDialog.cpp.orig
-+++ gui/src/PreferencesDialog.cpp
-@@ -63,6 +63,7 @@ PreferencesDialog::PreferencesDialog(QWidget* parent)
-       driverComboBox->addItem( "ALSA" );
-       driverComboBox->addItem( "OSS" );
-       driverComboBox->addItem( "PortAudio" );
-+      driverComboBox->addItem( "SndioAudio" );
- #ifdef Q_OS_MACX
-       driverComboBox->addItem( "CoreAudio" );
- #endif
-@@ -84,9 +85,12 @@ PreferencesDialog::PreferencesDialog(QWidget* parent)
-       else if ( sAudioDriver == "PortAudio" ) {
-               driverComboBox->setCurrentIndex(4);
-       }
--      else if ( sAudioDriver == "CoreAudio" ) {
-+      else if ( sAudioDriver == "SndioAudio" ) {
-               driverComboBox->setCurrentIndex(5);
-       }
-+      else if ( sAudioDriver == "CoreAudio" ) {
-+              driverComboBox->setCurrentIndex(6);
-+      }
-       else {
-               ERRORLOG( "Unknown audio driver from preferences [" + 
sAudioDriver + "]" );
-       }
-@@ -95,6 +99,7 @@ PreferencesDialog::PreferencesDialog(QWidget* parent)
-       m_pMidiDriverComboBox->clear();
-       m_pMidiDriverComboBox->addItem( "ALSA" );
-       m_pMidiDriverComboBox->addItem( "PortMidi" );
-+      m_pMidiDriverComboBox->addItem( "SndioMidi" );
-       m_pMidiDriverComboBox->addItem( "CoreMidi" );
- 
-       if ( pPref->m_sMidiDriver == "ALSA" ) {
-@@ -103,9 +108,12 @@ PreferencesDialog::PreferencesDialog(QWidget* parent)
-       else if ( pPref->m_sMidiDriver == "PortMidi" ) {
-               m_pMidiDriverComboBox->setCurrentIndex(1);
-       }
--      else if ( pPref->m_sMidiDriver == "CoreMidi" ) {
-+      else if ( pPref->m_sMidiDriver == "SndioMidi" ) {
-               m_pMidiDriverComboBox->setCurrentIndex(2);
-       }
-+      else if ( pPref->m_sMidiDriver == "CoreMidi" ) {
-+              m_pMidiDriverComboBox->setCurrentIndex(3);
-+      }
-       else {
-               ERRORLOG( "Unknown midi input from preferences [" + 
pPref->m_sMidiDriver + "]" );
-       }
-@@ -308,6 +316,10 @@ void PreferencesDialog::on_okBtn_clicked()
-       else if (driverComboBox->currentText() == "PortAudio" ) {
-               pPref->m_sAudioDriver = "PortAudio";
-       }
-+      else if (driverComboBox->currentText() == "SndioAudio" ) {
-+              pPref->m_sAudioDriver = "SndioAudio";
-+              pPref->m_sSndioDevice = m_pAudioDeviceTxt->text();
-+      }
-       else if (driverComboBox->currentText() == "CoreAudio" ) {
-               pPref->m_sAudioDriver = "CoreAudio";
-       }
-@@ -355,6 +367,9 @@ void PreferencesDialog::on_okBtn_clicked()
-       else if ( m_pMidiDriverComboBox->currentText() == "PortMidi" ) {
-               pPref->m_sMidiDriver = "PortMidi";
-       }
-+      else if ( m_pMidiDriverComboBox->currentText() == "SndioMidi" ) {
-+              pPref->m_sMidiDriver = "SndioMidi";
-+      }
-       else if ( m_pMidiDriverComboBox->currentText() == "CoreMidi" ) {
-               pPref->m_sMidiDriver = "CoreMidi";
-       }
-@@ -457,6 +472,11 @@ void PreferencesDialog::updateDriverInfo()
-       bPortAudio_support = true;
-       #endif
- 
-+      bool bSndio_support = false;
-+      #ifdef SNDIO_SUPPORT
-+      bSndio_support = true;
-+      #endif
-+
-       bool bCoreAudio_support = false;
-       #ifdef COREAUDIO_SUPPORT
-       bCoreAudio_support = true;
-@@ -506,6 +526,19 @@ void PreferencesDialog::updateDriverInfo()
-               }
-               m_pAudioDeviceTxt->setEnabled(true);
-               m_pAudioDeviceTxt->setText( pPref->m_sAlsaAudioDevice );
-+              bufferSizeSpinBox->setEnabled(true);
-+              sampleRateComboBox->setEnabled(true);
-+              trackOutputComboBox->setEnabled( false );
-+              trackOutsCheckBox->setEnabled( false );
-+              connectDefaultsCheckBox->setEnabled(false);
-+      }
-+      else if ( driverComboBox->currentText() == "SndioAudio" ) {
-+              info += trUtf8("<b>sndio</b><br>audio driver");
-+              if ( !bSndio_support ) {
-+                      info += trUtf8("<br><b><font color=\"red\">Not 
compiled</font></b>");
-+              }
-+              m_pAudioDeviceTxt->setEnabled(true);
-+              m_pAudioDeviceTxt->setText( pPref->m_sSndioDevice );
-               bufferSizeSpinBox->setEnabled(true);
-               sampleRateComboBox->setEnabled(true);
-               trackOutputComboBox->setEnabled( false );
Index: patches/patch-gui_src_SongEditor_SongEditor_cpp
===================================================================
RCS file: patches/patch-gui_src_SongEditor_SongEditor_cpp
diff -N patches/patch-gui_src_SongEditor_SongEditor_cpp
--- patches/patch-gui_src_SongEditor_SongEditor_cpp     11 Jan 2010 05:11:32 
-0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-gui_src_SongEditor_SongEditor_cpp,v 1.1 2010/01/11 05:11:32 
jakemsr Exp $
---- gui/src/SongEditor/SongEditor.cpp.orig     Fri Dec 11 23:01:59 2009
-+++ gui/src/SongEditor/SongEditor.cpp  Fri Dec 11 23:02:38 2009
-@@ -20,6 +20,8 @@
-  *
-  */
- 
-+#include <unistd.h>
-+
- #include <assert.h>
- #include <algorithm>
- #include <memory>
Index: patches/patch-gui_src_main_cpp
===================================================================
RCS file: patches/patch-gui_src_main_cpp
diff -N patches/patch-gui_src_main_cpp
--- patches/patch-gui_src_main_cpp      8 Jan 2019 21:24:29 -0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-$OpenBSD: patch-gui_src_main_cpp,v 1.2 2019/01/08 21:24:29 sebastia Exp $
-Index: gui/src/main.cpp
---- gui/src/main.cpp.orig
-+++ gui/src/main.cpp
-@@ -265,6 +265,9 @@ int main(int argc, char *argv[])
-               if (sSelectedDriver == "auto") {
-                       pPref->m_sAudioDriver = "Auto";
-               }
-+              else if (sSelectedDriver == "sndio") {
-+                      pPref->m_sAudioDriver = "SndioAudio";
-+              }
-               else if (sSelectedDriver == "jack") {
-                       pPref->m_sAudioDriver = "Jack";
-               }
-@@ -441,7 +444,7 @@ void showInfo()
- void showUsage()
- {
-       std::cout << "Usage: hydrogen [-v] [-h] -s file" << std::endl;
--      std::cout << "   -d, --driver AUDIODRIVER - Use the selected audio 
driver (jack, alsa, oss)" << std::endl;
-+      std::cout << "   -d, --driver AUDIODRIVER - Use the selected audio 
driver (jack, alsa, oss, sndio)" << std::endl;
-       std::cout << "   -s, --song FILE - Load a song (*.h2song) at startup" 
<< std::endl;
-       std::cout << "   -p, --playlist FILE - Load a playlist (*.h2playlist) 
at startup" << std::endl;
-       std::cout << "   -k, --kit drumkit_name - Load a drumkit at startup" << 
std::endl;
Index: patches/patch-libs_hydrogen_include_hydrogen_Preferences_h
===================================================================
RCS file: patches/patch-libs_hydrogen_include_hydrogen_Preferences_h
diff -N patches/patch-libs_hydrogen_include_hydrogen_Preferences_h
--- patches/patch-libs_hydrogen_include_hydrogen_Preferences_h  8 Jan 2019 
21:24:29 -0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-libs_hydrogen_include_hydrogen_Preferences_h,v 1.2 2019/01/08 
21:24:29 sebastia Exp $
-Index: libs/hydrogen/include/hydrogen/Preferences.h
---- libs/hydrogen/include/hydrogen/Preferences.h.orig
-+++ libs/hydrogen/include/hydrogen/Preferences.h
-@@ -203,6 +203,9 @@ class Preferences : public Object (public)
-       //___ oss driver properties ___
-       QString m_sOSSDevice;           ///< Device used for output
- 
-+      //___ sndio driver properties ___
-+      QString m_sSndioDevice;         ///< Device used for output
-+
-       //___ MIDI Driver properties
-       QString m_sMidiDriver;
-       QString m_sMidiPortName;
Index: patches/patch-libs_hydrogen_src_hydrogen_cpp
===================================================================
RCS file: patches/patch-libs_hydrogen_src_hydrogen_cpp
diff -N patches/patch-libs_hydrogen_src_hydrogen_cpp
--- patches/patch-libs_hydrogen_src_hydrogen_cpp        8 Jan 2019 21:24:29 
-0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,55 +0,0 @@
-$OpenBSD: patch-libs_hydrogen_src_hydrogen_cpp,v 1.2 2019/01/08 21:24:29 
sebastia Exp $
-Index: libs/hydrogen/src/hydrogen.cpp
---- libs/hydrogen/src/hydrogen.cpp.orig
-+++ libs/hydrogen/src/hydrogen.cpp
-@@ -69,6 +69,8 @@
- #include <hydrogen/playlist.h>
- 
- #include "IO/OssDriver.h"
-+#include "IO/SndioAudioDriver.h"
-+#include "IO/SndioMidiDriver.h"
- #include "IO/FakeDriver.h"
- #include "IO/AlsaAudioDriver.h"
- #include "IO/PortAudioDriver.h"
-@@ -1554,6 +1556,12 @@ AudioOutput* createDriver( const QString& sDriver )
-                       delete pDriver;
-                       pDriver = NULL;
-               }
-+      } else if ( sDriver == "SndioAudio" ) {
-+              pDriver = new SndioAudioDriver( audioEngine_process );
-+              if ( pDriver->get_class_name() == "NullDriver" ) {
-+                      delete pDriver;
-+                      pDriver = NULL;
-+              }
-       } else if ( sDriver == "Jack" ) {
-               pDriver = new JackOutput( audioEngine_process );
-               if ( pDriver->get_class_name() == "NullDriver" ) {
-@@ -1641,6 +1649,7 @@ void audioEngine_startAudioDrivers()
-       QString sAudioDriver = preferencesMng->m_sAudioDriver;
- //    sAudioDriver = "Auto";
-       if ( sAudioDriver == "Auto" ) {
-+          if ( ( m_pAudioDriver = createDriver( "SndioAudio" ) ) == NULL ) {
-               if ( ( m_pAudioDriver = createDriver( "Jack" ) ) == NULL ) {
-                       if ( ( m_pAudioDriver = createDriver( "Alsa" ) ) == 
NULL ) {
-                               if ( ( m_pAudioDriver = createDriver( 
"CoreAudio" ) ) == NULL ) {
-@@ -1658,6 +1667,7 @@ void audioEngine_startAudioDrivers()
-                               }
-                       }
-               }
-+          }
-       } else {
-               m_pAudioDriver = createDriver( sAudioDriver );
-               if ( m_pAudioDriver == NULL ) {
-@@ -1677,6 +1687,12 @@ void audioEngine_startAudioDrivers()
-               AlsaMidiDriver *alsaMidiDriver = new AlsaMidiDriver();
-               m_pMidiDriverOut = alsaMidiDriver;
-               m_pMidiDriver = alsaMidiDriver;
-+              m_pMidiDriver->open();
-+              m_pMidiDriver->setActive( true );
-+#endif
-+      } else if ( preferencesMng->m_sMidiDriver == "SndioMidi" ) {
-+#ifdef SNDIO_SUPPORT
-+              m_pMidiDriver = new SndioMidiDriver();
-               m_pMidiDriver->open();
-               m_pMidiDriver->setActive( true );
- #endif
Index: patches/patch-libs_hydrogen_src_local_file_mgr_cpp
===================================================================
RCS file: patches/patch-libs_hydrogen_src_local_file_mgr_cpp
diff -N patches/patch-libs_hydrogen_src_local_file_mgr_cpp
--- patches/patch-libs_hydrogen_src_local_file_mgr_cpp  8 Jan 2019 21:24:29 
-0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,53 +0,0 @@
-$OpenBSD: patch-libs_hydrogen_src_local_file_mgr_cpp,v 1.2 2019/01/08 21:24:29 
sebastia Exp $
-
-Index: libs/hydrogen/src/local_file_mgr.cpp
---- libs/hydrogen/src/local_file_mgr.cpp.orig
-+++ libs/hydrogen/src/local_file_mgr.cpp
-@@ -297,7 +297,7 @@ int LocalFileMng::savePattern( Song *song , int select
- 
-       QFile file( sPatternXmlFilename );
-       if ( !file.open(QIODevice::WriteOnly) )
--              return NULL;
-+              return 0;
- 
-       QTextStream TextStream( &file );
-       doc.save( TextStream, 1 );
-@@ -917,7 +917,7 @@ int LocalFileMng::saveDrumkit( Drumkit *info )
-       
-       QFile file( sDrumkitXmlFilename );
-       if ( !file.open(QIODevice::WriteOnly) )
--              return NULL;
-+              return 0;
- 
-       QTextStream TextStream( &file );
-       doc.save( TextStream, 1 );
-@@ -963,7 +963,7 @@ int LocalFileMng::savePlayList( const std::string& pat
-       QString filename = QString( patternname.c_str() );
-       QFile file(filename);
-       if ( !file.open(QIODevice::WriteOnly) )
--              return NULL;
-+              return 0;
- 
-       QTextStream TextStream( &file );
-       doc.save( TextStream, 1 );
-@@ -980,9 +980,9 @@ int LocalFileMng::loadPlayList( const std::string& pat
-       
-       std::string playlistInfoFile = patternname;
-       std::ifstream verify( playlistInfoFile.c_str() , std::ios::in | 
std::ios::binary );
--      if ( verify == NULL ) {
-+      if ( !verify ) {
-               //ERRORLOG( "Load Playlist: Data file " + playlistInfoFile + " 
not found." );
--              return NULL;
-+              return 1;
-       }
- 
-       QDomDocument doc = LocalFileMng::openXmlDocument( QString( 
patternname.c_str() ) );
-@@ -992,7 +992,7 @@ int LocalFileMng::loadPlayList( const std::string& pat
-       QDomNode rootNode = doc.firstChildElement( "playlist" );        // root 
element
-       if ( rootNode.isNull() ) {
-               ERRORLOG( "Error reading playlist: playlist node not found" );
--              return NULL;
-+              return 1;
-       }
-       QDomNode playlistNode = rootNode.firstChildElement( "Songs" );
- 
Index: patches/patch-libs_hydrogen_src_preferences_cpp
===================================================================
RCS file: patches/patch-libs_hydrogen_src_preferences_cpp
diff -N patches/patch-libs_hydrogen_src_preferences_cpp
--- patches/patch-libs_hydrogen_src_preferences_cpp     8 Jan 2019 21:24:29 
-0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,65 +0,0 @@
-$OpenBSD: patch-libs_hydrogen_src_preferences_cpp,v 1.2 2019/01/08 21:24:29 
sebastia Exp $
-Index: libs/hydrogen/src/preferences.cpp
---- libs/hydrogen/src/preferences.cpp.orig
-+++ libs/hydrogen/src/preferences.cpp
-@@ -183,7 +183,7 @@ Preferences::Preferences()
-       m_patternCategories.push_back( QString("not_categorized") );
- 
-       //___ audio engine properties ___
--      m_sAudioDriver = QString("Auto");
-+      m_sAudioDriver = QString("SndioAudio");
-       m_bUseMetronome = false;
-       m_fMetronomeVolume = 0.5;
-       m_nMaxNotes = 256;
-@@ -193,8 +193,11 @@ Preferences::Preferences()
-       //___ oss driver properties ___
-       m_sOSSDevice = QString("/dev/dsp");
- 
-+      //___ SndioAudio driver properties ___
-+      m_sSndioDevice = QString("");
-+
-       //___ MIDI Driver properties
--      m_sMidiDriver = QString("ALSA");
-+      m_sMidiDriver = QString("SndioMidi");
-       m_sMidiPortName = QString("None");
-       m_nMidiChannelFilter = -1;
-       m_bMidiNoteOffIgnore = false;
-@@ -484,6 +487,15 @@ void Preferences::loadPreferences( bool bGlobal )
-                                       m_sOSSDevice = 
LocalFileMng::readXmlString( ossDriverNode, "ossDevice", m_sOSSDevice );
-                               }
- 
-+                              //// SNDIO AUDIO DRIVER ////
-+                              QDomNode sndioAudioDriverNode = 
audioEngineNode.firstChildElement( "sndio_driver" );
-+                              if ( sndioAudioDriverNode.isNull() ) {
-+                                      WARNINGLOG( "sndio_driver node not 
found" );
-+                                      recreate = true;
-+                              } else {
-+                                      m_sSndioDevice = 
LocalFileMng::readXmlString( sndioAudioDriverNode, "sndioDevice", 
m_sSndioDevice );
-+                              }
-+
-                               //// JACK DRIVER ////
-                               QDomNode jackDriverNode = 
audioEngineNode.firstChildElement( "jack_driver" );
-                               if ( jackDriverNode.isNull() ) {
-@@ -530,7 +542,7 @@ void Preferences::loadPreferences( bool bGlobal )
-                                       WARNINGLOG( "midi_driver node not 
found" );
-                                       recreate = true;
-                               } else {
--                                      m_sMidiDriver = 
LocalFileMng::readXmlString( midiDriverNode, "driverName", "ALSA" );
-+                                      m_sMidiDriver = 
LocalFileMng::readXmlString( midiDriverNode, "driverName", "SndioMidi" );
-                                       m_sMidiPortName = 
LocalFileMng::readXmlString( midiDriverNode, "port_name", "None" );
-                                       m_nMidiChannelFilter = 
LocalFileMng::readXmlInt( midiDriverNode, "channel_filter", -1 );
-                                       m_bMidiNoteOffIgnore = 
LocalFileMng::readXmlBool( midiDriverNode, "ignore_note_off", true );
-@@ -830,6 +842,13 @@ void Preferences::savePreferences()
-                       LocalFileMng::writeXmlString( ossDriverNode, 
"ossDevice", m_sOSSDevice );
-               }
-               audioEngineNode.appendChild( ossDriverNode );
-+
-+              //// SNDIO DRIVER ////
-+              QDomNode sndioAudioDriverNode = doc.createElement( 
"sndio_driver" );
-+              {
-+                       LocalFileMng::writeXmlString( sndioAudioDriverNode, 
"sndioDevice", m_sSndioDevice );
-+              }
-+              audioEngineNode.appendChild( sndioAudioDriverNode );
- 
-               //// JACK DRIVER ////
-               QDomNode jackDriverNode = doc.createElement( "jack_driver" );
Index: patches/patch-qt4_py
===================================================================
RCS file: patches/patch-qt4_py
diff -N patches/patch-qt4_py
--- patches/patch-qt4_py        20 Jul 2011 15:30:32 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-qt4_py,v 1.2 2011/07/20 15:30:32 sthen Exp $
---- qt4.py.orig        Sat Aug  8 12:35:13 2009
-+++ qt4.py     Wed Jul 20 16:29:16 2011
-@@ -444,7 +444,7 @@ def enable_modules(self, modules, debug=False, crossco
-               try : self.AppendUnique(CPPDEFINES=moduleDefines[module])
-               except: pass
-       debugSuffix = ''
--      if sys.platform == "linux2" and not crosscompiling :
-+      if sys.platform == "linux2" or sys.platform.find('openbsd') != -1 and 
not crosscompiling :
-               if debug : debugSuffix = '_debug'
-               for module in modules :
-                       if module not in pclessModules : continue
Index: patches/patch-src_core_CMakeLists_txt
===================================================================
RCS file: patches/patch-src_core_CMakeLists_txt
diff -N patches/patch-src_core_CMakeLists_txt
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_core_CMakeLists_txt       6 Jun 2019 20:16:12 -0000
@@ -0,0 +1,33 @@
+$OpenBSD$
+
+Add sndio include_directories, do not install headers
+
+Index: src/core/CMakeLists.txt
+--- src/core/CMakeLists.txt.orig
++++ src/core/CMakeLists.txt
+@@ -13,6 +13,7 @@ INCLUDE_DIRECTORIES( include
+     ${LIBTAR_INCLUDE_DIR}
+     ${LIBARCHIVE_INCLUDE_DIR}
+     ${LIBSNDFILE_INCLUDE_DIR}
++    ${SNDIO_INCLUDE_DIR}
+     ${ALSA_INCLUDE_DIR}
+     ${OSS_INCLUDE_DIR}
+     ${JACK_INCLUDE_DIR}
+@@ -34,6 +35,7 @@ TARGET_LINK_LIBRARIES(hydrogen-core-${VERSION}
+     ${LIBTAR_LIBRARIES}
+     ${LIBARCHIVE_LIBRARIES}
+     ${LIBSNDFILE_LIBRARIES}
++    ${SNDIO_LIBRARIES}
+     ${ALSA_LIBRARIES}
+     ${OSS_LIBRARIES}
+     ${JACK_LIBRARIES}
+@@ -60,9 +62,3 @@ INSTALL(TARGETS hydrogen-core-${VERSION}
+     # do not copy directory hierarchy
+     #PUBLIC_HEADER DESTINATION include/hydrogen
+ )
+-
+-IF(NOT APPPLE AND NOT WIN32)
+-    INSTALL(DIRECTORY include DESTINATION "${CMAKE_INSTALL_PREFIX}" 
FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE)
+-    INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/include/hydrogen/config.h" 
DESTINATION "${CMAKE_INSTALL_PREFIX}/include/hydrogen" )
+-ENDIF()
+-
Index: patches/patch-src_core_include_hydrogen_Preferences_h
===================================================================
RCS file: patches/patch-src_core_include_hydrogen_Preferences_h
diff -N patches/patch-src_core_include_hydrogen_Preferences_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_core_include_hydrogen_Preferences_h       6 Jun 2019 
20:16:12 -0000
@@ -0,0 +1,17 @@
+$OpenBSD$
+
+Add sndio support
+
+Index: src/core/include/hydrogen/Preferences.h
+--- src/core/include/hydrogen/Preferences.h.orig
++++ src/core/include/hydrogen/Preferences.h
+@@ -202,6 +202,9 @@ class Preferences : public H2Core::Object (public)
+       //      OSS driver properties ___
+       QString                         m_sOSSDevice;           ///< Device 
used for output
+ 
++      //      SNDIO driver properties ___
++      QString                         m_sSndioDevice;         ///< Device 
used for output
++
+       //      MIDI Driver properties
+       QString                         m_sMidiDriver;
+       QString                         m_sMidiPortName;
Index: patches/patch-src_core_include_hydrogen_config_h_in
===================================================================
RCS file: patches/patch-src_core_include_hydrogen_config_h_in
diff -N patches/patch-src_core_include_hydrogen_config_h_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_core_include_hydrogen_config_h_in 6 Jun 2019 20:16:12 
-0000
@@ -0,0 +1,17 @@
+$OpenBSD$
+
+Add sndio support
+
+Index: src/core/include/hydrogen/config.h.in
+--- src/core/include/hydrogen/config.h.in.orig
++++ src/core/include/hydrogen/config.h.in
+@@ -45,6 +45,9 @@
+ #ifndef H2CORE_HAVE_LIBARCHIVE
+ #cmakedefine H2CORE_HAVE_LIBARCHIVE
+ #endif
++#ifndef H2CORE_HAVE_SNDIO
++#cmakedefine H2CORE_HAVE_SNDIO
++#endif
+ #ifndef H2CORE_HAVE_OSS
+ #cmakedefine H2CORE_HAVE_OSS
+ #endif
Index: patches/patch-src_core_src_hydrogen_cpp
===================================================================
RCS file: patches/patch-src_core_src_hydrogen_cpp
diff -N patches/patch-src_core_src_hydrogen_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_core_src_hydrogen_cpp     6 Jun 2019 20:16:12 -0000
@@ -0,0 +1,62 @@
+$OpenBSD$
+
+Add sndio support
+
+Index: src/core/src/hydrogen.cpp
+--- src/core/src/hydrogen.cpp.orig
++++ src/core/src/hydrogen.cpp
+@@ -89,6 +89,8 @@
+ #include <hydrogen/IO/PortMidiDriver.h>
+ #include <hydrogen/IO/CoreAudioDriver.h>
+ #include <hydrogen/IO/PulseAudioDriver.h>
++#include <hydrogen/IO/SndioAudioDriver.h>
++#include <hydrogen/IO/SndioMidiDriver.h>
+ 
+ namespace H2Core
+ {
+@@ -1392,7 +1394,13 @@ AudioOutput* createDriver( const QString& sDriver )
+       Preferences *pPref = Preferences::get_instance();
+       AudioOutput *pDriver = NULL;
+ 
+-      if ( sDriver == "Oss" ) {
++      if ( sDriver == "SndioAudio" ) {
++              pDriver = new SndioAudioDriver( audioEngine_process );
++              if ( pDriver->class_name() == NullDriver::class_name() ) {
++                      delete pDriver;
++                      pDriver = NULL;
++              }
++      } else if ( sDriver == "Oss" ) {
+               pDriver = new OssDriver( audioEngine_process );
+               if ( pDriver->class_name() == NullDriver::class_name() ) {
+                       delete pDriver;
+@@ -1491,6 +1499,7 @@ void audioEngine_startAudioDrivers()
+       QString sAudioDriver = preferencesMng->m_sAudioDriver;
+       if ( sAudioDriver == "Auto" ) {
+       #ifndef WIN32
++              if ( ( m_pAudioDriver = createDriver( "SndioAudio" ) ) == NULL 
) {
+               if ( ( m_pAudioDriver = createDriver( "Jack" ) ) == NULL ) {
+                       if ( ( m_pAudioDriver = createDriver( "Alsa" ) ) == 
NULL ) {
+                               if ( ( m_pAudioDriver = createDriver( 
"CoreAudio" ) ) == NULL ) {
+@@ -1510,6 +1519,7 @@ void audioEngine_startAudioDrivers()
+                               }
+                       }
+               }
++              }
+       #else
+               //On Windows systems, use PortAudio is the prioritized backend
+               if ( ( m_pAudioDriver = createDriver( "PortAudio" ) ) == NULL ) 
{
+@@ -1545,7 +1555,13 @@ void audioEngine_startAudioDrivers()
+               }
+       }
+ 
+-      if ( preferencesMng->m_sMidiDriver == "ALSA" ) {
++      if ( preferencesMng->m_sMidiDriver == "SndioMidi" ) {        
++#ifdef H2CORE_HAVE_SNDIO
++              m_pMidiDriver = new SndioMidiDriver();
++              m_pMidiDriver->open();
++              m_pMidiDriver->setActive( true );
++#endif
++      } else if ( preferencesMng->m_sMidiDriver == "ALSA" ) {
+ #ifdef H2CORE_HAVE_ALSA
+               // Create MIDI driver
+               AlsaMidiDriver *alsaMidiDriver = new AlsaMidiDriver();
Index: patches/patch-src_core_src_preferences_cpp
===================================================================
RCS file: patches/patch-src_core_src_preferences_cpp
diff -N patches/patch-src_core_src_preferences_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_core_src_preferences_cpp  6 Jun 2019 20:16:12 -0000
@@ -0,0 +1,71 @@
+$OpenBSD$
+
+Add sndio support
+
+Index: src/core/src/preferences.cpp
+--- src/core/src/preferences.cpp.orig
++++ src/core/src/preferences.cpp
+@@ -182,11 +182,14 @@ Preferences::Preferences()
+       m_nBufferSize = 1024;
+       m_nSampleRate = 44100;
+ 
++      //___ SndioAudio driver properties ___
++      m_sSndioDevice = QString("");
++
+       //___ oss driver properties ___
+       m_sOSSDevice = QString("/dev/dsp");
+ 
+       //___ MIDI Driver properties
+-      m_sMidiDriver = QString("ALSA");
++      m_sMidiDriver = QString("SndioMidi");
+       m_sMidiPortName = QString("None");
+       m_nMidiChannelFilter = -1;
+       m_bMidiNoteOffIgnore = false;
+@@ -468,6 +471,16 @@ void Preferences::loadPreferences( bool bGlobal )
+                               m_nBufferSize = LocalFileMng::readXmlInt( 
audioEngineNode, "buffer_size", m_nBufferSize );
+                               m_nSampleRate = LocalFileMng::readXmlInt( 
audioEngineNode, "samplerate", m_nSampleRate );
+ 
++                              //// SNDIO DRIVER ////
++                              QDomNode sndioAudioDriverNode = 
audioEngineNode.firstChildElement( "sndio_driver" );
++                              if ( sndioAudioDriverNode.isNull()  ) {
++                                      WARNINGLOG( "sndio_driver node not 
found" );
++                                      recreate = true;
++                              } else {
++                                      m_sSndioDevice = 
LocalFileMng::readXmlString( sndioAudioDriverNode, "sndioDevice", 
m_sSndioDevice );
++                              }
++
++
+                               //// OSS DRIVER ////
+                               QDomNode ossDriverNode = 
audioEngineNode.firstChildElement( "oss_driver" );
+                               if ( ossDriverNode.isNull()  ) {
+@@ -477,6 +490,7 @@ void Preferences::loadPreferences( bool bGlobal )
+                                       m_sOSSDevice = 
LocalFileMng::readXmlString( ossDriverNode, "ossDevice", m_sOSSDevice );
+                               }
+ 
++
+                               //// JACK DRIVER ////
+                               QDomNode jackDriverNode = 
audioEngineNode.firstChildElement( "jack_driver" );
+                               if ( jackDriverNode.isNull() ) {
+@@ -523,7 +537,7 @@ void Preferences::loadPreferences( bool bGlobal )
+                                       WARNINGLOG( "midi_driver node not 
found" );
+                                       recreate = true;
+                               } else {
+-                                      m_sMidiDriver = 
LocalFileMng::readXmlString( midiDriverNode, "driverName", "ALSA" );
++                                      m_sMidiDriver = 
LocalFileMng::readXmlString( midiDriverNode, "driverName", "SndioMidi" );
+                                       m_sMidiPortName = 
LocalFileMng::readXmlString( midiDriverNode, "port_name", "None" );
+                                       m_nMidiChannelFilter = 
LocalFileMng::readXmlInt( midiDriverNode, "channel_filter", -1 );
+                                       m_bMidiNoteOffIgnore = 
LocalFileMng::readXmlBool( midiDriverNode, "ignore_note_off", true );
+@@ -830,6 +844,13 @@ void Preferences::savePreferences()
+               LocalFileMng::writeXmlString( audioEngineNode, "maxNotes", 
QString("%1").arg( m_nMaxNotes ) );
+               LocalFileMng::writeXmlString( audioEngineNode, "buffer_size", 
QString("%1").arg( m_nBufferSize ) );
+               LocalFileMng::writeXmlString( audioEngineNode, "samplerate", 
QString("%1").arg( m_nSampleRate ) );
++
++              //// SNDIO DRIVER ////
++              QDomNode sndioAudioDriverNode = doc.createElement( 
"sndio_driver" );
++              {
++                      LocalFileMng::writeXmlString( sndioAudioDriverNode, 
"sndioDevice", m_sSndioDevice );
++              }
++              audioEngineNode.appendChild( sndioAudioDriverNode );
+ 
+               //// OSS DRIVER ////
+               QDomNode ossDriverNode = doc.createElement( "oss_driver" );
Index: patches/patch-src_gui_src_PreferencesDialog_cpp
===================================================================
RCS file: patches/patch-src_gui_src_PreferencesDialog_cpp
diff -N patches/patch-src_gui_src_PreferencesDialog_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_gui_src_PreferencesDialog_cpp     6 Jun 2019 20:16:12 
-0000
@@ -0,0 +1,81 @@
+$OpenBSD$
+
+Add sndio support
+
+Index: src/gui/src/PreferencesDialog.cpp
+--- src/gui/src/PreferencesDialog.cpp.orig
++++ src/gui/src/PreferencesDialog.cpp
+@@ -64,6 +64,9 @@ PreferencesDialog::PreferencesDialog(QWidget* parent)
+ 
+       driverComboBox->clear();
+       driverComboBox->addItem( "Auto" );
++#ifdef H2CORE_HAVE_SNDIO
++      driverComboBox->addItem( "SndioAudio" );
++#endif
+ #ifdef H2CORE_HAVE_JACK
+       driverComboBox->addItem( "Jack" );
+ #endif
+@@ -95,6 +98,9 @@ PreferencesDialog::PreferencesDialog(QWidget* parent)
+ 
+ 
+       m_pMidiDriverComboBox->clear();
++#ifdef H2CORE_HAVE_SNDIO
++      m_pMidiDriverComboBox->addItem( "SndioMidi" );
++#endif
+ #ifdef H2CORE_HAVE_ALSA
+       m_pMidiDriverComboBox->addItem( "ALSA" );
+ #endif
+@@ -333,6 +339,9 @@ void PreferencesDialog::on_okBtn_clicked()
+       if (driverComboBox->currentText() == "Auto" ) {
+               pPref->m_sAudioDriver = "Auto";
+       }
++      else if (driverComboBox->currentText() == "SndioAudio" ) {
++              pPref->m_sAudioDriver = "SndioAudio";
++      }
+       else if (driverComboBox->currentText() == "Jack" ) {
+               pPref->m_sAudioDriver = "Jack";
+       }
+@@ -394,7 +403,10 @@ void PreferencesDialog::on_okBtn_clicked()
+       // maxVoices
+       pPref->m_nMaxNotes = maxVoicesTxt->value();
+ 
+-      if ( m_pMidiDriverComboBox->currentText() == "ALSA" ) {
++      if ( m_pMidiDriverComboBox->currentText() == "SndioMidi" ) {
++              pPref->m_sMidiDriver = "SndioMidi";
++      }
++      else if ( m_pMidiDriverComboBox->currentText() == "ALSA" ) {
+               pPref->m_sMidiDriver = "ALSA";
+       }
+       else if ( m_pMidiDriverComboBox->currentText() == "PortMidi" ) {
+@@ -514,6 +526,11 @@ void PreferencesDialog::updateDriverInfo()
+       Preferences *pPref = Preferences::get_instance();
+       QString info;
+ 
++      bool bSndioAudio_support = false;
++#ifdef H2CORE_HAVE_SNDIO
++      bSndioAudio_support = true;
++#endif
++
+       bool bJack_support = false;
+ #ifdef H2CORE_HAVE_JACK
+       bJack_support = true;
+@@ -553,6 +570,19 @@ void PreferencesDialog::updateDriverInfo()
+               sampleRateComboBox->setEnabled( false );
+               trackOutputComboBox->setEnabled( false );
+               connectDefaultsCheckBox->setEnabled( false );
++      }
++      else if ( driverComboBox->currentText() == "SndioAudio" ) {
++              info += trUtf8("<b>SndioAudio Driver</b><br>");
++              if ( !bSndioAudio_support ) {
++                      info += trUtf8("<br><b><font color=\"red\">Not 
compiled</font></b>");
++              }
++              m_pAudioDeviceTxt->setEnabled(true);
++              m_pAudioDeviceTxt->setText("");
++              bufferSizeSpinBox->setEnabled(false);
++              sampleRateComboBox->setEnabled(false);
++              trackOutputComboBox->setEnabled( false );
++              trackOutsCheckBox->setEnabled( false );
++              connectDefaultsCheckBox->setEnabled(false);
+       }
+       else if ( driverComboBox->currentText() == "OSS" ) {    // OSS
+               info += trUtf8("<b>Open Sound System</b><br>Simple audio driver 
[/dev/dsp]");
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/audio/hydrogen/pkg/PLIST,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 PLIST
--- pkg/PLIST   8 Jan 2019 21:24:29 -0000       1.4
+++ pkg/PLIST   6 Jun 2019 20:16:12 -0000
@@ -1,5 +1,12 @@
-@comment $OpenBSD: PLIST,v 1.4 2019/01/08 21:24:29 sebastia Exp $
+@comment $OpenBSD: PLIST,v$
+@bin bin/h2cli
+@bin bin/h2player
+@bin bin/h2synth
 @bin bin/hydrogen
+@lib lib/libhydrogen-core-0.9.7.so.${LIBhydrogen-core-0.9.7_VERSION}
+@man man/man1/hydrogen.1
+share/appdata/
+share/appdata/hydrogen.appdata.xml
 share/applications/hydrogen.desktop
 share/hydrogen/
 share/hydrogen/data/
@@ -15,19 +22,21 @@ share/hydrogen/data/demo_songs/TR808kit-
 share/hydrogen/data/demo_songs/tutorial_georgyporgy.h2song
 share/hydrogen/data/doc/
 share/hydrogen/data/doc/Makefile
+share/hydrogen/data/doc/MidiInstrumentMapping.ods
 share/hydrogen/data/doc/README.DOCUMENTATION.txt
+share/hydrogen/data/doc/TODO
 share/hydrogen/data/doc/img/
 share/hydrogen/data/doc/img/AudioEngineInfoDialog.png
 share/hydrogen/data/doc/img/CreateNewPattern.png
-share/hydrogen/data/doc/img/Director.png
 share/hydrogen/data/doc/img/Downloading_SoundLibrary.png
 share/hydrogen/data/doc/img/DrumkitExport.png
 share/hydrogen/data/doc/img/DrumkitImport.png
 share/hydrogen/data/doc/img/DrumkitLoad.png
 share/hydrogen/data/doc/img/DrumkitSave.png
+share/hydrogen/data/doc/img/Export_song.png
 share/hydrogen/data/doc/img/FX_send_knobs.png
-share/hydrogen/data/doc/img/GUI_Sections.svg
 share/hydrogen/data/doc/img/GUI_Sections_0.9.5.png
+share/hydrogen/data/doc/img/GUI_Sections_0.9.5_v2.png
 share/hydrogen/data/doc/img/HearNewNotes.png
 share/hydrogen/data/doc/img/Hydrogen_0.9.5_gui.png
 share/hydrogen/data/doc/img/InstrumentMapping.png
@@ -43,6 +52,7 @@ share/hydrogen/data/doc/img/MainRecord.p
 share/hydrogen/data/doc/img/MainStop.png
 share/hydrogen/data/doc/img/MainToolbar.png
 share/hydrogen/data/doc/img/MainToolbar_V2.png
+share/hydrogen/data/doc/img/MainUI_tabbed.png
 share/hydrogen/data/doc/img/MeasureSettings.png
 share/hydrogen/data/doc/img/MidiIN_CPU.png
 share/hydrogen/data/doc/img/Midi_Actions.png
@@ -76,10 +86,13 @@ share/hydrogen/data/doc/img/PatternEdito
 share/hydrogen/data/doc/img/PatternEditor_DrumMode.png
 share/hydrogen/data/doc/img/PatternEditor_PianoMode.png
 share/hydrogen/data/doc/img/PreferencesAppearance.png
+share/hydrogen/data/doc/img/PreferencesAppearance_V2.png
 share/hydrogen/data/doc/img/PreferencesAudioSystem.png
 share/hydrogen/data/doc/img/PreferencesAudioSystem_V2.png
+share/hydrogen/data/doc/img/PreferencesAudioSystem_V3.png
 share/hydrogen/data/doc/img/PreferencesGeneral.png
 share/hydrogen/data/doc/img/PreferencesGeneral_V2.png
+share/hydrogen/data/doc/img/PreferencesGeneral_V3.png
 share/hydrogen/data/doc/img/PreferencesMidiSystem.png
 share/hydrogen/data/doc/img/PreferencesMidiSystem_V2.png
 share/hydrogen/data/doc/img/Rec_button.png
@@ -98,7 +111,6 @@ share/hydrogen/data/doc/img/SongLoop.png
 share/hydrogen/data/doc/img/SongOperations.png
 share/hydrogen/data/doc/img/SoundLibrary.png
 share/hydrogen/data/doc/img/Sound_Library_import.png
-share/hydrogen/data/doc/img/SoundlibraryHierarchy.svg
 share/hydrogen/data/doc/img/SoundlibraryHierarchy_V3.png
 share/hydrogen/data/doc/img/SoundlibraryHierarchy_V4.png
 share/hydrogen/data/doc/img/Tutorial2.h2song
@@ -142,7 +154,6 @@ share/hydrogen/data/doc/img/btn_updown.p
 share/hydrogen/data/doc/img/bypass_on.png
 share/hydrogen/data/doc/img/bypass_over.png
 share/hydrogen/data/doc/img/cpuload.png
-share/hydrogen/data/doc/img/director.png
 share/hydrogen/data/doc/img/downBtn_on.png
 share/hydrogen/data/doc/img/edit_off.png
 share/hydrogen/data/doc/img/fill_clear_pattern.png
@@ -181,6 +192,7 @@ share/hydrogen/data/doc/img/screenshot-d
 share/hydrogen/data/doc/img/showFX_on.png
 share/hydrogen/data/doc/img/showPeaks_on.png
 share/hydrogen/data/doc/img/songFuncBtn_on.png
+share/hydrogen/data/doc/img/stacked_mode_V3.png
 share/hydrogen/data/doc/img/tag_bar.png
 share/hydrogen/data/doc/img/tastiera.png
 share/hydrogen/data/doc/img/tempo_bar.png
@@ -199,33 +211,18 @@ share/hydrogen/data/doc/img_tutorial/Ver
 share/hydrogen/data/doc/img_tutorial/VerseAll.png
 share/hydrogen/data/doc/img_tutorial/VerseBridge.png
 share/hydrogen/data/doc/img_tutorial/VerseBridge_hh.png
-share/hydrogen/data/doc/infoSplash/
-share/hydrogen/data/doc/infoSplash/aboutLogo.png
-share/hydrogen/data/doc/infoSplash/news-070620.html
-share/hydrogen/data/doc/infoSplash/news-081104.html
-share/hydrogen/data/doc/man/
-share/hydrogen/data/doc/man/C/
-share/hydrogen/data/doc/man/ru/
 share/hydrogen/data/doc/manual.docbook
 share/hydrogen/data/doc/manual.html
 share/hydrogen/data/doc/manual.pot
-share/hydrogen/data/doc/manual_ca.html
 share/hydrogen/data/doc/manual_ca.po
 share/hydrogen/data/doc/manual_en.html
-share/hydrogen/data/doc/manual_es.html
 share/hydrogen/data/doc/manual_es.po
-share/hydrogen/data/doc/manual_fr.html
 share/hydrogen/data/doc/manual_fr.po
-share/hydrogen/data/doc/manual_it.html
 share/hydrogen/data/doc/manual_it.po
-share/hydrogen/data/doc/manual_nl.html
 share/hydrogen/data/doc/manual_nl.po
 share/hydrogen/data/doc/tutorial.docbook
 share/hydrogen/data/doc/tutorial.pot
-share/hydrogen/data/doc/tutorial_en.html
-share/hydrogen/data/doc/tutorial_fr.html
 share/hydrogen/data/doc/tutorial_fr.po
-share/hydrogen/data/doc/tutorial_it.html
 share/hydrogen/data/doc/tutorial_it.po
 share/hydrogen/data/drumkits/
 share/hydrogen/data/drumkits/GMkit/
@@ -267,7 +264,6 @@ share/hydrogen/data/drumkits/TR808Emulat
 share/hydrogen/data/drumkits/TR808EmulationKit/drumkit.xml
 share/hydrogen/data/emptySample.wav
 share/hydrogen/data/hydrogen.default.conf
-@comment share/hydrogen/data/hydrogen.default.conf.orig
 share/hydrogen/data/i18n/
 share/hydrogen/data/i18n/hydrogen.ca.qm
 share/hydrogen/data/i18n/hydrogen.ca.ts
@@ -275,10 +271,14 @@ share/hydrogen/data/i18n/hydrogen.cs.qm
 share/hydrogen/data/i18n/hydrogen.cs.ts
 share/hydrogen/data/i18n/hydrogen.de.qm
 share/hydrogen/data/i18n/hydrogen.de.ts
+share/hydrogen/data/i18n/hydrogen.el.qm
+share/hydrogen/data/i18n/hydrogen.el.ts
 share/hydrogen/data/i18n/hydrogen.es.qm
 share/hydrogen/data/i18n/hydrogen.es.ts
 share/hydrogen/data/i18n/hydrogen.fr.qm
 share/hydrogen/data/i18n/hydrogen.fr.ts
+share/hydrogen/data/i18n/hydrogen.gl.qm
+share/hydrogen/data/i18n/hydrogen.gl.ts
 share/hydrogen/data/i18n/hydrogen.hr.qm
 share/hydrogen/data/i18n/hydrogen.hr.ts
 share/hydrogen/data/i18n/hydrogen.hu_HU.qm
@@ -295,6 +295,8 @@ share/hydrogen/data/i18n/hydrogen.pt_BR.
 share/hydrogen/data/i18n/hydrogen.pt_BR.ts
 share/hydrogen/data/i18n/hydrogen.ru.qm
 share/hydrogen/data/i18n/hydrogen.ru.ts
+share/hydrogen/data/i18n/hydrogen.sr.qm
+share/hydrogen/data/i18n/hydrogen.sr.ts
 share/hydrogen/data/i18n/hydrogen.sv.qm
 share/hydrogen/data/i18n/hydrogen.sv.ts
 @comment share/hydrogen/data/i18n/stats.py
@@ -308,28 +310,18 @@ share/hydrogen/data/img/gray/audiFileBro
 share/hydrogen/data/img/gray/audiFileBrowser/go-up.png
 share/hydrogen/data/img/gray/audiFileBrowser/player_play.png
 share/hydrogen/data/img/gray/audiFileBrowser/player_stop.png
-share/hydrogen/data/img/gray/drumkitManager/
-share/hydrogen/data/img/gray/drumkitManager/background_options.png
-share/hydrogen/data/img/gray/drumkitManager/btn_export_off.png
-share/hydrogen/data/img/gray/drumkitManager/btn_export_on.png
-share/hydrogen/data/img/gray/drumkitManager/btn_export_over.png
-share/hydrogen/data/img/gray/drumkitManager/btn_import_off.png
-share/hydrogen/data/img/gray/drumkitManager/btn_import_on.png
-share/hydrogen/data/img/gray/drumkitManager/btn_import_over.png
-share/hydrogen/data/img/gray/drumkitManager/btn_new_off.png
-share/hydrogen/data/img/gray/drumkitManager/btn_new_on.png
-share/hydrogen/data/img/gray/drumkitManager/btn_new_over.png
-share/hydrogen/data/img/gray/drumkitManager/btn_save_off.png
-share/hydrogen/data/img/gray/drumkitManager/btn_save_on.png
-share/hydrogen/data/img/gray/drumkitManager/btn_save_over.png
-@comment share/hydrogen/data/img/gray/h2-icon.svg
-@comment share/hydrogen/data/img/gray/icon.svg
+share/hydrogen/data/img/gray/h2-icon.svg
+share/hydrogen/data/img/gray/icon.icns
+share/hydrogen/data/img/gray/icon.svg
 share/hydrogen/data/img/gray/icon16.png
 share/hydrogen/data/img/gray/icon24.png
 share/hydrogen/data/img/gray/icon32.png
 share/hydrogen/data/img/gray/icon48.png
 share/hydrogen/data/img/gray/icon64.png
 share/hydrogen/data/img/gray/instrumentEditor/
+share/hydrogen/data/img/gray/instrumentEditor/btn_dropdown_off.png
+share/hydrogen/data/img/gray/instrumentEditor/btn_dropdown_on.png
+share/hydrogen/data/img/gray/instrumentEditor/btn_dropdown_over.png
 share/hydrogen/data/img/gray/instrumentEditor/bypass_off.png
 share/hydrogen/data/img/gray/instrumentEditor/bypass_on.png
 share/hydrogen/data/img/gray/instrumentEditor/bypass_over.png
@@ -340,11 +332,13 @@ share/hydrogen/data/img/gray/instrumentE
 share/hydrogen/data/img/gray/instrumentEditor/editLayer_on.png
 share/hydrogen/data/img/gray/instrumentEditor/editLayer_over.png
 share/hydrogen/data/img/gray/instrumentEditor/instrumentTab.png
+share/hydrogen/data/img/gray/instrumentEditor/instrumentTab_new.png
 share/hydrogen/data/img/gray/instrumentEditor/instrumentTab_top.png
 share/hydrogen/data/img/gray/instrumentEditor/instrument_show_off.png
 share/hydrogen/data/img/gray/instrumentEditor/instrument_show_on.png
 share/hydrogen/data/img/gray/instrumentEditor/layerTab.png
 share/hydrogen/data/img/gray/instrumentEditor/layerTabnew.png
+share/hydrogen/data/img/gray/instrumentEditor/layerTabsupernew.png
 share/hydrogen/data/img/gray/instrumentEditor/library_show_off.png
 share/hydrogen/data/img/gray/instrumentEditor/library_show_on.png
 share/hydrogen/data/img/gray/instrumentEditor/loadLayer_off.png
@@ -387,6 +381,7 @@ share/hydrogen/data/img/gray/mixerPanel/
 share/hydrogen/data/img/gray/mixerPanel/bypass_off.png
 share/hydrogen/data/img/gray/mixerPanel/bypass_on.png
 share/hydrogen/data/img/gray/mixerPanel/bypass_over.png
+share/hydrogen/data/img/gray/mixerPanel/componentmixerline_background.png
 share/hydrogen/data/img/gray/mixerPanel/edit_off.png
 share/hydrogen/data/img/gray/mixerPanel/edit_on.png
 share/hydrogen/data/img/gray/mixerPanel/edit_over.png
@@ -431,6 +426,8 @@ share/hydrogen/data/img/gray/patternEdit
 share/hydrogen/data/img/gray/patternEditor/btn_dropdown_off.png
 share/hydrogen/data/img/gray/patternEditor/btn_dropdown_on.png
 share/hydrogen/data/img/gray/patternEditor/btn_dropdown_over.png
+share/hydrogen/data/img/gray/patternEditor/btn_drum_piano_off.png
+share/hydrogen/data/img/gray/patternEditor/btn_drum_piano_on.png
 share/hydrogen/data/img/gray/patternEditor/btn_hear_off.png
 share/hydrogen/data/img/gray/patternEditor/btn_hear_on.png
 share/hydrogen/data/img/gray/patternEditor/btn_mute_off.png
@@ -525,9 +522,11 @@ share/hydrogen/data/img/gray/playerContr
 share/hydrogen/data/img/gray/playerControlPanel/midiActivity_back.png
 share/hydrogen/data/img/gray/playerControlPanel/midiActivity_on.png
 share/hydrogen/data/img/gray/playerControlPanel/onoff.png
+share/hydrogen/data/img/gray/playerControlPanel/pattern_mode.png
 share/hydrogen/data/img/gray/playerControlPanel/playlist_background_Control.png
 share/hydrogen/data/img/gray/playerControlPanel/rubber_off.png
 share/hydrogen/data/img/gray/playerControlPanel/rubber_on.png
+share/hydrogen/data/img/gray/playerControlPanel/song_mode.png
 share/hydrogen/data/img/gray/playerControlPanel/statusLED_off.png
 share/hydrogen/data/img/gray/playerControlPanel/statusLED_on.png
 share/hydrogen/data/img/gray/preferencesDialog/
@@ -580,6 +579,8 @@ share/hydrogen/data/img/gray/waveDisplay
 share/hydrogen/data/img/gray/waveDisplay/detailsamplewavedisplay.png
 share/hydrogen/data/img/gray/waveDisplay/mainsamplewavedisplay.png
 share/hydrogen/data/img/gray/waveDisplay/targetsamplewavedisplay.png
+share/hydrogen/data/img/h2-icon.bmp
+share/hydrogen/data/img/h2-icon.ico
 @comment share/hydrogen/data/new_tutorial/
 @comment share/hydrogen/data/new_tutorial/img_tutorial/
 @comment share/hydrogen/data/new_tutorial/img_tutorial/Bridge1_4th.png
@@ -597,6 +598,7 @@ share/hydrogen/data/img/gray/waveDisplay
 @comment share/hydrogen/data/new_tutorial/img_tutorial/VerseBridge_hh.png
 @comment share/hydrogen/data/new_tutorial/img_tutorial/warn.png
 @comment share/hydrogen/data/new_tutorial/tutorial_en.html
-share/pixmaps/
-share/pixmaps/h2-icon.svg
+share/hydrogen/data/xsd/
+share/hydrogen/data/xsd/drumkit.xsd
+share/hydrogen/data/xsd/drumkit_pattern.xsd
 @tag update-desktop-database

Reply via email to