Mercurial > hg > svgui
view widgets/PropertyStack.h @ 589:7ebd5a21d74f sonification
Branch to handle audio feedback and metadata sonification interactively with the UI.
Piano keyboard audio feedback:
The midi pitch of a piano keyboard note is retrieved in SpectrogramLayer::processMouseEvent when a left click is made on the note in the Select tool mode (SpectrogramLayer with a log frequency scale). The same process should be applied to the Spectrum layer (log frequency scale) as well.
author | mathieub <mathieu.barthet@eecs.qmul.ac.uk> |
---|---|
date | Wed, 22 Jun 2011 00:04:21 +0100 |
parents | 6b023411087b |
children | 596414d20ef0 |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ /* Sonic Visualiser An audio file viewer and annotation editor. Centre for Digital Music, Queen Mary, University of London. This file copyright 2006 Chris Cannam. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING included with this distribution for more information. */ #ifndef _PROPERTY_STACK_H_ #define _PROPERTY_STACK_H_ #include <QFrame> #include <QTabWidget> #include <vector> class Layer; class View; class PropertyBox; class PropertyContainer; class PropertyStack : public QTabWidget { Q_OBJECT public: PropertyStack(QWidget *parent, View *client); View *getClient() { return m_client; } bool containsContainer(PropertyContainer *container) const; int getContainerIndex(PropertyContainer *container) const; signals: void viewSelected(View *client); void propertyContainerSelected(View *client, PropertyContainer *container); void contextHelpChanged(const QString &); public slots: void propertyContainerAdded(PropertyContainer *); void propertyContainerRemoved(PropertyContainer *); void propertyContainerPropertyChanged(PropertyContainer *); void propertyContainerPropertyRangeChanged(PropertyContainer *); void propertyContainerNameChanged(PropertyContainer *); void showLayer(bool); void mouseEnteredTabBar(); void mouseLeftTabBar(); void activeTabClicked(); protected slots: void selectedContainerChanged(int); protected: View *m_client; std::vector<PropertyBox *> m_boxes; void repopulate(); void updateValues(PropertyContainer *); }; #endif