[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/multimedia/kmid
From:       Pedro Lopez-Cabanillas <pedro.lopez.cabanillas () gmail ! com>
Date:       2010-07-07 6:50:36
Message-ID: 20100707065036.86B3FAC85D () svn ! kde ! org
[Download RAW message or body]

SVN commit 1146948 by pedrol:

Update latest Drumstick-0.4.0 sources and headers, and require external drumstick>=0.4 packages.
This is a better fix for bug #242912, allowing to compile kmid with hidden visibility.


 M  +3 -3      CMakeLists.txt  
 M  +5 -5      drumstick/include/alsaclient.h  
 M  +23 -23    drumstick/include/alsaevent.h  
 M  +2 -2      drumstick/include/alsaport.h  
 M  +5 -5      drumstick/include/alsaqueue.h  
 M  +8 -8      drumstick/include/alsatimer.h  
 M  +2 -1      drumstick/include/drumstickcommon.h  
 A             drumstick/include/macros.h   [License: GPL (v2+)]
 M  +2 -2      drumstick/include/playthread.h  
 M  +2 -1      drumstick/include/qsmf.h  
 M  +2 -1      drumstick/include/qwrk.h  
 M  +2 -2      drumstick/include/subscription.h  
 M  +9 -5      drumstick/src/alsaclient.cpp  
 M  +4 -3      drumstick/src/qwrk.cpp  


--- trunk/extragear/multimedia/kmid/CMakeLists.txt #1146947:1146948
@@ -20,10 +20,10 @@
     pkg_check_modules (ALSA alsa>=1.0)
     if (ALSA_FOUND)
       set ( WITH_ALSA 1 )
-      set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS} -fvisibility=default" )
+      set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}" )
       # Check for DRUMSTICK
