[SCM] drumkv1/master: Merge.

mira-guest at users.alioth.debian.org mira-guest at users.alioth.debian.org
Mon Jun 26 22:30:46 UTC 2017


New upstream version 0.8.3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-Git-Refname: refs/heads/master
X-Git-Reftype: branch
X-Git-Oldrev: 1438c0b972d7d3b8c0b9b56bb68f58b973de5999
X-Git-Newrev: 2f9439f9197b031d3b764b40d4eebd135e6346cf

The following commit has been merged in the master branch:
commit 2f9439f9197b031d3b764b40d4eebd135e6346cf
Merge: 1438c0b972d7d3b8c0b9b56bb68f58b973de5999 91b1bc9a819d4818fa9d01c6b4d858beb9187f91
Author: Jaromír Mikeš <mira.mikes at seznam.cz>
Date:   Tue Jun 27 00:30:17 2017 +0200

    Merge.

diff --combined ChangeLog
index 2dcc199,8908f1b..a172ed0
--- a/ChangeLog
+++ b/ChangeLog
@@@ -4,6 -4,16 +4,19 @@@ drumkv1 - an old-school drum-kit sample
  ChangeLog
  
  
++<<<<<<< HEAD
++=======
+ 0.8.3  2017-06-21  A Summer'17 release.
+ 
+ - Added StartupWMClass entry to desktop file.
+ - Long overdue, some brand new and fundamental icons revamp.
+ - Left-clicking on each element fake-LED now triggers it as
+   an internal MIDI note-on/off event. Play (current element)
+   menu item has been also added to the the element list and
+   sample display right-click context-menu.
+ 
+ 
++>>>>>>> upstream/0.8.3
  0.8.2  2017-05-02  Pre-LAC2017 release frenzy.
  
  - A custom knob/spin-box behavioral option have been added:
diff --combined configure
index 7645334,d786e53..108223d
--- a/configure
+++ b/configure
@@@ -1,6 -1,6 +1,10 @@@
  #! /bin/sh
  # Guess values for system-dependent variables and create Makefiles.
++<<<<<<< HEAD
 +# Generated by GNU Autoconf 2.69 for drumkv1 0.8.2.
++=======
+ # Generated by GNU Autoconf 2.69 for drumkv1 0.8.3.
++>>>>>>> upstream/0.8.3
  #
  # Report bugs to <rncbc at rncbc.org>.
  #
@@@ -580,8 -580,8 +584,13 @@@ MAKEFLAGS
  # Identity of this package.
  PACKAGE_NAME='drumkv1'
  PACKAGE_TARNAME='drumkv1'
++<<<<<<< HEAD
 +PACKAGE_VERSION='0.8.2'
 +PACKAGE_STRING='drumkv1 0.8.2'
++=======
+ PACKAGE_VERSION='0.8.3'
+ PACKAGE_STRING='drumkv1 0.8.3'
++>>>>>>> upstream/0.8.3
  PACKAGE_BUGREPORT='rncbc at rncbc.org'
  PACKAGE_URL=''
  
@@@ -1306,7 -1306,7 +1315,11 @@@ if test "$ac_init_help" = "long"; the
    # 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
