annotate src/MainWindow.h @ 516:449a0355f864 v2.0_osx_deploy

Deployment fixes. Qt on OSX now seems to depend on QtDBus, so copy that in, and also fail if anything is found to depend on an absent Qt framework.
author Chris Cannam
date Fri, 23 Oct 2015 08:50:39 +0100
parents 5865c6e296c5
children 30fbc53d8150
rev   line source
Chris@0 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@0 2
Chris@0 3 /*
Chris@0 4 Tony
Chris@0 5 An intonation analysis and annotation tool
Chris@0 6 Centre for Digital Music, Queen Mary, University of London.
Chris@0 7 This file copyright 2006-2012 Chris Cannam and QMUL.
Chris@0 8
Chris@0 9 This program is free software; you can redistribute it and/or
Chris@0 10 modify it under the terms of the GNU General Public License as
Chris@0 11 published by the Free Software Foundation; either version 2 of the
Chris@0 12 License, or (at your option) any later version. See the file
Chris@0 13 COPYING included with this distribution for more information.
Chris@0 14 */
Chris@0 15
Chris@0 16 #ifndef _MAIN_WINDOW_H_
Chris@0 17 #define _MAIN_WINDOW_H_
Chris@0 18
Chris@0 19 #include "framework/MainWindowBase.h"
Chris@192 20 #include "Analyser.h"
Chris@0 21
Chris@95 22 class VersionTester;
Chris@244 23 class ActivityLog;
Chris@414 24 class LevelPanToolButton;
Chris@6 25
Chris@0 26 class MainWindow : public MainWindowBase
Chris@0 27 {
Chris@0 28 Q_OBJECT
Chris@0 29
Chris@0 30 public:
Chris@474 31 MainWindow(SoundOptions options, bool withSonification = true, bool withSpectrogram = true);
Chris@0 32 virtual ~MainWindow();
Chris@0 33
Chris@224 34 signals:
Chris@244 35 void canExportPitchTrack(bool);
Chris@244 36 void canExportNotes(bool);
Chris@244 37 void canSnapNotes(bool);
Chris@291 38 void canPlayWaveform(bool);
Chris@291 39 void canPlayPitch(bool);
Chris@291 40 void canPlayNotes(bool);
Chris@224 41
Chris@0 42 public slots:
Chris@0 43 virtual bool commitData(bool mayAskUser); // on session shutdown
Chris@0 44
Chris@0 45 protected slots:
Chris@0 46 virtual void openFile();
Chris@0 47 virtual void openLocation();
Chris@0 48 virtual void openRecentFile();
Chris@0 49 virtual void saveSession();
matthiasm@310 50 virtual void saveSessionInAudioPath();
Chris@0 51 virtual void saveSessionAs();
Chris@85 52 virtual void exportPitchLayer();
Chris@85 53 virtual void exportNoteLayer();
Chris@174 54 virtual void importPitchLayer();
Chris@485 55 virtual void browseRecordedAudio();
Chris@0 56 virtual void newSession();
Chris@0 57 virtual void closeSession();
Chris@0 58
Chris@70 59 virtual void toolNavigateSelected();
Chris@70 60 virtual void toolEditSelected();
Chris@70 61 virtual void toolFreeEditSelected();
Chris@70 62
Chris@168 63 virtual void clearPitches();
Chris@184 64 virtual void togglePitchCandidates();
Chris@184 65 virtual void switchPitchUp();
Chris@184 66 virtual void switchPitchDown();
Chris@142 67
Chris@237 68 virtual void snapNotesToPitches();
Chris@240 69 virtual void splitNote();
Chris@238 70 virtual void mergeNotes();
matthiasm@292 71 virtual void deleteNotes();
Chris@240 72 virtual void formNoteFromSelection();
Chris@237 73
Chris@144 74 virtual void showAudioToggled();
Chris@145 75 virtual void showSpectToggled();
Chris@144 76 virtual void showPitchToggled();
Chris@144 77 virtual void showNotesToggled();
Chris@144 78
Chris@144 79 virtual void playAudioToggled();
Chris@144 80 virtual void playPitchToggled();
Chris@144 81 virtual void playNotesToggled();
Chris@128 82
Chris@227 83 virtual void editDisplayExtents();
Chris@227 84
Chris@323 85 virtual void analyseNow();
Chris@427 86 virtual void resetAnalyseOptions();
Chris@323 87 virtual void autoAnalysisToggled();
Chris@323 88 virtual void precisionAnalysisToggled();
matthiasm@345 89 virtual void lowampAnalysisToggled();
matthiasm@423 90 virtual void onsetAnalysisToggled();
matthiasm@423 91 virtual void pruneAnalysisToggled();
Chris@427 92 virtual void updateAnalyseStates();
Chris@323 93
Chris@399 94 virtual void doubleClickSelectInvoked(sv_frame_t);
Chris@194 95 virtual void abandonSelection();
Chris@139 96
Chris@0 97 virtual void paneAdded(Pane *);
Chris@0 98 virtual void paneHidden(Pane *);
Chris@0 99 virtual void paneAboutToBeDeleted(Pane *);
Chris@0 100
Chris@0 101 virtual void paneDropAccepted(Pane *, QStringList);
Chris@0 102 virtual void paneDropAccepted(Pane *, QString);
Chris@0 103
Chris@0 104 virtual void playSpeedChanged(int);
Chris@0 105 virtual void playSharpenToggled();
Chris@0 106 virtual void playMonoToggled();
Chris@0 107
Chris@0 108 virtual void speedUpPlayback();
Chris@0 109 virtual void slowDownPlayback();
Chris@0 110 virtual void restoreNormalPlayback();
Chris@0 111
Chris@404 112 virtual void audioGainChanged(float);
Chris@404 113 virtual void pitchGainChanged(float);
Chris@404 114 virtual void notesGainChanged(float);
justin@159 115
Chris@404 116 virtual void audioPanChanged(float);
Chris@404 117 virtual void pitchPanChanged(float);
Chris@404 118 virtual void notesPanChanged(float);
justin@160 119
Chris@399 120 virtual void sampleRateMismatch(sv_samplerate_t, sv_samplerate_t, bool);
Chris@0 121 virtual void audioOverloadPluginDisabled();
Chris@0 122 virtual void audioTimeStretchMultiChannelDisabled();
Chris@0 123
Chris@0 124 virtual void outputLevelsChanged(float, float);
Chris@0 125
Chris@0 126 virtual void documentModified();
Chris@0 127 virtual void documentRestored();
Chris@244 128 virtual void documentReplaced();
Chris@0 129
Chris@0 130 virtual void updateMenuStates();
Chris@0 131 virtual void updateDescriptionLabel();
Chris@144 132 virtual void updateLayerStatuses();
Chris@0 133
Chris@0 134 virtual void layerRemoved(Layer *);
Chris@0 135 virtual void layerInAView(Layer *, bool);
Chris@0 136
Chris@0 137 virtual void mainModelChanged(WaveFileModel *);
Chris@474 138 virtual void mainModelGainChanged(float);
Chris@0 139 virtual void modelAdded(Model *);
Chris@0 140 virtual void modelAboutToBeDeleted(Model *);
Chris@0 141
Chris@0 142 virtual void modelGenerationFailed(QString, QString);
Chris@0 143 virtual void modelGenerationWarning(QString, QString);
Chris@0 144 virtual void modelRegenerationFailed(QString, QString, QString);
Chris@0 145 virtual void modelRegenerationWarning(QString, QString, QString);
Chris@0 146 virtual void alignmentFailed(QString, QString);
Chris@0 147
Chris@0 148 virtual void rightButtonMenuRequested(Pane *, QPoint point);
Chris@0 149
Chris@0 150 virtual void setupRecentFilesMenu();
Chris@0 151
Chris@0 152 virtual void handleOSCMessage(const OSCMessage &);
Chris@0 153
Chris@0 154 virtual void mouseEnteredWidget();
Chris@0 155 virtual void mouseLeftWidget();
Chris@0 156
Chris@0 157 virtual void website();
Chris@0 158 virtual void help();
Chris@0 159 virtual void about();
Chris@0 160 virtual void keyReference();
Chris@0 161
Chris@231 162 virtual void newerVersionAvailable(QString);
Chris@231 163
Chris@192 164 virtual void selectionChangedByUser();
Chris@192 165 virtual void regionOutlined(QRect);
Chris@164 166
Chris@260 167 virtual void analyseNewMainModel();
Chris@260 168
matthiasm@281 169 void moveOneNoteRight();
matthiasm@281 170 void moveOneNoteLeft();
matthiasm@283 171 void selectOneNoteRight();
matthiasm@283 172 void selectOneNoteLeft();
matthiasm@281 173
matthiasm@356 174 void ffwd();
matthiasm@356 175 void rewind();
matthiasm@356 176
Chris@0 177 protected:
Chris@6 178 Analyser *m_analyser;
Chris@0 179
Chris@6 180 Overview *m_overview;
Chris@6 181 Fader *m_fader;
Chris@6 182 AudioDial *m_playSpeed;
Chris@6 183 QPushButton *m_playSharpen;
Chris@6 184 QPushButton *m_playMono;
Chris@6 185 WaveformLayer *m_panLayer;
Chris@0 186
Chris@6 187 bool m_mainMenusCreated;
Chris@6 188 QMenu *m_playbackMenu;
Chris@6 189 QMenu *m_recentFilesMenu;
Chris@6 190 QMenu *m_rightButtonMenu;
Chris@6 191 QMenu *m_rightButtonPlaybackMenu;
Chris@0 192
Chris@6 193 QAction *m_deleteSelectedAction;
Chris@6 194 QAction *m_ffwdAction;
Chris@6 195 QAction *m_rwdAction;
gyorgyf@24 196 QAction *m_editSelectAction;
Chris@187 197 QAction *m_showCandidatesAction;
gyorgyf@45 198 QAction *m_toggleIntelligenceAction;
gyorgyf@45 199 bool m_intelligentActionOn; // GF: !!! temporary
Chris@128 200
Chris@427 201 QAction *m_autoAnalyse;
Chris@427 202 QAction *m_precise;
Chris@427 203 QAction *m_lowamp;
Chris@427 204 QAction *m_onset;
Chris@427 205 QAction *m_prune;
Chris@427 206
Chris@144 207 QAction *m_showAudio;
Chris@145 208 QAction *m_showSpect;
Chris@144 209 QAction *m_showPitch;
Chris@144 210 QAction *m_showNotes;
Chris@424 211 QAction *m_playAudio;
Chris@424 212 QAction *m_playPitch;
Chris@424 213 QAction *m_playNotes;
Chris@414 214 LevelPanToolButton *m_audioLPW;
Chris@414 215 LevelPanToolButton *m_pitchLPW;
Chris@414 216 LevelPanToolButton *m_notesLPW;
gyorgyf@45 217
Chris@244 218 ActivityLog *m_activityLog;
Chris@6 219 KeyReference *m_keyReference;
Chris@95 220 VersionTester *m_versionTester;
Chris@0 221
Chris@399 222 sv_frame_t m_selectionAnchor;
matthiasm@296 223
matthiasm@364 224 bool m_withSonification;
matthiasm@364 225 bool m_withSpectrogram;
matthiasm@364 226
Chris@192 227 Analyser::FrequencyRange m_pendingConstraint;
Chris@192 228
Chris@85 229 QString exportToSVL(QString path, Layer *layer);
Chris@174 230 FileOpenStatus importPitchLayer(FileSource source);
Chris@85 231
Chris@0 232 virtual void setupMenus();
Chris@0 233 virtual void setupFileMenu();
Chris@0 234 virtual void setupEditMenu();
Chris@0 235 virtual void setupViewMenu();
matthiasm@317 236 virtual void setupAnalysisMenu();
Chris@0 237 virtual void setupHelpMenu();
Chris@0 238 virtual void setupToolbars();
Chris@0 239
Chris@142 240 virtual void octaveShift(bool up);
Chris@142 241
Chris@239 242 virtual void auxSnapNotes(Selection s);
Chris@239 243
Chris@0 244 virtual void closeEvent(QCloseEvent *e);
Chris@0 245 bool checkSaveModified();
Chris@314 246 bool waitForInitialAnalysis();
Chris@0 247
Chris@0 248 virtual void updateVisibleRangeDisplay(Pane *p) const;
Chris@0 249 virtual void updatePositionStatusDisplays() const;
matthiasm@281 250
matthiasm@296 251 void moveByOneNote(bool right, bool doSelect);
Chris@0 252 };
Chris@0 253
Chris@0 254
Chris@0 255 #endif