bpmdetect 0.8.11
Automatic BPM detection tool
Loading...
Searching...
No Matches
dlgbpmdetect.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-3.0-or-later
3#pragma once
4
5#include <BPMDetect.h>
6#include <QtCore/QAtomicInt>
7#include <QtCore/QSettings>
8
9#include "ui_dlgbpmdetect.h"
10#include "utils.h"
11
13class QDropEvent;
14class QEventLoop;
15class QMenu;
16class Track;
17class TrackItem;
18
20class DlgBpmDetect : public QWidget, public Ui_DlgBpmDetect {
22#ifdef TESTING
23 friend class DlgBpmDetectTest;
24#endif
25public:
29 DlgBpmDetect(QWidget *parent = nullptr);
30 ~DlgBpmDetect() override;
32 void setDetector(AbstractBpmDetector *detector);
33
34public Q_SLOTS:
36 void slotAddFiles(const QStringList &files);
37
38protected Q_SLOTS:
40 void slotStartStop();
42 void slotAddDir();
44 void slotAddFiles();
46 void slotStart();
48 void slotStop();
53 void slotListMenuPopup(const QPoint &point);
58 void slotDropped(QDropEvent *e);
60 void slotRemoveSelected();
62 void slotClearTrackList();
64 void slotClearDetected();
66 void slotTestBpm();
68 void slotClearBpm();
70 void slotSaveBpm();
72 void slotShowAbout();
73
74private:
75 QString recentPath() const;
76 QStringList filesFromDir(const QString &path) const;
77 void enableControls(bool enable);
78 void loadSettings();
79 void saveSettings();
80 void setRecentPath(const QString &path);
81
82 AbstractBpmDetector *detector_ = nullptr;
83 QAtomicInt pendingTracks_ = 0;
84 QEventLoop *innerEventLoop_ = nullptr;
85 QMenu *columnMenu_ = nullptr;
86 QMenu *listMenu_ = nullptr;
87 QSettings settings_;
88 QString recentPath_;
89 QStringList displayedColumns_;
90 bool editing_ = false;
91 QModelIndex editingIndex_;
92};
Definition abstractbpmdetector.h:8
void slotStartStop()
Definition dlgbpmdetect.cpp:207
void slotDropped(QDropEvent *e)
Definition dlgbpmdetect.cpp:403
void slotShowAbout()
Definition dlgbpmdetect.cpp:546
void slotAddFiles()
Definition dlgbpmdetect.cpp:458
void slotTestBpm()
Definition dlgbpmdetect.cpp:521
void slotListMenuPopup(const QPoint &point)
Definition dlgbpmdetect.cpp:493
void slotAddDir()
Definition dlgbpmdetect.cpp:468
void slotStart()
Definition dlgbpmdetect.cpp:220
void slotClearDetected()
Definition dlgbpmdetect.cpp:388
void setDetector(AbstractBpmDetector *detector)
Definition dlgbpmdetect.cpp:449
void slotRemoveSelected()
Definition dlgbpmdetect.cpp:454
void slotClearTrackList()
Definition dlgbpmdetect.cpp:384
void slotSaveBpm()
Definition dlgbpmdetect.cpp:424
DlgBpmDetect(QWidget *parent=nullptr)
Definition dlgbpmdetect.cpp:31
void slotStop()
Definition dlgbpmdetect.cpp:260
void slotClearBpm()
Definition dlgbpmdetect.cpp:497
Definition trackitem.h:11
Definition track.h:14
Q_OBJECTQ_OBJECT
Q_SLOTSQ_SLOTS
QObject * parent() const const
QWidget(QWidget *parent, Qt::WindowFlags f)