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

List:       kde-commits
Subject:    extragear/multimedia/kmid/src
From:       Pedro Lopez-Cabanillas <pedro.lopez.cabanillas () gmail ! com>
Date:       2010-07-21 21:13:21
Message-ID: 20100721211321.E1959AC7AB () svn ! kde ! org
[Download RAW message or body]

SVN commit 1152740 by pedrol:

kmid_part: additional properties and methods

 M  +61 -2     kmid_part.cpp  
 M  +21 -9     kmid_part.h  
 M  +12 -1     org.kde.KMidPart.xml  


--- trunk/extragear/multimedia/kmid/src/kmid_part.cpp #1152739:1152740
@@ -464,7 +464,9 @@
 
 QString KMidPart::midiConnection()
 {
+    if (d->m_midiout != 0)
     return d->m_midiout->outputDeviceName();
+    return QString();
 }
 
 void KMidPart::setAutoStart(bool start)
@@ -474,13 +476,15 @@
 
 void KMidPart::setMidiConnection(const QString conn)
 {
-    bool success = d->m_midiout->setOutputDeviceName(conn);
-    if (success)
+    if (d->m_midiout != 0) {
+        if (d->m_midiout->setOutputDeviceName(conn))
         d->m_settings->setOutput_connection(conn);
 }
+}
 
 void KMidPart::reload()
 {
+    if (d->m_midiobj != 0) {
     if (state() == Play)
         stop();
     qlonglong curpos = position();
@@ -491,8 +495,63 @@
         seek(curpos);
     }
 }
+}
 
 QStringList KMidPart::metaData(const QString& key)
 {
+    if (d->m_midiobj != 0)
     return d->m_midiobj->metaData(key);
+    return QStringList();
 }
+
+void KMidPart::setTempoFactor(double f)
+{
+    if (d->m_midiobj != 0)
+        d->m_midiobj->setTimeSkew(f);
+}
+
+void KMidPart::setVolumeFactor(double f)
+{
+    if (d->m_midiout != 0)
+        d->m_midiout->setVolume(-1, f);
+}
+
+void KMidPart::setTranspose(int t)
+{
+    if (d->m_midiout != 0)
+        d->m_midiout->setPitchShift(t);
+}
+
+double KMidPart::tempoFactor()
+{
+    if (d->m_midiobj != 0)
+        return d->m_midiobj->timeSkew();
+    return 1.0;
+}
+
+double KMidPart::volumeFactor()
+{
+    if (d->m_midiout != 0)
+        return d->m_midiout->volume(-1);
+    return 1.0;
+}
+
+int KMidPart::transpose()
+{
+    if (d->m_midiout != 0)
+        return d->m_midiout->pitchShift();
+    return 0;
+}
+
+void KMidPart::setMuted(int channel, bool muted)
+{
+    if (d->m_midiout != 0)
+        d->m_midiout->setMuted(channel, muted);
+}
+
+bool KMidPart::isMuted(int channel)
+{
+    if (d->m_midiout != 0)
+        return d->m_midiout->isMuted(channel);
+    return false;
+}
--- trunk/extragear/multimedia/kmid/src/kmid_part.h #1152739:1152740
@@ -41,6 +41,9 @@
     Q_OBJECT
     Q_PROPERTY(bool autoStart READ autoStart WRITE setAutoStart)
     Q_PROPERTY(QString midiConnection READ midiConnection WRITE setMidiConnection)
+    Q_PROPERTY(double tempoFactor READ tempoFactor WRITE setTempoFactor)
+    Q_PROPERTY(double volumeFactor READ volumeFactor WRITE setVolumeFactor)
+    Q_PROPERTY(int transpose READ transpose WRITE setTranspose)
 
 public:
     /**
@@ -56,15 +59,6 @@
      */
     virtual ~KMidPart();
 
-    bool autoStart();
-    QString midiConnection();
-
-    void setAutoStart(bool start);
-    void setMidiConnection(const QString conn);
-    void reload();
-    QStringList metaData(const QString& key);
-
-    static KAboutData *createAboutData();
     virtual KMediaPlayer::View* view ();
     virtual bool isSeekable (void) const;
     virtual qlonglong position (void) const;
@@ -72,11 +66,29 @@
     virtual qlonglong length (void) const;
     virtual void seek (qlonglong);
 
+    static KAboutData *createAboutData();
+
+    bool autoStart();
+    QString midiConnection();
+    QStringList metaData(const QString& key);
+    double tempoFactor();
+    double volumeFactor();
+    int transpose();
+    bool isMuted(int channel);
+
 public slots:
     virtual void pause (void);
     virtual void play (void);
     virtual void stop (void);
 
+    void setAutoStart(bool start);
+    void setMidiConnection(const QString conn);
+    void setTempoFactor(double f);
+    void setVolumeFactor(double f);
+    void setTranspose(int t);
+    void setMuted(int channel, bool muted);
+    void reload();
+
 signals:
     void tempoEvent(qreal);
     void timeSignatureEvent(int,int);
--- trunk/extragear/multimedia/kmid/src/org.kde.KMidPart.xml #1152739:1152740
@@ -4,11 +4,22 @@
   <interface name="org.kde.KMidPart">
     <property name="autoStart" type="b" access="readwrite"/>
     <property name="midiConnection" type="s" access="readwrite"/>
+    <property name="tempoFactor" type="d" access="readwrite"/>
+    <property name="volumeFactor" type="d" access="readwrite"/>
+    <property name="transpose" type="i" access="readwrite"/>
     <method name="reload"/>
     <method name="metaData">
         <arg name="key" type="s" direction="in"/>
         <arg name="result" type="as" direction="out"/>
     </method>
+    <method name="setMuted">
+        <arg name="channel" type="i" direction="in"/>
+        <arg name="muted" type="b" direction="in"/>
+    </method>
+    <method name="isMuted">
+        <arg name="channel" type="i" direction="in"/>
+        <arg name="muted" type="b" direction="out"/>
+    </method>
     <signal name="beat">
         <arg name="bar" type="i"/>
         <arg name="part" type="i"/>
@@ -29,7 +40,7 @@
         <arg name="den" type="i"/>
     </signal>
     <signal name="midiTextEvent">
-        <arg name="time" type="i"/>
+        <arg name="type" type="i"/>
         <arg name="text" type="s"/>
     </signal>
     <signal name="midiNoteOnEvent">
[prev in list] [next in list] [prev in thread] [next in thread] 

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