annotate main/PreferencesDialog.h @ 1354:ae68ebb5fbe8 3.0-integration

Fixes to mp3 decode in subrepo. Filter out Xing/LAME info frames, rather than letting them go to the mp3 decoder as if they were audio frames, fixing the 1152-sample zero pad at start of some decoded mp3 files (distinct from decoder delay). Add MAD_BUFFER_GUARD padding at end of mp3 buffer, in order to ensure last frame is decoded successfully (otherwise the decoded audio is truncated). Both gleaned from madplay source code.
author Chris Cannam
date Thu, 24 Nov 2016 17:10:40 +0000
parents 5a1a3538ff4e
children a264b51728cf
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 Sonic Visualiser
Chris@0 5 An audio file viewer and annotation editor.
Chris@0 6 Centre for Digital Music, Queen Mary, University of London.
Chris@0 7 This file copyright 2006 Chris Cannam.
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 _PREFERENCES_DIALOG_H_
Chris@0 17 #define _PREFERENCES_DIALOG_H_
Chris@0 18
Chris@0 19 #include <QDialog>
Chris@436 20 #include <QMap>
Chris@0 21
Chris@0 22 #include "base/Window.h"
Chris@0 23
Chris@9 24 class WindowTypeSelector;
Chris@0 25 class QPushButton;
Chris@180 26 class QLineEdit;
Chris@436 27 class QTabWidget;
Chris@0 28
Chris@0 29 class PreferencesDialog : public QDialog
Chris@0 30 {
Chris@0 31 Q_OBJECT
Chris@0 32
Chris@0 33 public:
Chris@528 34 PreferencesDialog(QWidget *parent = 0);
Chris@9 35 virtual ~PreferencesDialog();
Chris@0 36
Chris@436 37 enum Tab {
Chris@436 38 GeneralTab,
Chris@436 39 AppearanceTab,
Chris@436 40 AnalysisTab,
Chris@436 41 TemplateTab
Chris@436 42 };
Chris@436 43 void switchToTab(Tab tab);
Chris@436 44
Chris@163 45 public slots:
Chris@163 46 void applicationClosing(bool quickly);
Chris@163 47
Chris@0 48 protected slots:
Chris@9 49 void windowTypeChanged(WindowType type);
Chris@115 50 void spectrogramSmoothingChanged(int state);
Chris@299 51 void spectrogramXSmoothingChanged(int state);
Chris@1096 52 void spectrogramGColourChanged(int state);
Chris@1096 53 void spectrogramMColourChanged(int state);
Chris@1097 54 void colour3DColourChanged(int state);
Chris@0 55 void propertyLayoutChanged(int layout);
Chris@0 56 void tuningFrequencyChanged(double freq);
Chris@263 57 void audioDeviceChanged(int device);
Chris@32 58 void resampleQualityChanged(int quality);
Chris@180 59 void resampleOnLoadChanged(int state);
Chris@1275 60 void vampProcessSeparationChanged(int state);
Chris@180 61 void tempDirRootChanged(QString root);
Chris@180 62 void backgroundModeChanged(int mode);
Chris@337 63 void timeToTextModeChanged(int mode);
Chris@906 64 void showHMSChanged(int state);
Chris@702 65 void octaveSystemChanged(int system);
Chris@225 66 void viewFontSizeChanged(int sz);
Chris@237 67 void showSplashChanged(int state);
Chris@436 68 void defaultTemplateChanged(int);
Chris@658 69 void localeChanged(int);
Chris@686 70 void networkPermissionChanged(int state);
Chris@950 71 void retinaChanged(int state);
Chris@180 72
Chris@180 73 void tempDirButtonClicked();
Chris@0 74
Chris@0 75 void okClicked();
Chris@0 76 void applyClicked();
Chris@0 77 void cancelClicked();
Chris@0 78
Chris@0 79 protected:
Chris@9 80 WindowTypeSelector *m_windowTypeSelector;
Chris@0 81 QPushButton *m_applyButton;
Chris@180 82
Chris@436 83 QTabWidget *m_tabs;
Chris@436 84 QMap<Tab, int> m_tabOrdering;
Chris@436 85
Chris@180 86 QLineEdit *m_tempDirRootEdit;
Chris@436 87
Chris@436 88 QString m_currentTemplate;
Chris@436 89 QStringList m_templates;
Chris@658 90
Chris@658 91 QString m_currentLocale;
Chris@658 92 QStringList m_locales;
Chris@0 93
Chris@9 94 WindowType m_windowType;
Chris@180 95 int m_spectrogramSmoothing;
Chris@299 96 int m_spectrogramXSmoothing;
Chris@1096 97 int m_spectrogramGColour;
Chris@1096 98 int m_spectrogramMColour;
Chris@1097 99 int m_colour3DColour;
Chris@180 100 int m_propertyLayout;
Chris@922 101 double m_tuningFrequency;
Chris@263 102 int m_audioDevice;
Chris@180 103 int m_resampleQuality;
Chris@180 104 bool m_resampleOnLoad;
Chris@1275 105 bool m_runPluginsInProcess;
Chris@686 106 bool m_networkPermission;
Chris@950 107 bool m_retina;
Chris@180 108 QString m_tempDirRoot;
Chris@180 109 int m_backgroundMode;
Chris@337 110 int m_timeToTextMode;
Chris@906 111 bool m_showHMS;
Chris@702 112 int m_octaveSystem;
Chris@225 113 int m_viewFontSize;
Chris@237 114 bool m_showSplash;
Chris@180 115
Chris@180 116 bool m_changesOnRestart;
Chris@0 117 };
Chris@0 118
Chris@0 119 #endif