[SCM] kmidimon packaging branch, master, updated. debian/0.7.1-1-22-ga3216d5
adiknoth-guest at users.alioth.debian.org
adiknoth-guest at users.alioth.debian.org
Mon May 17 10:27:08 UTC 2010
The following commit has been merged in the master branch:
commit 4505e0dae2572033f39967d0369380f5bee50121
Author: Adrian Knoth <adi at drcomp.erfurt.thur.de>
Date: Mon May 17 11:58:38 2010 +0200
Backport drumstick fixes from upstream.
kmidimon currently uses a builtin version of drumstick. The lib is
currently packaged for Debian (#579153). Upon completion, we can drop
these patches and rely on the shared libdrumstick instead.
diff --git a/debian/patches/drumstick-alsa.patch b/debian/patches/drumstick-alsa.patch
new file mode 100644
index 0000000..b6826ca
--- /dev/null
+++ b/debian/patches/drumstick-alsa.patch
@@ -0,0 +1,225 @@
+Description: Don't cache the MIDI port list.
+ The patch is included in drumstick-0.3.1 and can be dropped upon completion
+ of #579153.
+Origin: http://drumstick.svn.sourceforge.net/viewvc/drumstick?view=rev&revision=165
+
+Index: library/include/alsaclient.h
+===================================================================
+--- library/include/alsaclient.h (revision 164)
++++ library/include/alsaclient.h (revision 165)
+@@ -313,6 +313,7 @@
+ bool getEventsEnabled() const { return m_eventsEnabled; }
+ /** Sets a sequencer event handler enabling the callback delivery mode */
+ void setHandler(SequencerEventHandler* handler) { m_handler = handler; }
++ bool parseAddress( const QString& straddr, snd_seq_addr& result );
+
+ signals:
+ /** Signal emitted when an event is received */
+Index: library/src/alsaclient.cpp
+===================================================================
+--- library/src/alsaclient.cpp (revision 164)
++++ library/src/alsaclient.cpp (revision 165)
+@@ -47,8 +47,8 @@
+ /**
+ @mainpage drumstick Documentation
+ @author Copyright © 2009-2010 Pedro López-Cabanillas <plcl AT users.sf.net>
+- at date 2010-03-09
+- at version 0.3.0
++ at date 2010-04-18
++ at version 0.3.1
+
+ This document is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License.
+ To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/
+@@ -253,7 +253,7 @@
+ * is emitted. In any case, the event pointer must be deleted by the receiver
+ * method.
+ *
+- * @see http://doc.trolltech.com/4.5/threads.html#qobject-reentrancy
++ * @see http://doc.trolltech.com/threads.html#qobject-reentrancy
+ *
+ * @section EventOutput Output
+ *
+@@ -656,7 +656,7 @@
+ }
+ } else {
+ // finally, process signals
+- emit eventReceived(event->clone());
++ emit eventReceived(event->clone());
+ }
+ }
+ delete event;
+@@ -789,7 +789,8 @@
+ MidiClient::getClientName(const int clientId)
+ {
+ ClientInfoList::Iterator it;
+- if (m_NeedRefreshClientList) readClients();
++ if (m_NeedRefreshClientList)
++ readClients();
+ for (it = m_ClientList.begin(); it != m_ClientList.end(); ++it) {
+ if ((*it).getClientId() == clientId) {
+ return (*it).getName();
+@@ -1229,9 +1230,8 @@
+ PortInfoList
+ MidiClient::getAvailableInputs()
+ {
+- if (m_NeedRefreshClientList || m_InputsAvail.empty()) {
+- updateAvailablePorts();
+- }
++ m_NeedRefreshClientList = true;
++ updateAvailablePorts();
+ return m_InputsAvail;
+ }
+
+@@ -1242,9 +1242,8 @@
+ PortInfoList
+ MidiClient::getAvailableOutputs()
+ {
+- if (m_NeedRefreshClientList || m_OutputsAvail.empty()) {
+- updateAvailablePorts();
+- }
++ m_NeedRefreshClientList = true;
++ updateAvailablePorts();
+ return m_OutputsAvail;
+ }
+
+@@ -1624,6 +1623,49 @@
+ }
+
+ /**
++ * Parse a text address representation, returning an ALSA address record.
++ *
++ * This function can be used as a replacement of the standard ALSA function
++ * snd_seq_parse_address().
++ *
++ * @param straddr source text address representation
++ * @param addr returned ALSA address record
++ * @return true if the text address was successfully parsed
++ */
++bool
++MidiClient::parseAddress( const QString& straddr, snd_seq_addr& addr )
++{
++ bool ok(false);
++ QString testClient, testPort;
++ ClientInfoList::ConstIterator cit;
++ int pos = straddr.indexOf(':');
++ if (pos > -1) {
++ testClient = straddr.left(pos);
++ testPort = straddr.mid(pos+1);
++ } else {
++ testClient = straddr;
++ testPort = '0';
++ }
++ addr.client = testClient.toInt(&ok);
++ if (ok)
++ addr.port = testPort.toInt(&ok);
++ if (!ok) {
++ if (m_NeedRefreshClientList)
++ readClients();
++ for ( cit = m_ClientList.constBegin();
++ cit != m_ClientList.constEnd(); ++cit ) {
++ ClientInfo ci = *cit;
++ if (testClient.compare(ci.getName(), Qt::CaseInsensitive) == 0) {
++ addr.client = ci.getClientId();
++ addr.port = testPort.toInt(&ok);
++ return ok;
++ }
++ }
++ }
++ return ok;
++}
++
++/**
+ * Returns true or false depending on the input thread state.
+ * @return true if the input thread is stopped.
+ */
+Index: library/src/alsaport.cpp
+===================================================================
+--- library/src/alsaport.cpp (revision 164)
++++ library/src/alsaport.cpp (revision 165)
+@@ -689,9 +689,10 @@
+ if ((m_MidiClient != NULL) && (m_MidiClient->getHandle() != NULL))
+ {
+ subs.setSender(m_Info.getAddr());
+- snd_seq_parse_address(m_MidiClient->getHandle(), &addr, name.toLocal8Bit().data());
+- subs.setDest(&addr);
+- subscribe(&subs);
++ if (m_MidiClient->parseAddress(name, addr)) {
++ subs.setDest(&addr);
++ subscribe(&subs);
++ }
+ }
+ }
+
+@@ -707,9 +708,10 @@
+ if ((m_MidiClient != NULL) && (m_MidiClient->getHandle() != NULL))
+ {
+ subs.setSender(m_Info.getAddr());
+- snd_seq_parse_address(m_MidiClient->getHandle(), &addr, name.toLocal8Bit().data());
+- subs.setDest(&addr);
+- unsubscribe(&subs);
++ if (m_MidiClient->parseAddress(name, addr)) {
++ subs.setDest(&addr);
++ unsubscribe(&subs);
++ }
+ }
+ }
+
+@@ -780,16 +782,17 @@
+ * @param name A string representing a client:port pair
+ */
+ void
+-MidiPort::subscribeFrom( QString const& name)
++MidiPort::subscribeFrom( QString const& name )
+ {
+ Subscription subs;
+ snd_seq_addr addr;
+ if ((m_MidiClient != NULL) && (m_MidiClient->getHandle() != NULL))
+ {
+- snd_seq_parse_address(m_MidiClient->getHandle(), &addr, name.toLocal8Bit().data());
+- subs.setSender(&addr);
+- subs.setDest(m_Info.getAddr());
+- subscribe(&subs);
++ if (m_MidiClient->parseAddress(name, addr)) {
++ subs.setSender(&addr);
++ subs.setDest(m_Info.getAddr());
++ subscribe(&subs);
++ }
+ }
+ }
+
+@@ -798,16 +801,17 @@
+ * @param name A string representing a client:port pair
+ */
+ void
+-MidiPort::unsubscribeFrom( QString const& name)
++MidiPort::unsubscribeFrom( QString const& name )
+ {
+ Subscription subs;
+ snd_seq_addr addr;
+ if ((m_MidiClient != NULL) && (m_MidiClient->getHandle() != NULL))
+ {
+- snd_seq_parse_address(m_MidiClient->getHandle(), &addr, name.toLocal8Bit().data());
+- subs.setSender(&addr);
+- subs.setDest(m_Info.getAddr());
+- unsubscribe(&subs);
++ if (m_MidiClient->parseAddress(name, addr)) {
++ subs.setSender(&addr);
++ subs.setDest(m_Info.getAddr());
++ unsubscribe(&subs);
++ }
+ }
+ }
+
+Index: CMakeLists.txt
+===================================================================
+--- CMakeLists.txt (revision 164)
++++ CMakeLists.txt (revision 165)
+@@ -44,6 +44,8 @@
+ SET(CMAKE_INCLUDE_CURRENT_DIR TRUE)
+ SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+ SET(CMAKE_SKIP_RULE_DEPENDENCY FALSE)
++SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
++SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
+
+ # Additional CMake modules for 3rd party library checks reside here
+ SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_admin")
diff --git a/debian/patches/drumstick-armel.patch b/debian/patches/drumstick-armel.patch
new file mode 100644
index 0000000..4969fd7
--- /dev/null
+++ b/debian/patches/drumstick-armel.patch
@@ -0,0 +1,24 @@
+Description: Fix compilation errors on arm and mips.
+ The patch is included in drumstick-0.3.1 and can be dropped upon completion
+ of #579153.
+Origin: http://drumstick.svn.sourceforge.net/viewvc/drumstick/trunk/library/src/qwrk.cpp?r1=166&r2=172&view=patch
+--- trunk/library/src/qwrk.cpp 2010/04/17 22:31:51 166
++++ trunk/library/src/qwrk.cpp 2010/05/13 15:32:47 172
+@@ -851,7 +851,7 @@
+ readGap(4);
+ int measure = read16bit();
+ int num = readByte();
+- int den = powl(2, readByte());
++ int den = pow(2, readByte());
+ readGap(4);
+ Q_EMIT signalWRKTimeSig(measure, num, den);
+ }
+@@ -863,7 +863,7 @@
+ for (int i = 0; i < count; ++i) {
+ int measure = read16bit();
+ int num = readByte();
+- int den = powl(2, readByte());
++ int den = pow(2, readByte());
+ qint8 alt = readByte();
+ Q_EMIT signalWRKTimeSig(measure, num, den);
+ Q_EMIT signalWRKKeySig(measure, alt);
--
kmidimon packaging
More information about the pkg-multimedia-commits
mailing list