++<<<<<<< HEAD
 +\`configure' configures drumkv1 0.8.2 to adapt to many kinds of systems.
++=======
+ \`configure' configures drumkv1 0.8.3 to adapt to many kinds of systems.
++>>>>>>> upstream/0.8.3
  
  Usage: $0 [OPTION]... [VAR=VALUE]...
  
@@@ -1367,7 -1367,7 +1380,11 @@@ f
  
  if test -n "$ac_init_help"; then
    case $ac_init_help in
++<<<<<<< HEAD
 +     short | recursive ) echo "Configuration of drumkv1 0.8.2:";;
++=======
+      short | recursive ) echo "Configuration of drumkv1 0.8.3:";;
++>>>>>>> upstream/0.8.3
     esac
    cat <<\_ACEOF
  
@@@ -1497,7 -1497,7 +1514,11 @@@ f
  test -n "$ac_init_help" && exit $ac_status
  if $ac_init_version; then
    cat <<\_ACEOF
++<<<<<<< HEAD
 +drumkv1 configure 0.8.2
++=======
+ drumkv1 configure 0.8.3
++>>>>>>> upstream/0.8.3
  generated by GNU Autoconf 2.69
  
  Copyright (C) 2012 Free Software Foundation, Inc.
@@@ -1874,7 -1874,7 +1895,11 @@@ cat >config.log <<_ACEO
  This file contains any messages produced by compilers while
  running configure, to aid debugging if configure makes a mistake.
  
++<<<<<<< HEAD
 +It was created by drumkv1 $as_me 0.8.2, which was
++=======
+ It was created by drumkv1 $as_me 0.8.3, which was
++>>>>>>> upstream/0.8.3
  generated by GNU Autoconf 2.69.  Invocation command line was
  
    $ $0 $@
@@@ -4000,7 -4000,7 +4025,7 @@@ f
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gxx_version_major" >&5
  $as_echo "$ac_cv_gxx_version_major" >&6; }
  ac_gxx_version_major=$ac_cv_gxx_version_major
- if test $ac_gxx_version_major -gt 4 -a $ac_gxx_version_major -lt 6; then
+ if test $ac_gxx_version_major -ge 4 -a $ac_gxx_version_major -lt 6; then
     CXXFLAGS="-std=c++11 $CXXFLAGS"
  fi
  
@@@ -4685,8 -4685,8 +4710,8 @@@ ac_cflags="-ffast-math $ac_cflags
  # Check for core SNDFILE library.
  
  pkg_failed=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SNDFILE" >&5
- $as_echo_n "checking for SNDFILE... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sndfile" >&5
+ $as_echo_n "checking for sndfile... " >&6; }
  
  if test -n "$SNDFILE_CFLAGS"; then
      pkg_cv_SNDFILE_CFLAGS="$SNDFILE_CFLAGS"
@@@ -4726,7 -4726,7 +4751,7 @@@ f
  
  
  if test $pkg_failed = yes; then
-    	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
  
  if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@@ -4744,7 -4744,7 +4769,7 @@@ f
  
  	ac_sndfile="no"
  elif test $pkg_failed = untried; then
-      	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
  	ac_sndfile="no"
  else
@@@ -4783,8 -4783,8 +4808,8 @@@ ac_clean_targets="
  if test "x$ac_jack" = "xyes"; then
  
  pkg_failed=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JACK" >&5
- $as_echo_n "checking for JACK... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jack >= 0.100.0" >&5
+ $as_echo_n "checking for jack >= 0.100.0... " >&6; }
  
  if test -n "$JACK_CFLAGS"; then
      pkg_cv_JACK_CFLAGS="$JACK_CFLAGS"
@@@ -4824,7 -4824,7 +4849,7 @@@ f
  
  
  if test $pkg_failed = yes; then
-    	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
  
  if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@@ -4842,7 -4842,7 +4867,7 @@@ f
  
  	ac_jack="no"
  elif test $pkg_failed = untried; then
-      	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
  	ac_jack="no"
  else
@@@ -4922,8 -4922,8 +4947,8 @@@ $as_echo "$as_me: WARNING: *** JACK ses
     if test "x$ac_alsa_midi" = "xyes"; then
  
  pkg_failed=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ALSA" >&5
- $as_echo_n "checking for ALSA... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alsa" >&5
+ $as_echo_n "checking for alsa... " >&6; }
  
  if test -n "$ALSA_CFLAGS"; then
      pkg_cv_ALSA_CFLAGS="$ALSA_CFLAGS"
@@@ -4963,7 -4963,7 +4988,7 @@@ f
  
  
  if test $pkg_failed = yes; then
-    	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
  
  if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@@ -4981,7 -4981,7 +5006,7 @@@ f
  
  	ac_alsa_midi="no"
  elif test $pkg_failed = untried; then
-      	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
  	ac_alsa_midi="no"
  else
@@@ -5062,8 -5062,8 +5087,8 @@@ f
  if test "x$ac_liblo" = "xyes"; then
  
  pkg_failed=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBLO" >&5
- $as_echo_n "checking for LIBLO... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for liblo" >&5
+ $as_echo_n "checking for liblo... " >&6; }
  
  if test -n "$LIBLO_CFLAGS"; then
      pkg_cv_LIBLO_CFLAGS="$LIBLO_CFLAGS"
@@@ -5103,7 -5103,7 +5128,7 @@@ f
  
  
  if test $pkg_failed = yes; then
-    	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
  
  if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@@ -5121,7 -5121,7 +5146,7 @@@ f
  
  	ac_liblo="no"
  elif test $pkg_failed = untried; then
-      	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
  	ac_liblo="no"
  else
@@@ -6328,7 -6328,7 +6353,11 @@@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wr
  # report actual input values of CONFIG_FILES etc. instead of their
  # values after options handling.
  ac_log="
++<<<<<<< HEAD
 +This file was extended by drumkv1 $as_me 0.8.2, which was
++=======
+ This file was extended by drumkv1 $as_me 0.8.3, which was
++>>>>>>> upstream/0.8.3
  generated by GNU Autoconf 2.69.  Invocation command line was
  
    CONFIG_FILES    = $CONFIG_FILES
@@@ -6390,7 -6390,7 +6419,11 @@@ _ACEO
  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
  ac_cs_version="\\
++<<<<<<< HEAD
 +drumkv1 config.status 0.8.2
++=======
+ drumkv1 config.status 0.8.3
++>>>>>>> upstream/0.8.3
  configured by $0, generated by GNU Autoconf 2.69,
    with options \\"\$ac_cs_config\\"
  
diff --combined configure.ac
index 6a880c8,c6097d9..5a4643d
--- a/configure.ac
+++ b/configure.ac
@@@ -1,5 -1,5 +1,9 @@@
  # Process this file with autoconf to produce a configure script.
++<<<<<<< HEAD
 +AC_INIT(drumkv1, 0.8.2, rncbc at rncbc.org)
++=======
+ AC_INIT(drumkv1, 0.8.3, rncbc at rncbc.org)
++>>>>>>> upstream/0.8.3
  
  AC_CONFIG_SRCDIR(src/drumkv1.cpp)
  AC_CONFIG_HEADERS(src/config.h)
@@@ -225,7 -225,7 +229,7 @@@ AC_CACHE_CHECK([for g++ major version]
     ac_gxx_version_major=$(($ac_cv_gxx_version_major + 0))
  ])
  ac_gxx_version_major=$ac_cv_gxx_version_major
- if test $ac_gxx_version_major -gt 4 -a $ac_gxx_version_major -lt 6; then
+ if test $ac_gxx_version_major -ge 4 -a $ac_gxx_version_major -lt 6; then
     CXXFLAGS="-std=c++11 $CXXFLAGS"
  fi
  
diff --combined drumkv1.spec.in
index 153bde5,7dab164..5274f48
--- a/drumkv1.spec.in
+++ b/drumkv1.spec.in
@@@ -1,6 -1,6 +1,10 @@@
  %define name    @PACKAGE_TARNAME@
  %define version @PACKAGE_VERSION@
++<<<<<<< HEAD
 +%define release 28
++=======
+ %define release 29
++>>>>>>> upstream/0.8.3
  
  %define _prefix	@ac_prefix@
  
@@@ -87,6 -87,8 +91,11 @@@ BuildRequires:	lv2-deve
  %{_datadir}/man/man1/%{name}*.1.gz
  
  %changelog
++<<<<<<< HEAD
++=======
+ * Wed Jun 21 2017 Rui Nuno Capela <rncbc at rncbc.org> 0.8.3
+ - A Summer'17 release.
++>>>>>>> upstream/0.8.3
  * Tue May  2 2017 Rui Nuno Capela <rncbc at rncbc.org> 0.8.2
  - Pre-LAC2017 release frenzy.
  * Tue Mar 21 2017 Rui Nuno Capela <rncbc at rncbc.org> 0.8.1
diff --combined src/drumkv1.cpp
index a66c2f6,3f6461e..3ac70ec
--- a/src/drumkv1.cpp
+++ b/src/drumkv1.cpp
@@@ -850,6 -850,8 +850,11 @@@ public
  	void midiInEnabled(bool on);
  	uint32_t midiInCount();
  
++<<<<<<< HEAD
++=======
+ 	void directNoteOn(int note, int vel);
+ 
++>>>>>>> upstream/0.8.3
  protected:
  
  	void allSoundOff();
@@@ -939,6 -941,10 +944,10 @@@ private
  
  	drumkv1_reverb m_reverb;
  	drumkv1_phasor m_phasor;
+ 
+ 	volatile int m_direct_chan;
+ 	volatile int m_direct_note;
+ 	volatile int m_direct_vel;
  };
  
  
@@@ -1647,6 -1653,22 +1656,22 @@@ void drumkv1_impl::allNotesOff (void
  		elem->aux1.reset();
  		elem = elem->next();
  	}
+ 
+ 	m_direct_chan = m_direct_note = m_direct_vel = -1;
+ }
+ 
+ 
+ // direct note-on triggered on next cycle...
+ void drumkv1_impl::directNoteOn ( int note, int vel )
+ {
+ 	if (vel > 0) {
+ 		const int ch1 = int(*m_def.channel);
+ 		m_direct_chan = (ch1 > 0 ? ch1 - 1 : 0) & 0x0f;
+ 		m_direct_note = note;
+ 		m_direct_vel  = vel;
+ 	} else {
+ 		m_direct_vel  = 0;
+ 	}
  }
  
  
@@@ -1766,6 -1788,20 +1791,20 @@@ void drumkv1_impl::process ( float **in
  		::memset(outs[k], 0, nframes * sizeof(float));
  	}
  
+ 	// process direct note on/off...
+ 	if (m_direct_chan >= 0 && m_direct_note >= 0 && m_direct_vel >= 0) {
+ 		struct note_data { uint8_t status, note, vel; } data;
+ 		data.status = (m_direct_vel > 0 ? 0x90 : 0x80) | m_direct_chan;
+ 		data.note = m_direct_note;
+ 		data.vel = m_direct_vel;
+ 		process_midi((uint8_t *) &data, sizeof(data));
+ 		if (m_direct_vel == 0) {
+ 			m_direct_chan = -1;
+ 			m_direct_note = -1;
+ 		}
+ 		m_direct_vel = -1;
+ 	}
+ 
  	drumkv1_elem *elem = m_elem_list.next();
  	while (elem) {
  	#if 0
@@@ -2385,5 -2421,13 +2424,16 @@@ uint32_t drumkv1::midiInCount (void
  }
  
  
++<<<<<<< HEAD
++=======
+ // MIDI direct note on/off triggering
+ 
+ void drumkv1::directNoteOn ( int note, int vel )
+ {
+ 	m_pImpl->directNoteOn(note, vel);
+ }
+ 
+ 
++>>>>>>> upstream/0.8.3
  // end of drumkv1.cpp
  
diff --combined src/drumkv1.h
index c9e2679,ebcd244..3b63e8c
--- a/src/drumkv1.h
+++ b/src/drumkv1.h
@@@ -180,6 -180,8 +180,11 @@@ public
  	void midiInEnabled(bool on);
  	uint32_t midiInCount();
  
++<<<<<<< HEAD
++=======
+ 	void directNoteOn(int note, int vel);
+ 
++>>>>>>> upstream/0.8.3
  protected:
  
  	virtual void selectSample(int key) = 0;
diff --combined src/drumkv1.qrc
index e7578ef,06b7b3f..17dadba
--- a/src/drumkv1.qrc
+++ b/src/drumkv1.qrc
@@@ -2,6 -2,7 +2,10 @@@
  	<qresource>
  		<file>images/ledOn.png</file>
  		<file>images/ledOff.png</file>
++<<<<<<< HEAD
++=======
+ 		<file>images/playSample.png</file>
++>>>>>>> upstream/0.8.3
  		<file>images/presetNew.png</file>
  		<file>images/presetOpen.png</file>
  		<file>images/presetSave.png</file>
diff --combined src/drumkv1_ui.cpp
index 8907ebe,a5f8de2..a6ba7e5
--- a/src/drumkv1_ui.cpp
+++ b/src/drumkv1_ui.cpp
@@@ -151,4 -151,10 +151,13 @@@ uint32_t drumkv1_ui::midiInCount (void
  }
  
  
++<<<<<<< HEAD
++=======
+ void drumkv1_ui::directNoteOn ( int note, int vel )
+ {
+ 	m_pDrumk->directNoteOn(note, vel);
+ }
+ 
+ 
++>>>>>>> upstream/0.8.3
  // end of drumkv1_ui.cpp
diff --combined src/drumkv1_ui.h
index bf471e8,02f3106..6a752e8
--- a/src/drumkv1_ui.h
+++ b/src/drumkv1_ui.h
@@@ -68,6 -68,8 +68,11 @@@ public
  	void midiInEnabled(bool bEnabled);
  	uint32_t midiInCount();
  
++<<<<<<< HEAD
++=======
+ 	void directNoteOn(int note, int vel);
+ 
++>>>>>>> upstream/0.8.3
  private:
  
  	drumkv1 *m_pDrumk;
diff --combined src/drumkv1widget_elements.cpp
index a983b0e,1c0fc3c..eb5ce0e
--- a/src/drumkv1widget_elements.cpp
+++ b/src/drumkv1widget_elements.cpp
@@@ -254,10 -254,9 +254,9 @@@ int drumkv1widget_elements_model::colum
  
  // Constructor.
  drumkv1widget_elements::drumkv1widget_elements ( QWidget *pParent )
- 	: QTreeView(pParent), m_pModel(NULL)
+ 	: QTreeView(pParent), m_pModel(NULL),
+ 		m_pDragSample(NULL), m_iDirectNoteOn(-1)
  {
- 	m_pDragSample = NULL;
- 
  	resetDragState();
  }
  
@@@ -343,8 -342,14 +342,14 @@@ void drumkv1widget_elements::doubleClic
  void drumkv1widget_elements::mousePressEvent ( QMouseEvent *pMouseEvent )
  {
  	if (pMouseEvent->button() == Qt::LeftButton) {
- 		m_dragState = DragStart;
- 		m_posDrag = pMouseEvent->pos();
+ 		const QPoint& pos = pMouseEvent->pos();
+ 		if (pos.x() > 0 && pos.x() < 16) {
+ 			directNoteOn(QTreeView::indexAt(pos).row());
+ 			return; // avoid double-clicks...
+ 		} else {
+ 			m_dragState = DragStart;
+ 			m_posDrag = pos;
+ 		}
  	}
  
  	QTreeView::mousePressEvent(pMouseEvent);
@@@ -381,6 -386,8 +386,8 @@@ void drumkv1widget_elements::mouseRelea
  {
  	QTreeView::mouseReleaseEvent(pMouseEvent);
  
+ 	directNoteOff();
+ 
  	m_pDragSample = NULL;
  	resetDragState();
  }
@@@ -472,5 -479,44 +479,47 @@@ void drumkv1widget_elements::midiInLedN
  }
  
  
++<<<<<<< HEAD
++=======
+ // Direct note-on/off methods.
+ void drumkv1widget_elements::directNoteOn ( int key )
+ {
+ 	if (m_pModel == NULL || key < 0)
+ 		return;
+ 
+ 	drumkv1_ui *pDrumkUi = m_pModel->instance();
+ 	if (pDrumkUi == NULL)
+ 		return;
+ 
+ 	drumkv1_sample *pSample = pDrumkUi->sample();
+ 	if (pSample == NULL)
+ 		return;
+ 
+ 	const float v = pDrumkUi->paramValue(drumkv1::DEF1_VELOCITY);
+ 	const int vel = int(79.375f * v + 47.625f) & 0x7f;
+ 	pDrumkUi->directNoteOn(key, vel); // note-on!
+ 	m_iDirectNoteOn = key;
+ 
+ 	const float srate_ms = 0.001f * pSample->sampleRate();
+ 	const int timeout_ms = int(float(pSample->length() >> 1) / srate_ms);
+ 	QTimer::singleShot(timeout_ms, this, SLOT(directNoteOff()));
+ }
+ 
+ 
+ void drumkv1widget_elements::directNoteOff (void)
+ {
+ 	if (m_pModel == NULL || m_iDirectNoteOn < 0)
+ 		return;
+ 
+ 	drumkv1_ui *pDrumkUi = m_pModel->instance();
+ 	if (pDrumkUi == NULL)
+ 		return;
+ 
+ 	pDrumkUi->directNoteOn(m_iDirectNoteOn, 0); // note-off!
+ 
+ 	m_iDirectNoteOn = -1;
+ }
+ 
++>>>>>>> upstream/0.8.3
  
  // end of drumkv1widget_elements.cpp
diff --combined src/drumkv1widget_elements.h
index 433a4a8,d0efeaa..9210b7b
--- a/src/drumkv1widget_elements.h
+++ b/src/drumkv1widget_elements.h
@@@ -132,6 -132,9 +132,12 @@@ public
  	// MIDI input status update
  	void midiInLedNote(int key, int vel);
  
++<<<<<<< HEAD
++=======
+ 	// Direct note-on methods.
+ 	void directNoteOn(int key);
+ 
++>>>>>>> upstream/0.8.3
  signals:
  
  	// Emitted signals.
@@@ -147,6 -150,9 +153,9 @@@ protected slots
  	void currentRowChanged(const QModelIndex&, const QModelIndex&);
  	void doubleClicked(const QModelIndex&);
  
+ 	// Direct note-off/timeout methods.
+ 	void directNoteOff();
+ 
  protected:
  
  	// Mouse interaction.
@@@ -176,6 -182,8 +185,8 @@@ private
  	QPoint m_posDrag;
  
  	drumkv1_sample *m_pDragSample;
+ 
+ 	int m_iDirectNoteOn;
  };
  
  

-- 
drumkv1 packaging



More information about the pkg-multimedia-commits mailing list