Mercurial > hg > tony
comparison src/MainWindow.cpp @ 414:333cb8a2514b
Introduce level/pan toolbar buttons
author | Chris Cannam |
---|---|
date | Wed, 25 Mar 2015 10:33:19 +0000 |
parents | 762ea5130a2c |
children | 912a7212e0cf |
comparison
equal
deleted
inserted
replaced
413:762ea5130a2c | 414:333cb8a2514b |
---|---|
39 #include "widgets/Fader.h" | 39 #include "widgets/Fader.h" |
40 #include "view/Overview.h" | 40 #include "view/Overview.h" |
41 #include "widgets/AudioDial.h" | 41 #include "widgets/AudioDial.h" |
42 #include "widgets/IconLoader.h" | 42 #include "widgets/IconLoader.h" |
43 #include "widgets/KeyReference.h" | 43 #include "widgets/KeyReference.h" |
44 #include "widgets/LevelPanWidget.h" | 44 #include "widgets/LevelPanToolButton.h" |
45 #include "audioio/AudioCallbackPlaySource.h" | 45 #include "audioio/AudioCallbackPlaySource.h" |
46 #include "audioio/AudioCallbackPlayTarget.h" | 46 #include "audioio/AudioCallbackPlayTarget.h" |
47 #include "audioio/PlaySpeedRangeMapper.h" | 47 #include "audioio/PlaySpeedRangeMapper.h" |
48 #include "base/Profiler.h" | 48 #include "base/Profiler.h" |
49 #include "base/UnitDatabase.h" | 49 #include "base/UnitDatabase.h" |
239 connect(m_playSpeed, SIGNAL(valueChanged(int)), | 239 connect(m_playSpeed, SIGNAL(valueChanged(int)), |
240 this, SLOT(playSpeedChanged(int))); | 240 this, SLOT(playSpeedChanged(int))); |
241 connect(m_playSpeed, SIGNAL(mouseEntered()), this, SLOT(mouseEnteredWidget())); | 241 connect(m_playSpeed, SIGNAL(mouseEntered()), this, SLOT(mouseEnteredWidget())); |
242 connect(m_playSpeed, SIGNAL(mouseLeft()), this, SLOT(mouseLeftWidget())); | 242 connect(m_playSpeed, SIGNAL(mouseLeft()), this, SLOT(mouseLeftWidget())); |
243 | 243 |
244 m_audioLPW = new LevelPanWidget(frame); | 244 m_audioLPW = new LevelPanToolButton(frame); |
245 m_audioLPW->setObjectName(tr("Audio Track Level and Pan")); | 245 m_audioLPW->setObjectName(tr("Audio Track Level and Pan")); |
246 connect(m_audioLPW, SIGNAL(levelChanged(float)), this, SLOT(audioGainChanged(float))); | 246 connect(m_audioLPW, SIGNAL(levelChanged(float)), this, SLOT(audioGainChanged(float))); |
247 connect(m_audioLPW, SIGNAL(panChanged(float)), this, SLOT(audioPanChanged(float))); | 247 connect(m_audioLPW, SIGNAL(panChanged(float)), this, SLOT(audioPanChanged(float))); |
248 | 248 |
249 if (m_withSonification) { | 249 if (m_withSonification) { |
250 | 250 |
251 m_pitchLPW = new LevelPanWidget(frame); | 251 m_pitchLPW = new LevelPanToolButton(frame); |
252 m_pitchLPW->setObjectName(tr("Pitch Track Level and Pan")); | 252 m_pitchLPW->setObjectName(tr("Pitch Track Level and Pan")); |
253 connect(m_pitchLPW, SIGNAL(levelChanged(float)), this, SLOT(pitchGainChanged(float))); | 253 connect(m_pitchLPW, SIGNAL(levelChanged(float)), this, SLOT(pitchGainChanged(float))); |
254 connect(m_pitchLPW, SIGNAL(panChanged(float)), this, SLOT(pitchPanChanged(float))); | 254 connect(m_pitchLPW, SIGNAL(panChanged(float)), this, SLOT(pitchPanChanged(float))); |
255 | 255 |
256 m_notesLPW = new LevelPanWidget(frame); | 256 m_notesLPW = new LevelPanToolButton(frame); |
257 m_notesLPW->setObjectName(tr("Note Track Level and Pan")); | 257 m_notesLPW->setObjectName(tr("Note Track Level and Pan")); |
258 connect(m_notesLPW, SIGNAL(levelChanged(float)), this, SLOT(notesGainChanged(float))); | 258 connect(m_notesLPW, SIGNAL(levelChanged(float)), this, SLOT(notesGainChanged(float))); |
259 connect(m_notesLPW, SIGNAL(panChanged(float)), this, SLOT(notesPanChanged(float))); | 259 connect(m_notesLPW, SIGNAL(panChanged(float)), this, SLOT(notesPanChanged(float))); |
260 } | 260 } |
261 | 261 |
1073 m_showAudio = toolbar->addAction(il.load("waveform"), tr("Show Audio")); | 1073 m_showAudio = toolbar->addAction(il.load("waveform"), tr("Show Audio")); |
1074 m_showAudio->setCheckable(true); | 1074 m_showAudio->setCheckable(true); |
1075 connect(m_showAudio, SIGNAL(triggered()), this, SLOT(showAudioToggled())); | 1075 connect(m_showAudio, SIGNAL(triggered()), this, SLOT(showAudioToggled())); |
1076 connect(this, SIGNAL(canPlay(bool)), m_showAudio, SLOT(setEnabled(bool))); | 1076 connect(this, SIGNAL(canPlay(bool)), m_showAudio, SLOT(setEnabled(bool))); |
1077 | 1077 |
1078 int lpwSize = m_viewManager->scalePixelSize(30); | 1078 toolbar->addWidget(m_audioLPW); |
1079 | 1079 |
1080 m_audioLPW->setFixedWidth(lpwSize*2); | |
1081 m_audioLPW->setFixedHeight(lpwSize*2); | |
1082 // toolbar->addWidget(m_audioLPW); | |
1083 | |
1084 QMenu *alpwm = new QMenu(); | |
1085 QWidgetAction *alpwmwa = new QWidgetAction(alpwm); | |
1086 alpwmwa->setDefaultWidget(m_audioLPW); | |
1087 alpwm->addAction(alpwmwa); | |
1088 alpwm->addAction("Done"); | |
1089 QToolButton *alpwtb = new QToolButton(); | |
1090 alpwtb->setPopupMode(QToolButton::MenuButtonPopup); | |
1091 alpwtb->setText("blah"); | |
1092 alpwtb->setMenu(alpwm); | |
1093 toolbar->addWidget(alpwtb); | |
1094 | |
1095 // Pitch (f0) | 1080 // Pitch (f0) |
1096 QLabel *spacer = new QLabel; // blank | 1081 QLabel *spacer = new QLabel; // blank |
1097 spacer->setFixedWidth(40); | 1082 spacer->setFixedWidth(40); |
1098 toolbar->addWidget(spacer); | 1083 toolbar->addWidget(spacer); |
1099 | 1084 |
1101 m_showPitch->setCheckable(true); | 1086 m_showPitch->setCheckable(true); |
1102 connect(m_showPitch, SIGNAL(triggered()), this, SLOT(showPitchToggled())); | 1087 connect(m_showPitch, SIGNAL(triggered()), this, SLOT(showPitchToggled())); |
1103 connect(this, SIGNAL(canPlay(bool)), m_showPitch, SLOT(setEnabled(bool))); | 1088 connect(this, SIGNAL(canPlay(bool)), m_showPitch, SLOT(setEnabled(bool))); |
1104 | 1089 |
1105 if (m_withSonification) { | 1090 if (m_withSonification) { |
1106 m_pitchLPW->setFixedWidth(lpwSize); | |
1107 m_pitchLPW->setFixedHeight(lpwSize); | |
1108 toolbar->addWidget(m_pitchLPW); | 1091 toolbar->addWidget(m_pitchLPW); |
1109 } | 1092 } |
1110 | 1093 |
1111 // Notes | 1094 // Notes |
1112 spacer = new QLabel; | 1095 spacer = new QLabel; |
1117 m_showNotes->setCheckable(true); | 1100 m_showNotes->setCheckable(true); |
1118 connect(m_showNotes, SIGNAL(triggered()), this, SLOT(showNotesToggled())); | 1101 connect(m_showNotes, SIGNAL(triggered()), this, SLOT(showNotesToggled())); |
1119 connect(this, SIGNAL(canPlay(bool)), m_showNotes, SLOT(setEnabled(bool))); | 1102 connect(this, SIGNAL(canPlay(bool)), m_showNotes, SLOT(setEnabled(bool))); |
1120 | 1103 |
1121 if (m_withSonification) { | 1104 if (m_withSonification) { |
1122 m_notesLPW->setFixedWidth(lpwSize); | |
1123 m_notesLPW->setFixedHeight(lpwSize); | |
1124 toolbar->addWidget(m_notesLPW); | 1105 toolbar->addWidget(m_notesLPW); |
1125 } | 1106 } |
1126 | 1107 |
1127 // Spectrogram | 1108 // Spectrogram |
1128 spacer = new QLabel; | 1109 spacer = new QLabel; |