traverso-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Traverso-commit] traverso src/traverso/BusMonitor.cpp src/traver...


From: Remon Sijrier
Subject: [Traverso-commit] traverso src/traverso/BusMonitor.cpp src/traver...
Date: Tue, 18 Dec 2007 18:09:00 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       07/12/18 18:09:00

Modified files:
        src/traverso   : BusMonitor.cpp BusMonitor.h Interface.cpp 
                         VUMeter.cpp VUMeter.h 
        .              : TODO 

Log message:
        * added VU reset option, using < R > or by using the menu (right mouse 
button)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/BusMonitor.cpp?cvsroot=traverso&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/BusMonitor.h?cvsroot=traverso&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/Interface.cpp?cvsroot=traverso&r1=1.119&r2=1.120
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/VUMeter.cpp?cvsroot=traverso&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/VUMeter.h?cvsroot=traverso&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/traverso/TODO?cvsroot=traverso&r1=1.18&r2=1.19

Patches:
Index: src/traverso/BusMonitor.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/BusMonitor.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- src/traverso/BusMonitor.cpp 29 Oct 2007 09:00:11 -0000      1.14
+++ src/traverso/BusMonitor.cpp 18 Dec 2007 18:08:59 -0000      1.15
@@ -17,7 +17,7 @@
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
 
-$Id: BusMonitor.cpp,v 1.14 2007/10/29 09:00:11 r_sijrier Exp $
+$Id: BusMonitor.cpp,v 1.15 2007/12/18 18:08:59 r_sijrier Exp $
 */
 
 #include <libtraverso.h>
@@ -27,6 +27,7 @@
 #include "ProjectManager.h"
 #include "Project.h"
 #include <QHBoxLayout>
+#include <QMenu>
 
 // Always put me below _all_ includes, this is needed
 // in case we run with memory leak detection enabled!
@@ -42,6 +43,8 @@
        
        create_vu_meters();
 
+       m_menu = 0;
+       
        connect(&audiodevice(), SIGNAL(driverParamsChanged()), this, 
SLOT(create_vu_meters()));
        connect(&pm(), SIGNAL(projectLoaded(Project*)), this, 
SLOT(set_project(Project*)));
 }
@@ -129,5 +132,53 @@
        }
 }
 
-//eof
+void BusMonitor::keyPressEvent(QKeyEvent * event)
+{
+       if (event->isAutoRepeat()) {
+               return;
+       } else if (event->key() == Qt::Key_R) {
+               reset_vu_meters();
+       } else {
+               QWidget::keyPressEvent(event);
+       }
+}
+
+void BusMonitor::mousePressEvent(QMouseEvent * event)
+{
+       if (event->button() == Qt::RightButton) {
+               show_menu();
+       }
+}
+
+void BusMonitor::reset_vu_meters()
+{
+       foreach(VUMeter* meter, inMeters) {
+               meter->reset();
+       }
+       foreach(VUMeter* meter, outMeters) {
+               meter->reset();
+       }
+}
+
+void BusMonitor::show_menu()
+{
+       if (!m_menu) {
+               m_menu = new QMenu(this);
+               QAction* action = m_menu->addAction("Bus Monitor");
+               QFont font(themer()->get_font("ContextMenu:fontscale:actions"));
+               font.setBold(true);
+               action->setFont(font);
+               action->setEnabled(false);
+               m_menu->addSeparator();
+               action = m_menu->addAction("Reset VU's  < R >");
+               connect(action, SIGNAL(triggered(bool)), this, 
SLOT(reset_vu_meters()));
+       }
+
+       m_menu->exec(QCursor::pos());
+}
+
+void BusMonitor::enterEvent(QEvent *)
+{
+       setFocus();
+}
 

Index: src/traverso/BusMonitor.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/BusMonitor.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- src/traverso/BusMonitor.h   8 May 2007 16:44:31 -0000       1.7
+++ src/traverso/BusMonitor.h   18 Dec 2007 18:08:59 -0000      1.8
@@ -17,7 +17,7 @@
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
 
-$Id: BusMonitor.h,v 1.7 2007/05/08 16:44:31 r_sijrier Exp $
+$Id: BusMonitor.h,v 1.8 2007/12/18 18:08:59 r_sijrier Exp $
 */
 
 #ifndef BUSMONITOR_H
@@ -28,6 +28,7 @@
 
 class VUMeter;
 class Project;
+class QMenu;
 
 class BusMonitor :  public QWidget
 {
@@ -38,16 +39,23 @@
        ~BusMonitor();
 
 protected:
+       void enterEvent ( QEvent * );
+       void mousePressEvent ( QMouseEvent * e );
+       void keyPressEvent ( QKeyEvent* e);
        QSize sizeHint () const;
        QSize minimumSizeHint () const;
        
 private:
        QList<VUMeter* >        inMeters;
        QList<VUMeter* >        outMeters;
+       QMenu* m_menu;
+       
+       void show_menu();
 
 private slots:
        void create_vu_meters();
        void set_project(Project* project);
+       void reset_vu_meters();
 };
 
 #endif

