forked from Sneeds-Feed-and-Seed/sneedacity
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProjectSelectionManager.h
64 lines (50 loc) · 2.29 KB
/
ProjectSelectionManager.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/**********************************************************************
Sneedacity: A Digital Audio Editor
ProjectSelectionManager.cpp
Paul Licameli split from ProjectManager.cpp
**********************************************************************/
#ifndef __SNEEDACITY_PROJECT_SELECTION_MANAGER__
#define __SNEEDACITY_PROJECT_SELECTION_MANAGER__
#include "ClientData.h" // to inherit
#include "toolbars/SelectionBarListener.h" // to inherit
#include "toolbars/SpectralSelectionBarListener.h" // to inherit
class SneedacityProject;
class SNEEDACITY_DLL_API ProjectSelectionManager final
: public ClientData::Base
, public SelectionBarListener
, public SpectralSelectionBarListener
, public TimeToolBarListener
{
public:
static ProjectSelectionManager &Get( SneedacityProject &project );
static const ProjectSelectionManager &Get( const SneedacityProject &project );
explicit ProjectSelectionManager( SneedacityProject &project );
ProjectSelectionManager( const ProjectSelectionManager & ) PROHIBITED;
ProjectSelectionManager &operator=(
const ProjectSelectionManager & ) PROHIBITED;
~ProjectSelectionManager() override;
// SelectionBarListener callback methods
double AS_GetRate() override;
void AS_SetRate(double rate) override;
int AS_GetSnapTo() override;
void AS_SetSnapTo(int snap) override;
const NumericFormatSymbol & AS_GetSelectionFormat() override;
void AS_SetSelectionFormat(const NumericFormatSymbol & format) override;
const NumericFormatSymbol & TT_GetAudioTimeFormat() override;
void TT_SetAudioTimeFormat(const NumericFormatSymbol & format) override;
void AS_ModifySelection(double &start, double &end, bool done) override;
// SpectralSelectionBarListener callback methods
double SSBL_GetRate() const override;
const NumericFormatSymbol & SSBL_GetFrequencySelectionFormatName() override;
void SSBL_SetFrequencySelectionFormatName(
const NumericFormatSymbol & formatName) override;
const NumericFormatSymbol & SSBL_GetBandwidthSelectionFormatName() override;
void SSBL_SetBandwidthSelectionFormatName(
const NumericFormatSymbol & formatName) override;
void SSBL_ModifySpectralSelection(
double &bottom, double &top, bool done) override;
private:
bool SnapSelection();
SneedacityProject &mProject;
};
#endif