diff -Nru qmidiarp-0.6.2/configure qmidiarp-0.6.3/configure --- qmidiarp-0.6.2/configure 2015-10-06 18:44:13.000000000 +0000 +++ qmidiarp-0.6.3/configure 2015-11-01 08:14:21.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for qmidiarp 0.6.2. +# Generated by GNU Autoconf 2.69 for qmidiarp 0.6.3. # # Report bugs to . # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='qmidiarp' PACKAGE_TARNAME='qmidiarp' -PACKAGE_VERSION='0.6.2' -PACKAGE_STRING='qmidiarp 0.6.2' +PACKAGE_VERSION='0.6.3' +PACKAGE_STRING='qmidiarp 0.6.3' PACKAGE_BUGREPORT='qmidiarp-devel@lists.sourceforge.net' PACKAGE_URL='' @@ -1415,7 +1415,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures qmidiarp 0.6.2 to adapt to many kinds of systems. +\`configure' configures qmidiarp 0.6.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1485,7 +1485,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of qmidiarp 0.6.2:";; + short | recursive ) echo "Configuration of qmidiarp 0.6.3:";; esac cat <<\_ACEOF @@ -1624,7 +1624,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -qmidiarp configure 0.6.2 +qmidiarp configure 0.6.3 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2168,7 +2168,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by qmidiarp $as_me 0.6.2, which was +It was created by qmidiarp $as_me 0.6.3, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3035,7 +3035,7 @@ # Define the identity of the package. PACKAGE='qmidiarp' - VERSION='0.6.2' + VERSION='0.6.3' cat >>confdefs.h <<_ACEOF @@ -18120,8 +18120,8 @@ -LIBS+=$LIBSsave -CFLAGS+=$CFLAGSsave +LIBS="$LIBS $LIBSsave" +CFLAGS="$CFLAGS $CFLAGSsave" if test "$loinclude_found" = "no" -o "libloWorks" = "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: cannot find a liblo component for building. Will build without nsm support." >&5 @@ -18239,7 +18239,7 @@ CFLAGSsave=$CFLAGS CFLAGS=$LV2_CFLAGS -CFLAGS+=$CFLAGSsave +CFLAGS="$CFLAGS $CFLAGSsave" if test $lv2include_found = "no" -o $lv2Works = "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: cannot find an lv2 component for building. Will not build LV2 plugins." >&5 @@ -18642,73 +18642,6 @@ # Checks for library functions. -for ac_header in stdlib.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDLIB_H 1 -_ACEOF - -fi - -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 -$as_echo_n "checking for GNU libc compatible malloc... " >&6; } -if ${ac_cv_func_malloc_0_nonnull+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_malloc_0_nonnull=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H -# include -#else -char *malloc (); -#endif - -int -main () -{ -return ! malloc (0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_malloc_0_nonnull=yes -else - ac_cv_func_malloc_0_nonnull=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 -$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } -if test $ac_cv_func_malloc_0_nonnull = yes; then : - -$as_echo "#define HAVE_MALLOC 1" >>confdefs.h - -else - $as_echo "#define HAVE_MALLOC 0" >>confdefs.h - - case " $LIBOBJS " in - *" malloc.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS malloc.$ac_objext" - ;; -esac - - -$as_echo "#define malloc rpl_malloc" >>confdefs.h - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 $as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } if ${ac_cv_func_lstat_dereferences_slashed_symlink+:} false; then : @@ -18817,7 +18750,7 @@ fi -for ac_func in floor ftruncate getcwd memset mkdir pow rint sqrt +for ac_func in floor ftruncate getcwd memset malloc mkdir pow rint sqrt do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -19507,7 +19440,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by qmidiarp $as_me 0.6.2, which was +This file was extended by qmidiarp $as_me 0.6.3, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19573,7 +19506,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -qmidiarp config.status 0.6.2 +qmidiarp config.status 0.6.3 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -21621,4 +21554,18 @@ else echo "Translation file generation enabled." fi + +# Modify the entries in the LV2 ttl files according to Qt version + +if test "x$ac_qtversion" = "xqt5"; then + sed -i "s/Qt4UI/Qt5UI/g" qmidiarp_arp.lv2/qmidiarp_arp_ui.ttl + sed -i "s/Qt4UI/Qt5UI/g" qmidiarp_lfo.lv2/qmidiarp_lfo_ui.ttl + sed -i "s/Qt4UI/Qt5UI/g" qmidiarp_seq.lv2/qmidiarp_seq_ui.ttl +fi +if test "x$ac_qtversion" = "xqt4"; then + sed -i "s/Qt5UI/Qt4UI/g" qmidiarp_arp.lv2/qmidiarp_arp_ui.ttl + sed -i "s/Qt5UI/Qt4UI/g" qmidiarp_lfo.lv2/qmidiarp_lfo_ui.ttl + sed -i "s/Qt5UI/Qt4UI/g" qmidiarp_seq.lv2/qmidiarp_seq_ui.ttl +fi + echo diff -Nru qmidiarp-0.6.2/configure.ac qmidiarp-0.6.3/configure.ac --- qmidiarp-0.6.2/configure.ac 2015-10-06 18:44:09.000000000 +0000 +++ qmidiarp-0.6.3/configure.ac 2015-11-01 08:14:16.000000000 +0000 @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. dnl AC_PREREQ([2.63]) -AC_INIT([qmidiarp], [0.6.2], [qmidiarp-devel@lists.sourceforge.net]) +AC_INIT([qmidiarp], [0.6.3], [qmidiarp-devel@lists.sourceforge.net]) AC_CONFIG_SRCDIR([src/main.cpp]) AC_CONFIG_HEADERS(src/config.h) AC_CONFIG_MACRO_DIR([m4]) @@ -144,8 +144,8 @@ AC_SUBST(LIBLO_CFLAGS) AC_SUBST(LIBLO_LIBS) -LIBS+=$LIBSsave -CFLAGS+=$CFLAGSsave +LIBS="$LIBS $LIBSsave" +CFLAGS="$CFLAGS $CFLAGSsave" if test "$loinclude_found" = "no" -o "libloWorks" = "no"; then AC_MSG_NOTICE( @@ -170,7 +170,7 @@ CFLAGSsave=$CFLAGS CFLAGS=$LV2_CFLAGS AC_SUBST(LV2_CFLAGS) -CFLAGS+=$CFLAGSsave +CFLAGS="$CFLAGS $CFLAGSsave" if test $lv2include_found = "no" -o $lv2Works = "no"; then AC_MSG_NOTICE( @@ -194,9 +194,8 @@ AC_STRUCT_TM # Checks for library functions. -AC_FUNC_MALLOC AC_FUNC_STAT -AC_CHECK_FUNCS([floor ftruncate getcwd memset mkdir pow rint sqrt]) +AC_CHECK_FUNCS([floor ftruncate getcwd memset malloc mkdir pow rint sqrt]) # Checks for header files. @@ -227,4 +226,18 @@ else echo "Translation file generation enabled." fi + +# Modify the entries in the LV2 ttl files according to Qt version + +if test "x$ac_qtversion" = "xqt5"; then + sed -i "s/Qt4UI/Qt5UI/g" qmidiarp_arp.lv2/qmidiarp_arp_ui.ttl + sed -i "s/Qt4UI/Qt5UI/g" qmidiarp_lfo.lv2/qmidiarp_lfo_ui.ttl + sed -i "s/Qt4UI/Qt5UI/g" qmidiarp_seq.lv2/qmidiarp_seq_ui.ttl +fi +if test "x$ac_qtversion" = "xqt4"; then + sed -i "s/Qt5UI/Qt4UI/g" qmidiarp_arp.lv2/qmidiarp_arp_ui.ttl + sed -i "s/Qt5UI/Qt4UI/g" qmidiarp_lfo.lv2/qmidiarp_lfo_ui.ttl + sed -i "s/Qt5UI/Qt4UI/g" qmidiarp_seq.lv2/qmidiarp_seq_ui.ttl +fi + echo diff -Nru qmidiarp-0.6.2/debian/changelog qmidiarp-0.6.3/debian/changelog --- qmidiarp-0.6.2/debian/changelog 2015-10-07 05:27:56.000000000 +0000 +++ qmidiarp-0.6.3/debian/changelog 2015-11-04 13:00:22.000000000 +0000 @@ -1,3 +1,10 @@ +qmidiarp (0.6.3-1) unstable; urgency=medium + + * Imported Upstream version 0.6.3 + * Patch removed - applied upstream. + + -- Jaromír Mikeš Wed, 04 Nov 2015 13:48:07 +0100 + qmidiarp (0.6.2-1) unstable; urgency=medium * Imported Upstream version 0.6.2 diff -Nru qmidiarp-0.6.2/debian/patches/01-keywords_in_desktop_file.patch qmidiarp-0.6.3/debian/patches/01-keywords_in_desktop_file.patch --- qmidiarp-0.6.2/debian/patches/01-keywords_in_desktop_file.patch 2015-10-07 05:10:31.000000000 +0000 +++ qmidiarp-0.6.3/debian/patches/01-keywords_in_desktop_file.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -Description: Add keywords to desktop file. -Author: Jaromír Mikeš -Forwarded: Frank Kober - -Index: qmidiarp/qmidiarp.desktop -=================================================================== ---- qmidiarp.orig/qmidiarp.desktop -+++ qmidiarp/qmidiarp.desktop -@@ -13,9 +13,10 @@ Comment=Arpeggiator-Sequencer-LFO - Comment[de]=Arpeggiator-Sequenzer-LFO - Comment[fr]=Arpégiateur-Séquenceur-LFO - Comment[ru]=Арпеджиатор, секвенсер и LFO -+Keywords=audio;sound;jackd;midi;arpeggiator; - Icon=qmidiarp - MimeType=application/qma;application/qmax; --Exec=qmidiarp -+Exec=qmidiarp %F - TryExec=qmidiarp - Terminal=false - StartupNotify=true diff -Nru qmidiarp-0.6.2/debian/patches/series qmidiarp-0.6.3/debian/patches/series --- qmidiarp-0.6.2/debian/patches/series 2015-10-07 04:40:58.000000000 +0000 +++ qmidiarp-0.6.3/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -01-keywords_in_desktop_file.patch diff -Nru qmidiarp-0.6.2/Doxyfile qmidiarp-0.6.3/Doxyfile --- qmidiarp-0.6.2/Doxyfile 2014-12-25 16:55:40.000000000 +0000 +++ qmidiarp-0.6.3/Doxyfile 2015-10-07 05:42:13.000000000 +0000 @@ -32,7 +32,7 @@ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 0.6.2 +PROJECT_NUMBER = 0.6.3 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer diff -Nru qmidiarp-0.6.2/NEWS qmidiarp-0.6.3/NEWS --- qmidiarp-0.6.2/NEWS 2015-10-06 18:38:10.000000000 +0000 +++ qmidiarp-0.6.3/NEWS 2015-11-01 08:11:22.000000000 +0000 @@ -1,3 +1,17 @@ +qmidiarp-0.6.3 (2015-11-01) + +Fixed Bugs + o LV2 Arp: Regression: Display updates no longer worked when changing + arp patterns + o Configure script caused trouble on certain build systems (bug #15 + raised by the Mageia team) + o LV2: Qt5 UIs did not have the correct UI type entry in ttl files + +Improvements + o LV2 Arp: Factory pattern presets are now accessible as LV2 presets + o LV2 Arp: Latch mode now also available in LV2 plugin + + qmidiarp-0.6.2 (2015-10-06) Fixed Bugs diff -Nru qmidiarp-0.6.2/qmidiarp_arp.lv2/qmidiarp_arp.ttl qmidiarp-0.6.3/qmidiarp_arp.lv2/qmidiarp_arp.ttl --- qmidiarp-0.6.2/qmidiarp_arp.lv2/qmidiarp_arp.ttl 2015-03-08 13:12:25.000000000 +0000 +++ qmidiarp-0.6.3/qmidiarp_arp.lv2/qmidiarp_arp.ttl 2015-10-28 20:28:22.000000000 +0000 @@ -10,6 +10,8 @@ @prefix urid: . @prefix rsz: . @prefix pprop: . +@prefix pset: . +@prefix state: . a lv2:Plugin, lv2:InstrumentPlugin ; @@ -312,3 +314,85 @@ lv2:maximum 1 ; lv2:designation time:speed ; ] . + +#presets + + + a pset:Preset ; + lv2:appliesTo ; + rdfs:label "Simple 4" ; + state:state [ + "0" + ] . + + + a pset:Preset ; + lv2:appliesTo ; + rdfs:label "Simple 8" ; + state:state [ + ">0" + ] . + + + a pset:Preset ; + lv2:appliesTo ; + rdfs:label "Simple 16" ; + state:state [ + ">>0" + ] . + + + a pset:Preset ; + lv2:appliesTo ; + rdfs:label "Simple 32" ; + state:state [ + ">>>0" + ] . + + + a pset:Preset ; + lv2:appliesTo ; + rdfs:label "Chord 8" ; + state:state [ + ">(0123456789)" + ] . + + + a pset:Preset ; + lv2:appliesTo ; + rdfs:label "Chord+Bass 16" ; + state:state [ + ">>(01234)0(01234)0" + ] . + + + a pset:Preset ; + lv2:appliesTo ; + rdfs:label "Chord Oct 16 A" ; + state:state [ + ">>////(0123456789)\\ \\ \\ +(0123456789)" + ] . + + + a pset:Preset ; + lv2:appliesTo ; + rdfs:label "Chord Oct 16 B" ; + state:state [ + ">>///0\\ \\ \\ 0+////0\\ \\ \\ \\ -00+0-00+0-00+0-00+0-0" + ] . + + + a pset:Preset ; + lv2:appliesTo ; + rdfs:label "Chord Oct 16 C" ; + state:state [ + ">>///0\\ \\ \\ 0+////(0123)\\ \\ \\ \\ -00+(1234)-00+0-00+0-00+0-0" + ] . + + + a pset:Preset ; + lv2:appliesTo ; + rdfs:label "Chords/Glissando 16" ; + state:state [ + "d(012)>h(123)>d(012)hh(23)(42)(12)(43)>d012342" + ] . diff -Nru qmidiarp-0.6.2/qmidiarp.desktop qmidiarp-0.6.3/qmidiarp.desktop --- qmidiarp-0.6.2/qmidiarp.desktop 2012-02-15 20:16:39.000000000 +0000 +++ qmidiarp-0.6.3/qmidiarp.desktop 2015-10-07 05:40:57.000000000 +0000 @@ -13,9 +13,10 @@ Comment[de]=Arpeggiator-Sequenzer-LFO Comment[fr]=Arpégiateur-Séquenceur-LFO Comment[ru]=Арпеджиатор, секвенсер и LFO +Keywords=audio;sound;jackd;midi;arpeggiator; Icon=qmidiarp MimeType=application/qma;application/qmax; -Exec=qmidiarp +Exec=qmidiarp %F TryExec=qmidiarp Terminal=false StartupNotify=true diff -Nru qmidiarp-0.6.2/src/arpwidget_lv2.cpp qmidiarp-0.6.3/src/arpwidget_lv2.cpp --- qmidiarp-0.6.2/src/arpwidget_lv2.cpp 2015-10-05 17:31:07.000000000 +0000 +++ qmidiarp-0.6.3/src/arpwidget_lv2.cpp 2015-10-28 19:12:13.000000000 +0000 @@ -98,6 +98,7 @@ SLOT(updatePattern(const QString&))); connect(muteOutAction, SIGNAL(toggled(bool)), this, SLOT(mapBool(bool))); + connect(latchModeAction, SIGNAL(toggled(bool)), this, SLOT(mapBool(bool))); connect(deferChangesAction, SIGNAL(toggled(bool)), this, SLOT(mapBool(bool))); connect(enableRestartByKbd, SIGNAL(toggled(bool)), this, SLOT(mapBool(bool))); connect(enableTrigByKbd, SIGNAL(toggled(bool)), this, SLOT(mapBool(bool))); @@ -378,7 +379,8 @@ void ArpWidgetLV2::receivePattern(LV2_Atom* atom) { QMidiArpURIs* const uris = &m_uris; - if (atom->type != uris->atom_Blank) return; + if ( (atom->type != uris->atom_Blank) + && (atom->type != uris->atom_Object)) return; receivedPatternOnce = true; diff -Nru qmidiarp-0.6.2/src/config.h.in qmidiarp-0.6.3/src/config.h.in --- qmidiarp-0.6.2/src/config.h.in 2015-10-06 18:44:44.000000000 +0000 +++ qmidiarp-0.6.3/src/config.h.in 2015-11-01 08:14:39.000000000 +0000 @@ -27,8 +27,7 @@ /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM -/* Define to 1 if your system has a GNU libc compatible `malloc' function, and - to 0 otherwise. */ +/* Define to 1 if you have the `malloc' function. */ #undef HAVE_MALLOC /* Define to 1 if you have the header file. */ @@ -139,8 +138,5 @@ #undef inline #endif -/* Define to rpl_malloc if the replacement function should be used. */ -#undef malloc - /* Define to `int' if does not define. */ #undef ssize_t diff -Nru qmidiarp-0.6.2/src/lfowidget_lv2.cpp qmidiarp-0.6.3/src/lfowidget_lv2.cpp --- qmidiarp-0.6.2/src/lfowidget_lv2.cpp 2015-10-05 17:30:41.000000000 +0000 +++ qmidiarp-0.6.3/src/lfowidget_lv2.cpp 2015-10-28 19:14:28.000000000 +0000 @@ -239,7 +239,8 @@ void LfoWidgetLV2::receiveWave(LV2_Atom* atom) { QMidiArpURIs* const uris = &m_uris; - if (atom->type != uris->atom_Object) return; + if ( (atom->type != uris->atom_Blank) + && (atom->type != uris->atom_Object)) return; /* cast the buffer to Atom Object */ LV2_Atom_Object* obj = (LV2_Atom_Object*)atom; diff -Nru qmidiarp-0.6.2/src/midiarp.h qmidiarp-0.6.3/src/midiarp.h --- qmidiarp-0.6.2/src/midiarp.h 2015-03-08 13:11:49.000000000 +0000 +++ qmidiarp-0.6.3/src/midiarp.h 2015-10-19 12:51:34.000000000 +0000 @@ -72,7 +72,7 @@ QVector sustainBuffer; /*!< Holds released note values when MidiArp::sustain is True */ QVector latchBuffer; /*!< Holds released note values when MidiArp::latch_mode is True */ - bool sustain, latch_mode; + bool sustain; int noteIndex[MAXCHORD], chordSemitone[MAXCHORD]; int semitone; /*! @brief The input note buffer array of the Arpeggiator, which has @@ -218,6 +218,7 @@ bool trigByKbd; /*!< If True, trigger current note tick by tick of received note, set by ArpWidget */ bool trigLegato; /*!< If True, trigger and restart upon legato input notes as well */ bool gotKbdTrig; /*!< Is set when a keyboard trigger is activated by a note */ + bool latch_mode; /*!< If True hold notes released earlier than latch delay in latch buffer */ bool hasNewNotes; /*!< True when prepareCurrentNote() was called with a tick causing new note calculation */ int repeatPatternThroughChord; /*!< Repeat mode "Static", "Up", "Down", set by ArpWidget */ double attack_time;/*!< Attack time in seconds, set by ArpWidget */ diff -Nru qmidiarp-0.6.2/src/midiarp_lv2.cpp qmidiarp-0.6.3/src/midiarp_lv2.cpp --- qmidiarp-0.6.2/src/midiarp_lv2.cpp 2015-10-05 17:28:51.000000000 +0000 +++ qmidiarp-0.6.3/src/midiarp_lv2.cpp 2015-10-28 19:21:25.000000000 +0000 @@ -322,6 +322,9 @@ if (octMode != *val[OCTAVE_MODE]) { updateOctaveMode(*val[OCTAVE_MODE]); } + if (latch_mode != (bool)*val[LATCH_MODE]) { + setLatchMode((bool)*val[LATCH_MODE]); + } octRange = (int)*val[OCTAVE_RANGE]; diff -Nru qmidiarp-0.6.2/src/seqwidget_lv2.cpp qmidiarp-0.6.3/src/seqwidget_lv2.cpp --- qmidiarp-0.6.2/src/seqwidget_lv2.cpp 2015-10-05 17:29:55.000000000 +0000 +++ qmidiarp-0.6.3/src/seqwidget_lv2.cpp 2015-10-29 05:59:34.000000000 +0000 @@ -249,7 +249,8 @@ void SeqWidgetLV2::receiveWave(LV2_Atom* atom) { QMidiArpURIs* const uris = &m_uris; - if (atom->type != uris->atom_Object) return; + if ( (atom->type != uris->atom_Blank) + && (atom->type != uris->atom_Object)) return; /* cast the buffer to Atom Object */ LV2_Atom_Object* obj = (LV2_Atom_Object*)atom;