Index: src/traverso/Interface.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/Interface.cpp,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -b -r1.119 -r1.120
--- src/traverso/Interface.cpp  8 Dec 2007 15:26:35 -0000       1.119
+++ src/traverso/Interface.cpp  18 Dec 2007 18:08:59 -0000      1.120
@@ -655,7 +655,7 @@
                        toplevelmenu = m_contextMenus.value(className);
                
                        if ( ! toplevelmenu ) {
-                               printf("No menu for %s, creating new one\n", 
QS_C(className));
+                               printf("Interface: No menu for %s, creating new 
one\n", QS_C(className));
                                toplevelmenu = create_context_menu(item);
                                if (! toplevelmenu ) {
                                        if (items.size() > 1) {

Index: src/traverso/VUMeter.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/VUMeter.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- src/traverso/VUMeter.cpp    7 May 2007 20:48:01 -0000       1.20
+++ src/traverso/VUMeter.cpp    18 Dec 2007 18:08:59 -0000      1.21
@@ -17,7 +17,7 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
 
-    $Id: VUMeter.cpp,v 1.20 2007/05/07 20:48:01 r_sijrier Exp $
+    $Id: VUMeter.cpp,v 1.21 2007/12/18 18:08:59 r_sijrier Exp $
 */
 
 #include "VUMeter.h"
@@ -90,6 +90,7 @@
                        
                VUMeterOverLed* led = new VUMeterOverLed(levelLedLayoutwidget);
                VUMeterLevel* level = new VUMeterLevel(levelLedLayoutwidget, 
bus->get_channel(i));
+               m_levels.append(level);
                connect(level, SIGNAL(activate_over_led(bool)), led, 
SLOT(set_active(bool)));
                
                levellayout->addWidget(led);
@@ -210,6 +211,14 @@
        show();
 }
 
+void VUMeter::reset()
+{
+       foreach(VUMeterLevel* level, m_levels) {
+               level->reset();
+       }
+}
+
+
 
 /**********************************************************************/
 /*                      VUMeterRuler                                  */
@@ -689,4 +698,13 @@
 }
 
 
-//eof
+void VUMeterLevel::reset()
+{
+       tailDeltaY = -120.0;
+       peakHoldValue = -120.0;
+       overCount = 0;
+       emit activate_over_led(false);
+       peak = 0;
+       update();
+}
+

Index: src/traverso/VUMeter.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/VUMeter.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- src/traverso/VUMeter.h      7 May 2007 20:48:01 -0000       1.13
+++ src/traverso/VUMeter.h      18 Dec 2007 18:08:59 -0000      1.14
@@ -17,7 +17,7 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
  
-    $Id: VUMeter.h,v 1.13 2007/05/07 20:48:01 r_sijrier Exp $
+    $Id: VUMeter.h,v 1.14 2007/12/18 18:08:59 r_sijrier Exp $
 */
 
 #ifndef VUMETER_H
@@ -25,13 +25,13 @@
 
 #include <QWidget>
 #include <QString>
-#include <QGridLayout>
-#include <QLabel>
 #include <QVector>
 #include <QTimer>
 
 class AudioBus;
 class AudioChannel;
+class VUMeterLevel;
+class QLabel;
 
 class VUMeterRuler : public QWidget
 {
@@ -60,6 +60,8 @@
         VUMeter(QWidget* parent, AudioBus* bus);
         ~VUMeter();
 
+       void reset();
+       
        static QVector<float>* vumeter_lut();
 
 protected:
@@ -76,6 +78,7 @@
        QLabel*                 channelNameLabel;
        VUMeterRuler*           ruler;
        static QVector<float>   lut;
+       QList<VUMeterLevel*>    m_levels;
 
        static void calculate_lut_data();
        
@@ -137,9 +140,10 @@
        Q_OBJECT
        
 public:
-
         VUMeterLevel(QWidget* parent, AudioChannel* chan);
 
+       void reset();
+
 protected:
         void paintEvent( QPaintEvent* e);
         void resizeEvent( QResizeEvent * );

Index: TODO
===================================================================
RCS file: /sources/traverso/traverso/TODO,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- TODO        14 Dec 2007 21:37:32 -0000      1.18
+++ TODO        18 Dec 2007 18:09:00 -0000      1.19
@@ -1,5 +1,10 @@
 TOBEDONE FOR 0.4x.x
 
+
+* http://traverso-daw.org/forum/index.php/topic,77.msg264.html#msg264
+
+* check if permissions in /etc/security/limits.conf are set, and if not, 
notify the user!
+
 * Loading Project with 0 sheets crashes when spectrum/correlation meters are 
shown
 * http://traverso-daw.org/forum/index.php/topic,60.msg161.html#msg161
        (random crashes on mac os x, unable to reproduce locally)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]