-      pkg_check_modules(DRUMSTICK-FILE drumstick-file>=0.3)
-      pkg_check_modules(DRUMSTICK-ALSA drumstick-alsa>=0.3)
+      pkg_check_modules(DRUMSTICK-FILE drumstick-file>=0.4)
+      pkg_check_modules(DRUMSTICK-ALSA drumstick-alsa>=0.4)
       if (DRUMSTICK-ALSA_FOUND AND DRUMSTICK-FILE_FOUND)
         set ( DRUMSTICK_LIBRARIES
           ${DRUMSTICK-FILE_LIBRARIES}
--- trunk/extragear/multimedia/kmid/drumstick/include/alsaclient.h #1146947:1146948
@@ -47,7 +47,7 @@
  * This class is used to retrieve, hold and set some data from
  * sequencer clients, like the name or id.
  */
-class ClientInfo
+class DRUMSTICK_EXPORT ClientInfo
 {
     friend class MidiClient;
 
@@ -104,7 +104,7 @@
  * This class is used to retrieve and hold some data about the
  * whole sequencer subsystem.
  */
-class SystemInfo
+class DRUMSTICK_EXPORT SystemInfo
 {
     friend class MidiClient;
 
@@ -135,7 +135,7 @@
  * This class is used to get and set the size of the input and output pool
  * buffers for a sequencer client.
  */
-class PoolInfo
+class DRUMSTICK_EXPORT PoolInfo
 {
     friend class MidiClient;
 
@@ -172,7 +172,7 @@
  *
  * @see ALSAClient
  */
-class SequencerEventHandler
+class DRUMSTICK_EXPORT SequencerEventHandler
 {
 public:
     /** Destructor */
@@ -195,7 +195,7 @@
  *
  * This class represents an ALSA sequencer client
  */
-class MidiClient : public QObject
+class DRUMSTICK_EXPORT MidiClient : public QObject
 {
     Q_OBJECT
 
--- trunk/extragear/multimedia/kmid/drumstick/include/alsaevent.h #1146947:1146948
@@ -50,7 +50,7 @@
  * All event classes share this base class. It provides several common
  * properties and methods.
  */
-class SequencerEvent : public QEvent
+class DRUMSTICK_EXPORT SequencerEvent : public QEvent
 {
 public:
     SequencerEvent();
@@ -145,7 +145,7 @@
 /**
  * Base class for the events having a Channel property
  */
-class ChannelEvent : public SequencerEvent
+class DRUMSTICK_EXPORT ChannelEvent : public SequencerEvent
 {
 public:
     /** Default constructor */
@@ -169,7 +169,7 @@
 /**
  * Base class for the events having Key and Velocity properties.
  */
-class KeyEvent : public ChannelEvent
+class DRUMSTICK_EXPORT KeyEvent : public ChannelEvent
 {
 public:
     /** Default constructor */
@@ -208,7 +208,7 @@
  * Note events are converted into two MIDI events, a note-on and a note-off
  * over the wire.
  */
-class NoteEvent : public KeyEvent
+class DRUMSTICK_EXPORT NoteEvent : public KeyEvent
 {
 public:
     /** Default constructor */
@@ -235,7 +235,7 @@
 /**
  * Event representing a note-on MIDI event
  */
-class NoteOnEvent : public KeyEvent
+class DRUMSTICK_EXPORT NoteOnEvent : public KeyEvent
 {
 public:
     /** Default constructor */
@@ -250,7 +250,7 @@
 /**
  * Event representing a note-off MIDI event
  */
-class NoteOffEvent : public KeyEvent
+class DRUMSTICK_EXPORT NoteOffEvent : public KeyEvent
 {
 public:
     /** Default constructor */
@@ -265,7 +265,7 @@
 /**
  * Event representing a MIDI key pressure, or polyphonic after-touch event
  */
-class KeyPressEvent : public KeyEvent
+class DRUMSTICK_EXPORT KeyPressEvent : public KeyEvent
 {
 public:
     /** Default constructor */
@@ -280,7 +280,7 @@
 /**
  * Event representing a MIDI control change event
  */
-class ControllerEvent : public ChannelEvent
+class DRUMSTICK_EXPORT ControllerEvent : public ChannelEvent
 {
 public:
     /** Default constructor */
@@ -319,7 +319,7 @@
 /**
  * Event representing a MIDI program change event
  */
-class ProgramChangeEvent : public ChannelEvent
+class DRUMSTICK_EXPORT ProgramChangeEvent : public ChannelEvent
 {
 public:
     /** Default constructor */
@@ -338,7 +338,7 @@
 /**
  * Event representing a MIDI bender, or pitch wheel event
  */
-class PitchBendEvent : public ChannelEvent
+class DRUMSTICK_EXPORT PitchBendEvent : public ChannelEvent
 {
 public:
     /** Default constructor */
@@ -357,7 +357,7 @@
 /**
  * Event representing a MIDI channel pressure or after-touch event
  */
-class ChanPressEvent : public ChannelEvent
+class DRUMSTICK_EXPORT ChanPressEvent : public ChannelEvent
 {
 public:
     /** Default constructor */
@@ -376,7 +376,7 @@
 /**
  * Base class for variable length events
  */
-class VariableEvent : public SequencerEvent
+class DRUMSTICK_EXPORT VariableEvent : public SequencerEvent
 {
 public:
     VariableEvent();
@@ -398,7 +398,7 @@
 /**
  * Event representing a MIDI system exclusive event
  */
-class SysExEvent : public VariableEvent
+class DRUMSTICK_EXPORT SysExEvent : public VariableEvent
 {
 public:
     SysExEvent();
@@ -416,7 +416,7 @@
  * This event type is not intended to be transmitted over the wire to an
  * external device, but it is useful for sequencer programs or MIDI applications
  */
-class TextEvent : public VariableEvent
+class DRUMSTICK_EXPORT TextEvent : public VariableEvent
 {
 public:
     TextEvent();
@@ -435,7 +435,7 @@
 /**
  * Generic event
  */
-class SystemEvent : public SequencerEvent
+class DRUMSTICK_EXPORT SystemEvent : public SequencerEvent
 {
 public:
     /** Default constructor */
@@ -452,7 +452,7 @@
  *
  * This event is used to schedule changes to the ALSA queues
  */
-class QueueControlEvent : public SequencerEvent
+class DRUMSTICK_EXPORT QueueControlEvent : public SequencerEvent
 {
 public:
     /** Default constructor */
@@ -491,7 +491,7 @@
 /**
  * Generic event having a value property
  */
-class ValueEvent : public SequencerEvent
+class DRUMSTICK_EXPORT ValueEvent : public SequencerEvent
 {
 public:
     /** Default constructor */
@@ -510,7 +510,7 @@
 /**
  * ALSA Event representing a tempo change for an ALSA queue
  */
-class TempoEvent : public QueueControlEvent
+class DRUMSTICK_EXPORT TempoEvent : public QueueControlEvent
 {
 public:
     /** Default constructor */
@@ -525,7 +525,7 @@
 /**
  * ALSA Event representing a subscription between two ALSA clients and ports
  */
-class SubscriptionEvent : public SequencerEvent
+class DRUMSTICK_EXPORT SubscriptionEvent : public SequencerEvent
 {
 public:
     /** Default constructor */
@@ -551,7 +551,7 @@
 /**
  * ALSA Event representing a change on some ALSA sequencer client on the system
  */
-class ClientEvent : public SequencerEvent
+class DRUMSTICK_EXPORT ClientEvent : public SequencerEvent
 {
 public:
     /** Default constructor */
@@ -566,7 +566,7 @@
 /**
  * ALSA Event representing a change on some ALSA sequencer port on the system
  */
-class PortEvent : public ClientEvent
+class DRUMSTICK_EXPORT PortEvent : public ClientEvent
 {
 public:
     /** Default constructor */
@@ -583,7 +583,7 @@
  * Auxiliary class to remove events from an ALSA queue
  * @see MidiClient::removeEvents()
  */
-class RemoveEvents
+class DRUMSTICK_EXPORT RemoveEvents
 {
 public:
     friend class MidiClient;
@@ -620,7 +620,7 @@
 /**
  * Auxiliary class to translate between raw MIDI streams and ALSA events
  */
-class MidiCodec : public QObject
+class DRUMSTICK_EXPORT MidiCodec : public QObject
 {
     Q_OBJECT
 public:
--- trunk/extragear/multimedia/kmid/drumstick/include/alsaport.h #1146947:1146948
@@ -37,7 +37,7 @@
 /**
  * Port information container
  */
-class PortInfo
+class DRUMSTICK_EXPORT PortInfo
 {
     friend class MidiPort;
     friend class ClientInfo;
@@ -112,7 +112,7 @@
  *
  * This class represents an ALSA sequencer port.
  */
-class MidiPort : public QObject
+class DRUMSTICK_EXPORT MidiPort : public QObject
 {
     Q_OBJECT
     friend class MidiClient;
--- trunk/extragear/multimedia/kmid/drumstick/include/alsaqueue.h #1146947:1146948
@@ -44,7 +44,7 @@
  *
  * This class is used to hold some properties about an ALSA queue object.
  */
-class QueueInfo
+class DRUMSTICK_EXPORT QueueInfo
 {
     friend class MidiQueue;
 
@@ -77,7 +77,7 @@
  *
  * This class is used to retrieve some status information from an ALSA queue.
  */
-class QueueStatus
+class DRUMSTICK_EXPORT QueueStatus
 {
     friend class MidiQueue;
 
@@ -114,7 +114,7 @@
  * factor the quotient of both quantities = value / base. Currently (ALSA <= 1.0.20)
  * you can only use the base constant 0x10000 (decimal 65536).
  */
-class QueueTempo
+class DRUMSTICK_EXPORT QueueTempo
 {
     friend class MidiQueue;
 
@@ -154,7 +154,7 @@
  * This class is used to hold some properties about the Timer used with an ALSA
  * queue object.
  */
-class QueueTimer
+class DRUMSTICK_EXPORT QueueTimer
 {
     friend class MidiQueue;
 
@@ -185,7 +185,7 @@
  *
  * This class represents an ALSA sequencer queue object.
  */
-class MidiQueue : public QObject
+class DRUMSTICK_EXPORT MidiQueue : public QObject
 {
     Q_OBJECT
 public:
--- trunk/extragear/multimedia/kmid/drumstick/include/alsatimer.h #1146947:1146948
@@ -44,7 +44,7 @@
  *
  * This class is used to hold properties about ALSA Timers.
  */
-class TimerInfo
+class DRUMSTICK_EXPORT TimerInfo
 {
     friend class Timer;
 
@@ -76,7 +76,7 @@
  *
  * This class provides an unique identifier for a Timer.
  */
-class TimerId
+class DRUMSTICK_EXPORT TimerId
 {
     friend class TimerQuery;
     friend class TimerGlobalInfo;
@@ -117,7 +117,7 @@
  *
  * This class provides global timer parameters.
  */
-class TimerGlobalInfo
+class DRUMSTICK_EXPORT TimerGlobalInfo
 {
     friend class TimerQuery;
 
@@ -151,7 +151,7 @@
  *
  * This class provides a mechanism to enumerate the available system timers.
  */
-class TimerQuery
+class DRUMSTICK_EXPORT TimerQuery
 {
 public:
     TimerQuery(const QString& deviceName, int openMode);
@@ -182,7 +182,7 @@
  *
  * This class provides several parameters about a Timer.
  */
-class TimerParams
+class DRUMSTICK_EXPORT TimerParams
 {
     friend class Timer;
 
@@ -217,7 +217,7 @@
  *
  * This class provides some status information about a Timer.
  */
-class TimerStatus
+class DRUMSTICK_EXPORT TimerStatus
 {
     friend class Timer;
 
@@ -246,7 +246,7 @@
  * This abstract class is used to define an interface that other class can
  * implement to receive timer events.
  */
-class TimerEventHandler
+class DRUMSTICK_EXPORT TimerEventHandler
 {
 public:
     /** Destructor */
@@ -264,7 +264,7 @@
  *
  * This class represents an ALSA timer object.
  */
-class Timer : public QObject
+class DRUMSTICK_EXPORT Timer : public QObject
 {
     Q_OBJECT
     
--- trunk/extragear/multimedia/kmid/drumstick/include/drumstickcommon.h #1146947:1146948
@@ -20,6 +20,7 @@
 #ifndef DRUMSTICK_DRUMSTICKCOMMON_H
 #define DRUMSTICK_DRUMSTICKCOMMON_H
 
+#include "macros.h"
 #include <qglobal.h>
 #include <QString>
 #include <QApplication>
@@ -50,7 +51,7 @@
  * The class SequencerError represents an exception object reported when the
  * ALSA library returns an error code. It is only used for severe errors.
  */
-class SequencerError
+class DRUMSTICK_EXPORT SequencerError
 {
 public:
     /**
--- trunk/extragear/multimedia/kmid/drumstick/include/playthread.h #1146947:1146948
@@ -42,9 +42,9 @@
  * This class is used to implement an asynchronous sequence player using
  * ALSA sequencer scheduling
  *
- * Examples: smfplayer.cpp and playsmf.cpp
+ * Examples: guiplayer.cpp and playsmf.cpp
  */
-class SequencerOutputThread : public QThread
+class DRUMSTICK_EXPORT  SequencerOutputThread : public QThread
 {
     Q_OBJECT
 
--- trunk/extragear/multimedia/kmid/drumstick/include/qsmf.h #1146947:1146948
@@ -22,6 +22,7 @@
 #ifndef DRUMSTICK_QSMF_H
 #define DRUMSTICK_QSMF_H
 
+#include "macros.h"
 #include <QObject>
 
 class QDataStream;
@@ -79,7 +80,7 @@
  *
  * This class is used to parse and encode Standard MIDI Files (SMF)
  */
-class QSmf : public QObject
+class DRUMSTICK_EXPORT QSmf : public QObject
 {
     Q_OBJECT
 
--- trunk/extragear/multimedia/kmid/drumstick/include/qwrk.h #1146947:1146948
@@ -20,6 +20,7 @@
 #ifndef DRUMSTICK_QWRK_H
 #define DRUMSTICK_QWRK_H
 
+#include "macros.h"
 #include <QObject>
 
 class QDataStream;
@@ -76,7 +77,7 @@
  *
  * This class is used to parse Cakewalk WRK Files
  */
-class QWrk : public QObject
+class DRUMSTICK_EXPORT QWrk : public QObject
 {
     Q_OBJECT
 
--- trunk/extragear/multimedia/kmid/drumstick/include/subscription.h #1146947:1146948
@@ -40,7 +40,7 @@
  *
  * This class is used to enumerate the subscribers of a given (root) port.
  */
-class Subscriber
+class DRUMSTICK_EXPORT Subscriber
 {
     friend class PortInfo;
 public:
@@ -79,7 +79,7 @@
  *
  * This class represents a connection between two ports.
  */
-class Subscription
+class DRUMSTICK_EXPORT Subscription
 {
 public:
     Subscription();
--- trunk/extragear/multimedia/kmid/drumstick/src/alsaclient.cpp #1146947:1146948
@@ -47,8 +47,8 @@
 /**
 @mainpage drumstick Documentation
 @author Copyright &copy; 2009-2010 Pedro López-Cabanillas &lt;plcl AT users.sf.net&gt;
-@date 2010-04-18
-@version 0.3.1
+@date 2010-07-07
+@version 0.4.0
 
 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/
@@ -117,7 +117,7 @@
 }
 @endcode
 
-There are more examples in the source tree, under the tests/ directory, and
+There are more examples in the source tree, under the utils/ directory, and
 you can also see applications using this library, as kmetronome and kmidimon.
 
 @see http://kmetronome.sourceforge.net
@@ -134,6 +134,10 @@
 <li>Frank van de Pol &lt;fvdpol AT coil.demon.nl&gt;</li>
 </ul>
 
+@example drumgrid.cpp
+Simple drum patterns
+@include drumgrid.h
+
 @example dumpmid.cpp
 Print received sequencer events
 @include dumpmid.h
@@ -142,9 +146,9 @@
 SMF playback, command line interface program
 @include playsmf.h
 
-@example smfplayer.cpp
+@example guiplayer.cpp
 SMF playback, graphic user interface program
-@include smfplayer.h
+@include guiplayer.h
 
 @example buildsmf.cpp
 SMF output from scratch
--- trunk/extragear/multimedia/kmid/drumstick/src/qwrk.cpp #1146947:1146948
@@ -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);
@@ -1066,12 +1066,13 @@
     Q_EMIT signalWRKNewTrack(name, track, channel, key, vel, port, selected, muted, loop);
     if (bank > -1)
         Q_EMIT signalWRKTrackBank(track, bank);
-    if (patch > -1)
+    if (patch > -1) {
         if (channel > -1)
             Q_EMIT signalWRKProgram(track, 0, channel, patch);
         else
             Q_EMIT signalWRKTrackPatch(track, patch);
 }
+}
 
 void QWrk::processSoftVer()
 {
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic